/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-uiw75l53ir],
.components-reconnect-repeated-attempt-visible[b-uiw75l53ir],
.components-reconnect-failed-visible[b-uiw75l53ir],
.components-pause-visible[b-uiw75l53ir],
.components-resume-failed-visible[b-uiw75l53ir],
.components-rejoining-animation[b-uiw75l53ir] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-uiw75l53ir],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-uiw75l53ir],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-uiw75l53ir],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-uiw75l53ir],
#components-reconnect-modal.components-reconnect-retrying[b-uiw75l53ir],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-uiw75l53ir],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-uiw75l53ir],
#components-reconnect-modal.components-reconnect-failed[b-uiw75l53ir],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-uiw75l53ir] {
    display: block;
}


#components-reconnect-modal[b-uiw75l53ir] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-uiw75l53ir 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-uiw75l53ir 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-uiw75l53ir 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-uiw75l53ir]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-uiw75l53ir 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-uiw75l53ir {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-uiw75l53ir {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-uiw75l53ir {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-uiw75l53ir] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-uiw75l53ir] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-uiw75l53ir] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-uiw75l53ir] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-uiw75l53ir] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-uiw75l53ir] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-uiw75l53ir] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-uiw75l53ir 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-uiw75l53ir] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-uiw75l53ir {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Portal/Contracts/ContractCard.razor.rz.scp.css */
/* K5: Vertragskarte (Liste und Vertragsband) nach dem Prototyp */
.kp5-contract[b-8xl2w064er] {
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    box-shadow: var(--kp-shadow-raised);
}

.kp5-contract--active[b-8xl2w064er],
.kp5-contract--active:hover[b-8xl2w064er] {
    background: var(--kp-primary-soft);
    border-color: var(--kp-primary);
    box-shadow: var(--kp-shadow-raised), inset 0 -3px 0 var(--kp-primary);
}

.kp5-contract-top[b-8xl2w064er] { display: flex; align-items: center; gap: 8px; }
.kp5-contract-meta[b-8xl2w064er] {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 11.5px;
    color: var(--kp-text-faint);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kp5-contract-top .kp-dot[b-8xl2w064er] { width: 7px; height: 7px; flex-basis: 7px; }

.kp5-contract-title[b-8xl2w064er] { font-size: 15px; font-weight: 650; overflow-wrap: anywhere; }
.kp5-contract--active .kp5-contract-title[b-8xl2w064er],
.kp5-contract--active .kp5-contract-number[b-8xl2w064er] { color: var(--kp-primary); }
.kp5-contract--active .kp5-contract-meta[b-8xl2w064er],
.kp5-contract--active .kp5-contract-unit[b-8xl2w064er] { color: var(--kp-primary-soft-text); }

.kp5-contract-amount[b-8xl2w064er] { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.kp5-contract-number[b-8xl2w064er] {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: -.03em;
    font-variant-numeric: tabular-nums;
}
.kp5-contract-unit[b-8xl2w064er] { font-size: 12px; color: var(--kp-text-subtle); }

.kp5-contract-short[b-8xl2w064er] { font-size: 12px; color: var(--kp-text-meta); }
.kp5-contract-chips[b-8xl2w064er] { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 2px; }
/* /Components/Portal/Contracts/ContractRequestDialog.razor.rz.scp.css */
/* K5: Termine der Kündigung im hellen Kasten (wie im Entwurf) */
.kp5-dates[b-vrl2r505mb] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 12px 14px;
    border-radius: var(--kp-radius-inner);
    background: var(--kp-surface-soft);
}

.kp5-dates[b-vrl2r505mb]  .kp-fact-value { font-weight: 650; margin-top: 3px; }
/* /Components/Portal/Documents/PdfPreviewDialog.razor.rz.scp.css */
/* K5: breiter Dialog mit PDF-Vorschau */
.kp5-pdf[b-l01gapirmn]  .kp-dialog { max-width: 980px; }
.kp5-pdf[b-l01gapirmn]  .kp-dialog-body { padding: 0; }

.kp5-pdf-frame[b-l01gapirmn] {
    display: block;
    width: 100%;
    height: min(76vh, 1100px);
    border: 0;
    border-top: 1px solid var(--kp-border-soft);
    background: var(--kp-surface-alt);
}

@media (max-width: 640px) {
    .kp5-pdf-frame[b-l01gapirmn] { height: 68vh; }
}
/* /Components/Portal/Leistungen/CareArea.razor.rz.scp.css */
/* K4 – Leistungen · IT-Betreuung */

.k4-care[b-88u1d9ar0u] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr));
    gap: var(--kp-gap);
    margin-top: 6px;
}

.k4-care > .kp-card[b-88u1d9ar0u] { padding: 22px 24px; }
.k4-care-main[b-88u1d9ar0u] { display: flex; flex-direction: column; gap: 14px; }
.k4-care-value[b-88u1d9ar0u] { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.k4-care-number[b-88u1d9ar0u] { font-size: 34px; font-weight: 600; letter-spacing: -.03em; line-height: 1.1; }
.k4-care-unit[b-88u1d9ar0u] { font-size: 13.5px; color: var(--kp-text-subtle); }
.k4-care-facts[b-88u1d9ar0u] { display: flex; gap: 8px 28px; font-size: 12.5px; color: var(--kp-text-muted); flex-wrap: wrap; }
.k4-care-facts b[b-88u1d9ar0u] { color: var(--kp-text); font-weight: 600; }
.k4-care-actions[b-88u1d9ar0u] { display: flex; gap: 8px; margin-top: 4px; flex-wrap: wrap; }
.k4-care-rule[b-88u1d9ar0u] { font-size: 12.5px; color: var(--kp-text-meta); }
.k4-care-label[b-88u1d9ar0u] { margin-bottom: 14px; }

.k4-care-scope[b-88u1d9ar0u] { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; color: var(--kp-text-body); }
.k4-care-scope li[b-88u1d9ar0u] { display: flex; gap: 10px; }
.k4-care-scope li[b-88u1d9ar0u]::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--kp-primary);
    margin-top: 6px;
    flex: 0 0 6px;
}

.k4-months[b-88u1d9ar0u] { display: flex; align-items: stretch; gap: 8px; height: 64px; }
.k4-month-col[b-88u1d9ar0u] { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: stretch; gap: 4px; }
.k4-month[b-88u1d9ar0u] { border-radius: 3px; background: var(--kp-band-nav); min-height: 3px; }
.k4-month--current[b-88u1d9ar0u] { background: var(--kp-primary); }
.k4-month-label[b-88u1d9ar0u] { font-size: 11px; color: var(--kp-text-faint); text-align: center; }

.k4-mt[b-88u1d9ar0u] { margin-top: 4px; }
.k4-ok[b-88u1d9ar0u] { color: var(--kp-ok-fg); }

@media (max-width: 640px) {
    .k4-care > .kp-card[b-88u1d9ar0u] { padding: 18px 16px; }
    .k4-care-number[b-88u1d9ar0u] { font-size: 28px; }
}
/* /Components/Portal/Leistungen/DevicesArea.razor.rz.scp.css */
/* K4 – Leistungen · Arbeitsplätze & Server */

.k4-stats[b-gm9j0z6p9p] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
    gap: var(--kp-gap);
    margin-top: 6px;
}

.k4-stats > .kp-card[b-gm9j0z6p9p] { padding: 16px 20px; }
.k4-stat-value[b-gm9j0z6p9p] { font-size: 26px; font-weight: 600; letter-spacing: -.03em; margin-top: 6px; line-height: 1.15; }
.k4-stat-sub[b-gm9j0z6p9p] { font-size: 12px; color: var(--kp-text-meta); margin-top: 2px; }
.k4-stat-sub--warn[b-gm9j0z6p9p] { color: var(--kp-warn-fg); }
.k4-stat-sub--ok[b-gm9j0z6p9p] { color: var(--kp-ok-fg); }

.k4-mt[b-gm9j0z6p9p] { margin-top: 4px; }
.k4-filters[b-gm9j0z6p9p] { margin-left: 8px; }

.k4-device[b-gm9j0z6p9p] { display: flex; align-items: center; gap: 10px; }
[b-gm9j0z6p9p] .k4-device-icon { color: var(--kp-text-subtle); }
.k4-device-text[b-gm9j0z6p9p], .k4-model[b-gm9j0z6p9p] { display: flex; flex-direction: column; min-width: 0; }
.k4-device-name[b-gm9j0z6p9p], .k4-model-name[b-gm9j0z6p9p] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.k4-model-name[b-gm9j0z6p9p] { color: var(--kp-text-body); }
.k4-faint[b-gm9j0z6p9p] { color: var(--kp-text-weak); }
.k4-warn[b-gm9j0z6p9p] { color: var(--kp-warn-fg); }
.k4-label-sm[b-gm9j0z6p9p] { display: none; }

.k4-state[b-gm9j0z6p9p] { font-size: 13px; font-weight: 500; white-space: nowrap; }

@media (max-width: 640px) {
    .k4-filters[b-gm9j0z6p9p] { margin-left: 0; }
    .k4-stats > .kp-card[b-gm9j0z6p9p] { padding: 14px 16px; }
    .k4-model[b-gm9j0z6p9p] { flex: 1 0 100% !important; }
    .k4-status[b-gm9j0z6p9p] { display: inline-flex; align-items: baseline; gap: 6px; }
    .k4-label-sm[b-gm9j0z6p9p] { display: inline; font-size: 11px; color: var(--kp-text-faint); }
}
/* /Components/Portal/Leistungen/LicenseChangeDialog.razor.rz.scp.css */
/* K4 – Dialog „Lizenzen anpassen“ (Prototyp mLic) */

.k4-lic-rows[b-8vfyn5kwtj] { border: 1px solid var(--kp-border); border-radius: var(--kp-radius-inner); overflow: hidden; }

.k4-lic-row[b-8vfyn5kwtj] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--kp-border-row);
}

.k4-lic-row:last-child[b-8vfyn5kwtj] { border-bottom: none; }
.k4-lic-text[b-8vfyn5kwtj] { flex: 1; min-width: 0; }
.k4-lic-name[b-8vfyn5kwtj] { font-weight: 600; overflow-wrap: anywhere; }
.k4-lic-sub[b-8vfyn5kwtj] { font-size: 11.5px; color: var(--kp-text-faint); }

.k4-stepper[b-8vfyn5kwtj] {
    display: flex;
    align-items: center;
    border: 1px solid var(--kp-border-input);
    border-radius: var(--kp-radius-btn);
    overflow: hidden;
    flex: 0 0 auto;
}

.k4-stepper-btn[b-8vfyn5kwtj] {
    width: 32px;
    height: 32px;
    border: none;
    background: none;
    color: var(--kp-text-muted);
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.k4-stepper-btn:hover:not(:disabled)[b-8vfyn5kwtj] { background: var(--kp-surface-hover); }
.k4-stepper-btn:disabled[b-8vfyn5kwtj] { color: var(--kp-text-weak); cursor: default; }

.k4-stepper-value[b-8vfyn5kwtj] {
    width: 52px;
    height: 32px;
    border: none;
    text-align: center;
    font-size: 14px;
    font-weight: 650;
    color: var(--kp-text);
    background: transparent;
    outline: none;
    -moz-appearance: textfield;
    appearance: textfield;
}

.k4-stepper-value[b-8vfyn5kwtj]::-webkit-outer-spin-button,
.k4-stepper-value[b-8vfyn5kwtj]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.k4-stepper-value:focus[b-8vfyn5kwtj] { box-shadow: var(--kp-focus); }

.k4-lic-delta[b-8vfyn5kwtj] { width: 56px; text-align: right; font-weight: 650; color: var(--kp-text-weak); flex: 0 0 56px; }
.k4-lic-delta--up[b-8vfyn5kwtj] { color: var(--kp-primary); }
.k4-lic-delta--down[b-8vfyn5kwtj] { color: var(--kp-danger-fg); }

.k4-lic-sum[b-8vfyn5kwtj] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: var(--kp-radius-inner);
    background: var(--kp-surface-soft);
}

.k4-lic-sum-main[b-8vfyn5kwtj] { flex: 1; }
.k4-lic-sum-from[b-8vfyn5kwtj] { text-align: right; }
.k4-lic-sum-label[b-8vfyn5kwtj] { font-size: 12px; color: var(--kp-text-meta); }
.k4-lic-sum-value[b-8vfyn5kwtj] { font-size: 18px; font-weight: 650; }
.k4-lic-sum-date[b-8vfyn5kwtj] { font-weight: 600; }

.k4-lic-hint[b-8vfyn5kwtj] { font-size: 12px; color: var(--kp-text-meta); }

@media (max-width: 640px) {
    .k4-lic-row[b-8vfyn5kwtj] { flex-wrap: wrap; }
    .k4-lic-text[b-8vfyn5kwtj] { flex-basis: 100%; }
    .k4-stepper[b-8vfyn5kwtj] { margin-right: auto; }
}
/* /Components/Portal/Leistungen/MaintenanceArea.razor.rz.scp.css */
/* K4 – Leistungen · Wartung */

.k4-plan[b-q9lkwnw52c] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr));
    gap: var(--kp-gap);
    align-items: start;
    margin-top: 6px;
}

.k4-visit-text[b-q9lkwnw52c] { font-weight: 450; color: var(--kp-text-muted); }
.k4-small[b-q9lkwnw52c] { font-size: 12px; }
.k4-component[b-q9lkwnw52c] { display: block; overflow: hidden; text-overflow: ellipsis; }
.k4-dot-cell[b-q9lkwnw52c] { display: flex; align-items: center; }
/* /Components/Portal/Leistungen/MicrosoftArea.razor.rz.scp.css */
/* K4 – Leistungen · Microsoft 365 */

.k4-licenses[b-76spd6dxpc] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
    gap: var(--kp-gap);
}

.k4-license[b-76spd6dxpc] { display: flex; flex-direction: column; gap: 10px; padding: 16px 20px; }
.k4-license-head[b-76spd6dxpc] { display: flex; align-items: baseline; gap: 10px; }
.k4-license-name[b-76spd6dxpc] { flex: 1; font-size: 14px; font-weight: 650; min-width: 0; overflow-wrap: anywhere; }
.k4-license-price[b-76spd6dxpc] { font-size: 12px; color: var(--kp-text-subtle); white-space: nowrap; }
.k4-license-number[b-76spd6dxpc] { font-size: 26px; font-weight: 600; letter-spacing: -.03em; line-height: 1.1; }
.k4-license-foot[b-76spd6dxpc] { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--kp-text-meta); min-height: 18px; flex-wrap: wrap; }

.k4-mt[b-76spd6dxpc] { margin-top: 4px; }
.k4-filters[b-76spd6dxpc] { margin-left: 8px; }

.k4-search[b-76spd6dxpc] {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 30px;
    width: 240px;
    max-width: 100%;
    padding: 0 10px;
    border: 1px solid var(--kp-border);
    border-radius: var(--kp-radius-sm);
    background: var(--kp-surface-soft);
    color: var(--kp-text-faint);
}

.k4-search:focus-within[b-76spd6dxpc] { border-color: var(--kp-primary); box-shadow: var(--kp-focus); }

.k4-search input[b-76spd6dxpc] {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    outline: none;
    font-size: 12.5px;
    color: var(--kp-text);
}

.k4-person[b-76spd6dxpc] { display: flex; align-items: center; gap: 10px; }
.k4-person-text[b-76spd6dxpc] { display: flex; flex-direction: column; min-width: 0; }
.k4-person-name[b-76spd6dxpc] { overflow: hidden; text-overflow: ellipsis; }
.k4-body[b-76spd6dxpc] { color: var(--kp-text-body); white-space: nowrap; }
.k4-faint[b-76spd6dxpc] { color: var(--kp-text-weak); }

.k4-state[b-76spd6dxpc] { font-size: 13px; font-weight: 500; white-space: nowrap; }

@media (max-width: 640px) {
    .k4-filters[b-76spd6dxpc] { margin-left: 0; }
    .k4-search[b-76spd6dxpc] { width: 100%; }
    .k4-license[b-76spd6dxpc] { padding: 14px 16px; }
}
/* /Components/Portal/Leistungen/ServicesPager.razor.rz.scp.css */
.k4-pager[b-sycth9lnpx] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 20px;
    min-height: 44px;
    font-size: 12px;
    color: var(--kp-text-faint);
    background: var(--kp-surface-alt);
    border-top: 1px solid var(--kp-border-soft);
    flex-wrap: wrap;
}

.k4-pager-count[b-sycth9lnpx] { flex: 1 1 auto; }
.k4-pager-pages[b-sycth9lnpx] { display: flex; align-items: center; gap: 2px; }

.k4-pager-page[b-sycth9lnpx], .k4-pager-step[b-sycth9lnpx] {
    min-width: 26px;
    height: 26px;
    padding: 0 6px;
    border: none;
    border-radius: var(--kp-radius-sm);
    background: none;
    color: var(--kp-text-soft);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.k4-pager-page:hover[b-sycth9lnpx], .k4-pager-step:hover:not(:disabled)[b-sycth9lnpx] { background: var(--kp-surface-hover); color: var(--kp-primary); }
.k4-pager-step:disabled[b-sycth9lnpx] { opacity: .4; cursor: default; }
.k4-pager-page--active[b-sycth9lnpx], .k4-pager-page--active:hover[b-sycth9lnpx] { background: var(--kp-primary); color: #fff; }
.k4-pager-gap[b-sycth9lnpx] { padding: 0 4px; }

@media (max-width: 640px) {
    .k4-pager[b-sycth9lnpx] { padding: 8px 16px; }
}
/* /Components/Portal/Pages/Anfrage.razor.rz.scp.css */
/* K6 – Anfrage: strukturierte Angaben, Verlauf, Antwort, Seitenspalte */
.ad-request[b-f07mo9j2m3] { display: flex; flex-direction: column; gap: 10px; }
.ad-request-summary[b-f07mo9j2m3] { font-size: 18px; font-weight: 650; letter-spacing: -.01em; color: var(--kp-primary); overflow-wrap: anywhere; }
.ad-request .kp-facts[b-f07mo9j2m3] { margin-top: 4px; }

.ad-thread[b-f07mo9j2m3] { padding: 20px 24px; display: flex; flex-direction: column; gap: 18px; }

.ad-msg[b-f07mo9j2m3] { display: flex; gap: 12px; min-width: 0; }
.ad-avatar[b-f07mo9j2m3] {
    width: 34px; height: 34px; flex: 0 0 34px; border-radius: 50%;
    background: var(--kp-primary); color: #fff; font-size: 11px; font-weight: 700;
    display: flex; align-items: center; justify-content: center; user-select: none;
}
.ad-avatar--mine[b-f07mo9j2m3] { background: var(--kp-info-bg); color: var(--kp-primary-soft-text); }
.ad-msg-body[b-f07mo9j2m3] { flex: 1; min-width: 0; }
.ad-msg-head[b-f07mo9j2m3] { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.ad-msg-from[b-f07mo9j2m3] { font-weight: 650; }
.ad-msg-when[b-f07mo9j2m3] { font-size: 12px; color: var(--kp-text-faint); }
.ad-bubble[b-f07mo9j2m3] {
    margin-top: 6px; padding: 12px 14px; border-radius: 4px 12px 12px 12px; background: var(--kp-primary-soft);
    font-size: 13.5px; line-height: 1.5; color: var(--kp-text-body); white-space: pre-wrap; overflow-wrap: anywhere;
}
.ad-msg--mine .ad-bubble[b-f07mo9j2m3] { background: var(--kp-surface-hover); }

.ad-files[b-f07mo9j2m3] { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.ad-file[b-f07mo9j2m3] {
    display: inline-flex; align-items: center; gap: 6px; max-width: 100%; height: 28px; padding: 0 10px;
    border: 1px solid var(--kp-border); border-radius: var(--kp-radius-sm); background: var(--kp-surface);
    font-size: 12px; color: var(--kp-link);
}
.ad-file:hover[b-f07mo9j2m3] { border-color: var(--kp-border-hover); text-decoration: none; }
.ad-file-name[b-f07mo9j2m3] { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.ad-file-size[b-f07mo9j2m3] { color: var(--kp-text-faint); white-space: nowrap; }

.ad-event[b-f07mo9j2m3] {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 8px; font-size: 12px; color: var(--kp-text-meta);
    padding: 2px 0; text-align: center;
}
.ad-event-meta[b-f07mo9j2m3] { color: var(--kp-text-faint); }

.ad-reply[b-f07mo9j2m3] {
    border-top: 1px solid var(--kp-border-soft); padding: 16px 24px; background: var(--kp-surface-alt);
    display: flex; flex-direction: column; gap: 10px;
}
.ad-reply-text[b-f07mo9j2m3] { min-height: 84px; border-radius: var(--kp-radius-inner); }
.ad-reply-bar[b-f07mo9j2m3] { display: flex; gap: 8px; align-items: flex-start; flex-wrap: wrap; }

.ad-aside[b-f07mo9j2m3] { display: flex; flex-direction: column; gap: 14px; }
.ad-status[b-f07mo9j2m3] { align-self: flex-start; }

@media (max-width: 640px) {
    .ad-thread[b-f07mo9j2m3] { padding: 16px; gap: 16px; }
    .ad-reply[b-f07mo9j2m3] { padding: 14px 16px; }
    .ad-avatar[b-f07mo9j2m3] { width: 28px; height: 28px; flex-basis: 28px; font-size: 10px; }
    .ad-msg[b-f07mo9j2m3] { gap: 10px; }
    .ad-reply-bar .kp-btn[b-f07mo9j2m3] { flex: 1 1 100%; }
}
/* /Components/Portal/Pages/Anfragen.razor.rz.scp.css */
/* K6 – Anfragenliste */
.al-filter[b-qwzv69j7h5] { display: inline-flex; align-items: center; gap: 5px; text-decoration: none; }
.al-filter:hover[b-qwzv69j7h5] { text-decoration: none; color: var(--kp-text-soft); }
.al-filter.kp-filter--active:hover[b-qwzv69j7h5] { color: #fff; }
.al-urgency[b-qwzv69j7h5] { margin-left: 8px; font-weight: 400; }
.al-foot[b-qwzv69j7h5] { grid-column: 1 / -1; flex: 1 1 100%; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.al-page-text[b-qwzv69j7h5] { color: var(--kp-text-faint); font-weight: 500; }
.al-pager[b-qwzv69j7h5] { margin-left: auto; display: flex; gap: 6px; }
@media (max-width: 640px) {
    .al-meta[b-qwzv69j7h5] { display: none; }
}
/* /Components/Portal/Pages/Angebot.razor.rz.scp.css */
/* K5: Angebotsdetail */
.kp5-wait[b-6vv7sugduo] { height: 160px; }

.kp-cell-sub[b-6vv7sugduo] { display: block; }
.kp5-wrap[b-6vv7sugduo] { white-space: normal; overflow-wrap: anywhere; padding: 8px 0; }

/* Summen rechtsbündig unter der Tabelle (wie im Entwurf) */
.kp5-totals[b-6vv7sugduo] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    padding: 16px 20px;
    background: var(--kp-surface-alt);
    border-top: 1px solid var(--kp-border-soft);
}
.kp5-total[b-6vv7sugduo] { display: flex; gap: 40px; color: var(--kp-text-muted); font-variant-numeric: tabular-nums; }
.kp5-total span:last-child[b-6vv7sugduo] { width: 120px; text-align: right; }
.kp5-total--gross[b-6vv7sugduo] { font-size: 16px; font-weight: 700; color: var(--kp-text); margin-top: 4px; }
.kp5-taxnote[b-6vv7sugduo] { font-size: 11.5px; color: var(--kp-text-meta); text-align: right; max-width: 520px; }

/* Status und Entscheidung */
.kp5-status[b-6vv7sugduo] { display: flex; flex-direction: column; gap: 12px; }
.kp5-status[b-6vv7sugduo]  .kp5-status-chip { align-self: flex-start; }
.kp5-status-facts[b-6vv7sugduo] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.kp5-status-facts[b-6vv7sugduo]  .kp-fact-value { margin-top: 3px; }
.kp5-decided[b-6vv7sugduo] { font-size: 12.5px; color: var(--kp-text-meta); }

.kp5-pdf-link[b-6vv7sugduo] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 0 0;
    border: 0;
    border-top: 1px solid var(--kp-border-soft);
    background: none;
    font: inherit;
    font-weight: 600;
    color: var(--kp-link);
    cursor: pointer;
    text-align: left;
}
.kp5-pdf-link:hover[b-6vv7sugduo] { color: var(--kp-link-hover); text-decoration: underline; }
.kp5-pdf-link[b-6vv7sugduo]  svg { color: var(--kp-danger-fg); }

@media (max-width: 640px) {
    .kp5-totals[b-6vv7sugduo] { padding: 14px 16px; }
    .kp5-total[b-6vv7sugduo] { gap: 16px; }
    .kp5-total span:last-child[b-6vv7sugduo] { width: auto; min-width: 100px; }
    .kp5-wrap[b-6vv7sugduo] { padding: 0; }
}
/* /Components/Portal/Pages/Angebote.razor.rz.scp.css */
/* K5: Angebotsliste */
.kp5-wait[b-qcoeqlamee] { height: 120px; }
.kp5-more[b-qcoeqlamee] { display: flex; justify-content: center; padding: 12px 20px 16px; border-top: 1px solid var(--kp-border-row); }

/* „gültig bis“ steht nur in der gestapelten Ansicht vor dem Datum */
.kp5-sm-label[b-qcoeqlamee] { display: none; }

@media (max-width: 640px) {
    .kp5-sm-label[b-qcoeqlamee] { display: inline; }
}

.kp5-filterbar[b-qcoeqlamee] { padding: 12px 20px; border-bottom: 1px solid var(--kp-border-soft); }

/* Filterchips sind hier Links (Filter in der Adresse) */
.kp5-filterbar .kp-filter[b-qcoeqlamee] { display: inline-flex; align-items: center; gap: 4px; }
.kp5-filterbar .kp-filter:hover[b-qcoeqlamee] { text-decoration: none; color: var(--kp-text-soft); }
.kp5-filterbar .kp-filter--active:hover[b-qcoeqlamee] { color: #fff; }

@media (max-width: 640px) {
    .kp5-filterbar[b-qcoeqlamee] { padding: 12px 16px; }
}
/* /Components/Portal/Pages/Leistungen.razor.rz.scp.css */
/* K4 – Leistungen: Reiterleiste nach dem Prototyp (erste Karte, ragt ins Band). */

.k4-tabs[b-glpnxwq6s7] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr));
    overflow: hidden;
}

.k4-tab[b-glpnxwq6s7] {
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--kp-text);
    border-right: 1px solid var(--kp-border-row);
    min-width: 0;
}

.k4-tab:last-child[b-glpnxwq6s7] { border-right: none; }
.k4-tab:hover[b-glpnxwq6s7] { background: var(--kp-surface-alt); color: var(--kp-text); text-decoration: none; }

.k4-tab-icon[b-glpnxwq6s7] {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: var(--kp-primary-soft);
    color: var(--kp-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
}

.k4-tab-text[b-glpnxwq6s7] { display: flex; flex-direction: column; min-width: 0; }
.k4-tab-name[b-glpnxwq6s7] { font-size: 13.5px; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.k4-tab-sub[b-glpnxwq6s7] { font-size: 12px; color: var(--kp-text-subtle); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.k4-tab--active[b-glpnxwq6s7], .k4-tab--active:hover[b-glpnxwq6s7] {
    background: var(--kp-primary-soft);
    box-shadow: inset 0 -3px 0 var(--kp-primary);
}
.k4-tab--active .k4-tab-icon[b-glpnxwq6s7] { background: var(--kp-primary); color: #fff; }
.k4-tab--active .k4-tab-name[b-glpnxwq6s7] { color: var(--kp-primary); }
.k4-tab--active .k4-tab-sub[b-glpnxwq6s7] { color: var(--kp-primary-soft-text); }

.k4-skel[b-glpnxwq6s7] { display: block; width: 110px; height: 12px; border-radius: 4px; background: var(--kp-track); }

@media (max-width: 640px) {
    .k4-tab[b-glpnxwq6s7] { border-right: none; border-bottom: 1px solid var(--kp-border-row); padding: 14px 16px; }
    .k4-tab:last-child[b-glpnxwq6s7] { border-bottom: none; }
}
/* /Components/Portal/Pages/Stunden.razor.rz.scp.css */
/* K6 – Stunden: Auswahl der Pakete, Kopf, Einsatzregeln */
.st-sources[b-at68vszqfg] { position: relative; }
.st-left[b-at68vszqfg] { color: var(--kp-primary); }
.st-over[b-at68vszqfg] { color: var(--kp-warn-fg); }
.st-rule[b-at68vszqfg] { font-size: 13.5px; font-weight: 600; margin-top: 8px; line-height: 1.45; }
.st-scope[b-at68vszqfg] {
    display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; padding: 12px 20px;
    border-top: 1px solid var(--kp-border-soft); background: var(--kp-surface-alt);
}
.st-scope-text[b-at68vszqfg] { font-size: 13px; color: var(--kp-text-body); white-space: pre-line; }
.kp-stat[b-at68vszqfg]  .st-bar { margin-top: 10px; }
@media (max-width: 640px) {
    .st-scope[b-at68vszqfg] { padding: 12px 16px; }
}
/* /Components/Portal/Pages/Uebersicht.razor.rz.scp.css */
/* K4 – Übersicht: Band „n warten auf Sie“, Monatsbalken, Kästen. Nur Tokens aus portal.css. */

/* Band: Zähler links (150 px), Aufgaben daneben ab 220 px; Trennlinien über den 1-px-Abstand,
   damit auch umbrechende Zeilen sauber getrennt sind */
.k4-band[b-adcpr3qw2v] {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    background: var(--kp-border-soft);
    overflow: hidden;
}

.k4-band > *[b-adcpr3qw2v] { background: var(--kp-surface); }

.k4-band-count[b-adcpr3qw2v] {
    flex: 0 0 150px;
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
}

.k4-band-number[b-adcpr3qw2v] {
    font-size: 32px;
    font-weight: 600;
    letter-spacing: -.03em;
    line-height: 1;
    color: var(--kp-primary);
}

.k4-band-label[b-adcpr3qw2v] { font-size: 12.5px; color: var(--kp-text-meta); }

.k4-todo[b-adcpr3qw2v] {
    flex: 1 1 220px;
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.k4-todo-kind[b-adcpr3qw2v] {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--kp-text-subtle);
}

.k4-todo-kind--warn[b-adcpr3qw2v] { color: var(--kp-kind-warn); }
.k4-todo-kind--info[b-adcpr3qw2v] { color: var(--kp-info-fg); }

.k4-todo-text[b-adcpr3qw2v] { font-size: 13.5px; font-weight: 600; overflow-wrap: anywhere; }

.k4-todo-actions[b-adcpr3qw2v] { display: flex; gap: 6px; margin-top: auto; flex-wrap: wrap; align-items: center; }
.k4-todo-actions[b-adcpr3qw2v]  .kp-chip { white-space: normal; }

.k4-todo--empty[b-adcpr3qw2v] { justify-content: center; }
.k4-todo--empty .k4-todo-text[b-adcpr3qw2v] { color: var(--kp-text-meta); font-weight: 500; }

/* „Ihre Betreuung“ am Ende des Bands (Kunde nur mit Dienstleistungen) */
.k4-band > .k4-todo--contact[b-adcpr3qw2v] { background: var(--kp-surface-alt); gap: 6px; }
.k4-todo-phone[b-adcpr3qw2v] { font-size: 12.5px; color: var(--kp-text-meta); }
.k4-todo-phone:hover[b-adcpr3qw2v] { color: var(--kp-primary); }

/* Platzhalter während des Ladens – ohne Animation */
.k4-skel[b-adcpr3qw2v] { display: block; border-radius: 4px; background: var(--kp-track); }
.k4-skel--num[b-adcpr3qw2v] { width: 34px; height: 30px; }
.k4-skel--line[b-adcpr3qw2v] { width: 90px; height: 11px; }
.k4-skel--wide[b-adcpr3qw2v] { width: 70%; height: 14px; }

/* Einsätze der letzten Monate statt Balken (IT-Betreuung ohne Stundenpaket) */
.k4-months[b-adcpr3qw2v] { display: flex; align-items: flex-end; gap: 4px; height: 28px; }
.k4-month[b-adcpr3qw2v] { flex: 1; border-radius: 2px; background: var(--kp-band-nav); min-height: 3px; }
.k4-month--current[b-adcpr3qw2v] { background: var(--kp-primary); }

/* Kästen Anfragen | Verträge (bzw. Letzte Einsätze) */
.k4-boxes[b-adcpr3qw2v] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr));
    gap: var(--kp-gap);
    align-items: start;
    margin-top: 4px;
}

.k4-boxes--services[b-adcpr3qw2v] { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }

.k4-boxes[b-adcpr3qw2v]  .k4-list .kp-table-row { min-height: 44px; }
.k4-done[b-adcpr3qw2v] { color: var(--kp-text-meta); }
.k4-included[b-adcpr3qw2v] { color: var(--kp-ok-fg); }
.k4-contract-title[b-adcpr3qw2v] { display: block; overflow: hidden; text-overflow: ellipsis; }

@media (max-width: 900px) {
    .k4-boxes--services[b-adcpr3qw2v] { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 640px) {
    .k4-band-count[b-adcpr3qw2v] {
        flex: 1 0 100%;
        justify-content: flex-start;
        flex-direction: row;
        align-items: baseline;
        gap: 10px;
        padding: 14px 16px;
    }
    .k4-band-number[b-adcpr3qw2v] { font-size: 26px; }
    .k4-todo[b-adcpr3qw2v] { flex-basis: 100%; padding: 14px 16px; }
}
/* /Components/Portal/Pages/Vertraege.razor.rz.scp.css */
/* K5: Vertragsliste */
.kp5-wait[b-0waf2zon93] { height: 120px; background: linear-gradient(90deg, var(--kp-surface) 0%, var(--kp-surface-alt) 50%, var(--kp-surface) 100%); }

.kp5-contract-grid[b-0waf2zon93] { grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); }

.kp-stat-sub a[b-0waf2zon93] { font-weight: 600; }
/* /Components/Portal/Pages/Vertrag.razor.rz.scp.css */
/* K5: Vertragsdetail */
.kp5-wait[b-59up1y5chy] { height: 160px; }

/* Vertragsband: waagrecht scrollen, ohne die Seite zu verbreitern */
.kp5-strip[b-59up1y5chy] {
    display: flex;
    gap: var(--kp-gap);
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    padding: 2px;
    margin: -2px;
}
.kp5-strip[b-59up1y5chy]::-webkit-scrollbar { display: none; }
.kp5-strip-item[b-59up1y5chy] { flex: 0 0 250px; scroll-snap-align: start; display: flex; min-width: 0; }
.kp5-strip-item[b-59up1y5chy]  .kp5-contract { flex: 1 1 auto; }

/* Kopfzeile der Vertragskarte */
.kp5-head[b-59up1y5chy] { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin-bottom: 18px; }
.kp5-head-title[b-59up1y5chy] { margin: 0; font-size: 16px; font-weight: 650; }
.kp5-head-number[b-59up1y5chy] { font-size: 12.5px; color: var(--kp-text-faint); white-space: nowrap; }
.kp5-head-category[b-59up1y5chy] { font-size: 12.5px; color: var(--kp-text-meta); }

/* Laufzeitbalken mit Marke und Daten */
.kp5-term[b-59up1y5chy] { position: relative; margin-top: 22px; padding-top: 6px; }
.kp5-term[b-59up1y5chy]  .kp-bar { height: 6px; border-radius: 3px; }
.kp5-term-knob[b-59up1y5chy] {
    position: absolute;
    top: 0;
    width: 18px;
    height: 18px;
    margin-left: -9px;
    border-radius: 50%;
    background: var(--kp-surface);
    border: 3px solid var(--kp-primary);
    box-sizing: border-box;
}
.kp5-term-dates[b-59up1y5chy] { display: flex; justify-content: space-between; margin-top: 8px; font-size: 11.5px; color: var(--kp-text-subtle); }

/* Positionen */
.kp-cell-sub[b-59up1y5chy] { display: block; }
.kp5-line--idle[b-59up1y5chy] { color: var(--kp-text-meta); }
.kp5-sum-label[b-59up1y5chy] { grid-column: 1 / 3; font-weight: 600; color: var(--kp-text-muted); }
.kp5-sum-value[b-59up1y5chy] { grid-column: 3 / 5; text-align: right; font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
.kp5-sum-value .kp-cell-sub[b-59up1y5chy] { display: block; font-size: 12px; font-weight: 500; }

/* Seitenspalte */
.kp5-side[b-59up1y5chy] { display: flex; flex-direction: column; gap: 10px; }

.kp5-doc[b-59up1y5chy] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--kp-border-soft);
    border-radius: 9px;
    background: var(--kp-surface);
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
}
.kp5-doc:hover[b-59up1y5chy] { background: var(--kp-surface-alt); border-color: var(--kp-border-hover); }
.kp5-doc-icon[b-59up1y5chy] { color: var(--kp-danger-fg); display: flex; }
.kp5-doc-text[b-59up1y5chy] { display: flex; flex-direction: column; min-width: 0; }
.kp5-doc-name[b-59up1y5chy] { font-weight: 600; color: var(--kp-link); }
.kp5-doc-meta[b-59up1y5chy] { font-size: 11.5px; color: var(--kp-text-faint); }

.kp5-request[b-59up1y5chy] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid var(--kp-warn-bd);
    border-radius: 9px;
    background: var(--kp-warn-bg);
    color: inherit;
}
.kp5-request:hover[b-59up1y5chy] { text-decoration: none; color: inherit; border-color: var(--kp-warn-dot); }
.kp5-request-text[b-59up1y5chy] { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.kp5-request-kind[b-59up1y5chy] { font-weight: 600; font-size: 12.5px; }
.kp5-request-meta[b-59up1y5chy] { font-size: 11.5px; color: var(--kp-text-meta); }

@media (max-width: 640px) {
    .kp5-main-card[b-59up1y5chy] { padding: 18px 16px; }
    .kp5-main-card[b-59up1y5chy]  .kp-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
    .kp5-strip-item[b-59up1y5chy] { flex-basis: 220px; }
    .kp5-sum-value[b-59up1y5chy] { margin-left: auto; }
}
/* /Components/Portal/Quotes/QuoteDecisionDialog.razor.rz.scp.css */
/* K5: Zusammenfassung im Dialog „Angebot annehmen“ (wie im Entwurf) */
.kp5-summary[b-f0bhsfsoa0] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-radius: var(--kp-radius-inner);
    background: var(--kp-surface-soft);
}
.kp5-summary-text[b-f0bhsfsoa0] { flex: 1 1 auto; min-width: 0; }
.kp5-summary-title[b-f0bhsfsoa0] { font-weight: 650; overflow-wrap: anywhere; }
.kp5-summary-meta[b-f0bhsfsoa0] { font-size: 12px; color: var(--kp-text-meta); }
.kp5-summary-amount[b-f0bhsfsoa0] { text-align: right; flex: 0 0 auto; }
.kp5-summary-net[b-f0bhsfsoa0] { font-size: 18px; font-weight: 650; font-variant-numeric: tabular-nums; }

.kp5-note[b-f0bhsfsoa0] { min-height: 70px; }
/* /Components/Portal/Shared/PortalAttachmentPicker.razor.rz.scp.css */
/* K6 – Dateiauswahl für Anfragen (Portal-Stil, Tokens aus portal.css) */
.pa-files[b-t5o34z3cki] { display: flex; flex-direction: column; gap: 8px; min-width: 0; }

.pa-drop[b-t5o34z3cki] {
    position: relative; height: 38px; border: 1px dashed var(--kp-border-hover); border-radius: var(--kp-radius-btn);
    display: flex; align-items: center; justify-content: center; gap: 6px; padding: 0 10px;
    font-size: 12.5px; color: var(--kp-link); font-weight: 600; background: var(--kp-surface-soft); cursor: pointer;
    white-space: nowrap; overflow: hidden;
}
.pa-drop:hover[b-t5o34z3cki] { border-color: var(--kp-primary); color: var(--kp-primary); }
.pa-drop--off[b-t5o34z3cki] { opacity: .55; cursor: not-allowed; }
/* Das echte Dateifeld liegt unsichtbar über der Fläche: Klick und Ablegen gehen direkt hinein */
.pa-drop[b-t5o34z3cki]  .pa-drop-input {
    position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 0;
}
.pa-drop--off[b-t5o34z3cki]  .pa-drop-input { cursor: not-allowed; }

.pa-link[b-t5o34z3cki] {
    position: relative; align-self: flex-start; display: inline-flex; align-items: center; gap: 5px;
    font-size: 12.5px; color: var(--kp-link); font-weight: 600; cursor: pointer; white-space: nowrap;
}
.pa-link:hover[b-t5o34z3cki] { color: var(--kp-primary); }
.pa-link--off[b-t5o34z3cki] { opacity: .55; cursor: not-allowed; }
.pa-link[b-t5o34z3cki]  .pa-hidden-input {
    position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; pointer-events: none;
}

.pa-list[b-t5o34z3cki] { display: flex; flex-wrap: wrap; gap: 6px; }
.pa-chip[b-t5o34z3cki] {
    display: inline-flex; align-items: center; gap: 6px; max-width: 100%; height: 28px; padding: 0 4px 0 10px;
    border: 1px solid var(--kp-border); border-radius: var(--kp-radius-sm); background: var(--kp-surface);
    font-size: 12px; color: var(--kp-text-body);
}
.pa-chip-name[b-t5o34z3cki] { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.pa-chip-size[b-t5o34z3cki] { color: var(--kp-text-faint); white-space: nowrap; }
.pa-chip-remove[b-t5o34z3cki] {
    width: 22px; height: 22px; border: none; background: none; border-radius: 5px; color: var(--kp-text-weak);
    display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0;
}
.pa-chip-remove:hover[b-t5o34z3cki] { background: var(--kp-surface-hover); color: var(--kp-text-muted); }
/* /Components/Portal/Shared/PortalTicketDialog.razor.rz.scp.css */
/* K6 – „Wie dringend?“ als dreiteilige Auswahl wie im Prototyp */
.td-urgency[b-ckkwfqgkjo] {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--kp-border); border-radius: 9px; overflow: hidden;
}
.td-urgency-item[b-ckkwfqgkjo] {
    display: flex; flex-direction: column; align-items: flex-start; gap: 1px; padding: 9px 12px; min-width: 0;
    border: none; border-right: 1px solid var(--kp-border-soft); background: var(--kp-surface); cursor: pointer;
    text-align: left; color: var(--kp-text);
}
.td-urgency-item:last-child[b-ckkwfqgkjo] { border-right: none; }
.td-urgency-item:hover:not(:disabled)[b-ckkwfqgkjo] { background: var(--kp-surface-alt); }
.td-urgency-item--active[b-ckkwfqgkjo], .td-urgency-item--active:hover:not(:disabled)[b-ckkwfqgkjo] {
    background: var(--kp-primary-soft); box-shadow: inset 0 -2px 0 var(--kp-primary);
}
.td-urgency-label[b-ckkwfqgkjo] { font-weight: 600; font-size: 13px; }
.td-urgency-hint[b-ckkwfqgkjo] { font-size: 11.5px; color: var(--kp-text-faint); }
.td-urgency-item--active .td-urgency-label[b-ckkwfqgkjo] { color: var(--kp-primary); font-weight: 650; }
.td-urgency-item--active .td-urgency-hint[b-ckkwfqgkjo] { color: var(--kp-primary-soft-text); }
.td-phone[b-ckkwfqgkjo] { color: inherit; white-space: nowrap; }
.td-phone:hover[b-ckkwfqgkjo] { color: inherit; }

@media (max-width: 420px) {
    .td-urgency-item[b-ckkwfqgkjo] { padding: 8px 8px; }
    .td-urgency-hint[b-ckkwfqgkjo] { font-size: 11px; }
}
/* /Components/Portal/Stunden/StundenAbgrenzung.razor.rz.scp.css */
/* K6 – Abgrenzung zum Stichtag */
.ab-head[b-x0wf8ftgot] { gap: 10px 12px; }
.ab-date[b-x0wf8ftgot] { display: flex; align-items: center; gap: 8px; }
.ab-date .kp-input[b-x0wf8ftgot] { height: 34px; width: auto; font-size: 13px; padding: 0 10px; }
.ab-pdf-icon[b-x0wf8ftgot] { color: var(--kp-danger-fg); display: inline-flex; }
.ab-close[b-x0wf8ftgot] {
    width: 32px; height: 32px; border-radius: var(--kp-radius-btn); border: none; background: none; padding: 0;
    display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--kp-text-weak);
}
.ab-close:hover[b-x0wf8ftgot] { background: var(--kp-surface-hover); color: var(--kp-text-muted); }

.ab-body[b-x0wf8ftgot] { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 16px; }
.ab-loading[b-x0wf8ftgot] { color: var(--kp-text-faint); text-align: center; padding: 18px 0; }

.ab-bar[b-x0wf8ftgot] { display: flex; height: 34px; border-radius: var(--kp-radius-btn); overflow: hidden; gap: 2px; }
.ab-seg[b-x0wf8ftgot] {
    display: flex; align-items: center; padding: 0 10px; font-size: 12px; font-weight: 600;
    white-space: nowrap; overflow: hidden; min-width: 0;
}
.ab-seg--before[b-x0wf8ftgot] { background: var(--kp-primary); color: #fff; }
.ab-seg--after[b-x0wf8ftgot] { background: var(--kp-chart-3); color: var(--kp-badge-text); }
.ab-seg--open[b-x0wf8ftgot] {
    flex: 1 1 auto; color: var(--kp-text-muted);
    background: repeating-linear-gradient(135deg, var(--kp-track) 0 6px, var(--kp-surface-soft) 6px 12px);
}

.ab-parts[b-x0wf8ftgot] { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr)); gap: 14px; }
.ab-part[b-x0wf8ftgot] { padding: 14px 16px; border: 1px solid var(--kp-border); border-radius: var(--kp-radius-inner); border-top-width: 3px; min-width: 0; }
.ab-part--before[b-x0wf8ftgot] { border-top-color: var(--kp-primary); }
.ab-part--after[b-x0wf8ftgot] { border-top-color: var(--kp-chart-3); }
.ab-part--open[b-x0wf8ftgot] { border-top-color: var(--kp-border-input); }
.ab-part--total[b-x0wf8ftgot] { border: none; background: var(--kp-surface-soft); padding-top: 16px; }
.ab-part--over[b-x0wf8ftgot] { border-top-color: var(--kp-warn-dot); }
.ab-part-values[b-x0wf8ftgot] { display: flex; align-items: baseline; gap: 8px; margin-top: 6px; flex-wrap: wrap; }
.ab-part-hours[b-x0wf8ftgot] { font-size: 22px; font-weight: 600; letter-spacing: -.03em; }
.ab-part-eur[b-x0wf8ftgot] { font-size: 13.5px; font-weight: 600; color: var(--kp-text-body); }
.ab-part-sub[b-x0wf8ftgot] { font-size: 12px; color: var(--kp-text-meta); margin-top: 2px; }

@media (max-width: 640px) {
    .ab-body[b-x0wf8ftgot] { padding: 16px; }
    .ab-head .kp-btn[b-x0wf8ftgot] { flex: 1 1 auto; }
    .ab-date[b-x0wf8ftgot] { flex: 1 1 100%; }
    .ab-date .kp-input[b-x0wf8ftgot] { flex: 1; }
}
/* /Components/Portal/Stunden/StundenBuchungen.razor.rz.scp.css */
/* K6 – Buchungen: Monatsbalken, Zeitraum, Filterleiste, Summe */
.sb-head[b-lq3wjngg9r] { border-bottom: none; padding-bottom: 10px; }

.sb-strip-wrap[b-lq3wjngg9r] { position: relative; margin: 4px 20px 6px; }
.sb-strip[b-lq3wjngg9r] {
    display: flex; flex-direction: row-reverse; gap: 6px;
    overflow-x: auto; scrollbar-width: none; padding: 0 18px;
}
.sb-strip[b-lq3wjngg9r]::-webkit-scrollbar { display: none; }
.sb-month[b-lq3wjngg9r] {
    flex: 0 0 74px; height: 82px; border-radius: var(--kp-radius-inner); border: none; background: none;
    display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 4px; padding: 8px 6px;
    cursor: pointer; color: var(--kp-text-body);
}
.sb-month:hover[b-lq3wjngg9r] { background: var(--kp-surface-soft); }
/* Erstes Element = neuester Monat ganz rechts; ohne Überlauf steht die Leiste trotzdem links */
.sb-month:first-child[b-lq3wjngg9r] { margin-right: auto; }
.sb-month-bar[b-lq3wjngg9r] { width: 22px; border-radius: 3px; background: var(--kp-band-nav); display: block; }
.sb-month-label[b-lq3wjngg9r] { font-size: 12px; font-weight: 600; white-space: nowrap; }
.sb-month-year[b-lq3wjngg9r] { font-weight: 500; color: var(--kp-text-weak); }
.sb-month-hours[b-lq3wjngg9r] { font-size: 11px; color: var(--kp-text-faint); white-space: nowrap; }
.sb-month--active[b-lq3wjngg9r], .sb-month--active:hover[b-lq3wjngg9r] { background: var(--kp-primary-soft); box-shadow: inset 0 0 0 1px var(--kp-primary); }
.sb-month--active .sb-month-bar[b-lq3wjngg9r] { background: var(--kp-primary); }
.sb-month--active .sb-month-label[b-lq3wjngg9r] { color: var(--kp-primary); font-weight: 650; }
.sb-month--active .sb-month-year[b-lq3wjngg9r], .sb-month--active .sb-month-hours[b-lq3wjngg9r] { color: var(--kp-primary-soft-text); }

.sb-step[b-lq3wjngg9r] {
    position: absolute; top: 50%; margin-top: -13px; width: 26px; height: 26px; border-radius: 50%; z-index: 2;
    border: 1px solid var(--kp-border); background: rgba(255, 255, 255, .95); color: var(--kp-text-weak);
    display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0;
    box-shadow: 0 1px 3px rgba(16, 24, 40, .08);
}
.sb-step:hover:not(:disabled)[b-lq3wjngg9r] { color: var(--kp-primary); border-color: var(--kp-border-hover); }
.sb-step:disabled[b-lq3wjngg9r] { opacity: .4; cursor: default; }
.sb-step--prev[b-lq3wjngg9r] { left: -12px; }
.sb-step--next[b-lq3wjngg9r] { right: -12px; }

.sb-range[b-lq3wjngg9r] { display: flex; align-items: center; gap: 10px; padding: 4px 20px 12px; flex-wrap: wrap; }
.sb-range-field[b-lq3wjngg9r] { display: flex; align-items: center; gap: 6px; }
.sb-date[b-lq3wjngg9r] { height: 32px; width: auto; font-size: 13px; padding: 0 10px; }
.sb-sep[b-lq3wjngg9r] { width: 1px; height: 20px; background: var(--kp-border); margin: 0 2px; }

.sb-filterbar[b-lq3wjngg9r] {
    display: flex; align-items: center; gap: 8px; padding: 10px 20px; flex-wrap: wrap;
    border-top: 1px solid var(--kp-border-soft); border-bottom: 1px solid var(--kp-border-soft); background: var(--kp-surface-alt);
}
.sb-filter-label[b-lq3wjngg9r] { font-size: 12px; font-weight: 600; color: var(--kp-text-subtle); }
.sb-search[b-lq3wjngg9r] {
    display: flex; align-items: center; gap: 8px; height: 30px; width: 220px; max-width: 100%; padding: 0 10px;
    border: 1px solid var(--kp-border); border-radius: var(--kp-radius-sm); background: var(--kp-surface); color: var(--kp-text-faint);
}
.sb-search input[b-lq3wjngg9r] {
    flex: 1; min-width: 0; border: none; background: transparent; outline: none; font-size: 12.5px; color: var(--kp-text);
}
.sb-search:focus-within[b-lq3wjngg9r] { border-color: var(--kp-primary); box-shadow: var(--kp-focus); }

.sb-ticket[b-lq3wjngg9r] { font-weight: 600; }
.sb-no-ticket[b-lq3wjngg9r] { color: var(--kp-text-weak); }
.sb-included[b-lq3wjngg9r] { color: var(--kp-ok-fg); }

.sb-sum[b-lq3wjngg9r] { grid-column: 1 / -1; flex: 1 1 100%; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; min-width: 0; }
.sb-sum-label[b-lq3wjngg9r] { flex: 1 1 auto; font-weight: 600; color: var(--kp-text-muted); display: flex; flex-direction: column; min-width: 0; }
.sb-sum-sub[b-lq3wjngg9r] { font-size: 11.5px; font-weight: 400; color: var(--kp-text-faint); }
.sb-sum-values[b-lq3wjngg9r] { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.sb-sum-eur[b-lq3wjngg9r] { color: var(--kp-text-meta); font-weight: 500; }
.sb-sum-hours[b-lq3wjngg9r] { font-weight: 700; min-width: 70px; text-align: right; color: var(--kp-text); }

@media (max-width: 640px) {
    .sb-strip-wrap[b-lq3wjngg9r] { margin: 4px 12px 6px; }
    .sb-range[b-lq3wjngg9r], .sb-filterbar[b-lq3wjngg9r] { padding-left: 16px; padding-right: 16px; }
    .sb-search[b-lq3wjngg9r] { width: 100%; }
    .sb-sep[b-lq3wjngg9r] { display: none; }
    .sb-step--prev[b-lq3wjngg9r] { left: -8px; }
    .sb-step--next[b-lq3wjngg9r] { right: -8px; }
}
/* /Components/Portal/Stunden/StundenWartung.razor.rz.scp.css */
/* K6 – Wartungstermine und Komponenten */
.sw-list[b-zjbc48h8lr] { display: flex; flex-direction: column; }
.sw-row[b-zjbc48h8lr] {
    display: flex; align-items: center; gap: 12px; padding: 0 20px; min-height: 48px;
    border-bottom: 1px solid var(--kp-border-row);
}
.sw-row:last-child[b-zjbc48h8lr] { border-bottom: none; }
.sw-date[b-zjbc48h8lr] { width: 54px; flex: 0 0 54px; font-weight: 600; }
.sw-text[b-zjbc48h8lr] { flex: 1; min-width: 0; color: var(--kp-text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sw-who[b-zjbc48h8lr] { font-size: 12px; color: var(--kp-text-faint); white-space: nowrap; }
.sw-part[b-zjbc48h8lr] { flex: 1; min-width: 0; padding: 7px 0; }
.sw-part-name[b-zjbc48h8lr] { font-weight: 600; }
.sw-part-place[b-zjbc48h8lr] { font-size: 11.5px; color: var(--kp-text-faint); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 640px) {
    .sw-row[b-zjbc48h8lr] { padding: 8px 16px; flex-wrap: wrap; row-gap: 2px; }
    .sw-text[b-zjbc48h8lr] { white-space: normal; flex-basis: calc(100% - 90px); }
    .sw-who[b-zjbc48h8lr] { flex: 1 0 100%; padding-left: 88px; }
}
