/* Links oben: runder blauer Knopf „Sidebar ein-/ausblenden“ auf der Kante zur Seitenleiste (Pfeil zeigt nach
   rechts, wenn sie eingeklappt ist), dahinter der Seitenname in Blau (staynestor/basis.html). */
.sn-umschalter { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 32px; height: 32px;
    margin-left: calc(-1.25rem - 8px); margin-right: .35rem; padding: 0; border: 0; border-radius: 50%;
    background: var(--sn-blau); color: #fff; cursor: pointer; }
.sn-umschalter:hover { filter: brightness(1.1); }
.topbar-title .sn-umschalter i { color: #fff; font-size: 1.05rem; transition: transform .2s; }
body.sidebar-collapsed .sn-umschalter i { transform: rotate(180deg); }
@media (max-width: 768px) {
    .sn-umschalter { margin-left: 0; }
    .sn-umschalter i { transform: rotate(180deg); }
    body.sidebar-mobile-open .sn-umschalter i { transform: none; }
}
.topbar-title, .topbar-title i { color: var(--sn-blau); }

/* Hinter dem Seitennamen: „Dashboard“, „Kalender“, „Reinigung“ (staynestor/_schnellzugriff.html), die aktuelle
   Seite unterstrichen; ein Strich trennt sie vom Seitennamen. */
.sn-schnell { display: inline-flex; align-items: stretch; gap: 1.1rem; margin-left: .6rem; padding-left: 1.1rem;
    border-left: 1px solid rgba(var(--fg-rgb), 0.15); align-self: stretch; }
.sn-schnell a { display: inline-flex; align-items: center; gap: .4rem; color: var(--text-primary); text-decoration: none;
    font-weight: 500; white-space: nowrap; border-bottom: 2px solid transparent; }
.sn-schnell a:hover { color: var(--accent); }
.sn-schnell a.aktiv { border-bottom-color: var(--accent); }
.sn-schnell a i { color: rgba(var(--fg-rgb), 0.65); }
/* „Preise“ mit Pfeilmenü: Kästchen Preise / Mindestaufenthalt */
.sn-schnell-gruppe { display: inline-flex; align-items: stretch; gap: .15rem; position: relative; }
.sn-schnell-menue { display: flex; align-items: center; }
.sn-schnell-menue summary { list-style: none; cursor: pointer; padding: 0 .2rem; color: rgba(var(--fg-rgb), 0.6); }
.sn-schnell-menue summary::-webkit-details-marker { display: none; }
.sn-schnell-menue summary:hover { color: var(--accent); }
.sn-schnell-auswahl { position: absolute; top: 100%; left: 0; z-index: 2000; min-width: 13rem; display: flex; flex-direction: column;
    gap: .35rem; padding: .6rem .8rem; background: var(--surface); color: var(--text-primary); border-radius: 10px;
    border: 1px solid rgba(var(--fg-rgb), 0.15); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18); }
.sn-schnell-auswahl label { display: flex; gap: .45rem; align-items: center; font-weight: 500; white-space: nowrap; cursor: pointer; }

/* Kopfleiste rechts oben: Filterliste „Unterkünfte“ und „Suchen“ wie in Beds24 (Pille mit Symbol).
   Markup: staynestor/_einheiten_filter.html, _buchungssuche.html; Wirkung: staynestor/js/kopfleiste.js. */
.sn-pille { display: inline-flex; align-items: center; gap: .45rem; padding: .35rem .9rem; border-radius: 999px;
    border: 1px solid rgba(var(--fg-rgb), 0.18); background: var(--surface); color: var(--text-primary);
    font-size: .88rem; font-weight: 500; cursor: pointer; user-select: none; white-space: nowrap; list-style: none; }
.sn-pille:hover { border-color: var(--accent); }
.sn-pille i { color: rgba(var(--fg-rgb), 0.65); }
.sn-pille::-webkit-details-marker { display: none; }

.sn-filter { position: relative; }
.sn-filter-zahl { font-weight: 700; }
.sn-filter-feld { position: absolute; top: calc(100% + 6px); right: 0; z-index: 2500; width: 340px; max-width: 92vw; padding: .6rem;
    background: var(--surface); color: var(--text-primary); border: 1px solid rgba(var(--fg-rgb), 0.15);
    border-radius: 12px; box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18); }
.sn-filter-suche { width: 100%; margin-bottom: .4rem; }
.sn-filter-liste { max-height: 55vh; overflow-y: auto; border-top: 1px solid rgba(var(--fg-rgb), 0.08); }
.sn-filter-zeile { display: flex; align-items: center; gap: .5rem; padding: .3rem .35rem; border-radius: 6px; cursor: pointer;
    font-size: .88rem; margin: 0; }
.sn-filter-zeile:hover { background: rgba(var(--accent-rgb), 0.07); }
.sn-filter-zeile input { width: 1rem; height: 1rem; flex: none; }
.sn-filter-alle, .sn-filter-unterkunft { font-weight: 700; }
.sn-filter-unterkunft { margin-top: .25rem; }
.sn-filter-einheit { padding-left: 1.6rem; }
.sn-filter-fuss { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding-top: .5rem;
    border-top: 1px solid rgba(var(--fg-rgb), 0.08); }
.sn-filter-fuss .sn-btn { padding: .35rem .9rem; }

.sn-suche-felder { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .6rem .8rem; align-items: end; }
.sn-suche-felder label { display: flex; flex-direction: column; gap: .2rem; font-size: .8rem; font-weight: 600; margin: 0; }
.sn-suche-felder input { width: 100%; }
.sn-suche-knoepfe { display: flex; gap: .5rem; }
.sn-suche-ergebnis { margin-top: 1rem; }
.sn-suche-zahl { font-weight: 600; margin-bottom: .4rem; }
.sn-suche-ergebnis tr[data-oid] { cursor: pointer; }
.sn-suche-ergebnis tr[data-oid]:hover td { background: rgba(var(--accent-rgb), 0.08); }
.sn-suche-ergebnis tr.sn-suche-offen td { background: rgba(var(--accent-rgb), 0.15); }
