/* Terminbuchung-Showcase (/terminbuchung).
   Baut auf css/landing.css und css/apps-showcase.css auf (Buehne, Geraete-
   rahmen, Akte, FAQ). Hier nur, was die Terminbuchung zusaetzlich braucht.
   --tb-brand ist die Markenfarbe der Buchungsseite; Akt 5 aendert sie. */

.tb{--tb-brand:#0d9488;--tb-ok:#0d9488;--tb-pend:#e8a020;--tb-blk:#94a3b8}

/* ── Browser: Wochenuebersicht der anbietenden Person ─────────── */
.tb-main{position:relative}
.tb-bell{position:relative;font-size:1.05rem;color:var(--ink-2);width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--cream)}
.tb-bell em{position:absolute;top:-4px;right:-5px;min-width:17px;height:17px;border-radius:9px;background:var(--red);color:#fff;font:700 .62rem/17px var(--ff-b);text-align:center;font-style:normal;padding:0 4px}
.tb-bell.ring i{animation:tbRing .7s ease}
@keyframes tbRing{20%{transform:rotate(16deg)}40%{transform:rotate(-14deg)}60%{transform:rotate(9deg)}80%{transform:rotate(-5deg)}}
.tb-tabs{display:flex;gap:.25rem;margin:-.2rem 0 .6rem;font-size:.74rem;font-weight:600;color:var(--ink-3);border-bottom:1px solid var(--border)}
.tb-tabs span{padding:.35rem .6rem;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tb-tabs span.on{color:var(--navy);border-color:var(--navy)}
.tb-legend{display:flex;flex-wrap:wrap;gap:.3rem .8rem;font-size:.66rem;color:var(--ink-3);margin-bottom:.45rem}
.tb-legend span{display:inline-flex;align-items:center;gap:.3rem}
.tb-legend .sw{width:10px;height:10px;border-radius:3px;display:inline-block}
.sw.win{background:color-mix(in srgb,var(--tb-brand) 12%,#fff);border:1px dashed color-mix(in srgb,var(--tb-brand) 55%,#fff)}
.sw.ok{background:var(--tb-ok)}
.sw.pend{background:#fff4dc;border:1.5px dashed var(--tb-pend)}
.sw.blk{background:repeating-linear-gradient(135deg,#e5e7eb 0 3px,#f5f6f8 3px 6px);border:1px solid #d7dbe2}

.tb-week{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:34px repeat(5,1fr);grid-template-rows:auto 1fr;border-top:1px solid var(--border)}
.tb-wd{font-size:.7rem;font-weight:700;color:var(--ink-2);text-align:center;padding:.3rem 0;border-left:1px solid #f0ede7}
.tb-wd small{display:block;font-weight:500;color:var(--ink-3);font-size:.62rem}
.tb-col{position:relative;border-left:1px solid #f0ede7;overflow:hidden}
.tb-hours{position:relative}
.tb-hours span{position:absolute;right:4px;font-size:.6rem;color:var(--ink-3);transform:translateY(-50%)}
.tb-hl{position:absolute;left:0;right:0;border-top:1px dashed #efebe4}
.tb-win{position:absolute;left:2px;right:2px;border-radius:6px;background:color-mix(in srgb,var(--tb-brand) 9%,#fff);border:1px dashed color-mix(in srgb,var(--tb-brand) 45%,#fff);transition:background .4s,border-color .4s}
.tb-ev{position:absolute;left:4px;right:4px;border-radius:6px;font-size:.62rem;line-height:1.2;padding:.18rem .3rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#fff;background:var(--tb-ok);box-shadow:0 2px 6px rgba(15,23,41,.12);appearance:none;border:0;text-align:left;font-family:inherit}
.tb-ev b{display:block;font-weight:700;overflow:hidden;text-overflow:ellipsis}
.tb-ev span{opacity:.9}
.tb-ev.blk{background:repeating-linear-gradient(135deg,#e5e7eb 0 4px,#f5f6f8 4px 8px);color:var(--ink-2);box-shadow:none;border:1px solid #d7dbe2}
.tb-ev.pend{background:#fff4dc;color:#7d5100;border:1.5px dashed var(--tb-pend);box-shadow:none;cursor:pointer}
.tb-ev.pend:hover{background:#ffedc4}
.tb-ev.pend:focus-visible{outline:2px solid var(--navy);outline-offset:1px}
.tb-ev.new{animation:tbPop .6s cubic-bezier(.16,1,.3,1)}
.tb-ev.out{animation:tbOut .45s ease forwards}
@keyframes tbPop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.06)}100%{opacity:1;transform:none}}
@keyframes tbOut{to{opacity:0;transform:scale(.8)}}

/* Freigabe-Entscheidung direkt am Termin */
.tb-pop{position:absolute;z-index:6;background:#fff;border-radius:12px;box-shadow:0 14px 40px rgba(15,23,41,.28);padding:.7rem;width:210px;font-size:.78rem;color:var(--ink);animation:axSheetUp .28s cubic-bezier(.16,1,.3,1)}
.tb-pop p{margin:0 0 .55rem;line-height:1.4}
.tb-pop div{display:flex;gap:.4rem}
.tb-pop button{flex:1;min-height:40px;border-radius:9px;font:600 .8rem var(--ff-b);cursor:pointer;border:1px solid var(--border);background:#fff;color:var(--ink-2)}
.tb-pop button.prim{background:var(--tb-ok);border-color:var(--tb-ok);color:#fff}
.tb-pop button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}

.tb-toast{position:absolute;right:12px;top:52px;z-index:5;max-width:250px;background:var(--navy);color:#fff;border-radius:12px;padding:.6rem .75rem;font-size:.74rem;line-height:1.35;box-shadow:0 12px 30px rgba(15,23,41,.3);display:flex;gap:.5rem;align-items:flex-start;animation:axSheetUp .3s cubic-bezier(.16,1,.3,1)}
.tb-toast[hidden]{display:none}
.tb-toast i{color:var(--amber);font-size:.95rem}

/* ── Handy: Buchungsseite des Gastes ──────────────────────────── */
.tb-screen{background:#f6f7f9}
.tb-g-head{display:flex;gap:.6rem;align-items:center;padding:.55rem .9rem .7rem;background:var(--tb-brand);color:#fff;transition:background .4s;flex:0 0 auto}
.tb-g-head b{display:block;font-size:.88rem}
.tb-g-head small{display:block;font-size:.68rem;opacity:.85;line-height:1.3}
.tb-mark{width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.22);display:inline-flex;align-items:center;justify-content:center;font-weight:800;flex:0 0 auto}
.tb-g-body{flex:1;min-height:0;overflow-y:auto;padding:.7rem .75rem 1rem;overscroll-behavior:contain;scrollbar-width:none}
.tb-g-body::-webkit-scrollbar{display:none}
.tb-g-body.swap{animation:tbSwap .35s cubic-bezier(.16,1,.3,1)}
@keyframes tbSwap{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.tb-g-h{font-size:.95rem;font-weight:700;margin:0 0 .5rem;color:#111827}
.tb-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:.8rem}
.tb-strip button{appearance:none;border:1px solid #e3e6ec;background:#fff;border-radius:10px;padding:.3rem 0;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font:600 .64rem var(--ff-b);color:#4b5563;cursor:pointer;position:relative}
.tb-strip button b{font-size:.86rem;color:#111827}
.tb-strip button[aria-pressed="true"]{background:var(--tb-brand);border-color:var(--tb-brand);color:#fff}
.tb-strip button[aria-pressed="true"] b{color:#fff}
.tb-strip button:disabled{opacity:.4;cursor:default}
.tb-strip button .dt{width:5px;height:5px;border-radius:50%;background:var(--tb-brand);position:absolute;bottom:4px}
.tb-strip button[aria-pressed="true"] .dt{background:#fff}
.tb-strip button:focus-visible,.tb-slot:focus-visible,.tb-g-btn:focus-visible,.tb-g-link:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.tb-offer{background:#fff;border-radius:14px;padding:.65rem .7rem .7rem;margin-bottom:.6rem;box-shadow:0 1px 2px rgba(15,23,41,.06)}
.tb-offer-h{display:flex;justify-content:space-between;gap:.4rem;align-items:baseline}
.tb-offer-h b{font-size:.84rem;color:#111827}
.tb-offer-h span{font-size:.66rem;color:#6b7280;white-space:nowrap}
.tb-offer-m{font-size:.66rem;color:#6b7280;margin:.1rem 0 .5rem;display:flex;gap:.5rem;flex-wrap:wrap}
.tb-offer-m .tag{font-weight:700;color:var(--tb-brand)}
.tb-offer-m .tag.appr{color:#8a5a00}
.tb-slot-row{display:flex;flex-wrap:wrap;gap:.35rem}
.tb-slot{appearance:none;min-height:40px;min-width:56px;padding:0 .55rem;border-radius:9px;border:1.5px solid color-mix(in srgb,var(--tb-brand) 45%,#fff);background:#fff;color:var(--tb-brand);font:700 .78rem var(--ff-b);font-variant-numeric:tabular-nums;cursor:pointer;transition:background .2s,color .2s,transform .15s}
.tb-slot:hover{background:color-mix(in srgb,var(--tb-brand) 8%,#fff)}
.tb-slot:active{transform:scale(.96)}
.tb-slot.gone{animation:tbOut .4s ease forwards}
.tb-empty{font-size:.76rem;color:#6b7280;text-align:center;padding:1.2rem .5rem;line-height:1.5}
.tb-empty i{display:block;font-size:1.4rem;margin-bottom:.3rem;color:#9ca3af}
.tb-g-sum{background:#fff;border-radius:14px;padding:.7rem;margin-bottom:.7rem;font-size:.76rem;color:#4b5563;line-height:1.45;border-left:4px solid var(--tb-brand)}
.tb-g-sum b{color:#111827;display:block;font-size:.86rem}
.tb-g-f{display:block;font-size:.68rem;font-weight:600;color:#4b5563;margin:0 0 .15rem}
.tb-g-in{width:100%;font:inherit;font-size:16px;border:1px solid #d7dbe2;border-radius:10px;padding:.45rem .6rem;background:#fff;color:#111827;margin-bottom:.55rem;min-height:40px}
.tb-g-in:focus-visible{outline:2px solid var(--tb-brand);outline-offset:1px}
.tb-g-note{font-size:.62rem;color:#6b7280;line-height:1.4;margin:.1rem 0 .7rem}
.tb-g-btn{appearance:none;width:100%;min-height:44px;border:0;border-radius:12px;background:var(--tb-brand);color:#fff;font:700 .86rem var(--ff-b);cursor:pointer;transition:background .4s,transform .15s}
.tb-g-btn:active{transform:scale(.98)}
.tb-g-btn.sec{background:#fff;color:#374151;border:1px solid #d7dbe2;margin-top:.45rem}
.tb-g-link{appearance:none;border:0;background:none;color:#6b7280;font:600 .72rem var(--ff-b);text-decoration:underline;cursor:pointer;min-height:36px;padding:0 .2rem;margin-bottom:.3rem}
.tb-state{text-align:center;padding:.8rem .3rem 0}
.tb-state .ico{width:58px;height:58px;border-radius:50%;margin:0 auto .7rem;display:flex;align-items:center;justify-content:center;font-size:1.6rem;background:color-mix(in srgb,var(--tb-brand) 14%,#fff);color:var(--tb-brand);animation:tbPop .6s cubic-bezier(.16,1,.3,1)}
.tb-state .ico.wait{background:#fff4dc;color:#b7791f}
.tb-state .ico.no{background:#fde8e8;color:#b91c1c}
.tb-state h4{font-size:.98rem;margin:0 0 .35rem;color:#111827;font-family:var(--ff-b)}
.tb-state p{font-size:.74rem;color:#4b5563;line-height:1.5;margin:0 0 .8rem}
.tb-count{font-size:1.5rem;font-weight:700;color:#111827;font-variant-numeric:tabular-nums;margin:.2rem 0 .7rem}

/* ── Posteingang (Double-Opt-in) ──────────────────────────────── */
.tb-stage .ax-browser{width:63%}
.tb-mail{position:absolute;z-index:5;left:calc(63% - 130px);bottom:14px;width:280px;background:#fff;color:var(--ink);border-radius:16px;padding:.85rem .95rem .95rem;box-shadow:0 30px 70px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.1);animation:tbMailIn .55s cubic-bezier(.16,1,.3,1)}
.tb-mail[hidden]{display:none}
@keyframes tbMailIn{from{opacity:0;transform:translateY(24px) scale(.95)}to{opacity:1;transform:none}}
.tb-mail-top{display:flex;align-items:center;gap:.4rem;font-size:.68rem;color:var(--ink-3);margin-bottom:.4rem}
.tb-mail-top span{margin-left:auto}
.tb-mail b{display:block;font-size:.88rem;line-height:1.3}
.tb-mail p{font-size:.76rem;color:var(--ink-2);margin:.3rem 0 .7rem;line-height:1.45}
.tb-mail-btn{appearance:none;width:100%;min-height:44px;border:0;border-radius:11px;background:var(--navy);color:#fff;font:700 .84rem var(--ff-b);cursor:pointer}
.tb-mail-btn:hover{background:var(--navy-2)}
.tb-mail-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}

.tb-reset{border-color:rgba(255,255,255,.18);color:#cfd8e8}

/* ── Karten der Akte ──────────────────────────────────────────── */
.tb-act-cream{background:var(--cream)}
.tb-card{background:#fff;border-radius:var(--r-mock);border:1px solid var(--border);padding:1.5rem;box-shadow:var(--sh-2);width:100%;max-width:470px}
.tb-card-head{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1.1rem;flex-wrap:wrap}
.tb-card-head strong{font-family:var(--ff-h);font-size:1.2rem;color:var(--ink)}
.tb-badge{font-size:.74rem;font-weight:700;padding:.3rem .7rem;border-radius:99px;background:color-mix(in srgb,var(--tb-brand) 12%,#fff);color:color-mix(in srgb,var(--tb-brand) 80%,#000);font-variant-numeric:tabular-nums}
.tb-days{display:flex;gap:.35rem;margin-bottom:1rem}
.tb-days button{appearance:none;flex:1;min-height:44px;border-radius:12px;border:1px solid var(--border);background:#fff;color:var(--ink-2);font:700 .88rem var(--ff-b);cursor:pointer;transition:background .2s,color .2s}
.tb-days button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.tb-days button:focus-visible,.tb-swatches button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.tb-range{margin-bottom:.9rem}
.tb-range label{display:flex;justify-content:space-between;gap:1rem;font-size:.88rem;font-weight:600;color:var(--ink-2);margin-bottom:.35rem}
.tb-range label b{color:var(--ink)}
.tb-range input[type=range]{width:100%;accent-color:var(--navy);min-height:44px;margin:0}
.tb-range select,.tb-card input[type=text]{width:100%;font:inherit;font-size:16px;border:1px solid var(--border);border-radius:11px;padding:.55rem .7rem;min-height:44px;background:#fff;color:var(--ink)}
.tb-range select:focus-visible,.tb-card input[type=text]:focus-visible{outline:2px solid var(--navy);outline-offset:1px}
.tb-ruler{position:relative;height:38px;border-radius:10px;background:var(--cream);overflow:hidden;margin-top:.3rem}
.tb-ruler i{position:absolute;top:5px;bottom:5px;border-radius:6px;background:var(--tb-brand);transition:left .35s cubic-bezier(.2,.8,.2,1),width .35s cubic-bezier(.2,.8,.2,1),opacity .3s}
.tb-ruler i.buf{background:repeating-linear-gradient(135deg,#d7dbe2 0 3px,transparent 3px 6px);border-radius:4px}
.tb-ruler-scale{display:flex;justify-content:space-between;font-size:.72rem;color:var(--ink-3);margin-top:.3rem}
.tb-ruler-out{margin:.9rem 0 0;font-size:.95rem;color:var(--ink-2)}
.tb-ruler-out b{color:var(--ink);font-size:1.25rem;font-variant-numeric:tabular-nums}

/* Akt 2: Tageslinie mit Blockern */
.tb-tl{position:relative;height:30px;border-radius:9px;background:color-mix(in srgb,var(--tb-brand) 10%,#fff);border:1px dashed color-mix(in srgb,var(--tb-brand) 45%,#fff);overflow:hidden}
.tb-tl i{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,#cbd2dc 0 4px,#eef0f4 4px 8px);opacity:0;transform:scaleY(.4);transition:opacity .35s,transform .35s}
.tb-tl i.on{opacity:1;transform:none}
.tb-slots{display:grid;grid-template-columns:repeat(6,1fr);gap:.3rem;margin:.8rem 0 1.1rem}
.tb-slots span{font-size:.74rem;font-weight:700;text-align:center;padding:.35rem 0;border-radius:8px;background:color-mix(in srgb,var(--tb-brand) 12%,#fff);color:color-mix(in srgb,var(--tb-brand) 85%,#000);font-variant-numeric:tabular-nums;transition:background .3s,color .3s,opacity .3s}
/* Belegte Zeiten: durchgestrichen, aber lesbar (vorher 1,8:1, axe color-contrast). */
.tb-slots span.x{background:#f1f2f5;color:#5b6472;text-decoration:line-through}
.tb-sw-list{display:grid;gap:.5rem}
.tb-sw{display:flex;align-items:center;gap:.8rem;cursor:pointer;min-height:48px;padding:.35rem .2rem;border-radius:12px}
.tb-sw input{position:absolute;opacity:0;width:1px;height:1px}
.tb-sw-ui{flex:0 0 auto;width:46px;height:28px;border-radius:14px;background:#d7dbe2;position:relative;transition:background .25s}
.tb-sw-ui::after{content:'';position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .25s cubic-bezier(.3,.7,.3,1.2)}
.tb-sw input:checked+.tb-sw-ui{background:var(--navy)}
.tb-sw input:checked+.tb-sw-ui::after{transform:translateX(18px)}
.tb-sw input:focus-visible+.tb-sw-ui{outline:2px solid var(--amber);outline-offset:2px}
.tb-sw b{display:block;font-size:.95rem;color:var(--ink)}
.tb-sw small{display:block;font-size:.8rem;color:var(--ink-3)}
.tb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Akt 3: Double-Opt-in */
.tb-doi{background:var(--ax-night-2);border:1px solid var(--ax-line);border-radius:26px;padding:1.6rem;width:100%;max-width:440px;display:grid;gap:1.2rem;justify-items:start}
.tb-ring{position:relative;width:128px;height:128px;justify-self:center}
.tb-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.tb-ring circle{fill:none;stroke-width:9}
.tb-ring .trk{stroke:rgba(255,255,255,.08)}
.tb-ring .val{stroke:var(--amber);stroke-linecap:round;stroke-dasharray:326.7;stroke-dashoffset:0;transition:stroke-dashoffset .5s linear}
.tb-ring div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.tb-ring b{font-size:1.5rem;color:#fff}
.tb-ring small{font-size:.74rem;color:var(--ax-text-dim)}
.tb-steps{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;width:100%}
.tb-steps li{display:flex;gap:.8rem;align-items:flex-start;padding:.6rem .75rem;border-radius:14px;color:#8d9ab0;transition:background .35s,color .35s}
.tb-steps li i{font-size:1.1rem;margin-top:.1rem}
.tb-steps li b{display:block;color:inherit;font-size:.95rem}
.tb-steps li span{font-size:.86rem;line-height:1.45}
.tb-steps li.on{background:rgba(255,255,255,.07);color:#fff}
.tb-steps li.on i{color:var(--amber)}
.tb-steps li.done{color:#cfd8e8}
.tb-steps li.done i{color:#34d399}
.tb-doi .btn{justify-self:start;margin:0;min-height:44px}
.tb-list-dark li{color:#cfd8e8}
.tb-list-dark b{color:#fff}
.tb-list-dark li i{color:var(--amber)}

/* Akt 4: Zusage oder Freigabe */
.tb-seg-light{background:var(--cream);border-color:var(--border);margin-bottom:1.2rem;display:flex}
.tb-seg-light button{color:var(--ink-2);flex:1;padding:.55rem .8rem}
.tb-seg-light button[aria-pressed="true"]{background:var(--navy);color:#fff}
.tb-flow{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:0}
.tb-flow li{display:grid;grid-template-columns:34px 1fr;gap:.8rem;align-items:start;position:relative;padding-bottom:1rem;animation:tbSwap .4s cubic-bezier(.16,1,.3,1) both}
.tb-flow li:not(:last-child)::before{content:'';position:absolute;left:16px;top:34px;bottom:0;width:2px;background:var(--border)}
.tb-flow li i{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--cream);color:var(--navy);font-size:1rem}
.tb-flow li.you i{background:#fff4dc;color:#8a5a00}
.tb-flow li.fin i{background:color-mix(in srgb,var(--tb-ok) 15%,#fff);color:var(--tb-ok)}
.tb-flow b{display:block;font-size:.98rem;color:var(--ink);margin-top:.35rem}
.tb-flow span{font-size:.88rem;color:var(--ink-2);line-height:1.5}

/* Akt 5: Auftritt */
.tb-brand-prev{display:flex;gap:.7rem;align-items:center;background:var(--tb-brand);color:#fff;border-radius:16px;padding:.9rem 1rem;transition:background .4s}
.tb-brand-prev b{display:block}
.tb-brand-prev small{display:block;opacity:.85;font-size:.82rem}
.tb-brand-slot{display:flex;gap:.45rem;margin:.9rem 0 1.3rem}
.tb-brand-slot span{flex:1;text-align:center;padding:.5rem 0;border-radius:10px;border:1.5px solid color-mix(in srgb,var(--tb-brand) 45%,#fff);color:var(--tb-brand);font-weight:700;font-variant-numeric:tabular-nums;transition:all .4s}
.tb-brand-slot span.on{background:var(--tb-brand);color:#fff;border-color:var(--tb-brand)}
.tb-lbl{display:block;font-size:.86rem;font-weight:600;color:var(--ink-2);margin:0 0 .45rem}
.tb-swatches{display:flex;gap:.6rem;margin-bottom:1.1rem;flex-wrap:wrap}
.tb-swatches button{appearance:none;width:44px;height:44px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--border);background:var(--c,#ccc);cursor:pointer;transition:transform .2s,box-shadow .2s}
.tb-swatches button[aria-checked="true"]{box-shadow:0 0 0 2px var(--navy);transform:scale(1.08)}

.tb-more{margin:2rem 0 0;color:var(--ink-2);font-size:.95rem}
.tb-more a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* ── Responsiv ────────────────────────────────────────────────── */
@media(max-width:1100px){
  .tb-stage .ax-browser{width:calc(100% - 290px)}
  .tb-mail{left:calc(100% - 430px)}
}
@media(max-width:860px){
  /* Gestapelt in der Reihenfolge des Ablaufs: erst bucht der Gast am Handy,
     dann bestaetigt er im Posteingang, dann sieht es das Team im Portal. */
  .tb-stage{display:flex;flex-direction:column;align-items:center;gap:1.75rem}
  .tb-stage .ax-devices{display:contents}
  .tb-stage .ax-phone{order:1}
  .tb-stage .tb-mail{order:2;position:relative;left:auto;bottom:auto;width:min(320px,100%)}
  .tb-stage .ax-browser{order:3;width:100%;max-width:560px;height:min(460px,72vh)}
  .tb-toast{left:10px;right:10px;max-width:none}
  .tb-card,.tb-doi{max-width:100%}
}
@media(max-width:560px){
  .tb-card{padding:1.2rem}
  .tb-slots{grid-template-columns:repeat(4,1fr)}
  .tb-legend{display:none}
  .tb-tabs span:last-child{display:none}
  .tb-week{grid-template-columns:28px repeat(5,1fr)}
  .tb-ev{font-size:.56rem;padding:.12rem .2rem;left:2px;right:2px}
  .tb-ev span{display:none}
}
@media(prefers-reduced-motion:reduce){
  .tb *,.tb *::before,.tb *::after{animation:none!important;transition:none!important}
}
