/* Vereint27 UI Basis – V2.57
   Gemeinsame mobile Layout-, Safe-Area- und Dialogregeln. */
:root{--v27-safe-top:env(safe-area-inset-top,0px);--v27-safe-bottom:env(safe-area-inset-bottom,0px)}
html{min-height:100%;max-width:100%;overflow-x:hidden}
body{min-height:100vh;min-height:100dvh;max-width:100%;overflow-x:hidden}
/* Seiten dürfen vertikal wachsen; feste Bottom-Navigation wird berücksichtigt. */
.v27-page,.page,.wrap{min-height:100%;padding-bottom:max(92px,calc(76px + var(--v27-safe-bottom)))}
/* Einheitliche Dialog-Basis. Bestehende Seitendesigns/Farben bleiben erhalten. */
.modalBack,.v27-modal-backdrop{box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-top:max(12px,var(--v27-safe-top));padding-bottom:max(12px,var(--v27-safe-bottom))}
.modalBack.show{align-items:flex-start;justify-content:center}
.modalBack>.modal,.v27-modal{box-sizing:border-box;max-height:calc(100dvh - max(24px,var(--v27-safe-top)) - max(24px,var(--v27-safe-bottom)));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin:auto}
/* Eingaben dürfen auf schmalen Displays niemals die Karte verbreitern. */
input,select,textarea,button{max-width:100%}
input,select,textarea{min-width:0}
@supports not (height:100dvh){.modalBack>.modal,.v27-modal{max-height:calc(100vh - 32px)}}


/* V2.58 – App-/Bedienoberflächen klar von reinen Ausgaben trennen. */
body.v27-app{
  min-height:100vh;
  min-height:100dvh;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding-bottom:max(0px,var(--v27-safe-bottom));
}
body.v27-app main,
body.v27-app .page,
body.v27-app .wrap{max-width:100%;}
body.v27-app .bottom,
body.v27-app .vbottom{padding-bottom:max(8px,calc(8px + var(--v27-safe-bottom)));}
body.v27-app .modalBack,
body.v27-app .v27-modal-backdrop{max-height:100dvh;}
body.v27-app img,body.v27-app video,body.v27-app canvas{max-width:100%;}

/* Nur Bedienoberflächen: auf Touch-Geräten gut bedienbare Controls. */
@media (pointer:coarse){
  body.v27-app button,
  body.v27-app a.btn,
  body.v27-app input,
  body.v27-app select{min-height:44px;}
}


/* V2.59 – Stadion-Regie Bedienoberflächen: Vereint27 Glass / Touch UI.
   Gilt ausdrücklich NICHT für LED-Wall-, Signage- oder Kiosk-Ausgaben. */
body.v27-app.v27-regie{
  color:#f4f8ff;
  background:
    linear-gradient(180deg,rgba(2,16,34,.78),rgba(2,22,43,.94)),
    var(--v27-app-bg,linear-gradient(135deg,#052744,#03182f 62%,#061f39));
  background-attachment:fixed;
}
body.v27-app.v27-regie main{width:min(1120px,100%);margin-inline:auto;}
body.v27-app.v27-regie .card,
body.v27-app.v27-regie .glass,
body.v27-app.v27-regie .section,
body.v27-app.v27-regie .bgbox,
body.v27-app.v27-regie .screenCard{
  background:rgba(7,35,57,.82) !important;
  color:#f4f8ff;
  border-color:rgba(85,174,255,.28) !important;
  box-shadow:0 14px 38px rgba(0,0,0,.22);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
body.v27-app.v27-regie .hero,body.v27-app.v27-regie .live{
  background:linear-gradient(135deg,rgba(10,55,92,.96),rgba(5,28,51,.96)) !important;
  color:#fff;
}
body.v27-app.v27-regie input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),
body.v27-app.v27-regie select,body.v27-app.v27-regie textarea{
  background:rgba(5,28,48,.9) !important;color:#fff !important;
  border-color:rgba(91,174,246,.38) !important;
}
body.v27-app.v27-regie input::placeholder,body.v27-app.v27-regie textarea::placeholder{color:#a9bfd3;}
body.v27-app.v27-regie .meta,body.v27-app.v27-regie .note,body.v27-app.v27-regie .season{color:#b9cada;}
body.v27-app.v27-regie .btn,body.v27-app.v27-regie button{touch-action:manipulation;}
body.v27-app.v27-regie .soft{background:rgba(35,105,170,.24) !important;color:#eaf6ff !important;}
body.v27-app.v27-regie .screenPages label{background:rgba(5,28,48,.72) !important;border-color:rgba(91,174,246,.28) !important;}
body.v27-app.v27-regie .preview{background-color:rgba(5,28,48,.72);}
@media(max-width:650px){
 body.v27-app.v27-regie main{padding-left:8px !important;padding-right:8px !important;}
 body.v27-app.v27-regie .card,body.v27-app.v27-regie .glass,body.v27-app.v27-regie .section{border-radius:14px;}
}
