/* /Components/Layout/ChromeLayout.razor.rz.scp.css */
/* Shell-Layout: das Portal spannt volle Höhe, Footer klebt unten. Farben/Fonts aus ga-theme.css. */
#blazor-error-ui[b-n71haxumr7] {
    color: #fff;
    background: #b32121;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-n71haxumr7] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

    #blazor-error-ui .reload[b-n71haxumr7] {
        color: #fff;
        text-decoration: underline;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* Top-Nav-Header im GA-Look (Live-Site): weiße, klebende Leiste, Globus-Marke links, Nav rechts. */
.ga-header[b-s6lvqjj9qz] {
    position: sticky;
    top: 0;
    z-index: 100;
    background: #fff;
    border-bottom: 1px solid var(--ga-line);
    box-shadow: 0 1px 3px rgba(4, 28, 44, .05);
}

.ga-header__inner[b-s6lvqjj9qz] {
    max-width: 1180px;
    margin: 0 auto;
    padding: .7rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

/* Marke */
.ga-brand[b-s6lvqjj9qz] {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    text-decoration: none;
    color: var(--ga-accent);
}

.ga-brand__img[b-s6lvqjj9qz] {
    height: 44px;
    width: auto;
    display: block;
}

/* Navigation */
.ga-nav[b-s6lvqjj9qz] {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.ga-nav__link[b-s6lvqjj9qz] {
    font-family: var(--ga-body);
    font-weight: 700;
    font-size: .92rem;
    color: var(--ga-ink);
    text-decoration: none;
    padding: .35rem 0;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
}

.ga-nav__link:hover[b-s6lvqjj9qz] { color: var(--ga-accent); }
.ga-nav__link.is-active[b-s6lvqjj9qz] { color: var(--ga-accent); border-bottom-color: var(--ga-accent); }

@media (max-width: 720px) {
    .ga-nav[b-s6lvqjj9qz] { gap: .9rem; }
    .ga-nav__link:not(.is-active)[b-s6lvqjj9qz] { display: none; }  /* mobil: nur aktiver Link + Login/Konto */
    .ga-brand__word span[b-s6lvqjj9qz] { display: none; }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-c67kpo3fxr],
.components-reconnect-repeated-attempt-visible[b-c67kpo3fxr],
.components-reconnect-failed-visible[b-c67kpo3fxr],
.components-pause-visible[b-c67kpo3fxr],
.components-resume-failed-visible[b-c67kpo3fxr],
.components-rejoining-animation[b-c67kpo3fxr] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-c67kpo3fxr],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-c67kpo3fxr],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-c67kpo3fxr],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-c67kpo3fxr],
#components-reconnect-modal.components-reconnect-retrying[b-c67kpo3fxr],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-c67kpo3fxr],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-c67kpo3fxr],
#components-reconnect-modal.components-reconnect-failed[b-c67kpo3fxr],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-c67kpo3fxr] {
    display: block;
}


#components-reconnect-modal[b-c67kpo3fxr] {
    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-c67kpo3fxr 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-c67kpo3fxr 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-c67kpo3fxr 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-c67kpo3fxr]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-c67kpo3fxr 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-c67kpo3fxr {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-c67kpo3fxr {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-c67kpo3fxr {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-c67kpo3fxr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-c67kpo3fxr] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-c67kpo3fxr] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-c67kpo3fxr] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-c67kpo3fxr] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-c67kpo3fxr] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-c67kpo3fxr] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-c67kpo3fxr 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-c67kpo3fxr] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-c67kpo3fxr {
    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/Pages/Login.razor.rz.scp.css */
/* Login (scoped, SSR/kein JS). Die Seite laeuft im AdminChrome und klebte deshalb links an der
   Seitenleiste. Jetzt eine zentrierte Karte: eigene Klassen statt Bootstrap, damit die Optik nicht
   davon abhaengt, welches Chrome gerade drumherum liegt. */

.login-page[b-o8vhebyvw9] {
    --lg-ink: #2c2a26;
    --lg-muted: #8b8478;
    --lg-line: #e6e2da;
    --lg-accent: #6366f1;
    /* Hoehe der Sidebar-Flaeche abzueglich Kopfzeile — reicht, um optisch zu zentrieren, ohne dass
       die Karte bei kleinen Fenstern aus dem Bild rutscht. */
    min-height: calc(100vh - 8rem);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
    color: var(--lg-ink);
}

.login-card[b-o8vhebyvw9] {
    width: 100%;
    max-width: 26rem;
    background: #fff;
    border: 1px solid var(--lg-line);
    border-radius: 0.75rem;
    padding: 2rem 1.75rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .06);
}

.login-brand[b-o8vhebyvw9] {
    margin: 0 0 .25rem;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--lg-muted);
}

.login-card h1[b-o8vhebyvw9] {
    margin: 0 0 1.5rem;
    font-size: 1.5rem;
    line-height: 1.2;
}

.login-error[b-o8vhebyvw9] {
    margin: 0 0 1rem;
    padding: .625rem .75rem;
    border-radius: .5rem;
    background: #fdecec;
    border: 1px solid #f3c4c4;
    color: #9b1c1c;
    font-size: .9rem;
}

.login-field[b-o8vhebyvw9] {
    margin-bottom: 1rem;
}

    .login-field label[b-o8vhebyvw9] {
        display: block;
        margin-bottom: .35rem;
        font-size: .875rem;
        font-weight: 500;
    }

    .login-field input[b-o8vhebyvw9] {
        width: 100%;
        box-sizing: border-box;
        padding: .6rem .75rem;
        font: inherit;
        color: inherit;
        background: #fff;
        border: 1px solid var(--lg-line);
        border-radius: .5rem;
    }

        .login-field input:focus[b-o8vhebyvw9] {
            outline: none;
            border-color: var(--lg-accent);
            box-shadow: 0 0 0 3px rgba(99, 102, 241, .18);
        }

.login-submit[b-o8vhebyvw9] {
    width: 100%;
    margin-top: .5rem;
    padding: .65rem 1rem;
    font: inherit;
    font-weight: 600;
    color: #fff;
    background: var(--lg-accent);
    border: none;
    border-radius: .5rem;
    cursor: pointer;
}

    .login-submit:hover[b-o8vhebyvw9] {
        filter: brightness(.95);
    }
/* /Components/Pages/ObjektEdit.razor.rz.scp.css */
/* Objekt-Editor (BOS-6/9/10) — eigenständiges, aufgeräumtes Editor-Layout (scoped, SSR/kein JS). */

.ed-page[b-se2v3tt0ll] {
    --ed-accent: #b8863b;
    --ed-accent-weak: #f3ecdf;
    --ed-line: #e6e2da;
    --ed-ink: #2c2a26;
    --ed-muted: #8b8478;
    max-width: 1140px;
    margin: 0 auto;
    padding: 1.5rem 1.25rem 6rem;
    color: var(--ed-ink);
}

/* ── Kopf ─────────────────────────────────────────────────────────────── */
.ed-back[b-se2v3tt0ll] { color: var(--ed-muted); text-decoration: none; font-size: .9rem; }
.ed-back:hover[b-se2v3tt0ll] { color: var(--ed-accent); }
.ed-title[b-se2v3tt0ll] { font-family: var(--ga-head, Georgia, "Times New Roman", serif); font-size: 1.9rem; font-weight: 600; margin: .5rem 0 .3rem; }
.ed-meta[b-se2v3tt0ll] { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; color: var(--ed-muted); font-size: .9rem; }
.ed-meta a[b-se2v3tt0ll] { color: var(--ed-accent); text-decoration: none; }
.ed-meta a:hover[b-se2v3tt0ll] { text-decoration: underline; }
.ed-dot[b-se2v3tt0ll] { opacity: .5; }

.ed-alert[b-se2v3tt0ll] {
    margin: 1rem 0 0; padding: .7rem 1rem; border-radius: 10px;
    background: #eef7ee; border: 1px solid #cfe6cf; color: #2f6b34; font-size: .92rem;
}

/* ── Karte / Kapitel ──────────────────────────────────────────────────── */
.ed-card[b-se2v3tt0ll] {
    background: #fff; border: 1px solid var(--ed-line); border-radius: 14px;
    padding: 1.4rem 1.5rem; margin-top: 1.2rem; box-shadow: 0 1px 2px rgba(0, 0, 0, .03);
}
.ed-card__head[b-se2v3tt0ll] { display: flex; align-items: center; gap: .7rem; margin: 0 0 1.1rem; }
.ed-card__head h2[b-se2v3tt0ll] { font-family: var(--ga-head, Georgia, "Times New Roman", serif); font-size: 1.2rem; font-weight: 600; margin: 0; }
.ed-num[b-se2v3tt0ll] {
    flex: 0 0 auto; width: 1.7rem; height: 1.7rem; border-radius: 50%;
    display: grid; place-items: center; font-size: .85rem; font-weight: 600;
    background: var(--ed-accent-weak); color: var(--ed-accent);
}

.ed-sub[b-se2v3tt0ll] {
    font-weight: 600; font-size: .95rem; margin: 1.5rem 0 .7rem; color: var(--ed-ink);
    padding-bottom: .35rem; border-bottom: 1px solid var(--ed-line);
}
.ed-sub__hint[b-se2v3tt0ll] { font-weight: 400; color: var(--ed-muted); font-size: .85rem; }
.ed-hint[b-se2v3tt0ll] { color: var(--ed-muted); font-size: .82rem; margin: .55rem 0 0; line-height: 1.55; }

/* ── Feld-Raster ──────────────────────────────────────────────────────── */
.ed-grid[b-se2v3tt0ll] { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .9rem 1.1rem; }
.ed-field[b-se2v3tt0ll] { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
/* margin-bottom:auto laesst das Label den freien Platz schlucken, damit das Control am unteren Rand
   der Rasterzelle sitzt: ein zweizeiliges Label (z. B. „Registrierungs-/CIN-Nr.") drueckt sein Eingabe-
   feld sonst tiefer als die einzeiligen Nachbarn derselben Reihe. Alle Controls sind gleich hoch,
   unten buendig heisst hier also auch oben buendig. */
.ed-field .lbl[b-se2v3tt0ll] { font-size: .82rem; font-weight: 500; color: var(--ed-ink); margin-bottom: auto; }
.ed-field .lbl em[b-se2v3tt0ll] { font-style: normal; font-weight: 400; color: var(--ed-muted); }
.ed-col-2[b-se2v3tt0ll] { grid-column: span 2; }
.ed-col-full[b-se2v3tt0ll] { grid-column: 1 / -1; }
.ed-inline[b-se2v3tt0ll] { max-width: 560px; margin-bottom: .4rem; }

/* ── Eingabe-Controls ─────────────────────────────────────────────────── */
.ed-input[b-se2v3tt0ll] {
    width: 100%; box-sizing: border-box; padding: .5rem .6rem; font: inherit; color: var(--ed-ink);
    background: #fff; border: 1px solid var(--ed-line); border-radius: 9px; transition: border-color .12s, box-shadow .12s;
}
.ed-input:focus[b-se2v3tt0ll] { outline: none; border-color: var(--ed-accent); box-shadow: 0 0 0 3px rgba(184, 134, 59, .15); }
textarea.ed-input[b-se2v3tt0ll] { resize: vertical; line-height: 1.5; }
select.ed-input[b-se2v3tt0ll] { appearance: auto; background: #fff; }
.ed-input--sm[b-se2v3tt0ll] { max-width: 120px; }

/* ── Zeilen-Tabellen (Räume / Saison / Leistungen) ────────────────────── */
.ed-table[b-se2v3tt0ll] { overflow-x: auto; margin: .2rem 0 .3rem; }
.ed-rows[b-se2v3tt0ll] { display: flex; flex-direction: column; gap: .4rem; }
.ed-rowhead[b-se2v3tt0ll], .ed-row[b-se2v3tt0ll] { display: grid; gap: .5rem; align-items: center; }
.ed-rowhead[b-se2v3tt0ll] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: var(--ed-muted); padding: 0 .1rem; }
.ed-rowhead em[b-se2v3tt0ll] { text-transform: none; letter-spacing: 0; }
.ed-row.is-new .ed-input[b-se2v3tt0ll] { background: #fcfbf8; border-style: dashed; }

.ed-rows--room[b-se2v3tt0ll] { min-width: 560px; }
.ed-rowhead.ed-row--room[b-se2v3tt0ll], .ed-row--room[b-se2v3tt0ll] { grid-template-columns: minmax(130px, 1.5fr) 110px 70px minmax(160px, 2.4fr) 34px; }
.ed-rows--season[b-se2v3tt0ll] { min-width: 760px; }
.ed-rowhead.ed-row--season[b-se2v3tt0ll], .ed-row--season[b-se2v3tt0ll] { grid-template-columns: minmax(130px, 1.5fr) 140px 140px 92px 92px 74px 34px; }
.ed-rows--opt[b-se2v3tt0ll] { min-width: 640px; }
.ed-rowhead.ed-row--opt[b-se2v3tt0ll], .ed-row--opt[b-se2v3tt0ll] { grid-template-columns: minmax(150px, 1.7fr) 150px 110px 70px 60px 34px; }
.ed-rows--win[b-se2v3tt0ll] { min-width: 640px; }
.ed-rowhead.ed-row--win[b-se2v3tt0ll], .ed-row--win[b-se2v3tt0ll] { grid-template-columns: 150px 150px 130px minmax(150px, 1fr) 34px; }
.ed-rows--blk[b-se2v3tt0ll] { min-width: 380px; }
.ed-rowhead.ed-row--blk[b-se2v3tt0ll], .ed-row--blk[b-se2v3tt0ll] { grid-template-columns: 170px 170px 34px; }
.ed-rows--photo[b-se2v3tt0ll] { min-width: 680px; }
.ed-rowhead.ed-row--photo[b-se2v3tt0ll], .ed-row--photo[b-se2v3tt0ll] { grid-template-columns: 22px 84px 64px 110px minmax(160px, 1fr) 120px 34px; }
/* Ziehgriff: nur er startet den Zug — sonst liesse sich in den Feldern kein Text mehr markieren. */
.ed-drag[b-se2v3tt0ll] { cursor: grab; color: var(--ed-muted); text-align: center; user-select: none; line-height: 1; }
.ed-drag:active[b-se2v3tt0ll] { cursor: grabbing; }
.ed-row--photo.is-dragging[b-se2v3tt0ll] { opacity: .45; }
.ed-row--photo.is-drop-target[b-se2v3tt0ll] { outline: 2px dashed var(--ed-accent); outline-offset: 2px; }
.ed-photo-thumb[b-se2v3tt0ll] { display: block; }
.ed-photo-thumb img[b-se2v3tt0ll] { width: 76px; height: 52px; object-fit: cover; border-radius: 7px; border: 1px solid var(--ed-line); display: block; }

/* Checkbox-/Löschen-Zellen */
.ed-check[b-se2v3tt0ll] { display: flex; align-items: center; justify-content: center; }
.ed-check input[b-se2v3tt0ll] { width: 1.05rem; height: 1.05rem; accent-color: var(--ed-accent); }
.ed-del[b-se2v3tt0ll] { display: flex; align-items: center; justify-content: center; position: relative; cursor: pointer; }
.ed-del input[b-se2v3tt0ll] { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.ed-del span[b-se2v3tt0ll] {
    width: 1.6rem; height: 1.6rem; border-radius: 7px; display: grid; place-items: center;
    color: var(--ed-muted); border: 1px solid var(--ed-line); font-size: .8rem; transition: .12s;
}
.ed-del:hover span[b-se2v3tt0ll] { color: #c0392b; border-color: #e3b4b4; background: #fdecec; }
.ed-del input:checked + span[b-se2v3tt0ll] { color: #fff; background: #c0392b; border-color: #c0392b; }

/* ── Sticky Speichern-Leiste ──────────────────────────────────────────── */
.ed-savebar[b-se2v3tt0ll] {
    position: sticky; bottom: 0; z-index: 5; margin-top: 1.3rem;
    display: flex; align-items: center; justify-content: flex-end; gap: .8rem; flex-wrap: wrap;
    padding: .85rem 1rem; background: rgba(255, 255, 255, .92); backdrop-filter: blur(6px);
    border: 1px solid var(--ed-line); border-radius: 12px; box-shadow: 0 -2px 10px rgba(0, 0, 0, .05);
}
.ed-savebar__note[b-se2v3tt0ll] { margin-right: auto; color: var(--ed-muted); font-size: .85rem; }
.ed-btn[b-se2v3tt0ll] {
    display: inline-block; padding: .55rem 1.3rem; border-radius: 9px; border: 1px solid var(--ed-accent);
    background: var(--ed-accent); color: #fff; font: inherit; font-weight: 500; cursor: pointer; text-decoration: none;
}
.ed-btn:hover[b-se2v3tt0ll] { filter: brightness(.95); }
.ed-btn--ghost[b-se2v3tt0ll] { background: #fff; color: var(--ed-ink); border-color: var(--ed-line); }
.ed-btn--ghost:hover[b-se2v3tt0ll] { border-color: var(--ed-muted); filter: none; }

@media (max-width: 640px) {
    .ed-col-2[b-se2v3tt0ll] { grid-column: 1 / -1; }
    .ed-title[b-se2v3tt0ll] { font-size: 1.5rem; }
    .ed-savebar__note[b-se2v3tt0ll] { display: none; }
}

/* Vollständigkeits-Guide (BOS-14) */
.ed-guide__status[b-se2v3tt0ll] { margin: 0 0 .6rem; }
.ed-guide__bar[b-se2v3tt0ll] { height: 8px; border-radius: 999px; background: #eef0f5; overflow: hidden; }
.ed-guide__bar > span[b-se2v3tt0ll] { display: block; height: 100%; background: #3f7d54; transition: width .2s; }
.ed-guide__list[b-se2v3tt0ll] { list-style: none; margin: .2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: .25rem .8rem; }
.ed-guide__list li[b-se2v3tt0ll] { font-size: .9rem; }
.ed-guide__list li.done[b-se2v3tt0ll] { color: #1c5a35; }
.ed-guide__list li.todo[b-se2v3tt0ll] { color: #8a5a1c; }
/* /Components/Property/AvailabilityCalendar.razor.rz.scp.css */
.availcal[b-akbiv1pe7o] {
    --free: #e6f4ea;
    --free-hover: #cfe8d5;
    --blk: #f4dcdc;
    --sel: var(--ga-accent, #627afe);
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    padding: 1rem;
    font-size: 0.9rem;
}

.availcal-head[b-akbiv1pe7o] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.availcal-range[b-akbiv1pe7o] {
    font-weight: 600;
    text-transform: capitalize;
}

.availcal-nav[b-akbiv1pe7o] {
    border: 1px solid #ccc;
    background: #fff;
    border-radius: 6px;
    width: 2rem;
    height: 2rem;
    cursor: pointer;
    line-height: 1;
    font-size: 1.1rem;
}

.availcal-nav:disabled[b-akbiv1pe7o] {
    opacity: 0.35;
    cursor: default;
}

/* 12-Monats-Jahresraster (wächst/schrumpft responsiv). */
.availcal-year[b-akbiv1pe7o] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: 1.1rem;
}

.availcal-mo-h[b-akbiv1pe7o] {
    text-align: center;
    font-weight: 600;
    text-transform: capitalize;
    font-size: 0.85rem;
    margin-bottom: 0.4rem;
}

.availcal-grid[b-akbiv1pe7o] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
}

.availcal-wd[b-akbiv1pe7o] {
    text-align: center;
    font-size: 0.68rem;
    color: #888;
    padding-bottom: 0.2rem;
}

.availcal-cell[b-akbiv1pe7o] {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    user-select: none;
    font-size: 0.72rem;
    overflow: hidden;
}

.availcal-n[b-akbiv1pe7o] {
    position: relative;
    z-index: 1;
}

.availcal-blank[b-akbiv1pe7o] {
    visibility: hidden;
}

/* ── Zustände ──────────────────────────────────────────────────────────────
   Diagonale Ränder: 135deg läuft von oben-links nach unten-rechts.
   Anreise = vormittags (oben-links) frei, nachmittags (unten-rechts) belegt.
   Abreise = umgekehrt. So zeigt ein Wechseltag beide Hälften. */

.availcal-free[b-akbiv1pe7o] {
    background: var(--free);
    color: #1b5e20;
    cursor: pointer;
}
.availcal-free:hover[b-akbiv1pe7o] { background: var(--free-hover); }

.availcal-blocked[b-akbiv1pe7o] {
    background: var(--blk);
    color: #b71c1c;
    cursor: not-allowed;
}

/* Belegungs-Wechseltage */
.availcal-arr[b-akbiv1pe7o] {
    background: linear-gradient(135deg, var(--free) 0 50%, var(--blk) 50% 100%);
    color: #8a2b2b;
    cursor: pointer;
}
.availcal-dep[b-akbiv1pe7o] {
    background: linear-gradient(135deg, var(--blk) 0 50%, var(--free) 50% 100%);
    color: #1b5e20;
    cursor: pointer;
}
.availcal-dep-off[b-akbiv1pe7o] {
    background: linear-gradient(135deg, var(--blk) 0 50%, #f7f7f7 50% 100%);
    color: #b0b0b0;
    cursor: default;
}

/* Eigene Auswahl */
.availcal-sel[b-akbiv1pe7o] {
    background: var(--sel);
    color: #fff;
    cursor: pointer;
}
.availcal-sel-arr[b-akbiv1pe7o] {
    background: linear-gradient(135deg, var(--free) 0 50%, var(--sel) 50% 100%);
    color: #14351f;
    text-shadow: 0 0 2px rgba(255, 255, 255, 0.7);
    cursor: pointer;
}
.availcal-sel-dep[b-akbiv1pe7o] {
    background: linear-gradient(135deg, var(--sel) 0 50%, var(--free) 50% 100%);
    color: #14351f;
    text-shadow: 0 0 2px rgba(255, 255, 255, 0.7);
    cursor: pointer;
}

.availcal-off[b-akbiv1pe7o] {
    color: #c4c4c4;
    cursor: default;
}

/* ── Legende ──────────────────────────────────────────────────────────────── */
.availcal-legend[b-akbiv1pe7o] {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 0;
    margin: 0.8rem 0 0;
    font-size: 0.75rem;
    color: #555;
}

.availcal-legend li[b-akbiv1pe7o] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.sw[b-akbiv1pe7o] {
    width: 0.85rem;
    height: 0.85rem;
    border-radius: 3px;
    display: inline-block;
}

.sw-free[b-akbiv1pe7o] { background: var(--free); border: 1px solid #1b5e20; }
.sw-blocked[b-akbiv1pe7o] { background: var(--blk); border: 1px solid #b71c1c; }
.sw-turn[b-akbiv1pe7o] { background: linear-gradient(135deg, var(--free) 0 50%, var(--blk) 50% 100%); border: 1px solid #b0a0a0; }
.sw-sel[b-akbiv1pe7o] { background: var(--sel); }

.availcal-hint[b-akbiv1pe7o] {
    margin: 0.6rem 0 0;
    font-size: 0.78rem;
    color: #555;
}

.availcal-error[b-akbiv1pe7o] {
    margin: 0.4rem 0 0;
    font-size: 0.82rem;
    color: #b00020;
}
/* /Components/Property/InquiryForm.razor.rz.scp.css */
/* Anfrage-Formular im GA-Look. Tokens (--ga-*) kommen aus ga-theme.css. */
.ga-inquiry__hint[b-9ejr1881ch] {
    color: var(--ga-muted);
    font-size: .9rem;
    margin: 0 0 .8rem;
}

.ga-inquiry__form[b-9ejr1881ch] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem 1rem;
    align-items: end;
    margin-top: 1.25rem;
}

.ga-inquiry__wide[b-9ejr1881ch] {
    grid-column: 1 / -1;
}

@media (max-width: 560px) {
    .ga-inquiry__form[b-9ejr1881ch] { grid-template-columns: 1fr; }
}
