/* Zentrale Baunorm v1.3: Ergänzungen zum erhaltenen KORA-Design. */
:root {
  --control-height:48px; --touch-size:44px; --control-gap:8px;
  --swipe-return:220ms; --swipe-exit:260ms;
}
.btn,.text-btn,.chip,.search-box,.field input,.field select { min-height:var(--control-height); }
.icon-btn,.step-tools .icon-btn,.calendar-panel .icon-btn,.day-number { min-width:var(--touch-size); min-height:var(--touch-size); }
.button-row,.step-tools,.dialog-actions,.live-controls { gap:var(--control-gap); }
.brand img,.auth-logo,.print-sheet img { height:auto; }
.dialog-content:has(.card-detail) { position:relative; overflow-x:clip; isolation:isolate; }
.card-detail { position:relative; z-index:2; background:var(--white); transform-origin:50% 110%; transition:transform var(--swipe-return) cubic-bezier(.2,.8,.2,1); }
.swipe-neighbors { position:absolute; inset:20px; pointer-events:none; z-index:1; }
.swipe-neighbor { position:absolute; inset:0; padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); }
.swipe-neighbor small { color:var(--teal-dark); }
.swipe-neighbor h3 { margin:16px 0; }
.neighbor-1 { transform:translateY(12px) scale(.95); z-index:1; }
.neighbor-2 { transform:translateY(24px) scale(.9); opacity:.7; }
.swipe-label { position:absolute; top:0; right:0; padding:8px 12px; border-radius:8px; border:1px solid var(--teal); color:var(--teal-dark); background:var(--white); opacity:0; pointer-events:none; }
.swipe-ghost { z-index:10; background:var(--white); pointer-events:none; overflow:hidden; }
html[data-reduced-motion="true"] { scroll-behavior:auto; }
html[data-reduced-motion="true"] *,html[data-reduced-motion="true"] *::before,html[data-reduced-motion="true"] *::after { animation:none!important; transition:none!important; }
html[data-reduced-motion="true"] .swipe-neighbors { display:none; }
@media (max-width:720px) {
  .step-row { grid-template-columns:auto minmax(0,1fr) auto; }
  .step-tools { grid-column:2/-1; justify-content:flex-end; }
  .main-content { padding-bottom:100px; }
  .live-top { margin-bottom:10px; }
  .live-stage { padding:18px 12px; }
  .live-stage h1 { font-size:25px; margin:10px 0; }
  .live-clock { font-size:76px; line-height:1.15; }
  .live-controls { margin:14px 0 10px; flex-wrap:nowrap; }
  .live-next { display:none; }
}
@media print { .swipe-neighbors,.swipe-label,.swipe-ghost { display:none!important; } }
