/*
 * Kalender und Tagesansicht (Agent B). Wird fuer das ganze Admin geladen - alle Regeln sind
 * auf .fwk (Kalender) bzw. .fw-ta (Tagesansicht) beschraenkt.
 */

/* =====================================================================
 * Kalender
 * ===================================================================== */

.fwk {
    --fwk-line: rgb(229 231 235);
    --fwk-line-soft: rgb(243 244 246);
    --fwk-free: #fff;
    --fwk-busy: rgb(249 250 251);
    --fwk-weekend: rgb(250 250 250);
    --fwk-out: rgb(249 250 251);
    --fwk-sel: rgb(167 243 208 / .75);
    --fwk-sel-line: rgb(5 150 105);
    --fwk-holiday: #c084fc;
    --fwk-muted: rgb(107 114 128);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
}

.dark .fwk {
    --fwk-line: rgb(255 255 255 / .1);
    --fwk-line-soft: rgb(255 255 255 / .06);
    --fwk-free: rgb(24 24 27);
    --fwk-busy: rgb(39 39 42);
    --fwk-weekend: rgb(30 30 33);
    --fwk-out: rgb(32 32 36);
    --fwk-sel: rgb(16 185 129 / .3);
    --fwk-sel-line: rgb(52 211 153);
    --fwk-muted: rgb(161 161 170);
}

.fwk [x-cloak] {
    display: none !important;
}

/* ---------- Kopf ---------- */

.fwk-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem 1.25rem;
    margin-bottom: .75rem;
}

.fwk-nav {
    display: flex;
    align-items: center;
    gap: .15rem;
}

.fwk-month {
    margin: 0;
    min-width: 10.5rem;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
}

.fwk-today-btn {
    margin-left: .5rem;
}

.fwk-views {
    display: inline-flex;
    gap: .2rem;
    padding: .2rem;
    border-radius: .6rem;
    background: rgb(243 244 246);
}

.dark .fwk-views {
    background: rgb(255 255 255 / .06);
}

.fwk-seg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .35rem .8rem;
    border-radius: .45rem;
    font-size: .8125rem;
    font-weight: 600;
    color: var(--fwk-muted);
    white-space: nowrap;
    cursor: pointer;
}

.fwk-seg:hover {
    color: inherit;
}

.fwk-seg.is-active {
    background: #fff;
    color: rgb(3 7 18);
    box-shadow: 0 1px 2px rgb(0 0 0 / .1);
}

.dark .fwk-seg.is-active {
    background: rgb(63 63 70);
    color: #fff;
}

.fwk-seg-icon {
    width: 1rem;
    height: 1rem;
}

.fwk-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem 1rem;
    font-size: .8125rem;
    min-width: 0;
}

.fwk-apt {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    max-width: 18rem;
    min-width: 0;
    color: var(--fwk-muted);
    font-weight: 500;
}

.fwk-apt-icon {
    flex: none;
    width: 1rem;
    height: 1rem;
}

.fwk-apt-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fwk-region {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--fwk-muted);
}

.fwk-region-select {
    width: 12rem;
    max-width: 100%;
}

/* ---------- Legende ---------- */

.fwk-legend {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem 1rem;
    margin: 0 0 .75rem;
    padding: 0;
    list-style: none;
    font-size: .75rem;
    color: var(--fwk-muted);
}

.fwk-legend li {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.fwk-sw {
    display: inline-block;
    flex: none;
    width: 1.15rem;
    height: .8rem;
    margin-right: .35rem;
    border: 1px solid transparent;
    border-radius: .25rem;
    background: var(--fwk-bg);
    border-color: var(--fwk-bd);
}

.fwk-sw--free {
    background: var(--fwk-free);
    border-color: rgb(209 213 219);
}

.fwk-sw--holiday {
    height: .8rem;
    border: 0;
    border-top: 3px solid var(--fwk-holiday);
    border-radius: 0;
    background: var(--fwk-free);
    box-shadow: inset 0 0 0 1px var(--fwk-line);
}

/* ---------- Farben der Eintraege ---------- */

.fwk .is-anfrage {
    --fwk-bg: #fef3c7;
    --fwk-bd: #f59e0b;
    --fwk-fg: #78350f;
}

.fwk .is-bestaetigt {
    --fwk-bg: #e0f2fe;
    --fwk-bd: #0ea5e9;
    --fwk-fg: #0c4a6e;
}

.fwk .is-bezahlt {
    --fwk-bg: #d1fae5;
    --fwk-bd: #10b981;
    --fwk-fg: #064e3b;
}

.fwk .is-abgeschlossen {
    --fwk-bg: #e5e7eb;
    --fwk-bd: #9ca3af;
    --fwk-fg: #374151;
}

.fwk .is-eigennutzung {
    --fwk-bg: #ede9fe;
    --fwk-bd: #8b5cf6;
    --fwk-fg: #4c1d95;
}

.fwk .is-vormerkung {
    --fwk-bg: repeating-linear-gradient(135deg, #fffbeb 0 5px, #fde68a 5px 8px);
    --fwk-bd: #d97706;
    --fwk-fg: #78350f;
    border-style: dashed;
}

.fwk .is-sperrzeit {
    --fwk-bg: repeating-linear-gradient(135deg, #f3f4f6 0 5px, #d1d5db 5px 8px);
    --fwk-bd: #6b7280;
    --fwk-fg: #111827;
}

.dark .fwk .is-anfrage { --fwk-bg: rgb(245 158 11 / .25); --fwk-fg: #fde68a; }
.dark .fwk .is-bestaetigt { --fwk-bg: rgb(14 165 233 / .25); --fwk-fg: #bae6fd; }
.dark .fwk .is-bezahlt { --fwk-bg: rgb(16 185 129 / .25); --fwk-fg: #a7f3d0; }
.dark .fwk .is-abgeschlossen { --fwk-bg: rgb(156 163 175 / .25); --fwk-fg: #e5e7eb; }
.dark .fwk .is-eigennutzung { --fwk-bg: rgb(139 92 246 / .28); --fwk-fg: #ddd6fe; }
.dark .fwk .is-vormerkung { --fwk-bg: repeating-linear-gradient(135deg, rgb(245 158 11 / .12) 0 5px, rgb(245 158 11 / .35) 5px 8px); --fwk-fg: #fde68a; }
.dark .fwk .is-sperrzeit { --fwk-bg: repeating-linear-gradient(135deg, rgb(255 255 255 / .05) 0 5px, rgb(255 255 255 / .18) 5px 8px); --fwk-fg: #f4f4f5; }

/* ---------- Monatsraster ---------- */

.fwk-body {
    position: relative;
    min-width: 0;
    transition: opacity .15s;
}

.fwk-loading {
    opacity: .55;
    pointer-events: none;
}

.fwk-weekdays {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    padding-bottom: .35rem;
    font-size: .75rem;
    font-weight: 600;
    text-align: center;
    color: var(--fwk-muted);
}

.fwk-weekdays .is-weekend {
    color: inherit;
}

.fwk-grid {
    border-top: 1px solid var(--fwk-line);
    border-left: 1px solid var(--fwk-line);
    border-radius: .5rem;
    overflow: hidden;
}

.fwk-week {
    display: grid;
    grid-template-columns: repeat(14, minmax(0, 1fr));
    grid-template-rows: 1.85rem repeat(var(--lanes, 1), 1.55rem) minmax(1.5rem, 1fr);
    min-height: 5.9rem;
}

.fwk-day {
    grid-row: 1 / -1;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: stretch;
    min-width: 0;
    padding: .25rem .35rem .3rem;
    border: 0;
    border-right: 1px solid var(--fwk-line);
    border-bottom: 1px solid var(--fwk-line);
    background: var(--fwk-free);
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.fwk-day:hover {
    background: rgb(236 253 245);
}

.dark .fwk-day:hover {
    background: rgb(16 185 129 / .12);
}

.fwk-day.is-weekend {
    background: var(--fwk-weekend);
}

.fwk-day.is-busy {
    background: var(--fwk-busy);
}

.fwk-day.is-out {
    background: var(--fwk-out);
}

.fwk-day:focus-visible,
.fwk-pcell:focus-visible {
    outline: 2px solid var(--fwk-sel-line);
    outline-offset: -2px;
    z-index: 3;
}

.fwk-day.is-holiday::before,
.fwk-plan-dh.is-holiday::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--fwk-holiday);
}

.fwk-day-head {
    display: flex;
    align-items: center;
    gap: .25rem;
    min-width: 0;
}

.fwk-daynum {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 1.5rem;
    padding: 0 .2rem;
    border-radius: 999px;
    font-size: .8125rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.fwk-day.is-past .fwk-daynum,
.fwk-day.is-out .fwk-daynum {
    color: rgb(156 163 175);
}

.fwk-day.is-today .fwk-daynum {
    background: rgb(5 150 105);
    color: #fff;
}

.fwk-price {
    align-self: flex-end;
    max-width: 100%;
    font-size: .72rem;
    font-weight: 600;
    line-height: 1.1;
    color: rgb(75 85 99);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.dark .fwk-price {
    color: rgb(212 212 216);
}

.fwk-price.is-lastminute {
    color: rgb(4 120 87);
}

.fwk-day.is-out .fwk-price,
.fwk-day.is-past .fwk-price {
    color: rgb(156 163 175);
}

/* ---------- Balken ---------- */

.fwk-bar {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    align-self: center;
    min-width: 0;
    height: 1.35rem;
    margin: 0 2px;
    padding: 0 .45rem;
    border: 1px solid var(--fwk-bd);
    border-radius: .4rem;
    background: var(--fwk-bg);
    color: var(--fwk-fg);
    font-size: .72rem;
    font-weight: 600;
    line-height: 1;
    text-align: left;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
    box-sizing: border-box;
}

.fwk-bar:hover,
.fwk-bar:focus-visible {
    filter: brightness(.96) saturate(1.2);
    box-shadow: 0 1px 3px rgb(0 0 0 / .18);
    outline: none;
}

.fwk-bar.is-cont-left {
    margin-left: 0;
    border-left-width: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.fwk-bar.is-cont-right {
    margin-right: 0;
    border-right-width: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.fwk-bar.is-short {
    padding: 0;
}

.fwk-bar.is-short .fwk-bar-text {
    display: none;
}

.fwk-bar-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ---------- Auswahl ---------- */

.fwk [data-cal-day].is-sel,
.fwk [data-cal-day].is-sel:hover {
    background: var(--fwk-sel);
}

.fwk [data-cal-day].is-sel-start,
.fwk [data-cal-day].is-sel-start:hover {
    background: linear-gradient(90deg, transparent 50%, var(--fwk-sel) 50%), var(--fwk-free);
    box-shadow: inset 0 0 0 2px var(--fwk-sel-line);
}

.fwk [data-cal-day].is-sel-end,
.fwk [data-cal-day].is-sel-end:hover {
    background: linear-gradient(90deg, var(--fwk-sel) 50%, transparent 50%), var(--fwk-free);
    box-shadow: inset 0 0 0 2px var(--fwk-sel-line);
}

.fwk [data-cal-day].is-sel-preview {
    opacity: .8;
}

.fwk [data-cal-day].is-sel-preview.is-sel-end {
    box-shadow: inset 0 0 0 2px rgb(5 150 105 / .45);
}

.fwk .fwk-day[data-sel-label]::after {
    content: attr(data-sel-label);
    position: absolute;
    left: 50%;
    bottom: .2rem;
    transform: translateX(-50%);
    padding: .05rem .3rem;
    border-radius: .25rem;
    background: var(--fwk-sel-line);
    color: #fff;
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 1.2;
    white-space: nowrap;
    pointer-events: none;
}

.fwk .fwk-day[data-sel-label] .fwk-price {
    visibility: hidden;
}

.fwk .fwk-pcell[data-sel-label]::after {
    content: "";
}

/* ---------- Belegungsplan ---------- */

.fwk-plan {
    border-top: 1px solid var(--fwk-line);
}

.fwk-plan-row {
    display: grid;
    grid-template-columns: minmax(6.5rem, 11rem) minmax(0, 1fr);
    border-bottom: 1px solid var(--fwk-line);
}

.fwk-plan-label {
    align-self: center;
    min-width: 0;
    padding: .35rem .6rem .35rem 0;
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1.25;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow-wrap: anywhere;
}

.fwk-plan-off {
    display: inline-block;
    margin-left: .25rem;
    font-size: .65rem;
    font-weight: 500;
    color: var(--fwk-muted);
}

.fwk-plan-days {
    display: grid;
    grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
    border-left: 1px solid var(--fwk-line);
}

.fwk-plan-dh {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: .3rem 0 .25rem;
    font-size: .72rem;
    font-weight: 600;
    line-height: 1.15;
    font-variant-numeric: tabular-nums;
    min-width: 0;
}

.fwk-plan-dh small {
    font-size: .6rem;
    font-weight: 500;
    color: var(--fwk-muted);
}

.fwk-plan-dh.is-weekend {
    background: var(--fwk-weekend);
}

.fwk-plan-dh.is-today {
    color: rgb(4 120 87);
    box-shadow: inset 0 -3px 0 rgb(5 150 105);
}

.fwk-plan-dh.is-out {
    color: rgb(156 163 175);
}

.fwk-track {
    display: grid;
    grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
    grid-template-rows: .3rem repeat(var(--lanes, 1), 1.45rem) .3rem;
    border-left: 1px solid var(--fwk-line);
    min-width: 0;
}

.fwk-pcell {
    grid-row: 1 / -1;
    min-width: 0;
    padding: 0;
    border: 0;
    border-right: 1px solid var(--fwk-line-soft);
    background: var(--fwk-free);
    cursor: pointer;
}

.fwk-pcell:hover {
    background: rgb(236 253 245);
}

.dark .fwk-pcell:hover {
    background: rgb(16 185 129 / .12);
}

.fwk-pcell.is-weekend {
    background: var(--fwk-weekend);
}

.fwk-pcell.is-busy {
    background: var(--fwk-busy);
}

.fwk-pcell.is-out {
    background: var(--fwk-out);
}

.fwk-pcell.is-today {
    box-shadow: inset 0 0 0 1px rgb(5 150 105 / .6);
}

.fwk-track .fwk-bar {
    height: 1.25rem;
    margin: 0 1px;
    padding: 0 .3rem;
    font-size: .68rem;
    border-radius: .3rem;
}

.fwk-track .fwk-bar.is-cont-left {
    margin-left: 0;
}

.fwk-track .fwk-bar.is-cont-right {
    margin-right: 0;
}

.fwk-plan-weeks {
    display: none;
}

.fwk-pweek-days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    border-bottom: 1px solid var(--fwk-line);
}

.fwk-pweek-apt {
    padding: .4rem 0 .2rem;
    font-size: .75rem;
    font-weight: 600;
    color: var(--fwk-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fwk-track--week {
    --cols: 14;
    border: 1px solid var(--fwk-line);
    border-radius: .375rem;
    overflow: hidden;
}

/* ---------- Auswahlleiste ---------- */

.fwk-selbar {
    position: sticky;
    bottom: 1rem;
    z-index: 30;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .5rem 1rem;
    padding: .65rem .85rem;
    border: 1px solid rgb(110 231 183);
    border-radius: .85rem;
    background: #fff;
    box-shadow: 0 12px 32px -8px rgb(0 0 0 / .3);
}

.dark .fwk-selbar {
    border-color: rgb(16 185 129 / .5);
    background: rgb(24 24 27);
}

.fwk-selbar-info {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .1rem .6rem;
    min-width: 0;
    font-size: .875rem;
}

.fwk-selbar-apt {
    font-weight: 600;
    color: var(--fwk-muted);
}

.fwk-selbar-hint {
    font-size: .8125rem;
    color: var(--fwk-muted);
}

.fwk-selbar-warn {
    font-size: .8125rem;
    font-weight: 600;
    color: rgb(220 38 38);
}

.fwk-selbar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

/* ---------- Liste im Monat ---------- */

.fwk-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.fwk-li {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .5rem 0;
    border-top: 1px solid var(--fwk-line-soft);
}

.fwk-li:first-child {
    border-top: 0;
    padding-top: 0;
}

.fwk-li .fwk-sw {
    width: .85rem;
    height: .85rem;
    margin: 0;
}

.fwk-li-main {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
}

.fwk-li-title {
    font-size: .875rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.fwk-li-meta {
    font-size: .75rem;
    color: var(--fwk-muted);
}

.fwk-li-warn {
    font-size: .75rem;
    color: rgb(180 83 9);
}

.fwk-empty {
    margin: 0;
    font-size: .875rem;
    color: var(--fwk-muted);
}

/* ---------- Schmale Bildschirme ---------- */

@media (max-width: 47.99rem) {
    .fwk-plan {
        display: none;
    }

    .fwk-plan-weeks {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }
}

@media (max-width: 40rem) {
    .fwk-card .fi-section-content {
        padding: .75rem;
    }

    .fwk-toolbar {
        gap: .6rem;
    }

    .fwk-nav {
        width: 100%;
        justify-content: space-between;
    }

    .fwk-month {
        flex: 1;
        min-width: 0;
        font-size: 1rem;
    }

    .fwk-views {
        width: 100%;
    }

    .fwk-seg {
        flex: 1;
    }

    .fwk-controls {
        width: 100%;
        justify-content: space-between;
    }

    .fwk-apt {
        max-width: 50%;
    }

    .fwk-region-select {
        width: 10rem;
    }

    .fwk-legend {
        gap: .3rem .7rem;
        font-size: .7rem;
    }

    .fwk-week {
        grid-template-rows: 1.45rem repeat(var(--lanes, 1), 1.05rem) minmax(1.1rem, 1fr);
        min-height: 4.3rem;
    }

    .fwk-day {
        padding: .15rem .1rem .2rem;
    }

    .fwk-day-head {
        justify-content: center;
    }

    .fwk-daynum {
        min-width: 1.25rem;
        height: 1.25rem;
        font-size: .72rem;
    }

    .fwk-price {
        align-self: center;
        font-size: .58rem;
        letter-spacing: -.01em;
    }

    .fwk-bar {
        height: .95rem;
        margin: 0 1px;
        padding: 0 .15rem;
        border-radius: .25rem;
        font-size: .56rem;
    }

    .fwk .fwk-day[data-sel-label]::after {
        font-size: .5rem;
        padding: 0 .15rem;
    }

    .fwk-selbar {
        bottom: .5rem;
        padding: .55rem .6rem;
    }

    .fwk-selbar-actions {
        width: 100%;
    }

    .fwk-selbar-actions > * {
        flex: 1 1 auto;
    }
}

/* =====================================================================
 * Tagesansicht (vorher Inline-Stile im Blade)
 * ===================================================================== */

.fw-ta-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1.5rem}
@media (max-width:1100px){.fw-ta-grid{grid-template-columns:1fr}}
.fw-ta-main,.fw-ta-side{display:flex;flex-direction:column;gap:1.5rem;min-width:0}
.fw-ta-strip{display:flex;border:1px solid var(--gray-200);border-radius:.75rem;overflow:hidden}
.dark .fw-ta-strip{border-color:var(--gray-700)}
.fw-ta-nav{flex:0 0 8rem;min-width:0;overflow-wrap:anywhere;padding:.75rem;font-size:.75rem;background:var(--gray-50);color:inherit;text-align:left;border:0;cursor:pointer;line-height:1.35;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.1rem}
.fw-ta-nav:hover,.fw-ta-nav:focus-visible{background:var(--gray-100)}
.dark .fw-ta-nav{background:color-mix(in oklab,var(--gray-800) 60%,transparent)}
.dark .fw-ta-nav:hover{background:var(--gray-800)}
.fw-ta-nav--empty{cursor:default;color:var(--gray-400)}
.fw-ta-nav--empty:hover{background:var(--gray-50)}
.fw-ta-nav--prev{border-right:1px solid var(--gray-200)}
.fw-ta-nav--next{text-align:right;align-items:flex-end;border-left:1px solid var(--gray-200)}
.dark .fw-ta-nav--prev,.dark .fw-ta-nav--next{border-color:var(--gray-700)}
.fw-ta-nav__k{text-transform:uppercase;color:var(--gray-500);letter-spacing:.04em;margin-bottom:.15rem}
.fw-ta-nav__n{font-weight:600;font-size:.8125rem}
.fw-ta-main-cell{flex:1;min-width:0;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem}
.fw-ta-row{display:flex;flex-wrap:wrap;gap:.35rem .75rem;align-items:center}
.fw-ta-between{justify-content:space-between}
.fw-ta-muted{color:var(--gray-500);font-size:.8125rem}
.fw-ta-small{font-size:.8125rem}
.fw-ta-error{color:var(--danger-600)}
.fw-ta-item__meta.fw-ta-warn-text{color:var(--danger-600)}
.fw-ta-name{font-size:1.05rem;font-weight:700}
.fw-ta-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;font-size:1rem;letter-spacing:.08em}
.fw-ta-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.fw-ta-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.fw-ta-item{display:flex;gap:.75rem;align-items:flex-start;padding:.6rem 0;border-top:1px solid var(--gray-100)}
.dark .fw-ta-item{border-color:var(--gray-800)}
.fw-ta-item:first-child{border-top:0}
.fw-ta-group{padding:.9rem 0 .25rem;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-500);border-bottom:1px solid var(--gray-200)}
.fw-ta-group:first-child{padding-top:.15rem}
.fw-ta-group + .fw-ta-item{border-top:0}
.fw-ta-item.is-done .fw-ta-item__label{text-decoration:line-through;color:var(--gray-500)}
.fw-ta-check{flex:0 0 1.75rem;width:1.75rem;height:1.75rem;border-radius:50%;border:2px solid var(--gray-300);background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:transparent;transition:all .15s;padding:0}
.dark .fw-ta-check{border-color:var(--gray-600)}
.fw-ta-check:hover,.fw-ta-check:focus-visible{border-color:var(--primary-500);color:var(--primary-500)}
.fw-ta-check.is-done{background:var(--primary-600);border-color:var(--primary-600);color:#fff}
.fw-ta-check.is-photo{border-style:dashed;color:var(--gray-400)}
.fw-ta-check svg{width:1rem;height:1rem}
.fw-ta-item__text{flex:1 1 11rem;min-width:0;display:flex;flex-direction:column;gap:.15rem;overflow-wrap:anywhere}
.fw-ta-item__label{font-size:.875rem;font-weight:500}
.fw-ta-item__desc{font-size:.8125rem;color:var(--gray-500)}
.fw-ta-item__meta{display:flex;flex-wrap:wrap;gap:.25rem .5rem;font-size:.75rem;color:var(--gray-500);align-items:center}
.fw-ta-due.is-overdue{color:var(--danger-600);font-weight:600}
.fw-ta-refill{gap:.3rem}
.fw-ta-item__meta.fw-ta-refill.is-needed{color:var(--warning-700);font-weight:600}
.dark .fw-ta-item__meta.fw-ta-refill.is-needed{color:var(--warning-400)}
.fw-ta-item__actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;margin-left:auto;max-width:100%}
.fw-ta-item--stack{flex-direction:column;align-items:stretch}
.fw-ta-item--stack .fw-ta-item__actions{justify-content:flex-start;margin-left:0}
.fw-ta-fill{display:flex;align-items:center;gap:.5rem;width:12rem;max-width:100%}
.fw-ta-fill input[type=range]{flex:1;accent-color:var(--primary-600);cursor:pointer;min-width:0}
.fw-ta-fill__label{font-size:.75rem;min-width:3.2rem;text-align:right;font-variant-numeric:tabular-nums}
.fw-ta-fill__label.is-low{color:var(--danger-600);font-weight:600}
.fw-ta-qty{width:4.5rem;font-size:.8125rem;padding:.25rem .4rem;border:1px solid var(--gray-300);border-radius:.4rem;background:transparent}
.fw-ta-toolbar{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem;align-items:center}
.fw-ta-tabs{margin-bottom:.75rem}
.fw-ta-h{font-size:.9375rem;font-weight:600;margin:0 0 .15rem}
.fw-ta-hint{font-size:.8125rem;color:var(--gray-500);margin:0 0 .5rem}
.fw-ta-chat{display:flex;flex-direction:column;gap:.5rem;max-height:22rem;overflow-y:auto;padding-right:.25rem;scroll-behavior:smooth}
.fw-ta-msg{max-width:88%;padding:.5rem .75rem;border-radius:.75rem;font-size:.875rem;background:var(--gray-100);word-break:break-word}
.fw-ta-msg__text{white-space:pre-wrap}
.dark .fw-ta-msg{background:var(--gray-800)}
.fw-ta-msg--guest{align-self:flex-start;background:color-mix(in oklab,var(--info-500) 14%,transparent)}
.fw-ta-msg--landlord{align-self:flex-end;background:color-mix(in oklab,var(--primary-500) 16%,transparent)}
.fw-ta-msg__meta{font-size:.7rem;color:var(--gray-500);margin-bottom:.15rem;display:flex;gap:.75rem;justify-content:space-between;white-space:nowrap}
.fw-ta-chat-empty{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1rem .5rem;border:1px dashed var(--gray-200);border-radius:.75rem;color:var(--gray-500);font-size:.8125rem;text-align:center}
.dark .fw-ta-chat-empty{border-color:var(--gray-700)}
.fw-ta-chat-empty__icon{width:1.75rem;height:1.75rem;color:var(--gray-300)}
.fw-ta-textarea{width:100%;font-size:.875rem;padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:.5rem;background:transparent;resize:vertical;min-height:4.5rem}
.dark .fw-ta-textarea,.dark .fw-ta-qty{border-color:var(--gray-600)}
.fw-ta-select-wrap{min-width:0;max-width:100%;width:16rem}
.fw-ta-table-wrap{max-width:100%}
.fw-ta-table{width:100%;font-size:.8125rem;border-collapse:collapse;table-layout:auto}
.fw-ta-table th,.fw-ta-table td{text-align:left;padding:.4rem .5rem;border-bottom:1px solid var(--gray-100);vertical-align:top}
.dark .fw-ta-table th,.dark .fw-ta-table td{border-color:var(--gray-800)}
.fw-ta-table th{color:var(--gray-500);font-weight:500;white-space:nowrap}
.fw-ta-table td{overflow-wrap:anywhere}
.fw-ta-table td:last-child{padding-right:.75rem}
.fw-ta-table .fi-icon-btn{margin:0}
.fw-ta-cell-actions{width:1%;text-align:right;white-space:nowrap}
.fw-ta-break{overflow-wrap:anywhere}
.fw-ta-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fw-ta-rtable--always thead{display:none}
.fw-ta-rtable--always,.fw-ta-rtable--always tbody,.fw-ta-rtable--always tr,.fw-ta-rtable--always td{display:block;width:auto}
.fw-ta-rtable--always tr{position:relative;padding:.5rem 2.75rem .5rem 0;border-bottom:1px solid var(--gray-100)}
.dark .fw-ta-rtable--always tr{border-color:var(--gray-800)}
.fw-ta-table.fw-ta-rtable--always td{border:0;padding:.1rem 0}
.fw-ta-rtable--always td.fw-ta-cell-actions{position:absolute;top:.4rem;right:0;padding:0}
@media (max-width:767.98px){
    .fw-ta-rtable thead{display:none}
    .fw-ta-rtable,.fw-ta-rtable tbody,.fw-ta-rtable tr,.fw-ta-rtable td{display:block;width:auto}
    .fw-ta-rtable tr{position:relative;padding:.6rem 2.75rem .6rem 0;border-bottom:1px solid var(--gray-100)}
    .dark .fw-ta-rtable tr{border-color:var(--gray-800)}
    .fw-ta-table.fw-ta-rtable td{border:0;padding:.15rem 0}
    .fw-ta-rtable td[data-label]::before{content:attr(data-label);display:block;font-size:.7rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.03em}
    .fw-ta-rtable td.fw-ta-cell-actions{position:absolute;top:.5rem;right:0;padding:0}
}
.fw-ta-tabs,.fw-ta-tabs.fi-tabs{flex-wrap:wrap;overflow-x:visible;row-gap:.25rem;max-width:100%}
@media (max-width:767.98px){
    .fw-ta-strip{flex-direction:column}
    .fw-ta-nav{flex:0 0 auto;width:100%}
    .fw-ta-nav--prev{border-right:0;border-bottom:1px solid var(--gray-200)}
    .fw-ta-nav--next{border-left:0;border-top:1px solid var(--gray-200)}
    .fw-ta-main-cell{order:-1}
    .fw-ta-strip .fw-ta-nav--prev{order:0}
    .fw-ta-codes{grid-template-columns:1fr}
}
.fw-ta-actions{justify-content:flex-end}
button.fw-ta-photo{padding:0;border:0;background:transparent;cursor:zoom-in;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.fw-ta-photo-modal__current img{display:block;max-width:100%;max-height:50vh;margin:0 auto;border-radius:.5rem;border:1px solid var(--gray-200)}
.fw-ta-upload{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1rem;border-radius:.5rem;background:var(--primary-600);color:#fff;font-weight:600;font-size:.875rem;cursor:pointer;position:relative}
.fw-ta-upload:hover{background:var(--primary-500)}
.fw-ta-upload:focus-within{outline:2px solid var(--primary-400);outline-offset:2px}
.fw-ta-qr{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;padding-top:.5rem;border-top:1px solid var(--gray-100)}
.fw-ta-qr img{width:200px;height:200px;image-rendering:pixelated}
.fw-ta-empty{color:var(--gray-500);font-size:.875rem;padding:.5rem 0}
.fw-ta-thumb img{width:92px;height:62px;object-fit:cover;border-radius:.4rem;border:1px solid var(--gray-200)}
.fw-ta-photo img{width:44px;height:44px;object-fit:cover;border-radius:.4rem}
.fw-ta-sub{margin-left:2.5rem;border-left:2px solid var(--gray-100);padding-left:.75rem}
.fw-ta-codes{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.fw-ta-codebox{padding:.5rem .75rem;border:1px solid var(--gray-200);border-radius:.5rem;min-width:0}
.dark .fw-ta-codebox{border-color:var(--gray-700)}
.fw-ta-codebox--booking{background:color-mix(in oklab,var(--primary-500) 7%,transparent);border-color:color-mix(in oklab,var(--primary-500) 35%,transparent)}
.fw-ta-codebox__k{font-size:.7rem;text-transform:uppercase;color:var(--gray-500);letter-spacing:.04em;overflow-wrap:anywhere}
.fw-ta-stack{display:flex;flex-direction:column;gap:.75rem}
.fw-ta-pre{display:block;margin-top:.25rem;white-space:pre-wrap;word-break:break-word;max-width:28rem}
.fw-ta-lock{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;padding:.5rem .75rem;border-radius:.5rem;background:var(--gray-50);font-size:.8125rem}
.dark .fw-ta-lock{background:color-mix(in oklab,var(--gray-800) 60%,transparent)}
.fw-ta-emptystate{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem .5rem}
.fw-ta-emptystate__icon{width:2.75rem;height:2.75rem;color:var(--gray-300);margin-bottom:.35rem}
.fw-ta-emptystate__title{margin:0;font-size:1rem;font-weight:600}
.fw-ta-emptystate__text{margin:.25rem 0 1rem;max-width:32rem;font-size:.875rem;color:var(--gray-500)}
.fw-ta-old{margin-top:.75rem;border:1px solid var(--gray-200);border-radius:.6rem;background:var(--gray-50)}
.dark .fw-ta-old{border-color:var(--gray-700);background:color-mix(in oklab,var(--gray-800) 50%,transparent)}
.fw-ta-old__head{display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem .75rem;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font-size:.8125rem}
.fw-ta-old__title{display:flex;flex-direction:column;flex:1;min-width:0}
.fw-ta-old__icon{width:1.1rem;height:1.1rem;color:var(--gray-400);flex:none}
.fw-ta-old__chevron{width:1rem;height:1rem;color:var(--gray-500);flex:none;transition:transform .15s}
.fw-ta-old__head[aria-expanded="true"] .fw-ta-old__chevron{transform:rotate(180deg)}
.fw-ta-old__body{padding:0 .75rem .5rem;border-top:1px solid var(--gray-200)}
.dark .fw-ta-old__body{border-color:var(--gray-700)}
.fw-ta-old__body > .fw-ta-row{padding:.5rem 0 .25rem}
