/* Reservierungsverwaltung reservierungen.html (seit v0.76, aus dem Entwurf unter entwurf/).
   Baut auf css/style.css auf und nutzt nur dessen Variablen, damit Hell und Dunkel
   ohne eigene Regeln funktionieren. Gedacht fürs Tablet am Tresen: große
   Tippflächen, die wichtigste Handlung pro Reservierung als eigener Knopf. */

/* Tischzustand als kräftige Flächenfarbe. Die Zustände unterscheiden sich nicht nur
   im Farbton, sondern auch in der Helligkeit (besetzt dunkel mit weißer Schrift, frei
   hell, erwartet gelb), damit man sie auf einen Blick und auch bei Rot-Grün-Schwäche
   auseinanderhält. Je Zustand: Fläche (f), Rand (s), Tischnummer (n), Zusatztext (i). */
:root{
  --tf-free:#a9dcb8;--tf-free-s:#2f7d4a;--tf-free-n:#173f27;--tf-free-i:#1d5432;
  --tf-busy:#c4524b;--tf-busy-s:#862c28;--tf-busy-n:#fff;--tf-busy-i:#fff;
  --tf-res:#f4cb62;--tf-res-s:#94621a;--tf-res-n:#3d2a08;--tf-res-i:#4f350a;
  --tf-late:#e8862c;--tf-late-s:#93430a;--tf-late-n:#2f1602;--tf-late-i:#2f1602;
  --tf-soon:#e3b52f;
}
[data-theme="dark"]{
  --tf-free:#2f7550;--tf-free-s:#7cc59a;--tf-free-n:#fff;--tf-free-i:#e3f5e9;
  --tf-busy:#b8463f;--tf-busy-s:#f0a29c;--tf-busy-n:#fff;--tf-busy-i:#fff;
  --tf-res:#d9aa3c;--tf-res-s:#f3d58a;--tf-res-n:#2b1d04;--tf-res-i:#2b1d04;
  --tf-late:#e07a22;--tf-late-s:#f7b878;--tf-late-n:#241001;--tf-late-i:#241001;
  --tf-soon:#f0c64a;
}

body.rv-page{min-height:100vh;padding-bottom:5rem}
.rv-wrap{max-width:1280px;margin:0 auto;padding:1.6rem 1.5rem 3rem}
.rv-view[hidden],.rv-modal[hidden],.rv-menu[hidden]{display:none!important}

/* ── Kopf ─────────────────────────────────────────── */
.rv-top{position:sticky;top:0;z-index:60;background:var(--head-bg);backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3);border-bottom:1px solid var(--line)}
.rv-top-i{max-width:1280px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;gap:1.5rem;min-height:64px}
.rv-brand{display:flex;align-items:center;gap:.8rem;flex-shrink:0}
.rv-logo{height:34px;margin:0}
.rv-brand span{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:400;color:var(--ink)}
.rv-tabs{display:flex;flex:1;justify-content:center;gap:.2rem;overflow-x:auto;scrollbar-width:none}
.rv-tabs::-webkit-scrollbar{display:none}
.rv-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--mut);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;padding:1.45rem .95rem 1.3rem;white-space:nowrap;transition:color .25s,border-color .25s}
.rv-tab:hover{color:var(--d1)}
.rv-tab.on{color:var(--d3);border-bottom-color:var(--d3)}
.rv-links{display:flex;gap:1.1rem;flex-shrink:0}
.rv-links a{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);transition:color .25s}
.rv-links a:hover{color:var(--d3)}
.rv-links button{background:none;border:none;padding:0;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);transition:color .25s}
.rv-links button:hover{color:var(--d3)}
/* Ohne Verbindung soll niemand mit einer veralteten Belegung arbeiten, ohne es zu merken */
.rv-offline{background:var(--err);color:#fff;text-align:center;font-size:.72rem;padding:.45rem 1rem;position:sticky;top:64px;z-index:59}
.rv-offline[hidden],#app[hidden],.res-login[hidden]{display:none!important}


/* ── Gemeinsame Bausteine ─────────────────────────── */
.rv-btn{background:var(--card);border:1px solid var(--field);color:var(--mut);padding:.75rem 1.3rem;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;transition:border-color .25s,color .25s;white-space:nowrap}
.rv-btn:hover{border-color:var(--d1);color:var(--d1)}
.rv-btn-s{padding:.55rem .9rem;font-size:.6rem}
.rv-ibtn{background:var(--card);border:1px solid var(--field);color:var(--mut);width:42px;height:42px;font-size:1.25rem;line-height:1;flex-shrink:0;transition:border-color .25s,color .25s}
.rv-ibtn:hover{border-color:var(--d1);color:var(--d1)}
.rv-link{background:none;border:none;color:var(--d3);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px;padding:.4rem}
.rv-card{background:var(--card);border:1px solid var(--line)}
.rv-h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.45rem;color:var(--ink)}
.rv-k{font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}
.rv-chip{background:var(--card);border:1px solid var(--field);color:var(--mut);border-radius:999px;padding:.5rem .95rem;font-size:.72rem;transition:all .2s;white-space:nowrap}
.rv-chip:hover{border-color:var(--d3);color:var(--d3)}
.rv-chip.on{background:var(--d3);border-color:var(--d3);color:var(--on-d3)}
.rv-chip:disabled{opacity:.4;cursor:not-allowed}
.rv-chip i{font-style:normal;opacity:.7;margin-left:.3rem}
.rv-tag{display:inline-flex;align-items:center;gap:.25rem;font-size:.6rem;letter-spacing:.06em;padding:.18rem .5rem;border-radius:999px;background:var(--l3);color:var(--mut);border:1px solid var(--line);white-space:nowrap}
.rv-tag-allergie{background:rgba(168,66,63,.08);color:var(--err);border-color:rgba(168,66,63,.25)}
.rv-tag-geburtstag{background:rgba(168,133,63,.1);color:var(--warn);border-color:rgba(168,133,63,.3)}
.rv-tag-stamm{background:rgba(21,106,124,.08);color:var(--d3);border-color:rgba(21,106,124,.25)}
.rv-tag-neu{background:var(--g);color:#fff;border-color:var(--g);font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.rv-badge{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .6rem;border-radius:2px;white-space:nowrap}
.rv-badge-warn{background:rgba(168,133,63,.12);color:var(--warn);border:1px solid rgba(168,133,63,.35)}
.rv-badge-err{background:rgba(168,66,63,.08);color:var(--err);border:1px solid rgba(168,66,63,.28)}
.rv-badge-ok{background:rgba(47,125,74,.1);color:var(--ok);border:1px solid rgba(47,125,74,.3)}
.rv-badge-mut{background:var(--l2);color:var(--faint);border:1px solid var(--line)}

/* ── Tageskopf ────────────────────────────────────── */
.rv-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}
.rv-day{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.rv-day-t{min-width:240px;padding:0 .3rem}
.rv-day-k{font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--g);display:block;margin-bottom:.2rem}
.rv-day-t h1{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:2.1rem;line-height:1.1;color:var(--ink)}
.rv-date{background:var(--card);border:1px solid var(--field);color:var(--ink);padding:.6rem .7rem;font-size:.78rem;font-family:inherit;height:42px}
.rv-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.rv-actions .bp{padding:.8rem 1.6rem}

.rv-note{display:block;line-height:1.6;font-size:.78rem;padding:.75rem 1rem;margin-bottom:1.2rem;border:1px solid var(--line);background:var(--l3);color:var(--mut)}
.rv-note strong{font-weight:500}
.rv-note-event{background:rgba(168,133,63,.1);border-color:rgba(168,133,63,.35);color:var(--warn)}
.rv-note-closed{background:rgba(168,66,63,.07);border-color:rgba(168,66,63,.3);color:var(--err)}

/* Kennzahlen */
.rv-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:.8rem}
.rv-kpi{padding:1rem 1.2rem 1.1rem}
.rv-kpi b{display:block;font-family:'Cormorant Garamond',serif;font-weight:400;font-size:2.4rem;line-height:1.05;color:var(--ink);margin:.35rem 0 .15rem}
.rv-kpi b small{font-size:1.1rem;color:var(--faint);margin-left:.15rem}
.rv-kpi span{font-size:.7rem;color:var(--mut)}
.rv-hints{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.2rem}
.rv-hint{background:none;font-size:.68rem;padding:.4rem .75rem;border-radius:999px;border:1px solid rgba(168,133,63,.35);color:var(--warn);cursor:pointer}
.rv-hint.err{border-color:rgba(168,66,63,.3);color:var(--err)}
.rv-hint:hover{background:rgba(168,133,63,.08)}

/* Belegung über den Tag */
.rv-tl{padding:1rem 1.2rem .6rem;margin-bottom:1.2rem}
.rv-tl-h{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.7rem;flex-wrap:wrap}
.rv-tl-sum{display:block;font-weight:500;font-size:.92rem;color:var(--ink);margin-top:.3rem}
.rv-tl-leg{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;font-size:.68rem;color:var(--mut)}
.rv-tl-leg i{display:inline-block;width:11px;height:11px;margin-left:.6rem}
.rv-tl-leg i.here{background:var(--d3)}
.rv-tl-leg i.res{background:rgba(21,106,124,.32)}
.rv-tl-leg i.cap{height:0;border-top:2px dashed var(--err);width:16px}
/* Oberkante = alle Plätze belegt (gestrichelt), dazu eine Linie bei der Hälfte */
.rv-tl-bars{display:flex;align-items:stretch;gap:2px;height:130px;position:relative;border-bottom:1px solid var(--line);border-top:2px dashed rgba(168,66,63,.55);margin-top:1.6rem}
.rv-tl-cap{position:absolute;right:0;top:-1.25rem;font-size:.6rem;color:var(--err)}
.rv-tl-half{position:absolute;left:0;right:0;top:50%;border-top:1px dotted var(--line);pointer-events:none}
.rv-tl-b{flex:1;height:100%;display:flex;flex-direction:column-reverse;background:none;border:none;padding:0;position:relative;cursor:pointer}
.rv-tl-b i{display:block;width:100%;flex:none;transition:opacity .2s,height .3s}
.rv-tl-b i.here{background:var(--d3)}
.rv-tl-b i.res{background:rgba(21,106,124,.32)}
/* Vergangenes nicht aufhellen – hell heißt hier „reserviert, kommt noch" */
.rv-tl-b.full i.here,.rv-tl-b.full i.res{box-shadow:inset 0 2px 0 var(--err)}
.rv-tl-b:hover i{opacity:1}
.rv-tl-b:hover{background:rgba(21,106,124,.06)}
.rv-tl-v{position:absolute;left:50%;transform:translateX(-50%);font-style:normal;font-size:.58rem;color:var(--mut);white-space:nowrap;pointer-events:none}
.rv-tl-v.pk{font-size:.68rem;font-weight:600;color:var(--ink)}
.rv-tl-f{margin:.7rem 0 0;font-size:.7rem;line-height:1.55;color:var(--faint)}
.rv-tl-f strong{color:var(--mut);font-weight:500}
.rv-tl-b.sel::after{content:'';position:absolute;inset:0;border:1px solid var(--d3);border-bottom:none}
.rv-tl-now{position:absolute;top:-6px;bottom:-4px;width:2px;background:var(--g);pointer-events:none}
.rv-tl-now::before{content:'Jetzt';position:absolute;top:-14px;left:50%;transform:translateX(-50%);font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;color:var(--g)}
.rv-tl-l{display:flex;font-size:.58rem;color:var(--faint);margin-top:.35rem;position:relative;height:1rem}
.rv-tl-l span{position:absolute;transform:translateX(-50%)}

/* Bereiche */
.rv-areas{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1.6rem}
.rv-area{padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.rv-area-n{font-size:.85rem;color:var(--ink)}
.rv-area-n em{font-style:normal;font-size:.62rem;color:var(--faint);margin-left:.3rem}
.rv-area-s{font-size:.68rem;color:var(--mut);display:block;margin-top:.1rem}
.rv-area-bar{height:3px;background:var(--line);margin-top:.45rem;border-radius:2px;overflow:hidden}
.rv-area-bar i{display:block;height:100%;background:var(--d3)}
.rv-area.locked{background:repeating-linear-gradient(135deg,var(--card) 0 10px,var(--l2) 10px 20px)}
.rv-area.locked .rv-area-n{color:var(--err)}
.rv-area button{background:none;border:1px solid var(--field);color:var(--mut);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;padding:.45rem .6rem;white-space:nowrap}
.rv-area button:hover{border-color:var(--d1);color:var(--d1)}

/* Umschalter Liste/Tischplan, Filter */
.rv-ctrl{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.rv-seg{display:inline-flex;border:1px solid var(--field);background:var(--card)}
.rv-seg button{background:none;border:none;color:var(--mut);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;padding:.65rem 1.1rem}
.rv-seg button.on{background:var(--d1);color:var(--l1)}
.rv-filters{display:flex;gap:.4rem;flex-wrap:wrap}
.rv-filters .rv-chip{padding:.42rem .8rem;font-size:.68rem}

/* ── Liste ────────────────────────────────────────── */
.rv-group{margin-bottom:1.3rem}
.rv-group-h{display:flex;align-items:baseline;gap:.8rem;margin:0 0 .5rem .1rem}
.rv-group-h b{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.5rem;color:var(--ink)}
.rv-group-h span{font-size:.66rem;color:var(--faint);letter-spacing:.04em}
.rv-group.past .rv-group-h b{color:var(--faint)}
.rv-done{display:block;width:100%;background:none;border:1px dashed var(--field);color:var(--faint);font-size:.68rem;letter-spacing:.06em;padding:.7rem;margin-bottom:1.2rem;transition:color .2s,border-color .2s}
.rv-done:hover{color:var(--d3);border-color:var(--d3)}
.rv-nowline{display:flex;align-items:center;gap:.8rem;margin:1.6rem 0 1.2rem;color:var(--g);font-size:.58rem;letter-spacing:.26em;text-transform:uppercase}
.rv-nowline::before,.rv-nowline::after{content:'';flex:1;height:1px;background:var(--g);opacity:.5}

.rv-res{display:grid;grid-template-columns:64px minmax(0,1fr) 170px auto;align-items:center;gap:1rem;padding:.8rem 1rem;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--field);margin-bottom:.4rem;transition:border-color .3s,background .3s,opacity .3s}
.rv-res.st-da{border-left-color:var(--d3)}
.rv-res.st-fertig{opacity:.55;border-left-color:var(--line)}
.rv-res.st-noshow{border-left-color:var(--err);opacity:.7}
.rv-res.st-storniert{border-left-color:rgba(168,66,63,.35);opacity:.55}
.rv-res.st-storniert .rv-res-n{text-decoration:line-through;text-decoration-color:var(--faint)}
.rv-res.late{border-left-color:var(--warn)}
.rv-res.new{animation:rvNew 2.4s ease-out 1;border-color:var(--g)}
.rv-res.flash{animation:rvNew 2.4s ease-out 1}
@keyframes rvNew{0%{background:rgba(198,164,92,.35)}100%{background:var(--card)}}
/* Personen: Kachel statt Kreis – im 46-px-Kreis war „Personen" abgeschnitten; die Zahl in der
   normalen Schrift statt Cormorant (Nutzer, 02.10.2026) */
.rv-pers{width:64px;padding:.4rem 0 .45rem;border-radius:6px;background:var(--l2);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.rv-pers b{font-size:1.25rem;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}
.rv-pers small{font-size:.62rem;color:var(--mut);margin-top:.2rem}
.st-da .rv-pers{background:rgba(21,106,124,.14)}
.rv-res-i{min-width:0}
.rv-res-n{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;font-size:.92rem;color:var(--ink);margin-bottom:.2rem}
.rv-res-n time{font-size:.72rem;color:var(--faint);font-variant-numeric:tabular-nums}
.rv-res-s{font-size:.7rem;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-res-s q{font-style:italic;color:var(--ink)}
.rv-res-s q::before,.rv-res-s q::after{content:'"'}
.rv-tbl{width:100%;text-align:left;background:var(--card);border:1px solid var(--field);padding:.5rem .7rem;font-size:.78rem;color:var(--ink);display:flex;flex-direction:column;gap:.05rem;transition:border-color .25s}
.rv-tbl small{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.rv-tbl:hover{border-color:var(--d3)}
.rv-tbl.none{border-style:dashed;border-color:rgba(168,133,63,.6);color:var(--warn)}
.rv-tbl.bad{border-color:rgba(168,66,63,.5);color:var(--err)}
.rv-tbl:disabled{cursor:default;border-color:var(--line)}
.rv-res-a{display:flex;align-items:center;gap:.5rem;justify-content:flex-end;min-width:200px}
.rv-res-a .bp{padding:.75rem 1.2rem;font-size:.6rem;letter-spacing:.18em}
.rv-since{font-size:.66rem;color:var(--mut);text-align:right;line-height:1.35}
.rv-more{background:none;border:1px solid transparent;color:var(--faint);width:38px;height:38px;font-size:1.1rem;letter-spacing:.05em;transition:border-color .2s,color .2s}
.rv-more:hover{border-color:var(--field);color:var(--d1)}
.rv-empty{padding:2.4rem 1rem;text-align:center;color:var(--faint);font-size:.82rem}
.rv-empty .rv-h2{margin-bottom:.4rem;color:var(--mut)}

/* Menü an der Zeile */
.rv-menu{position:fixed;z-index:120;min-width:210px;background:var(--card);border:1px solid var(--field);box-shadow:0 18px 40px -16px var(--shadow);padding:.35rem 0}
.rv-menu button{display:block;width:100%;text-align:left;background:none;border:none;color:var(--ink);font-size:.78rem;padding:.65rem 1rem}
.rv-menu button:hover{background:var(--l2)}
.rv-menu button.err{color:var(--err)}
.rv-menu hr{border:none;border-top:1px solid var(--line);margin:.3rem 0}

/* ── Tischplan ────────────────────────────────────── */
.rv-plan-t{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem;font-size:.75rem;color:var(--mut)}
.rv-legend{display:flex;gap:.4rem 1rem;flex-wrap:wrap;font-size:.66rem;color:var(--faint);margin-left:auto}
.rv-legend span::before{content:'';display:inline-block;width:12px;height:12px;margin-right:.35rem;vertical-align:-2px;border:2px solid var(--field)}
.rv-legend b{font-weight:500;color:var(--ink);margin-right:.2rem}
.rv-legend .l-free::before{background:var(--tf-free);border-color:var(--tf-free-s)}
.rv-legend .l-nb::before{background:var(--tf-free) repeating-linear-gradient(45deg,rgba(255,255,255,.85) 0 2px,transparent 2px 5px);border-color:var(--mut)}
.rv-legend .l-busy::before{background:var(--tf-busy);border-color:var(--tf-busy-s)}
.rv-legend .l-soon::before{background:var(--tf-free);border-color:var(--tf-soon);border-width:3px}
.rv-legend .l-res::before{background:var(--tf-res);border-color:var(--tf-res-s)}
.rv-legend .l-late::before{background:var(--tf-late);border-color:var(--tf-late-s)}
.rv-plan-a{margin-bottom:1.6rem}
.rv-plan-a h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.25rem;color:var(--ink);margin-bottom:.6rem;display:flex;align-items:baseline;gap:.6rem}
.rv-plan-a h3 span{font-family:'Jost',sans-serif;font-size:.66rem;color:var(--faint)}
.rv-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}
.rv-t{background:var(--card);border:1px solid var(--field);padding:.75rem .85rem;text-align:left;min-height:96px;display:flex;flex-direction:column;gap:.2rem;color:var(--ink);transition:border-color .2s,transform .2s}
.rv-t:hover{border-color:var(--d3)}
.rv-t-h{display:flex;justify-content:space-between;align-items:baseline;gap:.4rem}
.rv-t-h b{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.2rem}
.rv-t-h small{font-size:.62rem;color:var(--faint)}
.rv-t-s{font-size:.7rem;color:var(--mut);line-height:1.4}
.rv-t-s strong{color:var(--ink);font-weight:500}
.rv-t.free{background:var(--tf-free);border-color:var(--tf-free-s);color:var(--tf-free-n)}
.rv-t.busy{background:var(--tf-busy);border-color:var(--tf-busy-s);color:var(--tf-busy-n)}
.rv-t.res{background:var(--tf-res);border-color:var(--tf-res-s);color:var(--tf-res-n)}
.rv-t.late{background:var(--tf-late);border-color:var(--tf-late-s);color:var(--tf-late-n)}
.rv-t.soon{background:var(--tf-free);border-color:var(--tf-soon);border-width:3px;color:var(--tf-free-n)}
:is(.rv-t.free,.rv-t.busy,.rv-t.res,.rv-t.late,.rv-t.soon) :is(.rv-t-s,.rv-t-s strong,.rv-t-h small){color:inherit}
:is(.rv-t.free,.rv-t.busy,.rv-t.res,.rv-t.late,.rv-t.soon) .rv-t-h small{opacity:.75}
/* Streifen nach den Zustandsfarben, sonst setzt deren background-Kurzform sie zurück */
.rv-t.nb{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.3) 0 3px,transparent 3px 12px)}
[data-theme="dark"] .rv-t.nb{background-image:repeating-linear-gradient(45deg,rgba(11,26,32,.25) 0 3px,transparent 3px 12px)}
.rv-t.locked{background:repeating-linear-gradient(135deg,var(--card) 0 10px,var(--l2) 10px 20px);opacity:.75}
/* Auswahl im Zuweisungsfenster */
.rv-t.fit{border-color:var(--ok)}
.rv-t.small,.rv-t.taken{opacity:.45;cursor:not-allowed}
.rv-t.sug{box-shadow:0 0 0 2px var(--g)}
.rv-t.cur{background:rgba(21,106,124,.1);border-color:var(--d3)}

/* ── Fenster (Formular, Tischwahl) ────────────────── */
.rv-modal{position:fixed;inset:0;z-index:110;background:rgba(5,20,26,.45);display:flex;justify-content:flex-end}
.rv-sheet{width:min(600px,100%);height:100%;background:var(--l1);border-left:1px solid var(--line);display:flex;flex-direction:column;box-shadow:-20px 0 60px -30px rgba(0,0,0,.5);animation:rvIn .28s cubic-bezier(.16,1,.3,1)}
@keyframes rvIn{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
.rv-sheet-h{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.4rem 1.6rem 1rem;border-bottom:1px solid var(--line)}
.rv-sheet-h h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.7rem;color:var(--ink);line-height:1.15}
.rv-sheet-h p{font-size:.74rem;color:var(--mut);margin-top:.25rem}
.rv-x{background:none;border:1px solid var(--field);color:var(--mut);width:38px;height:38px;font-size:1.1rem;flex-shrink:0}
.rv-x:hover{border-color:var(--d1);color:var(--d1)}
.rv-sheet-b{flex:1;overflow-y:auto;padding:1.2rem 1.6rem 1.6rem}
.rv-sheet-f{border-top:1px solid var(--line);padding:1rem 1.6rem;display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;background:var(--card)}
.rv-sum{flex:1;min-width:180px;font-size:.76rem;color:var(--mut);line-height:1.5}
.rv-sum strong{color:var(--ink);font-weight:500}
.rv-err{color:var(--err);font-size:.72rem;width:100%}
.rv-fs{margin-bottom:1.4rem}
.rv-fs > .rv-k{display:block;margin-bottom:.55rem}
.rv-row{display:flex;gap:.45rem;flex-wrap:wrap}
.rv-num{width:48px;height:48px;border:1px solid var(--field);background:var(--card);color:var(--ink);font-size:1.05rem;transition:all .2s}
.rv-num:hover{border-color:var(--d3)}
.rv-num.on{background:var(--d3);border-color:var(--d3);color:var(--on-d3)}
.rv-num-in{width:84px;height:48px;border:1px solid var(--field);background:var(--card);color:var(--ink);font-size:.9rem;padding:0 .6rem;font-family:inherit}
.rv-num-in.on{border-color:var(--d3);box-shadow:inset 0 0 0 1px var(--d3);font-weight:500}
.rv-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:.4rem}
.rv-slot{border:1px solid var(--field);background:var(--card);color:var(--ink);padding:.55rem .3rem;font-size:.82rem;display:flex;flex-direction:column;align-items:center;gap:.1rem;transition:all .2s;font-variant-numeric:tabular-nums}
.rv-slot small{font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ok)}
.rv-slot:hover{border-color:var(--d3)}
.rv-slot.full{color:var(--faint);background:var(--l2)}
.rv-slot.full small{color:var(--err)}
.rv-slot.on{background:var(--d3);border-color:var(--d3);color:var(--on-d3)}
.rv-slot.on small{color:var(--on-d3)}
.rv-grid2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.rv-sheet .ef{margin-bottom:0}
.rv-fhint{font-size:.66rem;color:var(--faint);margin-top:.35rem;line-height:1.5}
.rv-fhint.warn{color:var(--warn)}

/* ── Planung (Monat) ──────────────────────────────── */
.rv-mon-h{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.rv-mon-h h1{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:2.1rem;color:var(--ink)}
.rv-mon-sum{display:flex;gap:1.6rem;flex-wrap:wrap;font-size:.74rem;color:var(--mut);margin-bottom:1.2rem}
.rv-mon-sum b{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:400;color:var(--ink);margin-right:.3rem}
.rv-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem}
.rv-cal-wd{font-size:.56rem;letter-spacing:.22em;text-transform:uppercase;color:var(--faint);padding:.2rem .3rem}
.rv-cd{background:var(--card);border:1px solid var(--line);min-height:112px;padding:.6rem .65rem;text-align:left;display:flex;flex-direction:column;gap:.25rem;color:var(--ink);transition:border-color .2s}
.rv-cd:hover{border-color:var(--d3)}
.rv-cd.out{opacity:.35}
.rv-cd.past{opacity:.6}
.rv-cd.today{border-color:var(--g);box-shadow:inset 0 0 0 1px var(--g)}
.rv-cd.rest{background:var(--l2);cursor:default}
.rv-cd.rest:hover{border-color:var(--line)}
.rv-cd-d{display:flex;justify-content:space-between;align-items:baseline}
.rv-cd-d b{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.25rem}
.rv-cd-d small{font-size:.58rem;color:var(--faint)}
.rv-cd-g{font-size:.72rem;color:var(--mut)}
.rv-cd-g strong{color:var(--ink);font-weight:500;font-size:.9rem}
.rv-cd-bar{height:4px;background:var(--line);border-radius:2px;overflow:hidden;margin-top:auto}
.rv-cd-bar i{display:block;height:100%;background:var(--ok)}
.rv-cd-bar i.hi{background:var(--warn)}
.rv-cd-bar i.full{background:var(--err)}
.rv-cd-ev{font-size:.58rem;padding:.15rem .4rem;border-radius:2px;background:rgba(168,133,63,.12);color:var(--warn);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-cd-ev.closed{background:rgba(168,66,63,.08);color:var(--err)}

/* ── Suche ────────────────────────────────────────── */
.rv-search{margin:.6rem 0 1.4rem}
.rv-search input{width:100%;background:var(--card);border:1px solid var(--field);color:var(--ink);font-family:inherit;font-size:1.05rem;padding:1rem 1.2rem;outline:none}
.rv-search input:focus{border-color:var(--d3);box-shadow:0 0 0 3px rgba(21,106,124,.1)}
.rv-guest{margin-bottom:1.2rem}
.rv-guest-h{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap;margin-bottom:.45rem}
.rv-guest-h b{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.35rem;color:var(--ink)}
.rv-guest-h span{font-size:.7rem;color:var(--faint)}
.rv-hit{display:grid;grid-template-columns:150px 70px 1fr auto;gap:1rem;align-items:center;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);padding:.7rem 1rem;margin-bottom:.35rem;font-size:.78rem;color:var(--mut)}
.rv-hit:hover{border-color:var(--d3)}
.rv-hit b{color:var(--ink);font-weight:500}

/* ── Einrichtung ──────────────────────────────────── */
.rv-setup{display:grid;grid-template-columns:1.3fr 1fr;gap:1.2rem;align-items:start}
.rv-setup .rv-card{padding:1.3rem 1.4rem}
.rv-setup .rv-h2{margin-bottom:1rem}
.rv-sa{padding:.9rem 0;border-top:1px solid var(--line)}
.rv-sa:first-of-type{border-top:none;padding-top:0}
.rv-sa-h{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;margin-bottom:.55rem}
.rv-sa-h b{font-size:.9rem;font-weight:400;color:var(--ink)}
.rv-sa-h span{font-size:.68rem;color:var(--faint)}
.rv-tchips{display:flex;gap:.35rem;flex-wrap:wrap}
.rv-tchip{font-size:.7rem;padding:.35rem .6rem;border:1px solid var(--field);background:var(--l1);color:var(--ink)}
.rv-tchip small{color:var(--faint);margin-left:.25rem}
.rv-tchip.add{border-style:dashed;color:var(--faint);background:none}
.rv-set{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid var(--line);font-size:.8rem;color:var(--ink)}
.rv-set:first-of-type{border-top:none}
.rv-set small{display:block;font-size:.66rem;color:var(--faint);margin-top:.15rem;line-height:1.45}
.rv-set select{background:var(--card);border:1px solid var(--field);color:var(--ink);font-family:inherit;font-size:.78rem;padding:.5rem .6rem}
.rv-hours{width:100%;border-collapse:collapse;font-size:.78rem}
.rv-hours td{padding:.45rem 0;border-top:1px solid var(--line);color:var(--ink)}
.rv-hours td:last-child{text-align:right;color:var(--mut)}

/* ── Raumplan ─────────────────────────────────────── */
.rv-floor-w{overflow-x:auto;-webkit-overflow-scrolling:touch}
.rv-floor-day{padding:.8rem}
.rv-floor{display:block;width:100%;min-width:720px;height:auto;font-family:'Jost',sans-serif;user-select:none;-webkit-user-select:none}
.rv-floor .ar{fill:var(--l2);stroke:var(--line2);stroke-width:2}
.rv-floor .ar-terrasse{fill:var(--card);stroke:var(--line);stroke-width:1}
.rv-floor .ar-sand{fill:rgba(198,164,92,.16);stroke:none}
.rv-floor .deck{stroke:var(--line);stroke-width:1}
.rv-floor .hatch{stroke:var(--err);stroke-width:2;opacity:.18}
.rv-floor .sea{fill:rgba(21,106,124,.2)}
.rv-floor .sea-t{font-size:11px;letter-spacing:.3em;fill:var(--d3);text-anchor:middle;opacity:.8}
.rv-floor .al{font-size:11px;letter-spacing:.24em;fill:var(--faint)}
.rv-floor .fix{fill:var(--d1);opacity:.1}
.rv-floor .fix-t{font-size:11px;letter-spacing:.3em;fill:var(--faint);text-anchor:middle}
.rv-floor .wall{stroke:var(--line2);stroke-width:7;stroke-linecap:round}
.rv-floor .rail{stroke:var(--field);stroke-width:4;stroke-linecap:round}
.rv-floor .door{stroke:var(--g);stroke-width:3;stroke-dasharray:8 5;opacity:.7}
.rv-floor .door-t{font-size:10px;fill:var(--faint);text-anchor:middle}
.rv-ft{cursor:pointer}
.rv-ft .tb{fill:var(--card);stroke:var(--field);stroke-width:1.5;transition:stroke-width .15s}
.rv-ft .ch{fill:var(--card);stroke:var(--field);stroke-width:1.2}
.rv-ft .sofa{fill:var(--l3);stroke:var(--field);stroke-width:1.2}
/* Nicht reservierbar: helle Streifen über der Zustandsfarbe, auf Grün wie auf Rot zu sehen */
.rv-ft .nbo{fill:url(#rvNb);stroke:none;pointer-events:none}
.rv-floor .nbh{stroke:#fff;stroke-width:3.4;opacity:.7}
[data-theme="dark"] .rv-floor .nbh{stroke:#0b1a20;opacity:.45}
.rv-ft .tn-s{font-size:11px}
.rv-ft .tn{font-size:14px;font-weight:500;fill:var(--ink);text-anchor:middle;pointer-events:none}
.rv-ft .ti{font-size:10px;fill:var(--mut);text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:var(--card);stroke-width:3px;stroke-linejoin:round}
.rv-ft:hover .tb{stroke-width:3}
.st-free{--f:var(--tf-free);--s:var(--tf-free-s);--n:var(--tf-free-n);--i:var(--tf-free-i)}
.st-busy{--f:var(--tf-busy);--s:var(--tf-busy-s);--n:var(--tf-busy-n);--i:var(--tf-busy-i)}
.st-res{--f:var(--tf-res);--s:var(--tf-res-s);--n:var(--tf-res-n);--i:var(--tf-res-i)}
.st-late{--f:var(--tf-late);--s:var(--tf-late-s);--n:var(--tf-late-n);--i:var(--tf-late-i)}
/* Noch frei, aber in der nächsten Stunde reserviert: grün mit dickem gelbem Rand */
.st-soon{--f:var(--tf-free);--s:var(--tf-soon);--n:var(--tf-free-n);--i:var(--tf-free-i)}
:is(.st-free,.st-busy,.st-res,.st-late,.st-soon) :is(.tb,.ch,.sofa){fill:var(--f);stroke:var(--s);stroke-width:1.2}
:is(.st-free,.st-busy,.st-res,.st-late,.st-soon) .tb{stroke-width:2}
:is(.st-free,.st-busy,.st-res,.st-late,.st-soon) .tn{fill:var(--n)}
:is(.st-free,.st-busy,.st-res,.st-late,.st-soon) .ti{fill:var(--i);stroke:var(--f);font-weight:500}
.st-late .tb{stroke-width:3}
.st-soon .tb{stroke-width:4.5}
.st-soon .ch{stroke:var(--tf-free-s)}
.rv-ft:is(.st-free,.st-busy,.st-res,.st-late,.st-soon):hover .tb{stroke-width:4}
.st-locked{opacity:.4;cursor:default}
/* Auswahl beim Zuweisen und für spontane Gäste */
.p-off{opacity:.3;cursor:not-allowed}
.p-off:hover .tb{stroke-width:1.5}
.p-fit .tb{stroke:var(--ok);stroke-width:2.5}
.p-fit .ti{fill:var(--ok)}
.p-sug .tb{stroke:var(--g);stroke-width:4}
.p-sug .ti{fill:var(--warn);font-weight:500}
.p-cur .tb{fill:rgba(21,106,124,.22);stroke:var(--d3);stroke-width:3}
/* Zusammenstellen: frei, aber allein zu klein (gestrichelt) bzw. schon ausgewählt */
.p-add .tb{stroke:var(--ok);stroke-width:2;stroke-dasharray:5 3}
.p-add .ti{fill:var(--ok)}
.p-pick .tb{fill:rgba(47,125,74,.22);stroke:var(--ok);stroke-width:3.5}
.p-pick .ti{fill:var(--ok);font-weight:600}
[data-theme="dark"] .p-cur .tb{fill:rgba(95,179,189,.28)}
.rv-key{display:inline-block;width:11px;height:11px;border:2px solid var(--ok);vertical-align:-1px;margin-right:.3rem}
.rv-key.k-sug{border-color:var(--g);border-width:3px}
/* Raumplan: links die Reservierungen, rechts der Plan (wie im Service gewohnt) */
.rv-wide .rv-wrap,.rv-wide .rv-top-i{max-width:none}
.rv-wide .rv-wrap{padding-top:.6rem;padding-bottom:0}
/* Raumplan: jeder Pixel Höhe macht den ganzen Plan größer – Leisten darüber so schmal wie möglich */
body.rv-page.rv-wide{padding-bottom:0}
/* Eine Leiste mit Datum, Ansicht, Zahlen, Zeitpunkt und Knöpfen */
.rv-ctrl-room{gap:.6rem 1.2rem;margin-bottom:.55rem;justify-content:flex-start}
.rv-ctrl-room .rv-day{gap:.4rem;flex-wrap:nowrap}
.rv-ctrl-room .rv-day-t{min-width:0;padding:0 .4rem;white-space:nowrap}
.rv-ctrl-room .rv-day-k{font-size:.52rem;margin-bottom:0}
.rv-ctrl-room .rv-day-t h1{font-size:1.45rem}
.rv-ctrl-room .rv-ibtn{width:36px;height:36px}
.rv-ctrl-room .rv-date{height:36px;padding:.4rem .5rem}
.rv-ctrl-room .rv-rstat{margin:0 auto 0 0}
.rv-ctrl-room .rv-actions .bp{padding:.65rem 1.2rem}
/* Damit die Leiste einzeilig bleibt: zuerst das Datumsfeld (Pfeile und „Planung" bleiben),
   dann die Zahlen ausblenden – jede zweite Zeile kostet den Plan Höhe */
@media(max-width:1699px){.rv-ctrl-room .rv-date{display:none}}
@media(max-width:1439px){.rv-ctrl-room .rv-rstat{display:none}}
.rv-rstat{display:flex;gap:1.4rem;flex-wrap:wrap;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-right:auto;margin-left:.6rem}
.rv-rstat b{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.35rem;letter-spacing:0;color:var(--ink);margin-right:.4rem;vertical-align:-2px}
.rv-rstat b small{font-size:.9rem;color:var(--faint);margin:0 .15rem}
.rv-at{display:flex;align-items:center;gap:.5rem;font-size:.72rem;color:var(--mut)}
.rv-at .rv-ibtn{width:34px;height:34px;font-size:1.05rem}
.rv-at b{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.3rem;color:var(--ink);margin:0 .2rem}
.rv-room{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
/* Liste wächst mit dem Bildschirm mit (der Plan ist dort ohnehin durch die Höhe begrenzt) */
.rv-room.side{grid-template-columns:clamp(360px, 27vw, 540px) minmax(0,1fr)}
.rv-room-p{min-width:0;display:flex;flex-direction:column}
.rv-room-ph{display:flex;align-items:center;gap:.5rem 1rem;flex-wrap:wrap;padding:0 0 .45rem;margin-bottom:.35rem;border-bottom:1px solid var(--line)}
/* Plan-Reiter als eine kompakte Schalterleiste */
.rv-pseg{display:inline-flex;border:1px solid var(--field);background:var(--card)}
.rv-pseg button{background:none;border:none;border-left:1px solid var(--field);color:var(--mut);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:.5rem .85rem;display:flex;align-items:baseline;gap:.45rem;white-space:nowrap}
.rv-pseg button:first-child{border-left:none}
.rv-pseg button i{font-style:normal;font-size:.6rem;letter-spacing:0;text-transform:none;color:var(--faint)}
.rv-pseg button:hover{color:var(--d3)}
.rv-pseg button.on{background:var(--d1);color:var(--l1)}
.rv-pseg button.on i{color:var(--l1);opacity:.7}
.rv-zoom{display:flex}
.rv-zoom button{width:30px;height:30px;background:var(--card);border:1px solid var(--field);color:var(--mut);font-size:1.1rem;line-height:1}
.rv-zoom button + button{border-left:none}
.rv-zoom button:hover:not(:disabled){color:var(--d1);border-color:var(--d1)}
.rv-zoom button:disabled{opacity:.4;cursor:default}
.rv-room-ph .rv-legend{margin-left:auto;font-size:.62rem;gap:.3rem .7rem;flex:0 1 auto;min-width:0;justify-content:flex-end}

/* Event-Hinweis und Hinweise oben in der Liste, kompakt */
.rv-nx-top .rv-note{margin:0;border:none;border-bottom:1px solid var(--line);padding:.55rem .9rem;font-size:.68rem;line-height:1.5}
.rv-nx-top .rv-hints{margin:0;padding:.5rem .7rem;border-bottom:1px solid var(--line)}
.rv-nx-top .rv-hint{padding:.3rem .6rem;font-size:.62rem}
.rv-room-top .rv-note,.rv-room-top .rv-hints{margin-bottom:.7rem}
.rv-nx-w{display:flex;flex-direction:column;padding:0;min-height:0}
.rv-nx-h{display:flex;align-items:center;gap:.6rem;padding:.6rem .7rem;border-bottom:1px solid var(--line)}
.rv-nx-c{font-size:.66rem;color:var(--faint);flex:1}
.rv-nx-h .rv-k{padding-left:.3rem}
.rv-nx-tabs{display:flex;flex:1;gap:.25rem}
.rv-nx-tabs button{flex:1;background:none;border:1px solid transparent;color:var(--mut);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:.5rem .3rem;display:flex;justify-content:center;align-items:baseline;gap:.35rem}
.rv-nx-tabs button i{font-style:normal;letter-spacing:0;color:var(--faint)}
.rv-nx-tabs button:hover{color:var(--d3)}
.rv-nx-tabs button.on{background:var(--d1);color:var(--l1)}
.rv-nx-tabs button.on i{color:var(--l1);opacity:.7}
.rv-nx-x{background:none;border:none;color:var(--faint);font-size:1.1rem;line-height:1;padding:0 .3rem}
.rv-nx-x:hover{color:var(--ink)}
.rv-nx-l{overflow-y:auto;padding:0 .6rem .6rem;flex:1;min-height:0}
.rv-nx-e{padding:1.4rem .4rem;font-size:.78rem;color:var(--mut)}
/* Zeitgruppe wie die Zeitbänder bei Zenchef: Uhrzeit links, Anzahl rechts */
.rv-nx-g{display:flex;align-items:baseline;gap:.6rem;margin:.6rem -.6rem .35rem;padding:.35rem .9rem;background:var(--l3);font-size:.62rem;color:var(--faint);position:sticky;top:0;z-index:1}
.rv-nx-g b{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.15rem;color:var(--d1)}
.rv-nx-g em{font-style:normal;color:var(--g)}
.rv-nx-g span{margin-left:auto}
.rv-nx-g.late{background:rgba(148,98,26,.1)}
.rv-nx-g.late b{color:var(--warn);font-family:'Jost',sans-serif;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase}
.rv-nx{display:grid;grid-template-columns:28px minmax(0,1fr) auto 46px;align-items:center;gap:.5rem;padding:.45rem .4rem;border:1px solid transparent;border-left:3px solid var(--field);margin-bottom:.25rem;background:var(--card);transition:background .15s,border-color .15s}
.rv-nx.late{border-left-color:var(--warn)}
.rv-nx.st-da{border-left-color:var(--d3)}
.rv-nx.st-fertig{opacity:.5}
.rv-nx.hv,.rv-nx.hl{background:rgba(168,133,63,.1);border-color:rgba(168,133,63,.45)}
.rv-nx.open{border-color:rgba(168,133,63,.45)}
/* Einzelheiten als Fenster neben der Liste (dunkelt nichts ab, der Plan bleibt sichtbar).
   Dunkler Kopf, warmer Grund, goldener Rahmen mit Lichthof: Auf dem hellen Plan ging ein weißes
   Fenster unter (Nutzer, 02.10.2026). */
:root{--pop-w:min(440px,30vw);--pop-h:#0a3a4c;--pop-h-ink:#fbf8f3;--pop-bg:#fbf5ea;--pop-ring:rgba(198,164,92,.28)}
[data-theme="dark"]{--pop-h:#1f5363;--pop-h-ink:#f4f8f8;--pop-bg:#1a3540;--pop-ring:rgba(198,164,92,.32)}
.rv-pop{position:fixed;z-index:100;width:min(440px,calc(100vw - 2rem));overflow:auto;background:var(--pop-bg);border:1px solid var(--g);box-shadow:0 0 0 5px var(--pop-ring),0 30px 70px -18px rgba(5,20,26,.6);padding:0;animation:rvPopIn .18s ease-out}
.rv-pop[hidden]{display:none}
@keyframes rvPopIn{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.rv-pop{animation:none}}
.rv-pop.sheet{left:0;right:0;bottom:0;width:auto;max-height:75vh;border-width:2px 0 0;box-shadow:0 -20px 50px -10px rgba(5,20,26,.5)}
.rv-pop.sheet .rv-pop-b{padding-bottom:4.5rem}
.rv-pop-h{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;background:var(--pop-h);color:var(--pop-h-ink);padding:1rem 1.2rem 1.05rem 1.3rem;border-bottom:3px solid var(--g)}
.rv-pop-h h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:2rem;line-height:1.1;color:var(--pop-h-ink);margin:.45rem 0 0;overflow-wrap:anywhere}
.rv-pop-h .rv-x{color:var(--pop-h-ink);border-color:rgba(251,248,243,.4)}
.rv-pop-h .rv-x:hover{background:rgba(251,248,243,.12)}
.rv-pop-st{display:inline-block;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;padding:.3rem .55rem;border:1px solid transparent}
.rv-pop-st.res{background:var(--tf-res);color:var(--tf-res-n);border-color:var(--tf-res-s)}
.rv-pop-st.late{background:var(--tf-late);color:var(--tf-late-n);border-color:var(--tf-late-s)}
.rv-pop-st.da{background:var(--tf-busy);color:var(--tf-busy-n);border-color:var(--tf-busy-s)}
.rv-pop-st.done,.rv-pop-st.off{background:rgba(251,248,243,.14);color:var(--pop-h-ink);border-color:rgba(251,248,243,.35)}
.rv-pop-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.55rem}
.rv-pop-tags .rv-tag{background:var(--pop-bg)}
.rv-pop-b{padding:1.1rem 1.3rem 1.3rem}
.rv-pop-f{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-bottom:1rem}
.rv-pop-f > *{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;background:var(--card);border:1px solid var(--line2);padding:.6rem .7rem;text-align:left;color:var(--ink)}
.rv-pop-f b{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.7rem;line-height:1.05}
.rv-pop-f small{font-size:.72rem;color:var(--mut)}
.rv-pop-t{cursor:pointer;font:inherit}
.rv-pop-t:hover:not(:disabled){border-color:var(--d3)}
.rv-pop-t.none b{color:var(--warn)}
.rv-pop-t:disabled{cursor:default}
.rv-pop-note{background:rgba(168,133,63,.16);border-left:3px solid var(--g);padding:.65rem .8rem;margin:0 0 1rem;font-size:.95rem;line-height:1.45;color:var(--ink)}
.rv-pop-d{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem 1.1rem;margin:0 0 1.1rem;font-size:.95rem;line-height:1.4}
.rv-pop-d dt{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);padding-top:.3rem}
.rv-pop-d dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.rv-pop-d a{color:var(--d3)}
.rv-pop-d .mut{color:var(--faint)}
.rv-pop-a{display:flex;flex-wrap:wrap;gap:.45rem;border-top:1px solid var(--line2);padding-top:1rem}
.rv-pop-a .rv-btn{background:var(--card)}
.rv-pop-a .err{color:var(--err);border-color:rgba(168,66,63,.4)}
.rv-pop-a .err:hover{background:var(--err);color:#fff}
.rv-nx-p{width:28px;height:28px;border-radius:50%;border:1px solid var(--field);display:flex;align-items:center;justify-content:center;font-weight:500;font-size:.82rem;color:var(--ink);font-variant-numeric:tabular-nums}
.st-da .rv-nx-p{border-color:var(--d3);background:rgba(21,106,124,.08)}
.rv-nx-i{min-width:0;cursor:pointer}
.rv-nx-n{display:block;font-size:.8rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-nx-s{display:block;font-size:.62rem;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.1rem}
.rv-nx.late .rv-nx-s{color:var(--warn)}
.rv-nx-tag{font-style:normal;font-size:.52rem;letter-spacing:.08em;text-transform:uppercase;margin-left:.4rem;padding:.08rem .3rem;border:1px solid var(--line2);color:var(--mut);vertical-align:1px}
.rv-nx-tag.t-allergie{border-color:rgba(168,66,63,.5);color:var(--err)}
.rv-nx-t{background:var(--card);border:1px solid var(--field);color:var(--ink);font-size:.7rem;padding:.35rem .5rem;max-width:92px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-nx-t:hover{border-color:var(--d3)}
.rv-nx-t:disabled{border-color:var(--line);cursor:default}
.rv-nx-t.none{border-style:dashed;border-color:rgba(168,133,63,.6);color:var(--warn)}
.rv-nx-a{background:var(--d1);border:1px solid var(--d1);color:var(--l1);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:.4rem 0;text-align:center}
.rv-nx-a:hover{background:var(--d3);border-color:var(--d3)}
.rv-nx-a.free{background:var(--card);color:var(--d3);border-color:var(--d3)}
.rv-nx-a.free:hover{background:var(--d3);color:var(--l1)}
.rv-nx-a.none{background:none;border:none}
/* Leiste für spontane Gäste: Personenzahl, darunter wie viele passende Tische jetzt frei sind */
.rv-nx-w8{display:grid;grid-template-columns:auto repeat(8,minmax(0,1fr));align-items:center;gap:.2rem;padding:.5rem .6rem;border-top:1px solid var(--line);background:var(--l2)}
.rv-nx-w8 .rv-k{padding-right:.4rem;letter-spacing:.14em}
.rv-nx-w8 button{background:var(--card);border:1px solid var(--field);padding:.3rem 0;display:flex;flex-direction:column;align-items:center;line-height:1.15;transition:border-color .2s}
.rv-nx-w8 button:hover{border-color:var(--d3)}
.rv-nx-w8 b{font-size:.82rem;font-weight:500;color:var(--ink)}
.rv-nx-w8 i{font-style:normal;font-size:.56rem;color:var(--ok)}
.rv-nx-w8 button.no i{color:var(--faint)}
/* Im Plan markierte Tische der gewählten bzw. überfahrenen Reservierung */
.rv-ft[data-hl] .tb,.rv-ft.hv .tb{stroke:var(--g);stroke-width:5;stroke-dasharray:none}
.rv-ft[data-hl] .ch,.rv-ft.hv .ch{stroke:var(--g);stroke-width:2}
@media(min-width:1101px){
  /* Liste und Plan auf Fensterhöhe (Höhe setzt fitRoom()), der Plan passt sich ganz ein */
  .rv-room{align-items:stretch}
  .rv-room-p{min-height:0}
  .rv-room .rv-floor-day{flex:1;min-height:0;display:flex;flex-direction:column;padding:.5rem .5rem .35rem}
  .rv-room .rv-floor-s{flex:1;min-width:0;min-height:0;overflow:hidden;display:flex}
  .rv-room .rv-floor{min-width:0!important;width:100%;height:100%;flex-shrink:0}
  /* Vergrößert: Plan wird größer als der Rahmen und lässt sich darin verschieben */
  .rv-room .zoomed .rv-floor-s{overflow:auto;display:block}
  /* Fenster mit den Einzelheiten als Spalte zwischen Liste und Plan */
  .rv-pop:not(.sheet){width:var(--pop-w)}
  .rv-room.popen .rv-room-p{margin-left:calc(var(--pop-w) + 12px)}
  .rv-room .zoomed .rv-floor{width:calc(var(--z) * 100%);height:calc(var(--z) * 100%)}
  .rv-room .rv-ft .tn{font-size:18px}
  .rv-room .rv-ft .tn-s{font-size:12.5px}
  .rv-room .rv-ft .ti{font-size:12.5px}
}
@media(max-width:1100px){
  .rv-room.side{grid-template-columns:1fr}
  .rv-nx-l{max-height:60vh}
  .rv-zoom{display:none}   /* hier scrollt der Plan ohnehin seitlich in voller Größe */
  .rv-rstat{display:none}
}
/* Umschalter zwischen den drei Plänen */
.rv-ptabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.7rem}
.rv-ptab{background:var(--card);border:1px solid var(--field);color:var(--mut);padding:.6rem 1rem;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:baseline;gap:.5rem;transition:all .2s}
.rv-ptab i{font-style:normal;font-size:.62rem;letter-spacing:.02em;text-transform:none;color:var(--faint)}
.rv-ptab:hover{border-color:var(--d3);color:var(--d3)}
.rv-ptab.on{background:var(--d1);border-color:var(--d1);color:var(--l1)}
.rv-ptab.on i{color:var(--l1);opacity:.7}
/* Editor */
.rv-floor.edit .rv-ft{cursor:grab;touch-action:none}
.rv-floor.edit .rv-ft:active{cursor:grabbing}
.e-sel .tb{stroke:var(--g);stroke-width:3.5}
/* Wände, Geländer, Durchgänge und Theke im Editor: breite unsichtbare Greiffläche,
   weil die Linien selbst zum Antippen zu schmal wären */
.rv-floor .hit{stroke:transparent;stroke-width:24;stroke-linecap:round}
.rv-floor.edit .rv-el{cursor:grab;touch-action:none}
.rv-floor.edit .rv-el:hover .wall,.rv-floor.edit .rv-el:hover .rail,.rv-floor.edit .rv-el:hover .door{stroke:var(--d3)}
.rv-floor.edit .rv-el:hover .fix{opacity:.2}
.rv-el.e-sel .wall,.rv-el.e-sel .rail,.rv-el.e-sel .door{stroke:var(--g);opacity:1}
.rv-el.e-sel .fix{fill:var(--g);opacity:.3}
.rv-floor .rv-hd{fill:var(--card);stroke:var(--g);stroke-width:3;cursor:move;touch-action:none}
.rv-floor .rv-hd:hover{fill:var(--g)}
.e-sel .ch{stroke:var(--g)}
/* Einrichtung, „Tische auswählen": nicht reservierbar gold wie der Punkt am Tisch, reservierbar grün */
.e-nb .tb,.e-nb .ch{fill:rgba(198,164,92,.45);stroke:var(--g);stroke-width:2.5}
.e-nb .ch{stroke-width:1.2}
.e-nb .ti{fill:var(--ink);stroke:#ead9b4;font-weight:500}
[data-theme="dark"] .e-nb .ti{stroke:#5b5034}
.e-res .tb,.e-res .ch{fill:var(--tf-free);stroke:var(--tf-free-s);stroke-width:1.5}
.e-res .ch{stroke-width:1.2}
.e-res .ti{fill:var(--tf-free-i);stroke:var(--tf-free)}
.rv-editor{padding:1.3rem 1.4rem;margin-bottom:1.2rem}
.rv-ed-top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.rv-ed-top span{font-size:.68rem;color:var(--faint)}
.rv-ed-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem 1.2rem;flex-wrap:wrap;margin-bottom:.4rem}
.rv-ed-save{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-bottom:.7rem}
.rv-ed-st{font-size:.68rem;color:var(--ok)}
.rv-ed-st.dirty{color:var(--warn);font-weight:500}
.rv-ed-st::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:.4rem;vertical-align:1px}
.rv-ed-save .bp:disabled,.rv-ed-save .rv-btn:disabled{opacity:.4;cursor:default;transform:none}
.rv-ed-save .bp:disabled:hover{background:var(--d1);color:var(--l1)}
.rv-ed{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:1.4rem;align-items:start}
.rv-ed-side{border-left:1px solid var(--line);padding-left:1.4rem}
/* Im Editor den ganzen Plan zeigen, damit man nicht seitlich schieben muss */
@media(min-width:901px){.rv-ed .rv-floor{min-width:0!important}}
.rv-ed-h{display:flex;align-items:baseline;gap:.6rem;margin-bottom:1rem}
.rv-ed-h b{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.8rem;color:var(--ink)}
.rv-ed-h span{font-size:.7rem;color:var(--faint)}
.rv-step{display:flex;align-items:center;gap:.8rem;margin:.5rem 0 1.1rem}
.rv-step b{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:500;min-width:2ch;text-align:center;color:var(--ink)}
/* Breites Seitenfenster für den Plan */
.rv-sheet.wide{width:min(1000px,100%)}
.rv-now{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--d3);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.3rem}
.rv-now b{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.45rem;color:var(--ink)}
.rv-now > span:not(.rv-k){font-size:.76rem;color:var(--mut)}
.rv-now .rv-row{margin-top:.6rem}
.rv-num.over{border-style:dashed;color:var(--faint)}
@media(max-width:900px){
  .rv-ed{grid-template-columns:1fr}
  .rv-ed-side{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:1rem}
}

/* Rückfrage (ersetzt confirm()) */
.rv-ask{position:fixed;inset:0;z-index:140;background:rgba(5,20,26,.45);display:flex;align-items:center;justify-content:center;padding:1rem}
.rv-ask[hidden]{display:none!important}
.rv-ask-b{background:var(--l1);border:1px solid var(--line);box-shadow:0 30px 70px -30px rgba(0,0,0,.5);width:min(420px,100%);padding:1.6rem 1.6rem 1.2rem;animation:rvIn .2s ease-out}
.rv-ask-b p{font-size:.88rem;line-height:1.7;color:var(--ink);margin-bottom:1.3rem}
.rv-ask-a{display:flex;justify-content:flex-end;align-items:center;gap:.6rem}
/* Rückmeldung */
.rv-toast{position:fixed;left:50%;bottom:1.4rem;transform:translate(-50%,20px);z-index:130;background:var(--d1);color:var(--l1);padding:.85rem 1.3rem;font-size:.78rem;box-shadow:0 18px 40px -16px var(--shadow);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;display:flex;gap:1rem;align-items:center;max-width:calc(100vw - 2rem)}
.rv-toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.rv-toast button{background:none;border:none;color:var(--g);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;padding:0}

#rvPrint{display:none}

/* ── Schmale Bildschirme ──────────────────────────── */
@media(max-width:1080px){
  .rv-links{display:none}
  /* justify-content:flex-end würde bei Überlauf den Anfang unerreichbar abschneiden */
  .rv-tabs{justify-content:flex-start}
  .rv-tabs > :first-child{margin-left:auto}
}
@media(max-width:900px){
  .rv-kpis,.rv-areas{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .rv-res{grid-template-columns:60px minmax(0,1fr) auto;row-gap:.6rem;column-gap:.8rem}
  .rv-pers{width:60px}
  .rv-res-i{grid-column:2 / -1}
  .rv-tbl{grid-column:1 / 3}
  .rv-res-a{grid-column:3;min-width:0}
  .rv-since{font-size:.6rem}
  .rv-setup{grid-template-columns:1fr}
  .rv-cd{min-height:84px;padding:.45rem}
  .rv-cd-g span{display:none}
}
@media(max-width:640px){
  .rv-wrap{padding:1.1rem 1rem 3rem}
  .rv-top-i{padding:0 1rem;gap:.6rem}
  .rv-brand span{display:none}
  .rv-tab{padding:1.4rem .55rem 1.25rem;letter-spacing:.12em}
  .rv-day{width:100%}
  .rv-day-t{min-width:0;flex:1 1 0;text-align:center}
  .rv-day-t h1{font-size:1.55rem}
  .rv-day .rv-link{order:5}
  .rv-date{order:6;flex:1 1 100%}
  .rv-logo{height:28px}
  .rv-actions{width:100%}
  .rv-actions > *{flex:1}
  .rv-kpi b{font-size:1.9rem}
  .rv-grid2{grid-template-columns:1fr}
  .rv-cal{gap:.2rem}
  .rv-cd{min-height:64px}
  .rv-cd-d small,.rv-cd-ev{display:none}
  .rv-hit{grid-template-columns:1fr auto}
  .rv-hit > :nth-child(2),.rv-hit > :nth-child(3){display:none}
  .rv-legend{margin-left:0}
  /* Plan-Reiter auf dem Handy über die volle Breite, Zahl unter dem Namen */
  .rv-pseg{display:flex;width:100%}
  .rv-pseg button{flex:1;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .3rem;white-space:normal;text-align:center;letter-spacing:.08em}
}

/* Tagesliste zum Ausdrucken */
@media print{
  body.rv-page > *{display:none!important}
  body.rv-page > #rvPrint{display:block!important;color:#111;font-family:'Jost',sans-serif;font-size:11px}
  #rvPrint h1{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:22px;margin-bottom:2px}
  #rvPrint p{font-size:10px;color:#555;margin-bottom:10px}
  #rvPrint table{width:100%;border-collapse:collapse}
  #rvPrint table + table{margin-top:14px}
  #rvPrint th,#rvPrint td{border:1px solid #999;padding:4px 6px;text-align:left;vertical-align:top}
  #rvPrint th{background:#f0efec;font-weight:400;font-size:9px;letter-spacing:.1em;text-transform:uppercase;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #rvPrint tr{page-break-inside:avoid}
}

/* Admin-Bereich (seit v0.77): Entsperren, Benutzerliste, Hinweis oben rechts */
.rv-links .rv-adm-on{color:var(--warn);font-weight:500}
.rv-adm-lock{max-width:34rem;padding:1.3rem 1.4rem}
.rv-adm-lock .rv-h2{margin-bottom:.6rem}
.rv-adm-f{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.rv-adm-f .ef{flex:1;min-width:12rem;margin:0}
.rv-users{list-style:none;margin:0 0 1rem;padding:0}
.rv-users li{display:flex;align-items:center;gap:.4rem;padding:.45rem 0;border-bottom:1px solid var(--line)}
.rv-users li > span{flex:1;font-size:.86rem}
.rv-users li .rv-adm-f{flex:1}

/* ── v0.78: Gäste, Verlauf, Küche, Öffnungszeiten (aus dem Entwurf, achte Runde) ── */
/* Gäste: „Alle Besuche" */
.rv-gp-n{font-size:.78rem;color:var(--ink);font-style:italic}
.rv-gp-k{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-bottom:1rem}
.rv-gp-k span{display:flex;flex-direction:column;background:var(--l2);padding:.7rem .8rem;font-size:.66rem;color:var(--faint);letter-spacing:.06em}
.rv-gp-k b{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.8rem;color:var(--ink);line-height:1.1}
.rv-pop-d .rv-link{padding:0 0 0 .3rem;font-size:.56rem}

/* Verlauf in den Einzelheiten */
.rv-log{margin-top:1.1rem;border-top:1px solid var(--line);padding-top:.8rem}
.rv-log summary{cursor:pointer;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);list-style:none}
.rv-log summary::-webkit-details-marker{display:none}
.rv-log summary::before{content:'▸ ';color:var(--d3)}
.rv-log[open] summary::before{content:'▾ '}
.rv-log summary i{font-style:normal;color:var(--d3);margin-left:.3rem}
.rv-log ol{list-style:none;margin:.7rem 0 0;padding:0 0 0 .9rem;border-left:1px solid var(--line)}
.rv-log li{display:grid;grid-template-columns:7.2rem 1fr auto;gap:.6rem;font-size:.76rem;padding:.3rem 0;color:var(--ink);position:relative}
.rv-log li::before{content:'';position:absolute;left:-1.15rem;top:.65rem;width:7px;height:7px;border-radius:50%;background:var(--d3)}
.rv-log time{color:var(--faint);font-variant-numeric:tabular-nums}
.rv-log em{font-style:normal;color:var(--mut);font-size:.7rem}

/* Küchenblick */
.rv-kpis-5{grid-template-columns:repeat(5,1fr)}
.rv-kc{padding:1.1rem 1.3rem;margin-bottom:.8rem}
.rv-kc-l{display:flex;align-items:center;gap:.4rem;font-size:.66rem;color:var(--faint)}
.rv-kc-l i{display:inline-block;width:10px;height:10px;margin-left:.6rem}
.rv-kc-l i.here,.rv-kb-c i.here{background:var(--d3)}
.rv-kc-l i.exp,.rv-kb-c i.exp{background:rgba(21,106,124,.3)}
.rv-kbs{display:flex;gap:4px;align-items:flex-end;height:170px}
.rv-kb{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;min-width:0}
.rv-kb-n{font-size:.72rem;color:var(--ink);font-weight:500;height:1.1rem}
.rv-kb-c{flex:1;width:100%;display:flex;flex-direction:column-reverse;background:var(--l2)}
.rv-kb-c i{display:block;width:100%}
.rv-kb-t{font-size:.6rem;color:var(--faint);margin-top:.3rem;white-space:nowrap}
.rv-kb.now .rv-kb-t{color:var(--d3);font-weight:600}
.rv-kh{padding:1.1rem 1.3rem}
.rv-kh-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem;flex-wrap:wrap}
.rv-kh-r{display:grid;grid-template-columns:3.4rem minmax(9rem,16rem) 1fr;gap:1rem;align-items:baseline;padding:.65rem 0;border-top:1px solid var(--line)}
.rv-kh-r > b{font-size:.95rem;color:var(--ink);font-variant-numeric:tabular-nums}
.rv-kh-g{color:var(--ink);font-size:.86rem;display:flex;flex-direction:column}
.rv-kh-g small{font-size:.7rem;color:var(--faint)}
.rv-kh-n{display:flex;flex-wrap:wrap;gap:.35rem;align-items:baseline}
.rv-kh-n q{font-size:.82rem;color:var(--ink);font-style:italic}
.rv-kh-r.done{opacity:.5}

/* Öffnungszeiten bearbeiten */
.rv-hours-e td{vertical-align:middle;padding:.35rem .4rem}
.rv-hours-e select,.rv-season-f select{font-family:inherit;font-size:.76rem;color:var(--ink);background:var(--card);border:1px solid var(--field);padding:.3rem .4rem}
.rv-hours-e .mut{color:var(--faint);font-size:.78rem}
.rv-seasons{list-style:none;margin:0 0 .8rem;padding:0}
.rv-seasons li{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.8rem}
.rv-seasons b{color:var(--ink);font-weight:500}
.rv-seasons span{flex:1;color:var(--mut)}
.rv-season-f{display:grid;grid-template-columns:1fr 1fr;gap:.6rem .8rem;align-items:end}
.rv-season-f .ef{margin:0}
.rv-season-f .ef:first-child{grid-column:1/-1}
.rv-season-f .rv-season-t span{display:flex;align-items:center;gap:.3rem}
.rv-season-f > button{grid-column:1/-1;justify-self:start}
.rv-out{display:flex;flex-wrap:wrap;gap:.2rem .6rem;margin-top:.5rem}
.rv-out .rv-link{padding:.2rem 0}

/* Leise Zeile „schon da gewesen" unter Telefon/E-Mail */
.rv-gk{margin:-.6rem 0 1.4rem;font-size:.76rem;color:var(--mut);line-height:1.6}
.rv-gk:empty{display:none}
.rv-gk b{color:var(--d3);font-weight:500}
.rv-gk .rv-link{padding:0 .2rem;font-size:.58rem}
.rv-log-s{border-top:none;padding-top:0;margin-top:0}
.rv-hp{margin-top:.35rem;font-size:.72rem;color:var(--mut);display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}
.rv-hp .rv-link{padding:0 .2rem;font-size:.56rem}
/* „Noch 2 Plätze zu wenig" soll nicht wie ein Knopf zum Drücken aussehen */
.rv-sheet-f .bp:disabled{opacity:.45;cursor:not-allowed}

@media(max-width:760px){
  .rv-kpis-5{grid-template-columns:repeat(2,1fr)}
  .rv-kh-r{grid-template-columns:3rem 1fr}
  .rv-kh-n{grid-column:2}
  .rv-kbs{height:130px}
  .rv-kb-t{font-size:.5rem}
  .rv-log li{grid-template-columns:1fr}
  .rv-gp-k{grid-template-columns:repeat(2,1fr)}
}
/* Bereichskarten am Handy untereinander: nebeneinander ragte „Schließen" rechts aus dem Bild */
@media(max-width:560px){
  .rv-areas{grid-template-columns:1fr}
}
