/* Gemeinsame Darstellung für Desktop, Tablet und Mobilgeräte. */
html{overflow-x:hidden}body{min-width:0}img,svg,video{max-width:100%;height:auto}#app>*{min-width:0}.panel,.stat{min-width:0}dialog{width:min(760px,calc(100vw - 48px));max-height:calc(100dvh - 48px);padding:0;border:1px solid #9fb5c3;border-radius:13px;overflow:hidden;box-shadow:0 24px 80px #17384d55}dialog form{display:flex;flex-direction:column;max-height:calc(100dvh - 48px);overflow:hidden}.dialog-top{position:relative;flex:0 0 auto;padding:16px 20px 13px;border-bottom:1px solid #d6e1e8;background:#fff}.dialog-top h2{margin:0}.dialog-top button{flex:0 0 auto}.dialog-actions{position:relative;flex:0 0 auto;margin:0;padding:13px 20px 16px;border-top:1px solid #d6e1e8;background:#fff}#dialog-body{min-height:0;padding:14px 20px 18px;overflow-y:auto;overscroll-behavior:contain;background:#fff}dialog::backdrop{background:#17344073;backdrop-filter:blur(1px)}button,input,select,textarea{max-width:100%}.table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
@media(max-width:1100px){header{padding:13px 20px}.header-right{gap:10px}nav{padding:0 14px}nav a{padding:12px 13px}.demo{padding:8px 20px}main{padding:18px 20px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.board{overflow-x:auto}.lane{min-width:280px}.member-layout,.family-navigation{grid-template-columns:170px minmax(0,1fr)}.member-sidebar{min-width:0}.group-hero{grid-template-columns:1fr}.group-times{grid-template-columns:repeat(3,minmax(0,1fr))}.group-columns{grid-template-columns:minmax(0,1.5fr) minmax(250px,.8fr)}.home-layout{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:850px){header{align-items:flex-start;flex-wrap:wrap}.header-right{margin-left:auto}.perspective-label{min-width:190px}nav{position:sticky;top:0;z-index:30;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.demo{align-items:flex-start}.split,.cards,.member-layout,.family-navigation,.family-overview,.group-columns,.trainer-directory,.dash-grid,.finance-columns,.home-layout{grid-template-columns:1fr}.member-sidebar{display:flex;gap:6px;overflow-x:auto;padding:9px;position:static}.member-sidebar h3{display:flex;align-items:center;min-width:max-content;margin:0 5px}.member-sidebar .member-nav{min-width:max-content}.family-shell{padding:12px}.group-profile{padding:12px}.group-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.group-times{grid-template-columns:repeat(2,minmax(0,1fr))}.stats,.finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-future>div{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-app{grid-template-columns:180px minmax(0,1fr)}.calendar-topbar{flex-wrap:wrap}.calendar-type-only{margin-left:0}.holiday-control,.holiday-summary{grid-template-columns:1fr}.team-content,.finance-content{padding:15px}.team-columns,.integration-grid{grid-template-columns:1fr}.protocol-paper{margin:12px;padding:24px}.access-columns{grid-template-columns:1fr}}
@media(max-width:650px){dialog{width:calc(100vw - 28px);max-height:calc(100dvh - 28px)}dialog form{max-height:calc(100dvh - 28px)}.dialog-top{padding:12px 14px 10px}#dialog-body{padding:10px 14px 14px}.dialog-actions{padding:10px 14px 12px}body{font-size:13px}header{padding:10px 12px;gap:8px}.brand{gap:8px;font-size:14px}.brand small{font-size:10px}.logo{padding:8px 7px;font-size:16px}.header-right{width:100%;justify-content:space-between}.perspective-label{flex:1;min-width:0}.perspective-label select{width:100%}.badge{display:none}nav{padding:0 5px;gap:1px}nav a{padding:10px 11px;font-size:12px}.demo{padding:7px 10px;flex-wrap:wrap}.demo button{margin-left:auto}main{padding:10px;min-height:60vh}.pagehead{display:block;margin-bottom:10px}.pagehead h1{font-size:22px}.pagehead>div:last-child:not(:first-child),.pagehead>button{margin-top:9px}.pagehead .row,.group-head-actions,.calendar-head-actions,.holiday-head-actions{width:100%;margin:9px 0 0;align-items:stretch}.group-head-actions label{flex:1}.group-head-actions select{width:100%;min-width:0}.panel,.stat{padding:14px;border-radius:8px}.stats,.cards,.finance-metrics,.settings-future>div{grid-template-columns:1fr;gap:10px}.between{align-items:flex-start;flex-wrap:wrap}.toolbar,.member-filters,.finance-toolbar{display:grid;grid-template-columns:1fr;width:100%}.toolbar>*{width:100%}.form-pair,.profile-grid,.member-basics{grid-template-columns:1fr!important}.group-hero{padding:15px;gap:14px}.group-hero h2{font-size:23px}.group-facts,.group-times{grid-template-columns:1fr}.group-times h3,.group-times button,.group-times>p{grid-column:1}.schedule-row,.document-row,.attendance-person{display:block}.schedule-row>*{display:block;margin:4px 0}.document-row button{margin-top:9px}.group-person>div{min-width:0}.roster-person{white-space:normal}.calendar-app{display:block;height:auto!important;min-height:0!important}.calendar-sidebar{max-height:215px}.calendar-main{height:600px}.calendar-topbar{align-items:stretch;padding:7px}.calendar-topbar>div{width:100%;overflow-x:auto}.calendar-type-only{display:flex!important}.calendar-type-only select{flex:1}.cal-view-buttons button{flex:1}.calendar-canvas{min-width:820px}.calendar-day-canvas{min-width:480px}.calendar-list-view>button{grid-template-columns:58px 6px minmax(160px,1fr)}.calendar-list-view>button>strong{grid-column:3}.holiday-control{padding:12px}.holiday-tabs button{min-width:135px}.holiday-summary{padding:13px}.holiday-calendar{padding:7px}.holiday-week{min-width:780px}.holiday-request-row{grid-template-columns:74px 6px minmax(150px,1fr)}.holiday-request-row button{grid-column:3}.mail-shell{display:grid;grid-template-columns:1fr;height:auto!important;min-height:0!important}.mail-sidebar{display:grid;grid-template-columns:1fr 1fr;padding:8px}.mail-scroll{height:285px!important}.mail-reading{padding:0 14px}.message-detail{padding:16px 0}.message-detail>h2{font-size:21px}.message-compose{padding:14px}.message-send-actions button{flex:1}.team-content,.finance-content{padding:9px}.team-hero{padding:17px}.team-hero h2{font-size:23px}.team-stats{grid-template-columns:1fr}.team-tabs{padding:0 5px}.team-tabs button{padding:11px 10px}.protocol-row,.team-date,.finance-row,.finance-row.payment,.finance-row.document{grid-template-columns:1fr}.protocol-tools{padding:8px;overflow-x:auto}.protocol-tools button{white-space:nowrap}.protocol-paper{margin:6px;padding:16px 12px}.protocol-paper>header,.protocol-paper>footer{align-items:flex-start;gap:12px}.protocol-title input{font-size:21px}.protocol-meta,.protocol-template{grid-template-columns:1fr}.protocol-template aside{grid-template-columns:1fr 1fr}.settings-add form,.permission-extras,.finance-decision{display:block}.settings-add button,.permission-extras button,.finance-decision button{margin-top:10px}.access-profile>.between label{width:100%;min-width:0}.suggestion-review>div{align-items:stretch;flex-direction:column}.home-hero{padding:20px}.home-hero h2{font-size:25px}.dash-welcome{padding:18px}.dash-cards{grid-template-columns:1fr}}
@media(max-width:420px){header{display:block}.header-right{margin-top:9px}.avatar{display:none}.demo strong{display:block;width:100%}main{padding:7px}.pagehead h1{font-size:20px}.pagehead .row,.calendar-head-actions,.holiday-head-actions,.group-head-actions{display:grid;grid-template-columns:1fr}.group-head-actions button,.calendar-head-actions button,.holiday-head-actions button{width:100%}.member-sidebar{margin:0 -7px}.calendar-main{height:560px}.calendar-sidebar{max-height:185px}.calendar-day-canvas{min-width:420px}.mail-sidebar{grid-template-columns:1fr}.message-send-actions{display:grid}.announcement{grid-template-columns:1fr}.protocol-template aside{grid-template-columns:1fr}.settings-list table{min-width:560px}.access-profile{padding:12px}}
@media(max-height:600px) and (orientation:landscape){header{padding-top:6px;padding-bottom:6px}.demo{display:none}nav a{padding-top:7px;padding-bottom:7px}body.calendar-compact .calendar-app{height:calc(100dvh - 105px);min-height:420px}.calendar-sidebar{max-height:none}.mail-shell{min-height:430px!important}.mail-scroll{height:370px!important}}

/* On phones the month and filters stay in the normal page flow. The
   appointment canvas below remains the single dedicated calendar scroller. */
@media(max-width:650px){.calendar-sidebar{max-height:none!important;overflow:visible!important}.calendar-sidebar .cal-filter-block{max-height:240px;overflow:auto;overscroll-behavior:contain}}
@media(max-width:650px){.header-right{flex-wrap:wrap;min-width:0}.perspective-controls{width:100%;min-width:0;flex-wrap:wrap}.perspective-label{flex:1 1 100%;min-width:0}.perspective-label select{width:100%;min-width:0}}
