:root{--dvp-accent:#f2c300;--dvp-navy:#082d4f;--dvp-dark:#051d34;--dvp-bg:#f3f6f9;--dvp-card:#fff;--dvp-text:#102033;--dvp-muted:#687789;--dvp-border:#dce4eb;--dvp-radius:16px;--dvp-shadow:0 10px 30px rgba(5,29,52,.08)}
*{box-sizing:border-box}.dvp-app-body{margin:0!important;background:var(--dvp-bg);color:var(--dvp-text);font-family:Arial,Helvetica,sans-serif}.dvp-app-body #wpadminbar{display:none!important}html:has(.dvp-app-shell),html:has(.dvp-standalone-login){margin-top:0!important}.dvp-app-shell{min-height:100vh}.dvp-sidebar{position:fixed;z-index:50;inset:0 auto 0 0;width:250px;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--dvp-dark),var(--dvp-navy));color:#fff;padding:24px 16px}.dvp-brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px;color:#fff;text-decoration:none}.dvp-brand img{width:58px;height:58px;object-fit:contain}.dvp-brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--dvp-accent);color:var(--dvp-dark);font-weight:900}.dvp-brand-copy{display:flex;flex-direction:column}.dvp-brand-copy strong{font-size:1.05rem}.dvp-brand-copy small{color:rgba(255,255,255,.65);margin-top:3px}.dvp-side-nav{display:flex;flex-direction:column;gap:5px}.dvp-side-nav a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:10px;color:rgba(255,255,255,.78);text-decoration:none;font-weight:700;transition:.18s}.dvp-side-nav a span{width:22px;text-align:center}.dvp-side-nav a:hover,.dvp-side-nav a.is-active{background:rgba(255,255,255,.11);color:#fff}.dvp-side-nav a.is-active{box-shadow:inset 4px 0 var(--dvp-accent)}.dvp-sidebar-footer{margin-top:auto;padding:18px 12px 4px;border-top:1px solid rgba(255,255,255,.12)}.dvp-sidebar-footer a{color:rgba(255,255,255,.75);text-decoration:none}.dvp-app-main{min-height:100vh;margin-left:250px}.dvp-topbar{position:sticky;z-index:40;top:0;height:72px;display:flex;align-items:center;justify-content:flex-end;padding:0 34px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--dvp-border)}.dvp-mobile-brand{display:none}.dvp-topbar-user{display:flex;align-items:center;gap:12px;font-weight:700}.dvp-topbar-user a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--dvp-navy);color:var(--dvp-accent);text-decoration:none}.dvp-app-content{max-width:1280px;margin:0 auto;padding:34px}.dvp-bottom-nav{display:none}.dvp-wrap{max-width:none;margin:0}.dvp-hero{position:relative;overflow:hidden;padding:36px 40px;border-radius:22px;background:linear-gradient(120deg,var(--dvp-dark),var(--dvp-navy));box-shadow:var(--dvp-shadow);margin-bottom:24px;color:#fff}.dvp-hero:after{content:"";position:absolute;right:-65px;bottom:-100px;width:240px;height:240px;border:42px solid rgba(242,195,0,.15);border-radius:50%}.dvp-hero>*{position:relative;z-index:1}.dvp-hero h2{margin:5px 0 8px;color:#fff;font-size:clamp(1.9rem,3vw,2.7rem)}.dvp-hero p{margin:0;color:rgba(255,255,255,.75)}.dvp-eyebrow{color:var(--dvp-accent);font-size:.75rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.dvp-grid,.dvp-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dvp-tile{position:relative;display:flex;align-items:center;gap:16px;min-height:120px;padding:20px 48px 20px 20px;overflow:hidden;border:1px solid var(--dvp-border);border-radius:var(--dvp-radius);background:#fff;box-shadow:var(--dvp-shadow);text-decoration:none;color:var(--dvp-text);transition:.2s}.dvp-tile:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--dvp-accent)}.dvp-tile:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(5,29,52,.14)}.dvp-tile-icon{display:grid;place-items:center;width:54px;height:54px;flex:0 0 54px;border-radius:50%;background:var(--dvp-navy);font-size:25px}.dvp-tile-copy{display:flex;flex-direction:column;gap:4px}.dvp-tile-copy strong{color:var(--dvp-navy);font-size:1.05rem}.dvp-tile-copy small{color:var(--dvp-muted);line-height:1.4}.dvp-arrow{position:absolute;right:18px;color:#c39a00;font-size:28px}.dvp-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 24px;padding-bottom:18px;border-bottom:3px solid var(--dvp-accent)}.dvp-page-head h2{margin:7px 0 4px;color:var(--dvp-navy);font-size:2rem}.dvp-page-head p{margin:0;color:var(--dvp-muted)}.dvp-back{color:var(--dvp-navy);font-size:.9rem;font-weight:800;text-decoration:none}.dvp-card{position:relative;padding:22px;border:1px solid var(--dvp-border);border-radius:var(--dvp-radius);background:#fff;box-shadow:var(--dvp-shadow)}.dvp-card h3{margin-top:0;color:var(--dvp-navy)}.dvp-card a:not(.dvp-button){color:var(--dvp-navy);font-weight:700}.dvp-form{max-width:780px;padding:28px;border:1px solid var(--dvp-border);border-radius:var(--dvp-radius);background:#fff;box-shadow:var(--dvp-shadow)}.dvp-form label{display:block;margin-bottom:16px;color:var(--dvp-navy);font-weight:800}.dvp-form input,.dvp-form select,.dvp-form textarea{width:100%;min-height:46px;margin-top:7px;padding:11px 13px;border:1px solid #cbd5df;border-radius:9px;background:#fff;font:inherit}.dvp-form textarea{min-height:130px}.dvp-form input:focus,.dvp-form select:focus,.dvp-form textarea:focus,.dvp-login-card input:focus{outline:0;border-color:#c69f00;box-shadow:0 0 0 4px rgba(242,195,0,.18)}.dvp-form button,.dvp-button,.dvp-filter-reset{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border:0;border-radius:9px;background:var(--dvp-accent);color:var(--dvp-dark)!important;font-weight:900;text-decoration:none;cursor:pointer}.dvp-button-secondary{background:#eef2f7!important;color:var(--dvp-navy)!important}.dvp-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:24px;padding:18px;border-radius:var(--dvp-radius);background:var(--dvp-navy)}.dvp-filters label{color:#fff;font-size:.86rem;font-weight:800}.dvp-filters select{width:100%;min-height:43px;margin-top:6px;padding:9px;border:0;border-radius:8px;background:#fff}.dvp-filter-reset{align-self:end}.dvp-notice{margin:14px 0;padding:14px 17px;border-left:5px solid var(--dvp-accent);border-radius:10px;background:#fff8d5}.dvp-success{border-left-color:#188653;background:#e7f7ef}.dvp-empty{padding:28px;border:2px dashed #cbd5df;border-radius:var(--dvp-radius);text-align:center;color:var(--dvp-muted)}.dvp-training-group{margin-bottom:30px}.dvp-training-group>h3{padding-left:12px;border-left:5px solid var(--dvp-accent);color:var(--dvp-navy)}.dvp-training-day{color:var(--dvp-navy);font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.dvp-training-time{font-size:1.25rem;font-weight:800;color:var(--dvp-navy)}.dvp-training-hall{color:var(--dvp-muted)}.dvp-task-done{opacity:.62}.dvp-task-done h3{text-decoration:line-through}.dvp-training-card[hidden],.dvp-training-group[hidden],[data-filter-empty][hidden],.dvp-contact-card[hidden],[data-contact-empty][hidden]{display:none!important}
.dvp-standalone-login{min-height:100vh}.dvp-login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 85% 15%,rgba(242,195,0,.2),transparent 28%),linear-gradient(135deg,var(--dvp-dark),var(--dvp-navy))}.dvp-login-card{width:min(450px,100%);padding:38px;border-top:7px solid var(--dvp-accent);border-radius:18px;background:#fff;box-shadow:0 25px 70px rgba(0,0,0,.28)}.dvp-login-brand{display:flex;justify-content:center;margin-bottom:14px}.dvp-login-brand img{width:min(230px,75%);height:90px;object-fit:contain}.dvp-login-brand span{display:grid;place-items:center;width:75px;height:75px;border-radius:18px;background:var(--dvp-navy);color:var(--dvp-accent);font-size:1.5rem;font-weight:900}.dvp-login-card h1{text-align:center;color:var(--dvp-navy)}.dvp-login-card>p{text-align:center;color:var(--dvp-muted)}.dvp-login-card label{display:block;margin-top:15px;color:var(--dvp-navy);font-weight:800}.dvp-login-card input[type=text],.dvp-login-card input[type=password]{width:100%;min-height:48px;margin-top:6px;padding:11px;border:1px solid #cbd5df;border-radius:9px}.dvp-login-card input[type=submit]{width:100%;min-height:49px;margin-top:18px;border:0;border-radius:9px;background:var(--dvp-accent);color:var(--dvp-dark);font-weight:900;cursor:pointer}.dvp-login-links{text-align:center}.dvp-login-links a{color:var(--dvp-navy);font-weight:700}
@media(max-width:1050px){.dvp-grid,.dvp-list{grid-template-columns:repeat(2,minmax(0,1fr))}.dvp-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.dvp-sidebar{display:none}.dvp-app-main{margin-left:0}.dvp-topbar{height:62px;padding:0 16px;justify-content:space-between}.dvp-mobile-brand{display:flex;align-items:center;gap:9px;color:var(--dvp-navy);text-decoration:none}.dvp-mobile-brand img{width:38px;height:38px;object-fit:contain}.dvp-mobile-brand span{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--dvp-navy);color:var(--dvp-accent);font-weight:900}.dvp-topbar-user>span{display:none}.dvp-app-content{padding:20px 14px 125px}.dvp-bottom-nav{position:fixed;z-index:60;display:grid;grid-template-columns:repeat(5,1fr);left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));padding:8px 6px;border:1px solid var(--dvp-border);border-radius:18px;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);box-shadow:0 10px 32px rgba(5,29,52,.2)}.dvp-bottom-nav a{display:flex;min-height:54px;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 2px;border-radius:12px;color:#798696;text-decoration:none}.dvp-bottom-nav a span{font-size:23px;line-height:1}.dvp-bottom-nav a small{font-size:.7rem;font-weight:850}.dvp-bottom-nav a.is-active{color:var(--dvp-navy)}.dvp-bottom-nav a.is-active span{color:#c29900}.dvp-hero{padding:27px 23px;border-radius:17px}.dvp-grid,.dvp-list,.dvp-filters{grid-template-columns:1fr}.dvp-tile{min-height:96px}.dvp-page-head{align-items:flex-start;flex-direction:column}.dvp-page-head .dvp-button{width:100%}.dvp-form{padding:20px}.dvp-login-card{padding:29px 22px}}

/* Authentifizierung: Anmeldung und Registrierung */
.dvp-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:24px 0 18px;padding:5px;border-radius:12px;background:#eef2f6}
.dvp-auth-tab{min-height:42px;border:0;border-radius:9px;background:transparent;color:#526276;font:inherit;font-weight:800;cursor:pointer}
.dvp-auth-tab.is-active{background:#fff;color:#082d4f;box-shadow:0 4px 14px rgba(5,29,52,.1)}
.dvp-auth-panel{display:none}
.dvp-auth-panel.is-active{display:block}
.dvp-register-form label{display:block;margin:0 0 15px;color:#082d4f;font-weight:800}
.dvp-register-form input{box-sizing:border-box;width:100%;min-height:48px;margin-top:6px;padding:11px 13px;border:1px solid #cbd5df;border-radius:9px;background:#fff;color:#102033;font:inherit;outline:none}
.dvp-register-form input:focus{border-color:var(--dvp-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--dvp-accent) 20%,transparent)}
.dvp-register-form .dvp-button{width:100%;margin-top:4px}
.dvp-register-hint{margin:14px 0 0;color:#64748b!important;font-size:.86rem;text-align:center!important}


/* Trainingszeiten 2.3: Listen-/Wochenansicht, Gültigkeit und Bemerkungen */
.dvp-view-switch{display:inline-flex;gap:6px;margin:0 0 18px;padding:5px;border-radius:12px;background:#e8edf3}.dvp-view-button{min-height:42px;padding:9px 15px;border:0;border-radius:9px;background:transparent;color:var(--dvp-muted);font:inherit;font-weight:850;cursor:pointer}.dvp-view-button.is-active{background:#fff;color:var(--dvp-navy);box-shadow:0 4px 14px rgba(5,29,52,.1)}
.dvp-training-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dvp-training-card-head p{margin:0}.dvp-training-status{padding:4px 8px;border-radius:999px;background:#e7f7ef;color:#12673f;font-size:.72rem;font-weight:900}.dvp-status-future .dvp-training-status{background:#e8f1fb;color:#225b91}.dvp-status-expired{opacity:.64}.dvp-status-expired .dvp-training-status{background:#eef0f3;color:#657080}.dvp-training-validity{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--dvp-border);color:var(--dvp-muted);font-size:.84rem;font-weight:700}.dvp-training-note{margin-top:12px;padding:10px 12px;border-left:4px solid var(--dvp-accent);border-radius:7px;background:#fff8d5;color:#39485a;font-size:.9rem}
.dvp-week-scroll{overflow-x:auto;padding-bottom:10px}.dvp-week-calendar{display:grid;grid-template-columns:66px repeat(7,minmax(145px,1fr));min-width:1080px;border:1px solid var(--dvp-border);border-radius:14px;background:#fff;box-shadow:var(--dvp-shadow);overflow:hidden}.dvp-week-time-head,.dvp-week-day-head{position:sticky;top:0;z-index:3;padding:12px 7px;border-bottom:1px solid var(--dvp-border);background:var(--dvp-navy);color:#fff;text-align:center;font-size:.82rem;font-weight:900}.dvp-week-times{position:relative;border-right:1px solid var(--dvp-border);background:#f5f7fa}.dvp-week-times span{position:absolute;right:8px;transform:translateY(-50%);color:#718096;font-size:.7rem}.dvp-week-day{position:relative;border-right:1px solid var(--dvp-border);background:#fff}.dvp-week-day:last-child{border-right:0}.dvp-week-day>i{position:absolute;left:0;right:0;border-top:1px solid #e8edf3}.dvp-week-event{position:absolute;z-index:2;left:5px;right:5px;overflow:hidden;padding:7px 8px;border-left:4px solid var(--dvp-accent);border-radius:7px;background:#e9f0f7;box-shadow:0 3px 10px rgba(5,29,52,.12);color:var(--dvp-navy);font-size:.72rem;line-height:1.25}.dvp-week-event strong,.dvp-week-event span,.dvp-week-event small{display:block}.dvp-week-event strong{font-size:.77rem}.dvp-week-event small{margin-top:2px;color:#586779}.dvp-week-event.dvp-status-future{border-left-color:#4d8fc7;background:#edf5fc}.dvp-week-event.dvp-status-expired{border-left-color:#9ca7b3;background:#f1f3f5;opacity:.62}.dvp-week-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:italic}.dvp-week-event[hidden],[data-training-panel][hidden]{display:none!important}
@media(max-width:760px){.dvp-view-switch{display:grid;grid-template-columns:1fr 1fr;width:100%}.dvp-view-button{padding:8px 5px;font-size:.82rem}.dvp-week-calendar{grid-template-columns:58px repeat(7,135px)}}

/* 2.3.1 – kompakte, überlappungsfreie Trainingswoche */
.dvp-compact-week{display:grid;grid-template-columns:repeat(7,minmax(190px,1fr));gap:14px;overflow-x:auto;padding:4px 2px 14px}
.dvp-compact-day{min-width:190px;background:#fff;border:1px solid rgba(9,35,72,.12);border-radius:16px;overflow:hidden}
.dvp-compact-day>h3{margin:0;padding:12px 14px;background:#0b2b55;color:#fff;font-size:15px}
.dvp-compact-events{display:flex;flex-direction:column;gap:9px;padding:10px}
.dvp-compact-event{display:flex;flex-direction:column;gap:3px;padding:10px;border:1px solid rgba(9,35,72,.12);border-left:4px solid #f2c300;border-radius:10px;background:#f8fafc}
.dvp-compact-event[hidden]{display:none!important}
.dvp-compact-time{font-size:12px;font-weight:800;color:#0b2b55}
.dvp-compact-event strong{font-size:14px;line-height:1.25}
.dvp-compact-event small{font-size:12px;line-height:1.3;color:#526174}
.dvp-compact-note{margin-top:4px;padding-top:5px;border-top:1px solid rgba(9,35,72,.1)}
.dvp-compact-empty{padding:18px 8px;text-align:center;color:#7a8795;font-size:13px}
.dvp-form-hint{margin:-4px 0 14px;color:#667085;font-size:13px}
.dvp-calendar-day.has-events{background:#fff9d9}
@media(max-width:900px){.dvp-compact-week{grid-template-columns:repeat(7,minmax(175px,1fr))}}

/* 2.3.2: kompakte klickbare Zeitachse und Löschaktionen */
.dvp-week-event{overflow:visible!important;min-width:0;padding:0!important;z-index:3}
.dvp-week-event:hover,.dvp-week-event:focus-within{z-index:30}
.dvp-week-event-button{display:block;width:100%;height:100%;min-height:28px;padding:3px 5px;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;font-size:11px;font-weight:800;line-height:1.1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.dvp-week-event-detail{position:absolute;z-index:100;top:calc(100% + 5px);left:0;width:240px;max-width:75vw;padding:12px;border:1px solid #dce4eb;border-radius:10px;background:#fff;box-shadow:0 12px 32px rgba(5,29,52,.2);color:#082d4f;font-size:13px;line-height:1.4}
.dvp-week-event-detail strong,.dvp-week-event-detail span{display:block;margin-bottom:5px}
.dvp-delete-link{display:inline-flex;align-items:center;gap:5px;color:#b42318;font-weight:700;text-decoration:none}
.dvp-delete-link:hover{text-decoration:underline}

/* 3.2.0 – zentriertes Trainings-Popup */
.dvp-week-event-detail{display:none!important}
.dvp-training-modal[hidden]{display:none!important}
.dvp-training-modal{position:fixed;z-index:100000;inset:0;display:grid;place-items:center;padding:20px}
.dvp-training-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(5,29,52,.62);backdrop-filter:blur(4px);cursor:pointer}
.dvp-training-modal-card{position:relative;z-index:1;width:min(460px,100%);max-height:min(680px,calc(100vh - 40px));overflow:auto;padding:24px;border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(5,29,52,.35);color:var(--dvp-navy)}
.dvp-training-modal-close{position:absolute;top:10px;right:12px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:999px;background:#eef2f6;color:var(--dvp-navy);font-size:28px;line-height:1;cursor:pointer}
.dvp-training-modal-content{padding-right:34px;font-size:15px;line-height:1.55}
.dvp-training-modal-content strong{display:block;margin:0 0 14px;font-size:1.35rem}
.dvp-training-modal-content span{display:block;margin:8px 0}
body.dvp-modal-open{overflow:hidden}
@media(max-width:760px){.dvp-training-modal{align-items:end;padding:12px}.dvp-training-modal-card{width:100%;max-height:78vh;padding:22px 20px calc(22px + env(safe-area-inset-bottom));border-radius:20px 20px 14px 14px}.dvp-training-modal-content{padding-right:30px}.dvp-view-switch{grid-template-columns:1fr}.dvp-week-event-button{min-height:32px;font-size:12px}}

.dvp-topbar-user .dvp-user-avatar{overflow:hidden;padding:0;background:#eef2f7}.dvp-topbar-user .dvp-user-avatar img{width:100%;height:100%;object-fit:cover}.dvp-profile-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;align-items:start}.dvp-profile-avatar img{display:block;width:180px;height:180px;border-radius:50%;object-fit:cover;border:5px solid #fff;box-shadow:0 8px 24px rgba(5,29,52,.16)}.dvp-profile-image-form{max-width:560px;margin:22px 0;padding:18px;border-radius:12px;background:#f5f7fa}.dvp-profile-image-form label{display:block;font-weight:800;color:var(--dvp-navy)}.dvp-profile-image-form input[type=file]{display:block;width:100%;margin-top:9px;padding:10px;border:1px solid #cbd5df;border-radius:9px;background:#fff}.dvp-profile-image-form small{display:block;margin:8px 0 14px;color:var(--dvp-muted)}.dvp-profile-actions{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:760px){.dvp-profile-card{grid-template-columns:1fr;text-align:center}.dvp-profile-avatar img{width:140px;height:140px;margin:0 auto}.dvp-profile-image-form{text-align:left}.dvp-profile-actions .dvp-button{width:100%}}

/* Ansprechpartner: Mehrfachfunktionen */
.dvp-checkbox-group{border:0;padding:0;margin:0 0 18px}.dvp-checkbox-group legend{font-weight:700;margin-bottom:8px}.dvp-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px}.dvp-checkbox-grid label{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid rgba(15,23,42,.14);border-radius:10px;background:#fff;cursor:pointer}.dvp-checkbox-grid input{width:18px;height:18px;margin:0;flex:0 0 auto}.dvp-checkbox-grid label:has(input:checked){border-color:var(--dvp-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--dvp-accent) 22%,transparent)}
@media(max-width:600px){.dvp-checkbox-grid{grid-template-columns:1fr}.dvp-checkbox-grid label{min-height:46px}}

.dvp-news-list{display:grid;gap:18px}.dvp-news-card{overflow:hidden;padding:0}.dvp-news-image{display:block;width:100%;max-height:360px;object-fit:cover}.dvp-news-content{padding:22px}.dvp-news-content small{color:var(--dvp-muted)}.dvp-news-content h3{margin:8px 0 12px;color:var(--dvp-navy);font-size:1.35rem}.dvp-news-form small{font-weight:400;color:var(--dvp-muted)}


/* 3.2.6 – Trainingsplan nach Tagen und Hallen */
.dvp-training-card{border-left:6px solid var(--slot-color,var(--dvp-accent))}.dvp-slot-free{background:#f0fbf5}.dvp-slot-free .dvp-training-status{background:#dff5e9;color:#17663f}.dvp-list-closure{border-left-color:#d92d20;background:#fff4f2}.dvp-list-closure .dvp-training-status{background:#fee4e2;color:#b42318}
.dvp-hallplan{display:grid;gap:24px}.dvp-hallplan-day{border:1px solid var(--dvp-border);border-radius:18px;background:#fff;box-shadow:var(--dvp-shadow);overflow:hidden}.dvp-hallplan-day>h3{margin:0;padding:14px 18px;background:var(--dvp-navy);color:#fff;font-size:1.1rem}.dvp-hallplan-scroll{overflow-x:auto}.dvp-hallplan-grid{display:grid;grid-template-columns:repeat(var(--dvp-hall-count),minmax(210px,1fr));min-width:max(100%,calc(var(--dvp-hall-count) * 210px))}.dvp-hall-column{min-width:0;border-right:1px solid var(--dvp-border)}.dvp-hall-column:last-child{border-right:0}.dvp-hall-column>h4{position:sticky;top:0;z-index:2;margin:0;padding:11px 12px;border-bottom:1px solid var(--dvp-border);background:#f3f6f9;color:var(--dvp-navy);text-align:center;font-size:.9rem}.dvp-hall-column-events{display:flex;flex-direction:column;gap:9px;min-height:130px;padding:10px}.dvp-hall-slot{overflow:hidden;border:1px solid color-mix(in srgb,var(--slot-color) 45%,#dce4eb);border-left:7px solid var(--slot-color);border-radius:10px;background:color-mix(in srgb,var(--slot-color) 10%,#fff);box-shadow:0 3px 10px rgba(5,29,52,.08)}.dvp-hall-slot-button{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:52px;padding:10px;border:0;background:transparent;color:var(--dvp-navy);text-align:left;cursor:pointer}.dvp-hall-slot-button span{font-size:.75rem;font-weight:900;white-space:nowrap}.dvp-hall-slot-button strong{overflow:hidden;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.dvp-hall-slot:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(5,29,52,.13)}.dvp-hall-closure{display:flex;flex-direction:column;gap:3px;padding:10px;border:1px solid #f04438;border-left:7px solid #d92d20;border-radius:10px;background:#fff1f0;color:#7a271a}.dvp-hall-closure strong{font-size:.9rem}.dvp-hall-closure span{font-size:.77rem;font-weight:900}.dvp-hall-closure small{font-size:.75rem;line-height:1.3}.dvp-hall-empty{display:grid;place-items:center;min-height:70px;border:1px dashed #ccd5df;border-radius:10px;color:#8a97a5;font-size:.78rem}.dvp-hall-slot[hidden],.dvp-hall-closure[hidden],.dvp-hall-column[hidden],.dvp-hallplan-day[hidden]{display:none!important}
@media(max-width:760px){.dvp-hallplan{gap:18px}.dvp-hallplan-day>h3{padding:13px 15px}.dvp-hallplan-grid{grid-template-columns:repeat(var(--dvp-hall-count),minmax(185px,1fr));min-width:calc(var(--dvp-hall-count) * 185px)}.dvp-hall-column-events{padding:8px}.dvp-hall-slot-button{grid-template-columns:1fr;gap:3px;min-height:58px}.dvp-hall-slot-button strong{font-size:.86rem}.dvp-hall-slot-button span{font-size:.72rem}}

/* 3.2.7 – Hallenhinweise und kompakte Wochenansicht */
.dvp-hall-column-head{position:sticky;top:0;z-index:2;min-height:48px;padding:9px 10px;border-bottom:1px solid var(--dvp-border);background:#f3f6f9;text-align:center}
.dvp-hall-column-head h4{margin:0;color:var(--dvp-navy);font-size:.9rem}
.dvp-hall-head-closure{display:flex;flex-direction:column;gap:1px;margin-top:5px;color:#c01f16;font-size:.72rem;line-height:1.25}
.dvp-hall-head-closure strong{font-weight:900}.dvp-hall-head-closure span{font-size:.68rem}
.dvp-hall-slot-button{grid-template-columns:auto minmax(0,1fr)}
.dvp-hall-slot-button .dvp-hall-slot-time{grid-column:1;grid-row:1}
.dvp-hall-slot-button>strong{grid-column:2;grid-row:1}
.dvp-hall-slot-note,.dvp-hall-slot-valid{grid-column:1/-1;display:block;overflow:hidden;color:#536273;font-size:.7rem;line-height:1.3;text-overflow:ellipsis;white-space:normal}
.dvp-hall-slot-note{padding-top:5px;border-top:1px solid rgba(9,35,72,.1)}
.dvp-hall-slot-valid{font-weight:700;color:#6b7786}
.dvp-compact-event{border-left-color:var(--slot-color,#f2c300);background:color-mix(in srgb,var(--slot-color,#f2c300) 8%,#fff)}
@media(max-width:760px){.dvp-hall-column-head{min-height:50px}.dvp-hall-slot-button{grid-template-columns:1fr}.dvp-hall-slot-button .dvp-hall-slot-time,.dvp-hall-slot-button>strong{grid-column:1;grid-row:auto}.dvp-hall-slot-note,.dvp-hall-slot-valid{font-size:.68rem}}


/* 3.2.8 – Vollbild-Trainingsplan und Ansprechpartner-Zuordnungen */
.dvp-training-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.dvp-training-toolbar .dvp-view-switch{flex:1;margin:0}.dvp-fullscreen-button{flex:0 0 auto;min-height:44px;padding:10px 16px;border:1px solid var(--dvp-border);border-radius:10px;background:#fff;color:var(--dvp-navy);font-weight:800;cursor:pointer}.dvp-fullscreen-button:hover{background:#f3f6f9}.dvp-training-root:fullscreen,.dvp-training-root.is-fullscreen{overflow:auto;width:100vw;height:100vh;padding:20px;background:#eef2f6}.dvp-training-root:fullscreen .dvp-training-toolbar,.dvp-training-root.is-fullscreen .dvp-training-toolbar{position:sticky;top:0;z-index:50;padding:10px;border-radius:14px;background:rgba(238,242,246,.96);box-shadow:0 8px 24px rgba(5,29,52,.14);backdrop-filter:blur(8px)}body.dvp-training-fullscreen-open{overflow:hidden}.dvp-contact-assignment-form{display:grid;gap:10px}.dvp-contact-assignment-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--dvp-border);border-radius:12px;background:#f7f9fb}.dvp-contact-assignment-row label{margin:0}.dvp-assignment-remove{min-height:44px;padding:8px 10px;border:0;background:transparent;color:#b42318;font-weight:800;cursor:pointer}.dvp-assignment-add{margin-top:10px}.dvp-contact-assignments{display:grid;gap:7px;margin:10px 0 14px}.dvp-contact-assignments p{display:flex;flex-wrap:wrap;gap:6px 10px;margin:0;padding:9px 11px;border-radius:9px;background:#f3f6f9}.dvp-contact-assignments strong{color:var(--dvp-navy)}.dvp-contact-assignments span{color:var(--dvp-muted)}
@media(max-width:760px){.dvp-training-toolbar{align-items:stretch;flex-direction:column}.dvp-fullscreen-button{width:100%}.dvp-training-root:fullscreen,.dvp-training-root.is-fullscreen{padding:10px}.dvp-contact-assignment-row{grid-template-columns:1fr}.dvp-assignment-remove{justify-self:start}}

/* 3.2.9 – eigener Portal-Login mit E-Mail-Unterstützung */
.dvp-portal-login-form .dvp-button{width:100%;margin-top:18px}.dvp-login-remember{display:flex!important;align-items:center;gap:8px;font-weight:700!important}.dvp-login-remember input{width:auto!important;min-height:0!important;margin:0!important}

/* 4.0.0 – Portal Core: modulares Dashboard und feste App-Navigation */
.dvp-core-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}
.dvp-core-welcome{display:flex;align-items:center;gap:18px;min-width:0}
.dvp-core-welcome>img{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.85);box-shadow:0 8px 22px rgba(0,0,0,.18)}
.dvp-core-welcome h2{margin:.2rem 0}.dvp-core-notification{position:relative;display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:11px 14px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;text-decoration:none;font-weight:800}.dvp-core-notification strong{display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:var(--dvp-accent);color:var(--dvp-navy);font-size:.75rem}
.dvp-core-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dvp-core-tile{position:relative;overflow:hidden;min-height:112px;border-top:4px solid var(--dvp-tile-color,var(--dvp-accent))}.dvp-core-tile .dvp-tile-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,var(--dvp-tile-color,var(--dvp-accent)) 18%,#fff);font-size:1.35rem}.dvp-core-tile .dvp-tile-copy strong{font-size:1rem}
.dvp-core-bottom-nav button{appearance:none;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.dvp-core-bottom-nav a,.dvp-core-bottom-nav button{min-width:0}.dvp-core-bottom-nav span{font-size:1.25rem}.dvp-core-bottom-nav small{font-size:.68rem}
.dvp-more-backdrop{position:fixed;inset:0;z-index:9997;background:rgba(5,29,52,.45);opacity:0;transition:opacity .22s ease}.dvp-more-backdrop.is-open{opacity:1}.dvp-more-sheet{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:9998;max-height:min(76vh,680px);overflow:auto;padding:10px 18px calc(18px + env(safe-area-inset-bottom));border-radius:24px;background:#fff;box-shadow:0 24px 80px rgba(5,29,52,.3);transform:translateY(115%);transition:transform .22s ease}.dvp-more-sheet.is-open{transform:translateY(0)}.dvp-more-handle{width:44px;height:5px;margin:2px auto 12px;border-radius:999px;background:#ccd5df}.dvp-more-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;color:var(--dvp-navy);font-size:1.15rem}.dvp-more-head button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:#eef2f6;color:var(--dvp-navy);font-size:1.6rem;cursor:pointer}.dvp-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dvp-more-grid a{display:flex;min-width:0;min-height:92px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:12px 8px;border:1px solid var(--dvp-border);border-radius:16px;background:#f8fafc;color:var(--dvp-navy);text-align:center;text-decoration:none}.dvp-more-grid a span{font-size:1.35rem}.dvp-more-grid a strong{font-size:.78rem;line-height:1.25}.dvp-more-grid a:hover{border-color:var(--dvp-accent);background:#fff}body.dvp-more-open{overflow:hidden}
@media(min-width:961px){.dvp-more-sheet,.dvp-more-backdrop{display:none!important}}
@media(max-width:760px){.dvp-core-hero{align-items:flex-start;flex-direction:column}.dvp-core-welcome>img{width:58px;height:58px}.dvp-core-notification{align-self:stretch;justify-content:center}.dvp-core-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dvp-core-tile{min-height:126px;align-items:flex-start;flex-direction:column;padding:15px}.dvp-core-tile .dvp-arrow{position:absolute;right:13px;top:13px}.dvp-core-tile .dvp-tile-copy small{display:block;margin-top:4px;font-size:.72rem;line-height:1.35}.dvp-more-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:390px){.dvp-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dvp-core-grid{grid-template-columns:1fr}}

/* 4.0.1 – unified dark outline icons and robust mobile controls */
.dvp-icon{display:block;width:1.45em;height:1.45em;color:inherit;pointer-events:none}
.dvp-icon-fallback{display:inline-grid;place-items:center;color:inherit;line-height:1}
.dvp-tile-icon{background:#eef2f6!important;color:var(--dvp-navy)!important}
.dvp-core-tile .dvp-tile-icon{background:color-mix(in srgb,var(--dvp-tile-color,var(--dvp-accent)) 18%,#fff)!important;color:var(--dvp-navy)!important}
.dvp-side-nav a>span,.dvp-more-grid a>span{display:grid;place-items:center;color:currentColor}
.dvp-side-nav .dvp-icon{width:22px;height:22px}
.dvp-topbar-user>a .dvp-icon{width:20px;height:20px;color:var(--dvp-accent)}
.dvp-bottom-nav button{display:flex;min-height:54px;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 2px;border:0;border-radius:12px;background:transparent;color:#798696;font:inherit;cursor:pointer}
.dvp-bottom-nav a span,.dvp-bottom-nav button span{display:grid;place-items:center;width:25px;height:25px;font-size:inherit}
.dvp-bottom-nav .dvp-icon{width:24px;height:24px}
.dvp-bottom-nav a small,.dvp-bottom-nav button small{font-size:.7rem;font-weight:850}
.dvp-bottom-nav a.is-active .dvp-icon{color:#9b7900}
.dvp-more-grid .dvp-icon{width:27px;height:27px;color:var(--dvp-navy)}
.dvp-core-tile:active,.dvp-bottom-nav a:active,.dvp-bottom-nav button:active,.dvp-more-grid a:active{transform:scale(.97)}

.dvp-profile-documents{margin-top:18px}.dvp-profile-document-list{display:grid;gap:10px;margin-top:16px}.dvp-profile-document-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e5e7eb;border-radius:12px}.dvp-profile-document-item a{display:flex;flex-direction:column;min-width:0}.dvp-profile-document-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dvp-contact-assignment-row{grid-template-columns:repeat(3,minmax(0,1fr)) auto!important}.dvp-team-optional{opacity:.72}@media(max-width:760px){.dvp-contact-assignment-row{grid-template-columns:1fr!important}.dvp-profile-document-item{align-items:flex-start;flex-direction:column}}


/* 4.2.0 – mobile dashboard alignment and UI polish */
@media(max-width:760px){
  .dvp-app-content{padding-top:28px}
  .dvp-core-tile{
    min-height:134px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:11px;
    padding:18px 48px 18px;
    text-align:center;
  }
  .dvp-core-tile:before{
    top:14px;
    bottom:14px;
    height:auto;
    border-radius:0 999px 999px 0;
  }
  .dvp-core-tile .dvp-tile-icon{
    width:62px;
    height:62px;
    flex:0 0 62px;
    border-radius:17px;
  }
  .dvp-core-tile .dvp-tile-icon .dvp-icon{
    width:34px;
    height:34px;
  }
  .dvp-core-tile .dvp-tile-copy{
    width:100%;
    align-items:center;
    gap:3px;
    text-align:center;
  }
  .dvp-core-tile .dvp-tile-copy strong,
  .dvp-core-tile .dvp-tile-copy small{
    display:block;
    width:100%;
    margin:0;
    text-align:center;
  }
  .dvp-core-tile .dvp-tile-copy strong{font-size:1.03rem;line-height:1.25}
  .dvp-core-tile .dvp-tile-copy small{font-size:.76rem;line-height:1.35}
  .dvp-core-tile .dvp-arrow{
    right:18px;
    top:50%;
    transform:translateY(-50%);
    font-size:25px;
    line-height:1;
  }
}
.dvp-module-group{margin:0 0 24px}.dvp-module-group>h3{margin:0 0 10px;font-size:15px;color:#667085;text-transform:uppercase;letter-spacing:.04em}.dvp-side-group{display:block;padding:16px 14px 6px;color:#98a2b3;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.dvp-more-group{grid-column:1/-1;margin:12px 0 0;font-size:13px;color:#667085;text-transform:uppercase;letter-spacing:.04em}

/* 5.0.0 – zentrale Navigation, Bereichsseiten, Favoriten und Suche */
.dvp-home-section{margin:0 0 28px}.dvp-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 12px}.dvp-section-head h3{margin:2px 0 0;color:var(--dvp-navy);font-size:1.25rem}.dvp-eyebrow-dark{display:block;color:#7c8795;font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.dvp-home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dvp-home-grid .dvp-core-tile{min-height:104px}.dvp-module-card{position:relative;min-width:0}.dvp-module-card>.dvp-core-tile{height:100%}.dvp-favorite{position:absolute;z-index:5;top:11px;right:12px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #d8e0e7;border-radius:50%;background:rgba(255,255,255,.96);color:#8693a1;font-size:20px;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(5,29,52,.08)}.dvp-favorite:hover,.dvp-favorite.is-active{border-color:#e5bb00;background:#fff9dc;color:#b68b00}.dvp-favorite:disabled{opacity:.55;cursor:wait}.dvp-module-card .dvp-core-tile{padding-right:62px}.dvp-module-badge{position:absolute;right:18px;bottom:16px;display:grid;place-items:center;min-width:23px;height:23px;padding:0 7px;border-radius:999px;background:#d9342b;color:#fff;font-size:.72rem;font-weight:900}.dvp-module-card .dvp-arrow{right:20px}.dvp-module-card:has(.dvp-favorite) .dvp-arrow{display:none}
.dvp-recent-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dvp-recent-link{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:12px 14px;border:1px solid var(--dvp-border);border-radius:13px;background:#fff;color:var(--dvp-text);text-decoration:none;box-shadow:0 4px 14px rgba(5,29,52,.05)}.dvp-recent-link:hover{border-color:#d2b221}.dvp-recent-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#eef2f6;color:var(--dvp-navy)}.dvp-recent-icon .dvp-icon{width:23px;height:23px}.dvp-recent-link span:nth-child(2){display:flex;min-width:0;flex-direction:column}.dvp-recent-link strong{overflow:hidden;color:var(--dvp-navy);text-overflow:ellipsis;white-space:nowrap}.dvp-recent-link small{overflow:hidden;color:var(--dvp-muted);font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.dvp-recent-link i{color:#b18b00;font-size:22px;font-style:normal}.dvp-inline-badge,.dvp-side-badge{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#d9342b;color:#fff;font-size:.69rem;font-weight:900}.dvp-side-badge{margin-left:auto}.dvp-side-nav a{position:relative}
.dvp-group-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.dvp-group-links>a{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px;border:1px solid var(--dvp-border);border-radius:14px;background:#fff;color:var(--dvp-navy);text-decoration:none}.dvp-group-links>a>span:first-child{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#eef2f6}.dvp-group-links>a .dvp-icon{width:24px;height:24px}.dvp-group-links>a strong,.dvp-group-links>a small{grid-column:2;display:block}.dvp-group-links>a strong{grid-row:1}.dvp-group-links>a small{grid-row:1;margin-top:32px;color:var(--dvp-muted);font-size:.72rem}.dvp-group-links>a b{grid-column:3;grid-row:1;color:#b18b00;font-size:22px}
.dvp-group-page-head>div{position:relative}.dvp-group-icon{display:inline-grid;place-items:center;width:48px;height:48px;margin:12px 0 4px;border-radius:13px;background:#eef2f6;color:var(--dvp-navy)}.dvp-group-icon .dvp-icon{width:28px;height:28px}.dvp-group-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dvp-module-search,.dvp-more-search{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:0 14px;border:1px solid var(--dvp-border);border-radius:13px;background:#fff}.dvp-module-search span,.dvp-more-search span{display:grid;place-items:center;color:#7b8794}.dvp-module-search .dvp-icon,.dvp-more-search .dvp-icon{width:20px;height:20px}.dvp-module-search input,.dvp-more-search input{width:100%;min-height:48px;border:0;outline:0;background:transparent;color:var(--dvp-text);font:inherit}.dvp-module-card[hidden],[data-dvp-search-item][hidden]{display:none!important}
.dvp-bottom-nav{grid-template-columns:repeat(var(--dvp-nav-count,5),1fr)!important}.dvp-bottom-nav button.is-active{color:var(--dvp-navy);background:#fff8d9}.dvp-bottom-nav button.is-active .dvp-icon{color:#9b7900}.dvp-bottom-nav small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dvp-bottom-nav a,.dvp-bottom-nav button{position:relative}
.dvp-more-sheet{padding-top:10px}.dvp-more-search{margin-bottom:16px;background:#f8fafc}.dvp-more-section-title{margin:18px 0 9px;color:#6f7b89;font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.dvp-more-group-links{display:grid;gap:8px}.dvp-more-group-links>a,.dvp-global-search-results>a{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--dvp-border);border-radius:13px;background:#fff;color:var(--dvp-navy);text-decoration:none}.dvp-more-group-links>a>span:first-child,.dvp-global-search-results>a>span:first-child{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#eef2f6}.dvp-more-group-links .dvp-icon,.dvp-global-search-results .dvp-icon{width:23px;height:23px}.dvp-more-group-links>a>span:nth-child(2),.dvp-global-search-results>a>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.dvp-more-group-links small,.dvp-global-search-results small{color:var(--dvp-muted);font-size:.72rem}.dvp-more-group-links b,.dvp-global-search-results b{color:#b18b00;font-size:22px}.dvp-more-utility-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dvp-more-utility-grid>a{position:relative;display:flex;min-height:88px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:10px;border:1px solid var(--dvp-border);border-radius:14px;background:#f8fafc;color:var(--dvp-navy);text-align:center;text-decoration:none}.dvp-more-utility-grid>a>span{display:grid;place-items:center}.dvp-more-utility-grid .dvp-icon{width:25px;height:25px}.dvp-more-utility-grid strong{font-size:.78rem}.dvp-more-utility-grid .dvp-inline-badge{position:absolute;top:7px;right:7px}.dvp-global-search-results{display:grid;gap:8px}.dvp-global-search-results[hidden]{display:none!important}
@media(max-width:960px){.dvp-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dvp-group-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.dvp-home-dashboard .dvp-core-hero{margin-bottom:20px}.dvp-home-section{margin-bottom:24px}.dvp-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dvp-home-grid .dvp-core-tile{min-height:124px;padding:16px 36px 16px 12px}.dvp-home-grid .dvp-core-tile .dvp-tile-icon{width:52px;height:52px;flex-basis:52px}.dvp-home-grid .dvp-core-tile .dvp-tile-icon .dvp-icon{width:29px;height:29px}.dvp-home-grid .dvp-core-tile .dvp-tile-copy strong{font-size:.92rem}.dvp-home-grid .dvp-core-tile .dvp-tile-copy small{display:none}.dvp-home-grid .dvp-favorite{top:8px;right:8px;width:30px;height:30px;font-size:18px}.dvp-recent-list{grid-template-columns:1fr}.dvp-group-links{grid-template-columns:1fr}.dvp-group-links>a small{margin-top:30px}.dvp-group-module-grid{grid-template-columns:1fr}.dvp-group-module-grid .dvp-core-tile{min-height:104px;align-items:center;flex-direction:row;padding:14px 54px 14px 14px;text-align:left}.dvp-group-module-grid .dvp-core-tile .dvp-tile-icon{width:52px;height:52px;flex:0 0 52px}.dvp-group-module-grid .dvp-core-tile .dvp-tile-copy{align-items:flex-start;text-align:left}.dvp-group-module-grid .dvp-core-tile .dvp-tile-copy strong,.dvp-group-module-grid .dvp-core-tile .dvp-tile-copy small{text-align:left}.dvp-more-utility-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:390px){.dvp-home-grid{grid-template-columns:1fr}.dvp-more-utility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 5.1.0 – Bereiche als aufklappbare Menüs statt eigener Bereichsseiten */
.dvp-side-section{margin:2px 0}.dvp-side-group-toggle{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:10px;width:100%;padding:11px 13px;border:0;border-radius:10px;background:transparent;color:rgba(255,255,255,.78);font:inherit;text-align:left;cursor:pointer;transition:.18s}.dvp-side-group-toggle>span{display:grid;place-items:center}.dvp-side-group-toggle strong{font-size:.9rem}.dvp-side-group-toggle b{font-size:15px;font-weight:900;transition:transform .18s}.dvp-side-group-toggle:hover,.dvp-side-group-toggle.is-active{background:rgba(255,255,255,.09);color:#fff}.dvp-side-section.is-open>.dvp-side-group-toggle b{transform:rotate(180deg)}.dvp-side-group-items{display:grid;gap:3px;margin:3px 0 7px;padding-left:11px;border-left:1px solid rgba(255,255,255,.13)}.dvp-side-group-items[hidden]{display:none!important}.dvp-side-group-items a{padding:9px 10px;font-size:.84rem}.dvp-side-group-items a span{width:19px}.dvp-side-group-items a .dvp-icon{width:18px;height:18px}

.dvp-home-group-accordions{display:grid;gap:10px}.dvp-home-group{overflow:hidden;border:1px solid var(--dvp-border);border-radius:15px;background:#fff;box-shadow:0 4px 14px rgba(5,29,52,.05)}.dvp-home-group-toggle{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:14px;border:0;background:#fff;color:var(--dvp-navy);font:inherit;text-align:left;cursor:pointer}.dvp-home-group-toggle>span:first-child{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#eef2f6}.dvp-home-group-toggle>span:first-child .dvp-icon{width:25px;height:25px}.dvp-home-group-toggle>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.dvp-home-group-toggle small{margin-top:2px;color:var(--dvp-muted);font-size:.74rem}.dvp-home-group-toggle>b{color:#b18b00;font-size:20px;transition:transform .18s}.dvp-home-group.is-open .dvp-home-group-toggle>b{transform:rotate(180deg)}.dvp-home-group-items{display:grid;gap:0;border-top:1px solid var(--dvp-border);background:#fbfcfd}.dvp-home-group-items[hidden]{display:none!important}.dvp-home-group-items>a{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid #edf1f5;color:var(--dvp-navy);text-decoration:none}.dvp-home-group-items>a:last-child{border-bottom:0}.dvp-home-group-items>a>span:first-child{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#eef2f6}.dvp-home-group-items>a>span:first-child .dvp-icon{width:21px;height:21px}.dvp-home-group-items>a>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.dvp-home-group-items small{overflow:hidden;color:var(--dvp-muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.dvp-home-group-items>a>b{color:#b18b00;font-size:21px}

.dvp-menu-group-link{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:11px 12px;border:1px solid var(--dvp-border);border-radius:13px;background:#fff;color:var(--dvp-navy);font:inherit;text-align:left;cursor:pointer}.dvp-menu-group-link>span:first-child{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#eef2f6}.dvp-menu-group-link>span:first-child .dvp-icon{width:23px;height:23px}.dvp-menu-group-link>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.dvp-menu-group-link small{color:var(--dvp-muted);font-size:.72rem}.dvp-menu-group-link>b{color:#b18b00;font-size:22px}.dvp-menu-pane-intro{display:flex;align-items:center;gap:10px;margin:2px 0 14px;padding:10px 12px;border-radius:12px;background:#f7f9fb;color:var(--dvp-muted)}.dvp-menu-pane-intro>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#eef2f6;color:var(--dvp-navy)}.dvp-menu-pane-intro .dvp-icon{width:20px;height:20px}.dvp-menu-pane-intro p{margin:0;font-size:.83rem}.dvp-menu-module-links>a{grid-template-columns:42px minmax(0,1fr) auto auto}.dvp-menu-module-links>a>em{font-style:normal}.dvp-menu-back{width:100%;margin-top:12px;padding:11px;border:1px solid var(--dvp-border);border-radius:12px;background:#f7f9fb;color:var(--dvp-navy);font:inherit;font-weight:800;cursor:pointer}.dvp-bottom-nav button.is-menu-open{background:#fff8d9;color:var(--dvp-navy)}

@media(max-width:760px){.dvp-bottom-nav button{display:flex;min-height:54px;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 2px;border:0;border-radius:12px;background:transparent;color:#798696;font:inherit;cursor:pointer}.dvp-bottom-nav button span{font-size:23px;line-height:1}.dvp-bottom-nav button small{font-size:.7rem;font-weight:850}.dvp-bottom-nav button.is-active,.dvp-bottom-nav button.is-menu-open{color:var(--dvp-navy)}.dvp-bottom-nav button.is-active span,.dvp-bottom-nav button.is-menu-open span{color:#c29900}.dvp-menu-sheet{max-height:min(80vh,720px)}}

/* 5.2.1 – Android-WebView-Stabilität und vorbereitete persönliche Startseite */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.dvp-home-dashboard{isolation:isolate}
.dvp-smart-home-section{position:relative;margin:0 0 28px}
.dvp-home-preview-note{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 16px;padding:12px 15px;border:1px solid #d5e3ef;border-radius:13px;background:#eaf4fc;color:#123d61}.dvp-home-preview-note strong,.dvp-home-preview-note span{display:block}.dvp-home-preview-note span{color:#527087;font-size:.82rem}
.dvp-smart-overview{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:16px}
.dvp-home-widget{min-width:0;padding:20px;border:1px solid var(--dvp-border);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(5,29,52,.07)}
.dvp-home-widget-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:13px}.dvp-home-widget-head h3{margin:2px 0 0;color:var(--dvp-navy);font-size:1.22rem}.dvp-home-widget-head>a,.dvp-home-section-link{color:var(--dvp-navy);font-size:.82rem;font-weight:850;text-decoration:none}.dvp-home-widget-head>a:hover,.dvp-home-section-link:hover{text-decoration:underline}
.dvp-home-events,.dvp-home-actions{display:grid;gap:8px}.dvp-home-event{position:relative;display:grid;grid-template-columns:105px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:12px 13px 12px 16px;overflow:hidden;border:1px solid #e5eaf0;border-radius:13px;background:#fbfcfd;color:var(--dvp-text);text-decoration:none}.dvp-home-event:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#5a8fbb}.dvp-home-event.is-game:before{background:#c99f00}.dvp-home-event.is-event:before{background:#7c5aa6}.dvp-home-event:hover{border-color:#cfd9e2;background:#fff}.dvp-home-event-date{display:flex;flex-direction:column;color:#7a8796;font-size:.69rem;font-weight:900;letter-spacing:.04em}.dvp-home-event-date b{margin-top:2px;color:var(--dvp-navy);font-size:.91rem;letter-spacing:0}.dvp-home-event-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.dvp-home-event-copy strong{overflow:hidden;color:var(--dvp-navy);font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}.dvp-home-event-copy small{overflow:hidden;color:var(--dvp-muted);font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.dvp-home-response{justify-self:end;padding:5px 8px;border-radius:999px;background:#eef2f6;color:#5f6d7a;font-size:.67rem;font-style:normal;font-weight:900;white-space:nowrap}.dvp-home-response.is-yes{background:#e7f7ef;color:#176e47}.dvp-home-response.is-no{background:#fdeceb;color:#a42b24}.dvp-home-response.is-maybe{background:#fff5d9;color:#8b6c00}.dvp-home-response.is-open{background:#fff0da;color:#9a5c00}
.dvp-home-action{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid #e5eaf0;border-radius:12px;background:#fbfcfd;color:var(--dvp-text);text-decoration:none}.dvp-home-action>span:first-child{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#fff0da;color:#8b6500}.dvp-home-action.is-poll>span:first-child{background:#eee8f8;color:#684c88}.dvp-home-action.is-task>span:first-child{background:#e8f4ee;color:#24684a}.dvp-home-action .dvp-icon{width:22px;height:22px}.dvp-home-action>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.dvp-home-action strong{color:var(--dvp-navy);font-size:.84rem}.dvp-home-action small{overflow:hidden;color:var(--dvp-muted);font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}.dvp-home-action .dvp-home-action-subject{margin-top:1px;color:#475569;font-weight:700}.dvp-home-action .dvp-home-action-meta{margin-top:2px;color:#7a8796;font-size:.69rem}.dvp-home-action>b{color:#b18b00;font-size:21px}
.dvp-home-widget-empty{padding:17px;border:1px dashed #cbd5df;border-radius:12px;background:#f8fafc;color:var(--dvp-muted);font-size:.84rem;text-align:center}.dvp-home-widget-empty.is-good{border-color:#cfe7da;background:#eff9f4;color:#26704f}
.dvp-home-training-placeholder{display:flex;align-items:center;justify-content:space-between;gap:18px}.dvp-home-training-placeholder h3{margin:3px 0 6px;color:var(--dvp-navy)}.dvp-home-training-placeholder p{max-width:760px;margin:0;color:var(--dvp-muted)}.dvp-home-status-pill{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#eef2f6;color:#677585;font-size:.75rem;font-weight:900}
.dvp-home-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dvp-home-news-card{overflow:hidden;border:1px solid var(--dvp-border);border-radius:15px;background:#fff;box-shadow:0 6px 18px rgba(5,29,52,.06)}.dvp-home-news-card>div:not(.dvp-home-news-image){padding:15px}.dvp-home-news-image{height:120px;background-position:center;background-size:cover}.dvp-home-news-card small{color:#85919e;font-size:.7rem;font-weight:850}.dvp-home-news-card h4{margin:5px 0 6px;color:var(--dvp-navy);font-size:1rem}.dvp-home-news-card p{margin:0;color:var(--dvp-muted);font-size:.79rem;line-height:1.45}.dvp-smart-quick{margin-top:2px}

@media(max-width:960px){.dvp-smart-overview{grid-template-columns:1fr}.dvp-home-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .dvp-topbar{background:#fff;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .dvp-bottom-nav{background:#fff;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;backface-visibility:hidden;-webkit-backface-visibility:hidden}
  .dvp-home-dashboard,.dvp-core-hero,.dvp-home-section,.dvp-smart-home-section{position:relative}
  .dvp-home-preview-note{flex-direction:column}
  .dvp-smart-hero{margin-bottom:18px!important}
  .dvp-smart-overview{gap:12px}
  .dvp-home-widget{padding:15px;border-radius:15px}
  .dvp-home-event{grid-template-columns:88px minmax(0,1fr);gap:9px;padding:11px 10px 11px 14px}
  .dvp-home-response{grid-column:2;justify-self:start;margin-top:2px}
  .dvp-home-event-copy strong,.dvp-home-event-copy small{white-space:normal}
  .dvp-home-news-grid{grid-template-columns:1fr}
  .dvp-home-news-card{display:grid;grid-template-columns:96px minmax(0,1fr)}
  .dvp-home-news-card:not(:has(.dvp-home-news-image)){display:block}
  .dvp-home-news-image{height:100%;min-height:105px}
  .dvp-home-training-placeholder{align-items:flex-start;flex-direction:column}
}
@media(max-width:390px){.dvp-home-event{grid-template-columns:1fr}.dvp-home-response{grid-column:1}.dvp-home-event-date{flex-direction:row;align-items:center;gap:6px}.dvp-home-event-date b{margin:0}}


/* 5.2.3 – Bereichsfarben: Farbe folgt immer der aktuellen Modul-Zuordnung. */
[data-dvp-group]{--dvp-group-color:#6b7280;--dvp-group-bg:#f0f2f4}
.dvp-tile{--dvp-tile-color:var(--dvp-group-color,var(--dvp-accent))!important}
.dvp-core-tile{border-top:0!important;border-left:4px solid var(--dvp-group-color,var(--dvp-accent))!important;background:#fff!important}
.dvp-tile-icon,.dvp-core-tile .dvp-tile-icon,.dvp-recent-icon{background:var(--dvp-group-bg,#eef2f6)!important;color:var(--dvp-group-color,var(--dvp-navy))!important;box-shadow:none!important}
.dvp-home-group-toggle>span:first-child,.dvp-home-group-items>a>span:first-child,.dvp-menu-group-link>span:first-child,.dvp-menu-pane-intro>span,.dvp-group-icon{background:var(--dvp-group-bg,#eef2f6)!important;color:var(--dvp-group-color,var(--dvp-navy))!important;box-shadow:none!important}
.dvp-home-group-toggle>b,.dvp-home-group-items>a>b,.dvp-menu-group-link>b,.dvp-menu-module-links>a>b{color:var(--dvp-group-color,#6b7280)!important}
.dvp-group-page-head .dvp-group-icon{outline:1px solid color-mix(in srgb,var(--dvp-group-color,#6b7280) 18%,transparent)}
.dvp-side-section[data-dvp-group] .dvp-side-group-toggle>span,.dvp-side-section[data-dvp-group] .dvp-side-group-items a span{color:var(--dvp-group-color)!important}
.dvp-side-section[data-dvp-group] .dvp-side-group-toggle.is-active{background:color-mix(in srgb,var(--dvp-group-color) 15%,transparent)!important;color:#fff}
.dvp-bottom-nav [data-dvp-group].is-active .dvp-icon,.dvp-bottom-nav [data-dvp-group].is-menu-open .dvp-icon{color:var(--dvp-group-color)!important}
.dvp-bottom-nav [data-dvp-group].is-active small,.dvp-bottom-nav [data-dvp-group].is-menu-open small{color:var(--dvp-group-color)!important}
.dvp-more-grid a>span,.dvp-more-utility-grid>a>span{color:var(--dvp-navy)!important}
.dvp-home-action>span:first-child,.dvp-home-action.is-poll>span:first-child,.dvp-home-action.is-task>span:first-child{background:#eef2f6!important;color:var(--dvp-navy)!important}
@media(max-width:760px){.dvp-core-tile{border-left:4px solid var(--dvp-group-color,var(--dvp-accent))!important}.dvp-core-tile:before{display:none!important}}

/* 5.2.4 – self-managed player profile fields */
.dvp-profile-details{margin-top:18px}.dvp-profile-section-head h3{margin:0 0 4px}.dvp-profile-section-head p{margin:0 0 16px;color:var(--dvp-muted)}.dvp-profile-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dvp-player-team-profiles{display:grid;gap:12px;margin:18px 0}.dvp-player-team-profiles>h4{margin:0}.dvp-player-team-profile{padding:14px;border:1px solid var(--dvp-border);border-radius:14px;background:#fbfcfd}.dvp-player-team-profile-head{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:end;gap:14px}.dvp-player-team-profile-head>strong{color:var(--dvp-navy);font-size:1rem}.dvp-player-team-profile fieldset{margin:13px 0 0;padding:0;border:0}.dvp-player-team-profile legend{margin-bottom:7px;color:#6e7b8b;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.dvp-position-checks{display:flex;flex-wrap:wrap;gap:7px}.dvp-position-checks label{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #dfe5ec;border-radius:999px;background:#fff;color:#425268;font-size:.78rem;font-weight:750}.dvp-position-checks label:has(input:checked){border-color:#d6b325;background:#fff8d9;color:#604f00}.dvp-position-checks input{width:auto;min-height:0;margin:0}
@media(max-width:760px){.dvp-profile-contact-grid,.dvp-player-team-profile-head{grid-template-columns:1fr}.dvp-player-team-profile-head label{max-width:180px}}


/* 5.2.5 – native app safe-area support (Android/iOS system bars) */
:root{--dvp-safe-top:max(env(safe-area-inset-top,0px),var(--safe-area-inset-top,0px));--dvp-safe-bottom:max(env(safe-area-inset-bottom,0px),var(--safe-area-inset-bottom,0px))}
@media(max-width:760px){
  .dvp-topbar{box-sizing:border-box;height:calc(62px + var(--dvp-safe-top));padding-top:var(--dvp-safe-top)}
  .dvp-bottom-nav{bottom:calc(10px + var(--dvp-safe-bottom))}
  .dvp-more-sheet,.dvp-menu-sheet{padding-bottom:calc(18px + var(--dvp-safe-bottom))}
}

/* v5.5.0 – Mein Team */
.dvp-myteam-switcher{display:flex;align-items:center;gap:12px;margin:0 0 20px;padding:14px 16px;border:1px solid var(--dvp-border);border-radius:16px;background:#fff;box-shadow:var(--dvp-shadow)}
.dvp-myteam-switcher>span{color:var(--dvp-muted);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.dvp-myteam-pills{display:flex;gap:8px;flex-wrap:wrap}.dvp-myteam-pill{padding:10px 14px;border:1px solid var(--dvp-border);border-radius:12px;color:var(--dvp-navy);font-weight:900;text-decoration:none;background:#f8fafc}.dvp-myteam-pill.is-active{background:var(--dvp-navy);border-color:var(--dvp-navy);color:#fff}.dvp-myteam-more{position:relative;margin-left:auto}.dvp-myteam-more summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:10px 14px;border:1px solid var(--dvp-border);border-radius:12px;color:var(--dvp-navy);font-weight:900;list-style:none}.dvp-myteam-more summary::-webkit-details-marker{display:none}.dvp-myteam-more>div{position:absolute;z-index:30;right:0;top:calc(100% + 8px);min-width:220px;padding:8px;border:1px solid var(--dvp-border);border-radius:12px;background:#fff;box-shadow:0 16px 40px rgba(5,29,52,.18)}.dvp-myteam-more>div a{display:block;padding:10px 12px;border-radius:8px;color:var(--dvp-navy);text-decoration:none}.dvp-myteam-more>div a.is-active,.dvp-myteam-more>div a:hover{background:#eef3f8}.dvp-myteam-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.dvp-myteam-head h2{margin:4px 0;color:var(--dvp-navy)}.dvp-myteam-head p{margin:0;color:var(--dvp-muted)}.dvp-myteam-head-actions{display:flex;gap:8px;flex-wrap:wrap}.dvp-myteam-training{display:flex;gap:10px;overflow:auto;margin-bottom:24px;padding-bottom:4px}.dvp-myteam-training>div{min-width:210px;padding:13px 15px;border:1px solid var(--dvp-border);border-radius:13px;background:#fff}.dvp-myteam-training strong,.dvp-myteam-training span{display:block}.dvp-myteam-training span{margin-top:4px;color:var(--dvp-muted);font-size:.88rem}.dvp-myteam-section{margin-top:26px}.dvp-team-count{color:var(--dvp-muted);font-weight:800}.dvp-team-member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dvp-team-member-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--dvp-border);border-radius:15px;background:#fff;box-shadow:var(--dvp-shadow);text-decoration:none;color:var(--dvp-text);transition:.18s}.dvp-team-member-card:hover{transform:translateY(-2px)}.dvp-team-member-card img{width:58px;height:58px;border-radius:50%;object-fit:cover;background:#eef2f7}.dvp-team-member-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.dvp-team-member-copy strong{overflow:hidden;color:var(--dvp-navy);text-overflow:ellipsis;white-space:nowrap}.dvp-team-member-copy small{color:var(--dvp-muted)}.dvp-team-member-copy em{color:#8b6d00;font-size:.82rem;font-style:normal;font-weight:800}.dvp-team-member-card>b{color:#b08a00;font-size:22px}.dvp-team-member-detail{margin:18px 0 26px}.dvp-team-detail-top{display:flex;align-items:center;gap:18px;margin-top:16px}.dvp-team-detail-top>img{width:104px;height:104px;border-radius:50%;object-fit:cover;background:#eef2f7}.dvp-team-detail-top h2{margin:0 0 8px;color:var(--dvp-navy)}.dvp-team-role-chips{display:flex;gap:6px;flex-wrap:wrap}.dvp-team-role-chips span{padding:5px 9px;border-radius:999px;background:#eef3f8;color:var(--dvp-navy);font-size:.8rem;font-weight:850}.dvp-team-detail-contact{margin-top:20px;padding-top:18px;border-top:1px solid var(--dvp-border)}.dvp-team-detail-contact h3{margin:0 0 10px}.dvp-team-detail-contact>a{display:block;margin:7px 0}.dvp-profile-sharing{margin:0 0 22px;padding:16px;border:1px solid var(--dvp-border);border-radius:12px;background:#f8fafc}.dvp-profile-sharing>strong{display:block;color:var(--dvp-navy);margin-bottom:4px}.dvp-profile-sharing>p{margin:0 0 10px;color:var(--dvp-muted);font-size:.9rem}.dvp-profile-sharing label{display:flex;align-items:center;gap:9px;margin:8px 0;font-weight:700}.dvp-profile-sharing input{width:auto;min-height:0;margin:0}
@media(max-width:1050px){.dvp-team-member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.dvp-myteam-switcher{align-items:flex-start;flex-wrap:wrap;padding:12px}.dvp-myteam-switcher>span{width:100%}.dvp-myteam-pills{flex:1;min-width:0}.dvp-myteam-more{margin-left:0}.dvp-myteam-more>div{right:0;max-width:78vw}.dvp-myteam-head{align-items:flex-start;flex-direction:column}.dvp-myteam-head-actions{width:100%}.dvp-myteam-head-actions .dvp-button{flex:1}.dvp-team-member-grid{grid-template-columns:1fr}.dvp-team-detail-top{align-items:flex-start}.dvp-team-detail-top>img{width:84px;height:84px}}

/* 5.5.1: kompakter Zuständigkeiten-Zugriff in der Topbar */
.dvp-topbar-user>a.dvp-topbar-info{background:#eef2f7;color:var(--dvp-navy);border:1px solid var(--dvp-border)}
.dvp-topbar-user>a.dvp-topbar-info .dvp-icon{color:var(--dvp-navy)}

/* 5.6.1 – Teamrollen / offene Strafen */
.dvp-team-open-fines{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:3px;padding:3px 7px;border:1px solid #ead8a6;border-radius:999px;background:#fff8eb;color:#8a6400;font-size:.72rem;font-weight:850}
.dvp-team-detail-fines{margin:10px 0 0}.dvp-team-detail-fines a{display:inline-flex;padding:7px 10px;border:1px solid #ead8a6;border-radius:10px;background:#fff8eb;color:#765600;text-decoration:none}

/* 5.6.2 – kompakte Checkboxen / Radios in Portalformularen */
.dvp-app-shell input[type="checkbox"],
.dvp-app-shell input[type="radio"],
.dvp-standalone-login input[type="checkbox"],
.dvp-standalone-login input[type="radio"]{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
  padding:0!important;
  margin:0!important;
  border-radius:4px!important;
  flex:0 0 18px!important;
  box-shadow:none!important;
  accent-color:var(--dvp-accent);
  vertical-align:middle;
}
.dvp-app-shell input[type="radio"],
.dvp-standalone-login input[type="radio"]{
  border-radius:50%!important;
}
.dvp-form label.dvp-check,
.dvp-form label:has(> input[type="checkbox"]),
.dvp-form label:has(> input[type="radio"]){
  display:flex;
  align-items:center;
  gap:9px;
}
.dvp-form label.dvp-check input[type="checkbox"],
.dvp-form label.dvp-check input[type="radio"],
.dvp-form label:has(> input[type="checkbox"]) > input[type="checkbox"],
.dvp-form label:has(> input[type="radio"]) > input[type="radio"]{
  margin-top:0!important;
}
.dvp-position-checks input[type="checkbox"],
.dvp-profile-sharing input[type="checkbox"]{
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  min-height:17px!important;
  max-width:17px!important;
  max-height:17px!important;
  padding:0!important;
  margin:0!important;
  flex:0 0 17px!important;
}

/* 5.7.0 – Schiedsrichterscheine & Kontolöschung */
.dvp-referee-profile{margin:20px 0;padding:16px;border:1px solid var(--dvp-border);border-radius:14px;background:#fbfcfd}
.dvp-referee-profile h4{margin:0 0 4px;color:var(--dvp-navy)}
.dvp-referee-alert{display:flex;flex-direction:column;gap:2px;margin:0 0 14px;padding:10px 12px;border-radius:11px;border:1px solid #ead8a6;background:#fff8eb;color:#765600}
.dvp-referee-alert.is-expired{border-color:#efb6b6;background:#fff1f1;color:#8a1f1f}
.dvp-referee-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:4px 8px;border-radius:999px;background:#eef3f8;color:#334155;font-size:.75rem;font-weight:850;line-height:1.25}
.dvp-referee-badge.is-valid{background:#ebf7ef;color:#23633a}
.dvp-referee-badge.is-soon{background:#fff4cf;color:#7a5b00}
.dvp-referee-badge.is-expired{background:#feeaea;color:#8a1f1f}
.dvp-referee-badge.is-unknown{background:#f1f3f5;color:#5a6574}
.dvp-referee-badge.is-none{background:#f4f5f7;color:#6b7280}
.dvp-team-detail-referee{margin-top:20px;padding-top:18px;border-top:1px solid var(--dvp-border)}
.dvp-team-detail-referee h3{margin:0 0 10px}
.dvp-referee-current{margin-bottom:12px}
.dvp-referee-edit-form{margin-top:12px;padding:14px;border:1px solid var(--dvp-border);border-radius:12px;background:#f8fafc}
.dvp-referee-import{margin-top:24px;padding:0!important;overflow:hidden}
.dvp-referee-import>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;list-style:none;color:var(--dvp-navy)}
.dvp-referee-import>summary::-webkit-details-marker{display:none}
.dvp-referee-import>summary span{color:var(--dvp-muted);font-size:.82rem;font-weight:800}
.dvp-referee-import-body{padding:0 18px 18px;border-top:1px solid var(--dvp-border)}
.dvp-referee-import-body>.dvp-notice{margin-top:16px}
.dvp-referee-import-body details{margin-top:7px}
.dvp-referee-import-body ul{margin:8px 0 0 20px}
.dvp-account-privacy{margin-top:18px}
.dvp-account-privacy h3{margin-top:0}
.dvp-button-danger{background:#a12626!important;border-color:#a12626!important;color:#fff!important}
.dvp-button-danger:hover{background:#861d1d!important;border-color:#861d1d!important}
@media(max-width:760px){
 .dvp-referee-import>summary{align-items:flex-start;flex-direction:column;gap:3px}
 .dvp-referee-edit-form .dvp-button{width:100%}
 .dvp-account-privacy .dvp-button{width:100%}
}

/* 5.8.0 – Schiedsrichter- & Trainerlizenzen */
.dvp-license-profile{display:block}
.dvp-license-subsection{margin-top:14px;padding:14px;border:1px solid var(--dvp-border);border-radius:12px;background:#fff}
.dvp-license-subsection h5{margin:0 0 11px;color:var(--dvp-navy);font-size:.95rem}
.dvp-license-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.7fr) minmax(0,1fr);gap:12px}
.dvp-license-grid label{min-width:0}
.dvp-optional{font-size:.72rem;color:var(--dvp-muted);font-weight:700}
.dvp-license-preview{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px}
.dvp-license-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.dvp-license-item{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px}
.dvp-license-number{display:block;color:var(--dvp-muted);font-size:.7rem;font-weight:750;padding-left:4px}
.dvp-referee-badge.is-trainer{background:#edf1fb;color:#334a78}
.dvp-referee-badge.is-trainer.is-valid{background:#eef3ff;color:#314c89}
.dvp-referee-badge.is-trainer.is-soon{background:#fff4cf;color:#7a5b00}
.dvp-referee-badge.is-trainer.is-expired{background:#feeaea;color:#8a1f1f}
.dvp-team-detail-licenses .dvp-referee-current{display:flex;flex-wrap:wrap;gap:7px;align-items:flex-start}
@media(max-width:780px){
 .dvp-license-grid{grid-template-columns:1fr}
}

/* 5.8.1 – Android WebView: sporadisches seitliches Verschieben/Zoomen verhindern */
@media(max-width:760px){
  html:has(.dvp-app-shell),
  body.dvp-app-body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  .dvp-app-shell,
  .dvp-app-main,
  .dvp-topbar,
  .dvp-app-content{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .dvp-app-shell{
    overflow-x:hidden!important;
  }
  .dvp-topbar{
    left:0!important;
    right:0!important;
  }
}

/* 5.8.2 – Mobile Login: Eingabefelder bei geöffneter Tastatur sichtbar halten */
.dvp-login-shell{
  min-height:100dvh;
}
@media(max-width:760px){
  .dvp-login-shell{
    min-height:100dvh;
    padding:14px;
  }
  .dvp-login-card{
    width:min(450px,100%);
    max-height:none;
    padding:24px 20px;
  }

  /* Wird per JS aktiviert, sobald ein Eingabefeld fokussiert ist. */
  .dvp-login-shell.is-keyboard-open{
    min-height:var(--dvp-login-visible-height,100dvh)!important;
    height:var(--dvp-login-visible-height,100dvh)!important;
    align-items:start!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    padding:8px 12px 18px!important;
    scroll-padding-bottom:20px;
  }
  .dvp-login-shell.is-keyboard-open .dvp-login-card{
    margin:0 auto!important;
    max-height:none!important;
    padding:12px 18px 18px!important;
    border-top-width:5px;
    border-radius:14px;
  }
  .dvp-login-shell.is-keyboard-open .dvp-login-brand{
    margin-bottom:2px!important;
  }
  .dvp-login-shell.is-keyboard-open .dvp-login-brand img{
    width:min(120px,40%)!important;
    height:42px!important;
  }
  .dvp-login-shell.is-keyboard-open .dvp-login-brand span{
    width:42px!important;
    height:42px!important;
    border-radius:10px!important;
    font-size:1rem!important;
  }
  .dvp-login-shell.is-keyboard-open .dvp-login-card h1{
    margin:2px 0 0!important;
    font-size:1.25rem!important;
    line-height:1.12!important;
  }
  .dvp-login-shell.is-keyboard-open .dvp-login-card>p{
    display:none!important;
  }
  .dvp-login-shell.is-keyboard-open .dvp-auth-tabs{
    margin:8px 0 8px!important;
    padding:3px!important;
  }
  .dvp-login-shell.is-keyboard-open .dvp-auth-tab{
    min-height:34px!important;
    font-size:.9rem!important;
  }
  .dvp-login-shell.is-keyboard-open .dvp-login-card label,
  .dvp-login-shell.is-keyboard-open .dvp-register-form label{
    margin-top:7px!important;
    margin-bottom:7px!important;
    font-size:.88rem!important;
  }
  .dvp-login-shell.is-keyboard-open .dvp-login-card input[type=text],
  .dvp-login-shell.is-keyboard-open .dvp-login-card input[type=email],
  .dvp-login-shell.is-keyboard-open .dvp-login-card input[type=password],
  .dvp-login-shell.is-keyboard-open .dvp-register-form input{
    min-height:42px!important;
    margin-top:3px!important;
    padding:8px 10px!important;
  }
  .dvp-login-shell.is-keyboard-open .dvp-login-remember{
    margin-top:6px!important;
  }
  .dvp-login-shell.is-keyboard-open .dvp-portal-login-form .dvp-button,
  .dvp-login-shell.is-keyboard-open .dvp-register-form .dvp-button{
    min-height:40px!important;
    margin-top:8px!important;
  }
  .dvp-login-shell.is-keyboard-open .dvp-login-links{
    margin:8px 0 0!important;
    font-size:.82rem!important;
  }
}

/* 5.8.3 – dezentes Ladefeedback */
.dvp-nav-loader{
  position:fixed;
  left:50%;
  bottom:calc(86px + env(safe-area-inset-bottom,0px));
  z-index:10050;
  display:flex;
  align-items:center;
  gap:8px;
  max-width:calc(100vw - 32px);
  padding:9px 13px;
  border:1px solid rgba(10,52,92,.12);
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#0b355c;
  box-shadow:0 8px 26px rgba(17,42,72,.16);
  font-size:.84rem;
  font-weight:800;
  line-height:1;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,8px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.dvp-nav-loader.is-visible{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}
.dvp-nav-loader-spinner{
  width:15px;
  height:15px;
  flex:0 0 15px;
  border:2px solid rgba(11,53,92,.18);
  border-top-color:#f0c400;
  border-radius:50%;
  animation:dvpNavLoaderSpin .72s linear infinite;
}
@keyframes dvpNavLoaderSpin{to{transform:rotate(360deg)}}

/* Der Tap selbst bekommt sofort Feedback, noch bevor der Loader erscheint. */
.dvp-is-loading-tap{
  transform:scale(.985)!important;
  opacity:.82!important;
  transition:transform .08s ease,opacity .08s ease!important;
}
.dvp-navigation-loading .dvp-bottom-nav a.dvp-is-loading-tap,
.dvp-navigation-loading .dvp-button.dvp-is-loading-tap{
  pointer-events:none;
}

@media(min-width:761px){
  .dvp-nav-loader{bottom:24px}
}
@media(prefers-reduced-motion:reduce){
  .dvp-nav-loader,.dvp-is-loading-tap{transition:none!important}
  .dvp-nav-loader-spinner{animation-duration:1.4s}
}


/* 5.9.1 – Ladeanzeige sofort sichtbar und etwas klarer */
.dvp-nav-loader{
  bottom:calc(94px + env(safe-area-inset-bottom,0px))!important;
  padding:10px 14px!important;
  border-color:rgba(10,52,92,.18)!important;
  box-shadow:0 8px 28px rgba(17,42,72,.2)!important;
  transition:opacity .08s ease,transform .08s ease,visibility .08s ease!important;
}
.dvp-nav-loader.is-visible{opacity:1!important;visibility:visible!important;transform:translate(-50%,0)!important}
.dvp-is-loading-tap{opacity:.72!important;transform:scale(.975)!important}
@media(max-width:760px){.dvp-nav-loader{font-size:.88rem!important}}

/* 5.11.0 – Fast Navigation */
.dvp-app-content>.dvp-fast-screen{display:block;min-width:0}
.dvp-app-content>.dvp-fast-screen[hidden]{display:none!important}
.dvp-app-content>.dvp-fast-screen.is-active{animation:dvpFastScreenIn .10s ease-out}
@keyframes dvpFastScreenIn{from{opacity:.985}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .dvp-app-content>.dvp-fast-screen.is-active{animation:none}
}


/* 5.12.2 – Android: „Mein Team“-Karten strikt innerhalb des Viewports halten */
.dvp-myteam-section,
.dvp-team-member-grid,
.dvp-team-member-card,
.dvp-team-member-copy{
  min-width:0;
  max-width:100%;
}
.dvp-team-member-grid{
  width:100%;
  overflow:visible;
}
.dvp-team-member-card{
  box-sizing:border-box;
  width:100%;
  overflow:hidden;
}
.dvp-team-member-card>img{
  flex:0 0 58px;
  min-width:58px;
}
.dvp-team-member-card>b{
  flex:0 0 auto;
  margin-left:auto;
}
.dvp-team-member-copy .dvp-license-badges{
  display:flex;
  min-width:0;
  max-width:100%;
  flex-wrap:wrap;
  gap:4px;
}
.dvp-team-member-copy .dvp-license-item,
.dvp-team-member-copy .dvp-referee-badge,
.dvp-team-member-copy .dvp-team-open-fines{
  min-width:0;
  max-width:100%;
}
@media(max-width:760px){
  .dvp-myteam-section{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  .dvp-team-member-grid{
    display:grid;
    width:100%;
    max-width:100%;
    grid-template-columns:minmax(0,1fr);
  }
  .dvp-team-member-card{
    width:100%;
    max-width:100%;
    min-width:0;
    gap:10px;
    padding:12px;
  }
  .dvp-team-member-card>img{
    width:52px;
    height:52px;
    min-width:52px;
    flex-basis:52px;
  }
  .dvp-team-member-copy{
    width:auto;
    overflow:hidden;
  }
  .dvp-team-member-copy strong,
  .dvp-team-member-copy small,
  .dvp-team-member-copy em{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}

/* 5.13.0 – Frontend Benutzer- & Teamverwaltung */
.dvp-user-management{max-width:1100px;margin:0 auto;min-width:0}
.dvp-um-page-head{margin-bottom:14px}
.dvp-um-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 10px}
.dvp-um-stats button{appearance:none;border:1px solid #e1e5ea;background:#fff;border-radius:14px;padding:13px;text-align:left;cursor:pointer;color:inherit;min-width:0}
.dvp-um-stats button.is-active{border-color:var(--dvp-accent,#f2c300);box-shadow:0 0 0 2px color-mix(in srgb,var(--dvp-accent,#f2c300) 20%,transparent)}
.dvp-um-stats strong{display:block;font-size:1.45rem;color:#0b355c;line-height:1.05}.dvp-um-stats span{display:block;color:#687483;font-size:.78rem;margin-top:4px}
.dvp-um-tabs{display:flex;gap:6px;overflow-x:auto;padding:3px 0 12px;scrollbar-width:none}.dvp-um-tabs::-webkit-scrollbar{display:none}
.dvp-um-tabs button{appearance:none;border:1px solid #dfe4ea;background:#fff;border-radius:999px;padding:8px 13px;font:inherit;font-size:.82rem;font-weight:700;color:#31475b;white-space:nowrap;cursor:pointer}
.dvp-um-tabs button.is-active{background:#0b355c;color:#fff;border-color:#0b355c}.dvp-um-tabs b{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:5px;border-radius:999px;background:var(--dvp-accent,#f2c300);color:#0b355c;font-size:.68rem}
.dvp-um-panel{min-width:0}.dvp-um-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:4px 0 12px}.dvp-um-section-head h3{margin:2px 0 2px;font-size:1.25rem;color:#0b355c}.dvp-um-section-head p{margin:0;color:#6b7480;font-size:.82rem}.dvp-um-count{display:inline-grid;place-items:center;min-width:38px;height:38px;border-radius:12px;background:#f5f6f8;color:#0b355c;font-weight:800}
.dvp-um-approval-list,.dvp-um-member-list,.dvp-um-roster{display:grid;gap:9px}.dvp-um-card,.dvp-um-editor{background:#fff;border:1px solid #e1e5ea;border-radius:16px;padding:14px;min-width:0;overflow:hidden}.dvp-um-person-head{display:flex;align-items:center;gap:11px;min-width:0}.dvp-um-person-head>div{min-width:0}.dvp-um-person-head strong,.dvp-um-person-head h3{display:block;margin:0;color:#0b355c}.dvp-um-person-head small{display:block;color:#6b7480;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dvp-um-avatar{width:48px;height:48px;min-width:48px;border-radius:50%;object-fit:cover;background:#eef1f4}
.dvp-um-approval-card details{margin-top:12px;border-top:1px solid #edf0f2;padding-top:10px}.dvp-um-approval-card summary{cursor:pointer;font-weight:750;color:#0b355c}.dvp-um-form{display:grid;gap:13px;margin-top:12px}.dvp-um-field{display:grid;gap:6px}.dvp-um-field>span,.dvp-um-add-form label>span,.dvp-um-add-roles>span{font-size:.76rem;font-weight:750;color:#46586b}.dvp-um-field select,.dvp-um-add-form select{width:100%;max-width:100%;min-width:0;border:1px solid #d9dfe6;border-radius:10px;padding:9px;background:#fff;color:#172b3d;font:inherit}.dvp-um-form h4,.dvp-um-editor h4,.dvp-um-add-member h4{margin:2px 0 0;color:#0b355c}.dvp-um-form-actions{display:flex;gap:8px;justify-content:flex-end}.dvp-um-reject-form{margin-top:8px;text-align:right}.dvp-um-danger,.dvp-um-roster-actions button{appearance:none;border:0;background:none;color:#b42318;font:inherit;font-weight:700;cursor:pointer;padding:6px}
.dvp-um-assignment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.dvp-um-team-role-card{border:1px solid #e5e8ec;border-radius:12px;padding:10px;min-width:0;background:#fbfcfd}.dvp-um-team-role-card>strong{display:block;color:#0b355c;margin-bottom:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dvp-um-role-checks{display:flex;gap:7px 10px;flex-wrap:wrap}.dvp-um-role-checks label,.dvp-um-add-roles label{display:flex;align-items:center;gap:5px;font-size:.74rem;color:#526172}.dvp-um-role-checks input,.dvp-um-add-roles input{width:17px;height:17px;margin:0;flex:0 0 auto}
.dvp-um-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dfe4ea;border-radius:13px;padding:0 11px;margin-bottom:10px}.dvp-um-search .dvp-icon{width:18px;height:18px}.dvp-um-search input{width:100%;min-width:0;border:0!important;box-shadow:none!important;background:transparent!important;padding:11px 0!important;font:inherit}.dvp-um-member-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;background:#fff;border:1px solid #e4e7eb;border-radius:14px;padding:10px 12px;text-decoration:none!important;color:inherit;min-width:0}.dvp-um-member-row:hover{border-color:#c8d1db}.dvp-um-member-row[hidden]{display:none!important}.dvp-um-member-copy{min-width:0}.dvp-um-member-copy>strong{display:block;color:#0b355c}.dvp-um-member-copy>small{display:block;color:#697685;font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dvp-um-member-row>b{font-size:1.5rem;color:#8a96a3}.dvp-um-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.dvp-um-chips em{font-style:normal;font-size:.64rem;line-height:1.2;background:#eef3f7;color:#37526a;border-radius:999px;padding:4px 7px}
.dvp-um-inline-back{display:inline-flex;margin:0 0 9px}.dvp-um-editor-title{margin-top:4px}.dvp-um-editor-title p{margin:3px 0 0;color:#6d7783;font-size:.77rem}.dvp-um-readonly-role{display:grid;gap:3px;background:#f6f8fa;border-radius:11px;padding:10px}.dvp-um-readonly-role span,.dvp-um-readonly-role small{color:#6c7783;font-size:.72rem}.dvp-um-readonly-role strong{color:#0b355c}
.dvp-um-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dvp-um-team-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:7px 10px;background:#fff;border:1px solid #e1e5ea;border-radius:15px;padding:13px;text-decoration:none!important;color:inherit;min-width:0}.dvp-um-team-card>div{min-width:0}.dvp-um-team-card strong{display:block;color:#0b355c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dvp-um-team-card small{color:#6c7782}.dvp-um-team-card>span{grid-column:1/2;display:flex;flex-wrap:wrap;gap:4px}.dvp-um-team-card em{font-style:normal;background:#f3f5f7;border-radius:999px;padding:4px 7px;font-size:.64rem;color:#536273}.dvp-um-team-card>b{grid-column:2;grid-row:1/3;align-self:center;font-size:1.5rem;color:#8a96a3}
.dvp-um-add-member{background:#f8fafb;border:1px solid #e4e8ec;border-radius:13px;padding:12px;margin:13px 0}.dvp-um-add-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1.2fr) auto;align-items:end;gap:10px;margin-top:9px}.dvp-um-add-form>label{display:grid;gap:5px}.dvp-um-add-roles{display:flex;align-items:center;gap:7px 10px;flex-wrap:wrap}.dvp-um-add-roles>span{width:100%}.dvp-um-roster-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #e7eaed;border-radius:13px;padding:9px 11px;min-width:0}.dvp-um-roster-row>div{min-width:0}.dvp-um-roster-row strong{display:block;color:#0b355c}.dvp-um-roster-row small{display:block;color:#717c87;font-size:.7rem}.dvp-um-roster-actions{display:flex;align-items:center;gap:4px}.dvp-um-roster-actions a{font-size:.72rem;font-weight:700;text-decoration:none}.dvp-um-roster-actions form{margin:0}.dvp-um-roster-actions button{font-size:.72rem}
@media(max-width:760px){.dvp-um-stats{gap:6px}.dvp-um-stats button{padding:10px 8px}.dvp-um-stats strong{font-size:1.2rem}.dvp-um-stats span{font-size:.66rem}.dvp-um-assignment-grid,.dvp-um-team-grid{grid-template-columns:minmax(0,1fr)}.dvp-um-add-form{grid-template-columns:minmax(0,1fr)}.dvp-um-form-actions .dvp-button{width:100%}.dvp-um-roster-row{grid-template-columns:42px minmax(0,1fr);align-items:start}.dvp-um-roster-row .dvp-um-avatar{width:42px;height:42px;min-width:42px}.dvp-um-roster-actions{grid-column:2;justify-content:flex-start}.dvp-um-member-row{grid-template-columns:44px minmax(0,1fr) auto;padding:9px}.dvp-um-member-row .dvp-um-avatar{width:44px;height:44px;min-width:44px}.dvp-um-section-head{align-items:center}.dvp-um-card,.dvp-um-editor{padding:12px}}


/* 5.14.0 – gemeinsamer Team-Kontext */
.dvp-team-context{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:10px 12px;border:1px solid #e2e6eb;border-radius:15px;background:#fff;box-shadow:0 3px 12px rgba(15,35,55,.04)}
.dvp-team-context-copy{display:flex;flex-direction:column;min-width:0}.dvp-team-context-copy>span{font-size:.72rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:#64748b}.dvp-team-context-copy>small{margin-top:2px;color:#8993a1;font-size:.72rem;line-height:1.25}
.dvp-team-context-select{position:relative;min-width:min(260px,46%)}.dvp-team-context-select select{width:100%;min-height:42px;margin:0;padding:0 38px 0 12px;border:1px solid #d8dee7;border-radius:11px;background:#f8fafc;color:#123c62;font:inherit;font-weight:800;box-sizing:border-box}
.dvp-team-context.is-saving{opacity:.72;pointer-events:none}.dvp-team-context.is-saving .dvp-team-context-select:after{content:"";position:absolute;right:12px;top:50%;width:14px;height:14px;margin-top:-7px;border:2px solid #cfd6de;border-top-color:#123c62;border-radius:50%;animation:dvpTeamSpin .65s linear infinite}@keyframes dvpTeamSpin{to{transform:rotate(360deg)}}
@media(max-width:760px){.dvp-team-context{align-items:stretch;display:grid;gap:7px;padding:9px 10px;margin-bottom:10px}.dvp-team-context-copy>small{display:none}.dvp-team-context-select{min-width:0;width:100%}.dvp-team-context-select select{min-height:40px;font-size:.92rem}}


/* 5.15.0 – globale Team-Auswahl in der Topbar */
.dvp-topbar-team{appearance:none;border:1px solid #e1e6ec;background:#fff;color:#173f73;display:inline-flex;align-items:center;gap:6px;min-height:38px;max-width:180px;padding:0 10px;border-radius:999px;font:inherit;font-weight:800;cursor:pointer}.dvp-topbar-team .dvp-icon{width:18px;height:18px;flex:0 0 auto}.dvp-topbar-team>span{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dvp-team-selector-backdrop{position:fixed;inset:0;z-index:10080;background:rgba(9,24,40,.36);opacity:0;transition:.2s}.dvp-team-selector-backdrop.is-open{opacity:1}.dvp-team-selector-sheet{position:fixed;z-index:10090;left:50%;top:76px;transform:translate(-50%,-8px);width:min(520px,calc(100vw - 28px));max-height:calc(100vh - 100px);overflow:auto;background:#fff;border:1px solid #e1e6eb;border-radius:18px;box-shadow:0 20px 60px rgba(10,31,50,.22);padding:10px 12px 14px;opacity:0;transition:.18s}.dvp-team-selector-sheet.is-open{opacity:1;transform:translate(-50%,0)}.dvp-team-selector-handle{display:none}.dvp-team-selector-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 2px 11px;border-bottom:1px solid #edf0f3}.dvp-team-selector-head>div{display:flex;flex-direction:column}.dvp-team-selector-head small{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:#8792a0;font-weight:800}.dvp-team-selector-head strong{color:#0b355c;font-size:1.05rem}.dvp-team-selector-head button{appearance:none;border:0;background:#f2f4f7;color:#42566a;width:34px;height:34px;border-radius:50%;font-size:1.35rem;cursor:pointer}.dvp-team-selector-section{margin-top:12px}.dvp-team-selector-label{display:block;margin:0 0 7px;color:#697787;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.dvp-team-selector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.dvp-team-selector-option{appearance:none;border:1px solid #e2e6eb;background:#fff;color:inherit;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-width:0;padding:9px 10px;border-radius:13px;text-align:left;font:inherit;cursor:pointer}.dvp-team-selector-option>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f4f7fa;color:#173f73}.dvp-team-selector-option .dvp-icon{width:19px;height:19px}.dvp-team-selector-option>div{display:flex;min-width:0;flex-direction:column}.dvp-team-selector-option strong{color:#0b355c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dvp-team-selector-option small{color:#7b8794;font-size:.68rem}.dvp-team-selector-option>b{visibility:hidden;color:#a98600}.dvp-team-selector-option.is-active{border-color:#e5c343;background:#fff9dd}.dvp-team-selector-option.is-active>b{visibility:visible}.dvp-team-selector-option.is-all{margin-bottom:7px}.dvp-team-selector-sheet.is-saving{pointer-events:none;opacity:.7}.dvp-team-context-open{overflow:hidden}
@media(max-width:760px){.dvp-topbar-team{width:38px;height:38px;min-height:38px;padding:0;justify-content:center;border-radius:50%;max-width:none}.dvp-topbar-team>span{display:none}.dvp-team-selector-sheet{left:0;right:0;top:auto;bottom:0;width:100%;max-height:min(78vh,680px);transform:translateY(18px);border-radius:22px 22px 0 0;padding:8px 12px calc(18px + env(safe-area-inset-bottom));border-left:0;border-right:0;border-bottom:0}.dvp-team-selector-sheet.is-open{transform:translateY(0)}.dvp-team-selector-handle{display:block;width:42px;height:4px;border-radius:999px;background:#d4dae1;margin:2px auto 8px}.dvp-team-selector-grid{grid-template-columns:minmax(0,1fr)}.dvp-team-selector-option{padding:9px}.dvp-team-selector-head{padding-top:2px}}

/* Meine Teams: Übersicht statt erzwungener Einzelmannschaft */
.dvp-myteams-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dvp-myteams-overview-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:14px;border:1px solid #e2e6eb;border-radius:15px;background:#fff;color:inherit;text-decoration:none!important;min-width:0}.dvp-myteams-overview-card strong{display:block;color:#0b355c}.dvp-myteams-overview-card small{display:block;margin-top:2px;color:#768290}.dvp-myteams-overview-card b{align-self:center;color:#9ba5af;font-size:1.45rem}.dvp-myteams-overview-card span{grid-column:1/-1;color:#647383;font-size:.72rem}
@media(max-width:760px){.dvp-myteams-overview{grid-template-columns:minmax(0,1fr)}}

/* 5.16 – sichtbarer globaler Teamkontext auf Home */
.dvp-home-team-context{display:inline-flex;align-items:center;margin-top:7px;padding:5px 9px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.12);color:inherit;font-size:.72rem;font-weight:850;line-height:1}


/* 5.17.0 – UI-Aufräumrunde: flachere Profile, Button-Hierarchie, Teamkontext & Ladezustände */
/* Button-Hierarchie: Gelb = Hauptaktion, Outline = sekundär, Rot = destruktiv. */
.dvp-button,.dvp-form button:not(.dvp-button-secondary):not(.secondary):not(.dvp-button-danger){
  border:1px solid transparent;
  box-shadow:0 2px 7px rgba(102,78,0,.10);
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease;
}
.dvp-button:hover,.dvp-form button:hover{box-shadow:0 5px 14px rgba(16,40,72,.10)}
.dvp-button:active,.dvp-form button:active{transform:translateY(1px)}
.dvp-button-secondary,.dvp-button.secondary{
  background:#fff!important;
  color:var(--dvp-navy)!important;
  border:1px solid #cfd8e2!important;
  box-shadow:none!important;
}
.dvp-button-secondary:hover,.dvp-button.secondary:hover{background:#f4f7fa!important;border-color:#aebdcc!important}
.dvp-button:disabled,.dvp-form button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}

/* Aktives Team als kleine, klickbare Kontextebene statt weiterer großer Box. */
.dvp-home-team-context{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  margin-top:10px;
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:rgba(255,255,255,.11);
  color:#fff;
  font:inherit;
  cursor:pointer;
}
.dvp-home-team-context>span{font-size:.61rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;opacity:.7}
.dvp-home-team-context>strong{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}
.dvp-home-team-context>b{font-size:.75rem;opacity:.75}
.dvp-home-team-context:hover{background:rgba(255,255,255,.17)}

/* Home-Termine: Terminart, Titel und Zeit visuell trennen. */
.dvp-home-event{background:#fff;box-shadow:0 2px 10px rgba(16,40,72,.035);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.dvp-home-event:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(16,40,72,.07)}
.dvp-home-event-date{align-self:stretch;justify-content:center;padding:7px 9px;border-radius:10px;background:#f4f7fa}
.dvp-home-event.is-game .dvp-home-event-date{background:#fff8de}.dvp-home-event.is-event .dvp-home-event-date{background:#f7f1fb}
.dvp-home-event-title{display:flex;align-items:center;gap:7px;min-width:0}
.dvp-home-event-title>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dvp-home-event-type{flex:0 0 auto;padding:3px 7px;border-radius:999px;background:#eaf2fb;color:#315d86;font-size:.62rem;font-style:normal;font-weight:900;letter-spacing:.03em}
.dvp-home-event.is-game .dvp-home-event-type{background:#fff2c6;color:#7f6100}
.dvp-home-event.is-event .dvp-home-event-type{background:#f0e9f8;color:#674b84}

/* Spielerprofile: verschachtelte Karten auflösen. Die äußere Karte strukturiert, innen nur Abschnitte. */
.dvp-profile-details>.dvp-form,
.dvp-profile-documents>.dvp-form{
  max-width:none;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.dvp-profile-details>.dvp-profile-section-head{margin-bottom:18px}
.dvp-referee-profile{
  margin:22px 0;
  padding:20px 0;
  border:0;
  border-top:1px solid var(--dvp-border);
  border-bottom:1px solid var(--dvp-border);
  border-radius:0;
  background:transparent;
}
.dvp-license-subsection{
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  gap:8px 18px;
  align-items:start;
  margin:0;
  padding:16px 0;
  border:0;
  border-top:1px solid #edf0f3;
  border-radius:0;
  background:transparent;
}
.dvp-license-subsection:first-of-type{border-top:0}
.dvp-license-subsection h5{grid-column:1;margin:9px 0 0;font-size:.88rem}
.dvp-license-subsection .dvp-license-grid{grid-column:2}
.dvp-license-subsection .dvp-license-preview{grid-column:2;margin:2px 0 0}
.dvp-referee-edit-form{
  max-width:none;
  margin:14px 0 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.dvp-team-detail-licenses .dvp-referee-current{margin-bottom:8px}
.dvp-team-detail-licenses .dvp-referee-edit-form{padding-top:4px}
.dvp-team-detail-contact,.dvp-team-detail-referee{margin-top:18px;padding-top:16px;border-top:1px solid #e7ebef}
.dvp-profile-sharing{padding:14px 0;border:0;border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3;border-radius:0;background:transparent}
.dvp-player-team-profile{padding:12px 0!important;border:0!important;border-top:1px solid #edf0f3!important;border-radius:0!important;background:transparent!important}
.dvp-player-team-profile:last-child{border-bottom:1px solid #edf0f3!important}
.dvp-profile-image-form{padding:16px 0;border-radius:0;background:transparent;border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3}
.dvp-profile-document-item{border-left:0;border-right:0;border-radius:0;padding-left:0;padding-right:0}

/* Ladezustand: sichtbarer Fortschritt ohne die Seite mit einer weiteren Box zu überdecken. */
.dvp-nav-loader{border-radius:14px!important;padding:10px 13px!important;gap:9px!important}
.dvp-nav-loader-copy{display:flex;flex-direction:column;gap:2px;line-height:1.05;text-align:left}
.dvp-nav-loader-copy strong{font-size:.78rem;color:#0b355c}.dvp-nav-loader-copy small{font-size:.66rem;color:#788695;font-weight:700}
html.dvp-navigation-loading::after{
  content:"";
  position:fixed;
  z-index:10120;
  top:0;
  left:0;
  height:3px;
  width:36%;
  border-radius:0 999px 999px 0;
  background:var(--dvp-accent,#f2c300);
  box-shadow:0 0 10px rgba(242,195,0,.45);
  animation:dvpLoadingBar 1.05s ease-in-out infinite;
  pointer-events:none;
}
@keyframes dvpLoadingBar{0%{transform:translateX(-105%)}55%{transform:translateX(160%)}100%{transform:translateX(300%)}}

@media(max-width:780px){
  .dvp-license-subsection{grid-template-columns:1fr;gap:8px;padding:14px 0}
  .dvp-license-subsection h5,.dvp-license-subsection .dvp-license-grid,.dvp-license-subsection .dvp-license-preview{grid-column:1}
  .dvp-license-subsection h5{margin:0}
  .dvp-home-event-title{align-items:flex-start;flex-direction:column;gap:4px}
  .dvp-home-event-title>strong{white-space:normal}
}
@media(prefers-reduced-motion:reduce){html.dvp-navigation-loading::after{animation-duration:2s}}

/* 5.18.0 – Portal Design System: einheitliche Tabs, Segmente und Filter */
:root{
  --dvp-ui-control-h:42px;
  --dvp-ui-control-radius:11px;
  --dvp-ui-tabs-bg:#eef2f6;
  --dvp-ui-tabs-border:#dfe5ec;
  --dvp-ui-active:#173f73;
  --dvp-ui-control-text:#526176;
  --dvp-ui-field-border:#cfd8e2;
}

/* Modul-Tabs und Ansichtsumschalter: unabhängig vom Plugin immer gleich. */
.dvp-app-content .dvp-ui-tabs{
  display:flex!important;
  align-items:stretch!important;
  gap:4px!important;
  max-width:100%;
  margin:0 0 16px!important;
  padding:5px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  flex-wrap:nowrap!important;
  border:1px solid var(--dvp-ui-tabs-border)!important;
  border-radius:14px!important;
  background:var(--dvp-ui-tabs-bg)!important;
  box-shadow:inset 0 1px 1px rgba(16,40,72,.025)!important;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.dvp-app-content .dvp-ui-tabs::-webkit-scrollbar{display:none}
.dvp-app-content .dvp-ui-tabs>:is(a,button,[role="tab"]){
  appearance:none;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  min-height:40px!important;
  margin:0!important;
  padding:9px 13px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  background:transparent!important;
  color:var(--dvp-ui-control-text)!important;
  box-shadow:none!important;
  font:inherit!important;
  font-size:.8rem!important;
  font-weight:850!important;
  line-height:1.15!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  cursor:pointer;
}
.dvp-app-content .dvp-ui-tabs>:is(a,button,[role="tab"]):hover{background:#fff!important;color:var(--dvp-ui-active)!important}
.dvp-app-content .dvp-ui-tabs>:is(.is-active,[aria-selected="true"],[aria-current="page"]){
  border-color:var(--dvp-ui-active)!important;
  background:var(--dvp-ui-active)!important;
  color:#fff!important;
  box-shadow:0 3px 9px rgba(23,63,115,.16)!important;
}

/* Kleine Filter-/Ansichtssegmente innerhalb eines Filters. */
.dvp-app-content .dvp-ui-segmented{
  display:flex!important;
  align-items:stretch!important;
  gap:4px!important;
  max-width:100%;
  padding:4px!important;
  overflow-x:auto;
  border:1px solid var(--dvp-ui-tabs-border)!important;
  border-radius:12px!important;
  background:#f6f8fa!important;
  scrollbar-width:none;
}
.dvp-app-content .dvp-ui-segmented::-webkit-scrollbar{display:none}
.dvp-app-content .dvp-ui-segmented>:is(a,button){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:1 0 max-content!important;
  min-height:36px!important;
  padding:7px 10px!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  background:transparent!important;
  color:var(--dvp-ui-control-text)!important;
  font-size:.78rem!important;
  font-weight:850!important;
  line-height:1.15!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.dvp-app-content .dvp-ui-segmented>:is(.is-active,[aria-selected="true"],[aria-pressed="true"]){background:var(--dvp-ui-active)!important;border-color:var(--dvp-ui-active)!important;color:#fff!important;box-shadow:0 2px 6px rgba(23,63,115,.12)!important}

/* Klassische Filterformulare: gleiche Feldhöhe und ruhigere Oberfläche. */
.dvp-app-content .dvp-ui-filter-form{
  gap:12px!important;
  padding:14px!important;
  border:1px solid #e1e6ec!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 2px 10px rgba(16,40,72,.035)!important;
}
.dvp-app-content .dvp-ui-filter-form label{color:#41546a;font-size:.75rem;font-weight:800!important}
.dvp-app-content .dvp-ui-filter-form :is(select,input[type="date"],input[type="search"],input[type="text"]){
  min-height:var(--dvp-ui-control-h)!important;
  margin-top:5px;
  border:1px solid var(--dvp-ui-field-border)!important;
  border-radius:var(--dvp-ui-control-radius)!important;
  background:#fff!important;
  color:#183b5d!important;
  box-shadow:none!important;
}

/* Aufklappfilter folgen derselben visuellen Sprache. */
.dvp-app-content .dvp-ui-filter-popover>summary{
  min-height:46px!important;
  border:1px solid var(--dvp-ui-tabs-border)!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(16,40,72,.035)!important;
}
.dvp-app-content .dvp-ui-filter-popover[open]>summary{border-color:#becbd8!important;background:#fbfcfd!important}

/* Home: Uhrzeit auf Mobil kleiner + immer in einer Zeile. */
.dvp-home-event-date b{white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:760px){
  .dvp-home-event{grid-template-columns:88px minmax(0,1fr)}
  .dvp-home-event-date{padding:7px 7px;font-size:.65rem}
  .dvp-home-event-date b{font-size:.72rem;line-height:1.15;letter-spacing:-.015em}
  .dvp-app-content .dvp-ui-tabs{margin-right:-4px!important}
  .dvp-app-content .dvp-ui-tabs>:is(a,button,[role="tab"]){min-height:42px!important;padding:9px 12px!important}
}
@media(max-width:390px){
  .dvp-home-event-date{flex-direction:row;align-items:center;justify-content:flex-start;gap:6px;padding:6px 8px}
  .dvp-home-event-date b{font-size:.71rem}
}
/* 5.19.0 – Portalweite UI-Migration für bestehende Module */
:root{
  --dvp-ui-surface:#fff;
  --dvp-ui-surface-soft:#f7f9fb;
  --dvp-ui-line:#dfe6ed;
  --dvp-ui-line-strong:#cbd6e1;
  --dvp-ui-primary:#173f73;
  --dvp-ui-primary-hover:#0f315d;
  --dvp-ui-danger:#b42318;
  --dvp-ui-danger-soft:#fff1f0;
  --dvp-ui-success:#18794e;
  --dvp-ui-warning:#8a6900;
  --dvp-ui-shadow:0 2px 10px rgba(16,40,72,.045);
  --dvp-ui-radius:14px;
}

/* Gemeinsame Modulfläche: gleiche Typografie und Form-Controls, unabhängig vom Plugin-Präfix. */
.dvp-app-content .dvp-ui-module{min-width:0;max-width:100%;color:var(--dvp-text)}
/* 5.21.1 – Kontrastsichere Überschriften: nicht global blau erzwingen.
   Überschriften erben die Farbe ihrer Fläche; auf weißen Standardflächen bleibt sie dunkel,
   auf dunklen/farbigen Modulköpfen dagegen automatisch hell. */
:where(.dvp-app-content .dvp-ui-module) :where(h1,h2,h3,h4){color:inherit}
/* Explizit helle Standardflächen dürfen weiterhin die Portal-Hauptfarbe nutzen. */
.dvp-app-content .dvp-ui-module :is(.dvp-card,.dv-card,.dvp-ui-filter-form,.dvp-ui-filter-popover) > :where(h1,h2,h3,h4){color:var(--dvp-navy)}
/* Aktive/dunkle Bedienelemente behalten ihren Kontrast auch bei verschachtelten Text-Elementen. */
.dvp-app-content .dvp-ui-tabs>:is(.is-active,.active,[aria-selected="true"],[aria-current="page"]) :where(span,strong,small),
.dvp-app-content .dvp-ui-segmented>:is(.is-active,.active,[aria-selected="true"],[aria-pressed="true"]) :where(span,strong,small){color:inherit!important}
.dvp-app-content .dvp-ui-module :where(input[type="text"],input[type="email"],input[type="number"],input[type="date"],input[type="datetime-local"],input[type="time"],input[type="search"],input[type="url"],select,textarea){
  max-width:100%;border:1px solid var(--dvp-ui-line-strong)!important;border-radius:11px!important;background:#fff!important;color:#193a5a!important;box-shadow:none!important;font:inherit!important
}
.dvp-app-content .dvp-ui-module :where(input[type="text"],input[type="email"],input[type="number"],input[type="date"],input[type="datetime-local"],input[type="time"],input[type="search"],input[type="url"],select){min-height:42px!important;padding:9px 11px!important}
.dvp-app-content .dvp-ui-module textarea{padding:10px 11px!important}
.dvp-app-content .dvp-ui-module :where(input,select,textarea):focus{outline:0!important;border-color:#9fb1c4!important;box-shadow:0 0 0 3px rgba(23,63,115,.10)!important}
.dvp-app-content .dvp-ui-module label{line-height:1.35}

/* Einheitliche Seitenköpfe für Core + ältere Einzelplugins. */
.dvp-app-content :is(.dvp-page-head,.dvp-um-page-head,.dvgk-heading,.dvgk-shifts-heading,.dvam-head,.dvtg-head,.dv-head,.dvvz-heading,.dvap-heading,.dvtp-header){
  position:relative;margin:0 0 20px!important;padding:0 0 16px!important;border:0!important;border-bottom:1px solid var(--dvp-ui-line)!important;background:transparent!important;box-shadow:none!important
}
.dvp-app-content :is(.dvp-page-head,.dvp-um-page-head,.dvgk-heading,.dvgk-shifts-heading,.dvam-head,.dvtg-head,.dv-head,.dvvz-heading,.dvap-heading,.dvtp-header)::after{
  content:"";position:absolute;left:0;bottom:-1px;width:52px;height:3px;border-radius:999px;background:var(--dvp-accent)
}
.dvp-app-content :is(.dvgk-heading,.dvgk-shifts-heading,.dvam-head,.dvtg-head,.dv-head,.dvvz-heading,.dvap-heading,.dvtp-header) :where(h1,h2){margin-top:0!important;margin-bottom:5px!important;color:var(--dvp-navy)!important}

/* Haupttabs: eine gemeinsame Navigationssprache. */
.dvp-app-content .dvp-ui-tabs{
  display:flex!important;align-items:stretch!important;gap:4px!important;max-width:100%!important;margin:0 0 16px!important;padding:5px!important;overflow-x:auto!important;overflow-y:hidden!important;flex-wrap:nowrap!important;border:1px solid var(--dvp-ui-tabs-border)!important;border-radius:14px!important;background:var(--dvp-ui-tabs-bg)!important;box-shadow:none!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch
}
.dvp-app-content .dvp-ui-tabs::-webkit-scrollbar{display:none}
.dvp-app-content .dvp-ui-tabs>:is(a,button,[role="tab"]){
  appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;min-height:40px!important;margin:0!important;padding:9px 13px!important;border:1px solid transparent!important;border-radius:10px!important;background:transparent!important;color:var(--dvp-ui-control-text)!important;box-shadow:none!important;font:inherit!important;font-size:.8rem!important;font-weight:850!important;line-height:1.15!important;text-decoration:none!important;white-space:nowrap!important;cursor:pointer!important
}
.dvp-app-content .dvp-ui-tabs>:is(a,button,[role="tab"]):hover{background:#fff!important;color:var(--dvp-ui-active)!important}
.dvp-app-content .dvp-ui-tabs>:is(.is-active,.active,[aria-selected="true"],[aria-current="page"]){border-color:var(--dvp-ui-active)!important;background:var(--dvp-ui-active)!important;color:#fff!important;box-shadow:0 3px 9px rgba(23,63,115,.15)!important}

/* Unteransichten / kleine Umschalter. */
.dvp-app-content .dvp-ui-segmented{
  display:flex!important;align-items:stretch!important;gap:4px!important;max-width:100%!important;margin:0!important;padding:4px!important;overflow-x:auto!important;flex-wrap:nowrap!important;border:1px solid var(--dvp-ui-line)!important;border-radius:12px!important;background:#f5f7fa!important;box-shadow:none!important;scrollbar-width:none!important
}
.dvp-app-content .dvp-ui-segmented::-webkit-scrollbar{display:none}
.dvp-app-content .dvp-ui-segmented>:is(a,button,[role="tab"]){
  appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;min-height:36px!important;margin:0!important;padding:7px 11px!important;border:1px solid transparent!important;border-radius:9px!important;background:transparent!important;color:#536479!important;box-shadow:none!important;font:inherit!important;font-size:.77rem!important;font-weight:850!important;line-height:1.15!important;text-decoration:none!important;white-space:nowrap!important;cursor:pointer!important
}
.dvp-app-content .dvp-ui-segmented>:is(.is-active,.active,[aria-selected="true"],[aria-pressed="true"]){background:var(--dvp-ui-primary)!important;border-color:var(--dvp-ui-primary)!important;color:#fff!important;box-shadow:0 2px 6px rgba(23,63,115,.12)!important}

/* Filter sehen gleich aus, bleiben funktional aber modulspezifisch. */
.dvp-app-content .dvp-ui-filter-form{
  display:grid;gap:12px!important;margin:0 0 16px!important;padding:14px!important;border:1px solid var(--dvp-ui-line)!important;border-radius:var(--dvp-ui-radius)!important;background:var(--dvp-ui-surface)!important;box-shadow:var(--dvp-ui-shadow)!important;color:var(--dvp-text)!important
}
.dvp-app-content .dvp-ui-filter-form label{color:#41546a!important;font-size:.75rem!important;font-weight:800!important}
.dvp-app-content .dvp-ui-filter-form :where(select,input[type="date"],input[type="search"],input[type="text"],input[type="number"]){min-height:42px!important;margin-top:5px!important;border:1px solid var(--dvp-ui-field-border)!important;border-radius:11px!important;background:#fff!important;color:#183b5d!important;box-shadow:none!important}
.dvp-app-content .dvp-ui-filter-popover>summary{min-height:46px!important;border:1px solid var(--dvp-ui-line)!important;border-radius:13px!important;background:#fff!important;box-shadow:var(--dvp-ui-shadow)!important}
.dvp-app-content .dvp-ui-filter-popover[open]>summary{border-color:#becbd8!important;background:#fbfcfd!important}

/* Eine Hierarchie für Aktionen: primär gelb, sekundär weiß/Outline, destruktiv rot. */
.dvp-app-content .dvp-ui-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.dvp-app-content .dvp-ui-button{
  appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-height:42px!important;padding:9px 14px!important;border-radius:10px!important;font:inherit!important;font-size:.82rem!important;font-weight:850!important;line-height:1.15!important;text-decoration:none!important;box-shadow:none!important;cursor:pointer!important
}
.dvp-app-content .dvp-ui-button-primary{border:1px solid #d8ad00!important;background:var(--dvp-accent)!important;color:var(--dvp-dark)!important}
.dvp-app-content .dvp-ui-button-primary:hover{filter:brightness(.97)}
.dvp-app-content .dvp-ui-button-secondary{border:1px solid var(--dvp-ui-line-strong)!important;background:#fff!important;color:var(--dvp-ui-primary)!important}
.dvp-app-content .dvp-ui-button-secondary:hover{background:#f5f8fb!important}
.dvp-app-content .dvp-ui-button-danger{border:1px solid #efc2bd!important;background:var(--dvp-ui-danger-soft)!important;color:var(--dvp-ui-danger)!important}

/* Karten: weniger schwere Schatten; verschachtelte Karten werden automatisch flacher. */
.dvp-app-content .dvp-ui-module :is(.dvp-card,.dv-card,.dvgk-season-card,.dvgk-accred-admin-card,.dvgk-modal-card,.dvgk-shift-card,.dvam-card,.dvam-panel,.dvam-my-key-card,.dvtg-card,.dvvz-contact-card,.dvap-contact-card,.dvtp-card,.dvts-card){
  border-color:var(--dvp-ui-line)!important;border-radius:var(--dvp-ui-radius)!important;box-shadow:var(--dvp-ui-shadow)!important
}
.dvp-app-content .dvp-ui-module :is(.dvp-card,.dv-card,.dvgk-season-card,.dvgk-accred-admin-card,.dvgk-shift-card,.dvam-card,.dvam-panel,.dvam-my-key-card,.dvtg-card,.dvvz-contact-card,.dvap-contact-card,.dvtp-card,.dvts-card) :is(.dvp-card,.dv-card,.dvgk-season-card,.dvgk-shift-card,.dvam-card,.dvam-panel,.dvtg-card,.dvtp-card,.dvts-card){
  border-radius:11px!important;box-shadow:none!important;background:var(--dvp-ui-surface-soft)!important
}

/* Status-Chips sind überall kompakt und gleich lesbar. */
.dvp-app-content .dvp-ui-status{display:inline-flex!important;align-items:center!important;gap:5px!important;min-height:25px!important;padding:4px 8px!important;border-radius:999px!important;font-size:.68rem!important;font-weight:850!important;line-height:1.1!important;white-space:nowrap!important}

/* Modulspezifische Altstrukturen an das System anbinden. */
.dvp-app-content :is(.dvgk-toolbar,.dvam-plan-head,.dvam-section-head,.dvtg-table-tools,.dvvz-finder-head,.dvap-finder-head,.dvtp-cardhead,.dvgk-shift-cardhead){gap:10px!important}
.dvp-app-content :is(.dvgk-grid,.dvgk-compact-grid,.dvgk-accred-admin-grid,.dvgk-admin-grid,.dvam-grid,.dvtg-grid,.dv-grid,.dvvz-contact-grid,.dvap-contact-grid,.dvtp-grid2){gap:12px!important}
.dvp-app-content :is(.dvgk-form-grid,.dvam-form,.dvtg-form-grid,.dv-form-row,.dvtp-formgrid){gap:12px!important}
.dvp-app-content :is(.dvgk-entry-form,.dvgk-manager-form,.dvgk-manager-edit-form,.dvam-transfer-form,.dvam-team-assets-form,.dvgk-shift-form,.dvtp-form,.dvtp-manual-form){border-radius:var(--dvp-ui-radius)!important}

/* Umfragen: vorhandene Buttons in die gemeinsame Hierarchie übersetzen, ohne Funktionen zu verändern. */
.dvp-app-content .dv-btn-primary{background:var(--dvp-accent)!important;color:var(--dvp-dark)!important;border-color:#d8ad00!important}
.dvp-app-content .dv-btn-secondary{background:#fff!important;color:var(--dvp-ui-primary)!important;border-color:var(--dvp-ui-line-strong)!important}
.dvp-app-content .dv-btn-danger{background:var(--dvp-ui-danger-soft)!important;color:var(--dvp-ui-danger)!important;border-color:#efc2bd!important}

/* Trainingsplaner: seine horizontale Navigation verhält sich wie die restlichen Portal-Tabs. */
.dvp-app-content .dvtp-nav{position:relative!important;top:auto!important;z-index:auto!important;box-shadow:none!important}
.dvp-app-content .dvtp-load{border-radius:12px!important;background:#f7f9fb!important;color:#65758b!important}

/* Leere Zustände statt weiterer Box. */
.dvp-app-content :is(.dvp-empty,.dvtp-empty){padding:24px!important;border:1px dashed #c7d2dd!important;border-radius:14px!important;background:#fbfcfd!important;color:#6c7b8c!important;box-shadow:none!important;text-align:center!important}

/* Mobil: Tabs bleiben in einer Zeile scrollbar; Aktionsleisten werden gut antippbar. */
@media(max-width:760px){
  .dvp-app-content .dvp-ui-tabs,.dvp-app-content .dvp-ui-segmented{width:100%!important;max-width:100%!important}
  .dvp-app-content .dvp-ui-tabs>:is(a,button,[role="tab"]){min-height:42px!important;padding:9px 12px!important}
  .dvp-app-content .dvp-ui-actions{align-items:stretch!important}
  .dvp-app-content .dvp-ui-actions>.dvp-ui-button{flex:1 1 auto!important}
  .dvp-app-content :is(.dvgk-heading,.dvgk-shifts-heading,.dvam-head,.dvtg-head,.dv-head,.dvvz-heading,.dvap-heading,.dvtp-header){align-items:flex-start!important}
  .dvp-app-content .dvp-ui-module :where(input[type="text"],input[type="email"],input[type="number"],input[type="date"],input[type="datetime-local"],input[type="time"],input[type="search"],input[type="url"],select,textarea){font-size:16px!important}
}

/* Sehr kleine Displays: nicht umbrechen, sondern horizontal scrollen – die Bedienlogik bleibt damit überall gleich. */
@media(max-width:390px){
  .dvp-app-content .dvp-ui-tabs>:is(a,button,[role="tab"]){font-size:.76rem!important;padding-inline:10px!important}
  .dvp-app-content .dvp-ui-segmented>:is(a,button,[role="tab"]){font-size:.74rem!important;padding-inline:9px!important}
}


/* 5.20.0 – Startseite: robuste mobile Termin-Karten auf iOS und Android */
@media(max-width:760px){
  .dvp-home-events{gap:10px}
  .dvp-home-event{
    grid-template-columns:96px minmax(0,1fr)!important;
    grid-template-areas:"date copy" "response response"!important;
    align-items:stretch!important;
    column-gap:12px!important;
    row-gap:10px!important;
    padding:12px 12px 12px 15px!important;
  }
  .dvp-home-event-date{
    grid-area:date!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:2px!important;
    padding:9px 9px!important;
    font-size:11px!important;
    line-height:1.2!important;
    letter-spacing:.035em!important;
  }
  .dvp-home-event-date b{
    display:block!important;
    max-width:100%!important;
    margin:2px 0 0!important;
    font-size:12px!important;
    line-height:1.15!important;
    letter-spacing:-.025em!important;
    white-space:nowrap!important;
    font-variant-numeric:tabular-nums!important;
  }
  .dvp-home-event-copy{grid-area:copy!important;align-self:center!important;min-width:0!important}
  .dvp-home-event-title{min-width:0!important}
  .dvp-home-event-title>strong{font-size:.92rem!important;line-height:1.18!important}
  .dvp-home-event-copy small{font-size:.76rem!important;line-height:1.3!important}
  .dvp-home-response{
    grid-area:response!important;
    grid-column:auto!important;
    justify-self:start!important;
    margin:0!important;
    padding:5px 9px!important;
    font-size:.7rem!important;
  }
}
@media(max-width:370px){
  .dvp-home-event{
    grid-template-columns:88px minmax(0,1fr)!important;
    column-gap:10px!important;
    padding-right:10px!important;
  }
  .dvp-home-event-date{padding:8px 7px!important;font-size:10.5px!important}
  .dvp-home-event-date b{font-size:11px!important;letter-spacing:-.035em!important}
  .dvp-home-event-title>strong{font-size:.89rem!important}
  .dvp-home-event-copy small{font-size:.73rem!important}
}


/* 5.21.1 – Kontrast-Fix für dunkle Trainingsplan-Kopfzeilen.
   Die globale Design-System-Regel bleibt bewusst schwach, damit modulbezogene
   Farbdefinitionen Vorrang haben. Bekannte dunkle Trainingsplanflächen werden
   zusätzlich explizit abgesichert. */
.dvp-app-content .dvp-training-root .dvp-compact-day>h3,
.dvp-app-content .dvp-training-root .dvp-hallplan-day>h3,
.dvp-app-content .dvp-training-root .dvp-week-day-head,
.dvp-app-content .dvp-training-root .dvp-week-time-head{
  color:#fff!important;
}

/* 5.22.0 – Navigation: aktive Funktion im Gruppenmenü klar markieren. */
.dvp-menu-module-links>a.is-active{
  background:var(--dvp-group-bg,#eef6fa)!important;
  border-color:var(--dvp-group-color,#2F6F95)!important;
  box-shadow:inset 4px 0 0 var(--dvp-group-color,#2F6F95)!important;
}
.dvp-menu-module-links>a.is-active>span:first-child{
  background:#fff!important;
  color:var(--dvp-group-color,#2F6F95)!important;
}
.dvp-menu-module-links>a.is-active strong{color:var(--dvp-navy)!important}
.dvp-menu-module-links>a.is-active>b{font-weight:900!important}


/* 5.23.0 – Startseite verwendet mobil dieselbe kompakte Termin-Karte wie Training & Spiele */
.dvp-home-compact-card{display:none}
@media(max-width:700px){
  .dvp-home-events{display:grid!important;gap:12px!important}
  .dvp-home-event-legacy{display:none!important}
  .dvp-home-compact-card{display:block!important;margin:0!important}
  .dvp-home-widget-events{padding:14px!important}
}

/* 5.24.0 – Mein Team: kompakter Kader, feste Trainingszeiten, Profil-Detailansicht */
.dvp-myteam-training{display:block;overflow:visible;margin:0 0 22px;padding:0;border:1px solid #e3e8ed;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(15,35,55,.045)}
.dvp-myteam-training-head{padding:11px 14px 7px}
.dvp-myteam-training-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));border-top:1px solid #edf0f3}
.dvp-myteam-training-row{display:grid;grid-template-columns:auto auto;grid-template-areas:"day time" "hall hall";align-items:center;gap:2px 10px;min-width:0;padding:10px 14px;border-right:1px solid #edf0f3}
.dvp-myteam-training-row:last-child{border-right:0}
.dvp-myteam-training-row strong{grid-area:day;color:#0b355c;font-size:.82rem}
.dvp-myteam-training-row span{grid-area:time;justify-self:end;color:#0b355c;font-size:.82rem;font-weight:850;white-space:nowrap}
.dvp-myteam-training-row small{grid-area:hall;min-width:0;color:#778493;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dvp-team-member-card{min-height:76px;padding:10px 12px;gap:10px;border-radius:13px;box-shadow:0 3px 12px rgba(15,35,55,.045)}
.dvp-team-member-card img{width:50px;height:50px;min-width:50px}
.dvp-team-member-copy{gap:2px}
.dvp-team-member-copy strong{font-size:.94rem}
.dvp-team-member-copy small{font-size:.75rem;line-height:1.25}
.dvp-team-member-copy em{font-size:.68rem;color:#738191;font-weight:750}
.dvp-team-member-copy>.dvp-referee-badge{width:max-content;max-width:100%;margin-top:3px;font-size:.64rem;padding:3px 6px}
.dvp-team-member-card>b{font-size:20px;color:#98a3ae}
.dvp-team-profile-view{max-width:860px;margin:4px auto 28px}
.dvp-team-profile-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.dvp-team-profile-back{display:inline-flex;align-items:center;gap:4px;color:#0b355c;text-decoration:none;font-weight:850;font-size:.88rem}
.dvp-team-profile-back:first-letter{font-size:1.5rem;line-height:1}
.dvp-team-profile-edit{min-height:38px;padding:8px 13px!important}
.dvp-team-profile-hero{display:flex;align-items:center;gap:18px;padding:3px 0 18px}
.dvp-team-profile-hero>img{width:108px;height:108px;flex:0 0 108px;border-radius:50%;object-fit:cover;background:#eef2f6;border:3px solid #fff;box-shadow:0 5px 18px rgba(15,35,55,.12)}
.dvp-team-profile-identity{min-width:0}
.dvp-team-profile-identity h2{margin:0 0 4px;color:#0b355c;font-size:clamp(1.75rem,4vw,2.35rem);line-height:1.08}
.dvp-team-profile-position{margin:0 0 10px;color:#657587;font-size:1rem;font-weight:700}
.dvp-team-profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;margin:0 0 22px;border:1px solid #e1e6eb;border-radius:16px;background:#fff}
.dvp-team-profile-stats>div{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:86px;padding:12px;text-align:center;border-right:1px solid #e9edf1}
.dvp-team-profile-stats>div:last-child{border-right:0}
.dvp-team-profile-stats strong{color:#0b355c;font-size:1.45rem;line-height:1.05}
.dvp-team-profile-stats span{margin-top:4px;color:#778493;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.dvp-team-profile-stats small{margin-top:2px;color:#956e00;font-size:.64rem;font-weight:750}
.dvp-team-profile-data{margin:0 0 20px;padding:0}
.dvp-team-profile-data .dvp-section-head{margin-bottom:8px}
.dvp-team-profile-data-list{overflow:hidden;border:1px solid #e3e8ed;border-radius:15px;background:#fff}
.dvp-team-profile-data-list>div{display:grid;grid-template-columns:minmax(100px,34%) minmax(0,1fr);gap:14px;padding:11px 14px;border-bottom:1px solid #edf0f3;align-items:start}
.dvp-team-profile-data-list>div:last-child{border-bottom:0}
.dvp-team-profile-data-list span{color:#7b8794;font-size:.74rem;font-weight:800}
.dvp-team-profile-data-list strong,.dvp-team-profile-data-list a{min-width:0;color:#173b5e;font-size:.86rem;font-weight:750;text-decoration:none;overflow-wrap:anywhere}
.dvp-team-profile-view .dvp-team-detail-referee{margin:20px 0 0;padding:18px 0 0;border-top:1px solid #e5e9ed}
.dvp-team-profile-form{display:grid;gap:0;margin-top:4px}
.dvp-team-profile-edit-section{padding:18px 0;border-top:1px solid #e7ebef}
.dvp-team-profile-edit-section h3{margin:0 0 12px;color:#0b355c}
.dvp-team-profile-form>.dvp-referee-profile{padding:18px 0;border-top:1px solid #e7ebef}
.dvp-profile-contact-grid .dvp-profile-wide{grid-column:1/-1}
.dvp-profile-contact-grid textarea{width:100%;resize:vertical}
@media(max-width:760px){
 .dvp-myteam-training{margin-bottom:18px}
 .dvp-myteam-training-list{grid-template-columns:1fr}
 .dvp-myteam-training-row{grid-template-columns:92px minmax(0,1fr);grid-template-areas:"day time" "hall hall";border-right:0;border-bottom:1px solid #edf0f3;padding:9px 12px}
 .dvp-myteam-training-row:last-child{border-bottom:0}
 .dvp-team-member-card{min-height:68px;padding:9px 10px}
 .dvp-team-member-card img{width:46px;height:46px;min-width:46px}
 .dvp-team-profile-view{margin-top:0}
 .dvp-team-profile-nav{margin:0 0 10px}
 .dvp-team-profile-hero{align-items:flex-start;gap:14px;padding:4px 0 15px}
 .dvp-team-profile-hero>img{width:86px;height:86px;flex-basis:86px}
 .dvp-team-profile-identity h2{font-size:1.65rem}
 .dvp-team-profile-position{font-size:.9rem;margin-bottom:8px}
 .dvp-team-role-chips span{padding:4px 7px;font-size:.68rem}
 .dvp-team-profile-stats{margin-bottom:18px}
 .dvp-team-profile-stats>div{min-height:76px;padding:9px 5px}
 .dvp-team-profile-stats strong{font-size:1.25rem}
 .dvp-team-profile-data-list>div{grid-template-columns:92px minmax(0,1fr);gap:10px;padding:10px 11px}
 .dvp-team-profile-data-list strong,.dvp-team-profile-data-list a{font-size:.82rem}
}


/* 5.24.1 – Spielerprofil Feinschliff: Kontrast, Rollen, Formularbreiten */
.dvp-team-profile-back{font-size:.9rem}
.dvp-team-profile-back:first-letter{font-size:inherit;line-height:inherit}
.dvp-team-role-chips{display:flex;flex-wrap:wrap;gap:6px}
.dvp-team-role-chips span{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border:1px solid transparent;border-radius:999px;font-size:.72rem;font-weight:850;line-height:1}
.dvp-team-role-chips .is-player{background:#eef4fb;border-color:#d7e5f3;color:#315f86}
.dvp-team-role-chips .is-trainer{background:#eaf7ef;border-color:#cce9d7;color:#287348}
.dvp-team-role-chips .is-captain{background:#fff4d8;border-color:#f2dfaa;color:#8a6500}
.dvp-team-role-chips .is-manager{background:#f1ecfb;border-color:#ddd1f3;color:#65469b}
.dvp-team-role-chips .is-other{background:#f1f3f5;border-color:#e0e4e8;color:#596674}
.dvp-profile-contact-grid{min-width:0}
.dvp-profile-contact-grid>label{min-width:0;max-width:100%}
.dvp-profile-contact-grid input,.dvp-profile-contact-grid select,.dvp-profile-contact-grid textarea{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.dvp-profile-contact-grid input[type="date"]{min-inline-size:0;max-inline-size:100%;overflow:hidden}
@media(max-width:760px){
 .dvp-team-profile-form,.dvp-team-profile-edit-section,.dvp-profile-contact-grid{min-width:0;max-width:100%}
 .dvp-profile-contact-grid{grid-template-columns:minmax(0,1fr)!important}
 .dvp-profile-contact-grid .dvp-profile-wide{grid-column:1}
 .dvp-team-profile-nav{position:relative;z-index:2}
}

.dvp-team-profile-form .dvp-license-grid,.dvp-team-profile-form .dvp-license-grid>label{min-width:0;max-width:100%}
.dvp-team-profile-form .dvp-license-grid input,.dvp-team-profile-form .dvp-license-grid select{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.dvp-team-profile-form input[type="date"],.dvp-profile-details input[type="date"]{width:100%;max-width:100%;min-width:0;min-inline-size:0;-webkit-min-logical-width:0;box-sizing:border-box}


/* 5.24.2 – Mein Team: iOS-Datumsfelder + schnelle Profilnavigation */
.dvp-date-input-wrap{display:block;width:100%;max-width:100%;min-width:0;margin-top:7px;overflow:hidden;border:1px solid #cbd5df;border-radius:9px;background:#fff}
.dvp-form .dvp-date-input-wrap input[type="date"],.dvp-profile-details .dvp-date-input-wrap input[type="date"]{display:block;inline-size:100%!important;width:100%!important;max-inline-size:100%!important;max-width:100%!important;min-inline-size:0!important;min-width:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff;box-sizing:border-box!important}
.dvp-form .dvp-date-input-wrap:focus-within,.dvp-profile-details .dvp-date-input-wrap:focus-within{border-color:#c69f00;box-shadow:0 0 0 4px rgba(242,195,0,.18)}
@media(max-width:760px){
 .dvp-team-profile-form,.dvp-team-profile-edit-section,.dvp-profile-contact-grid,.dvp-profile-contact-grid>label{inline-size:100%;max-inline-size:100%;min-inline-size:0}
 .dvp-date-input-wrap{inline-size:100%;max-inline-size:100%;contain:inline-size}
 .dvp-date-input-wrap input[type="date"]{-webkit-text-size-adjust:100%;font-size:16px!important;padding-inline:12px!important}
}


/* 5.25.0 – native Start-Ladescreen + interaktives Fast-Navigation Swipe-Back */
body.dvp-fast-swipe-active{overflow-x:hidden!important;overscroll-behavior-x:none}
.dvp-app-content.dvp-fast-swipe-stage{display:grid!important;grid-template-columns:minmax(0,1fr);isolation:isolate}
.dvp-app-content.dvp-fast-swipe-stage>.dvp-fast-screen{grid-area:1/1;min-width:0;width:100%;animation:none!important}
.dvp-app-content.dvp-fast-swipe-stage>.dvp-fast-swipe-under{z-index:1;opacity:.985}
.dvp-app-content.dvp-fast-swipe-stage>.dvp-fast-swipe-current{z-index:2;background:var(--dvp-bg,#f5f7f9);box-shadow:-12px 0 28px rgba(10,35,60,.16);border-radius:24px 0 0 24px;overflow:hidden}
@media(max-width:760px){
  .dvp-app-content.dvp-fast-swipe-stage>.dvp-fast-swipe-current{border-radius:22px 0 0 22px}
}
@media(prefers-reduced-motion:reduce){
  .dvp-app-content.dvp-fast-swipe-stage>.dvp-fast-screen{transition:none!important}
}


/* 5.26.0 – Teamfunktionen direkt im Spielerprofil */
.dvp-team-role-chips .is-filler{background:#eaf5f7;border-color:#cce5e9;color:#276a73}
.dvp-team-role-chips .is-officer{background:#f6eef7;border-color:#e7d3ea;color:#7b4c80}
.dvp-team-function-editor{padding-top:8px!important}
.dvp-team-function-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.dvp-team-function-options label{display:flex;align-items:center;gap:9px;min-width:0;padding:11px 12px;border:1px solid #e1e7ed;border-radius:12px;background:#f8fafc;color:#173b5e;font-weight:800}
.dvp-team-function-options input{width:auto!important;min-width:auto!important;min-height:0!important;margin:0;flex:0 0 auto}
@media(max-width:700px){.dvp-team-function-options{grid-template-columns:1fr}.dvp-team-function-options label{padding:12px}}

/* 5.26.1 – Auffüller-Zielteams im Spielerprofil */
.dvp-filler-target-editor{margin-top:16px;padding-top:16px;border-top:1px solid #e7ebef}.dvp-filler-target-editor>strong{display:block;margin-bottom:3px;color:#0b355c;font-size:.95rem}.dvp-filler-target-options{margin-top:10px}

/* Eltern-/Sorgeberechtigtenprofile */
.dvp-guardian-list{display:grid;gap:8px}.dvp-guardian-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #e4e8ee;border-radius:12px;background:#fff}.dvp-guardian-row div{display:grid;gap:2px}.dvp-guardian-row small{color:#687386}.dvp-guardian-row>span{font-size:12px;font-weight:700;color:#41516a;background:#f0f3f7;border-radius:999px;padding:5px 8px}

/* 5.32.1 – Eltern: Kinderkontext auf der Startseite */
.dvp-home-subject-switch{display:flex;align-items:center;gap:10px;margin:2px 0 12px;padding:8px 10px;border:1px solid #e5eaf0;border-radius:12px;background:#f7f9fb}
.dvp-home-subject-switch>span{flex:0 0 auto;color:#718093;font-size:.72rem;font-weight:850}
.dvp-home-subject-switch>div{display:flex;min-width:0;gap:6px;overflow-x:auto;scrollbar-width:none}
.dvp-home-subject-switch>div::-webkit-scrollbar{display:none}
.dvp-home-subject-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border-radius:9px;color:#43566b;font-size:.75rem;font-weight:850;text-decoration:none;white-space:nowrap}
.dvp-home-subject-switch a.is-active{background:#0b355c;color:#fff;box-shadow:0 2px 7px rgba(11,53,92,.18)}
@media(max-width:700px){.dvp-home-subject-switch{align-items:flex-start;flex-direction:column;gap:6px}.dvp-home-subject-switch>div{width:100%}}

/* 5.34.0 – Mein Profil: klare Kartenstruktur & mobile Darstellung */
.dvp-profile-details,.dvp-profile-bank,.dvp-profile-licenses,.dvp-guardian-children,.dvp-membership-privacy{margin-top:18px}
.dvp-profile-details h3,.dvp-profile-bank h3,.dvp-profile-licenses h3,.dvp-guardian-children h3,.dvp-membership-privacy h3{margin-top:0}
.dvp-profile-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.dvp-profile-contact-grid label{min-width:0}
.dvp-profile-contact-grid input{width:100%;max-width:100%;box-sizing:border-box}
.dvp-profile-licenses .dvp-referee-profile{margin:0;padding:0;border:0;background:transparent}
.dvp-profile-licenses .dvp-referee-profile h4{font-size:1.18rem}
.dvp-membership-privacy-section{padding:18px 0;border-top:1px solid var(--dvp-border)}
.dvp-membership-privacy>h3+.dvp-membership-privacy-section{padding-top:8px;border-top:0}
.dvp-membership-privacy-section h4{margin:0 0 6px;color:var(--dvp-navy);font-size:1.05rem}
.dvp-membership-privacy-section>p{margin:0 0 14px;color:var(--dvp-muted)}
.dvp-membership-privacy .dvp-profile-sharing{margin:0 0 12px;padding:0;border:0;background:transparent}
.dvp-profile-sharing-form .dvp-button{margin-top:4px}
.dvp-profile-bank .dvp-ev-member-actions-source>.dvp-card{margin:0;padding:0;border:0;box-shadow:none;background:transparent}
.dvp-profile-bank .dvp-ev-member-actions-source h2:first-child,.dvp-profile-bank .dvp-ev-member-actions-source h3:first-child{margin-top:0}
.dvp-account-delete{padding-bottom:0}
@media(max-width:760px){
 .dvp-profile-contact-grid{grid-template-columns:1fr;gap:12px}
 .dvp-profile-details,.dvp-profile-bank,.dvp-profile-licenses,.dvp-guardian-children,.dvp-membership-privacy{display:block!important;width:100%!important;max-width:none!important;overflow:visible!important;box-sizing:border-box}
 .dvp-profile-details .dvp-button,.dvp-profile-bank .dvp-button,.dvp-profile-licenses .dvp-button,.dvp-membership-privacy .dvp-button{width:100%}
 .dvp-membership-privacy-section{padding:16px 0}
 .dvp-profile-sharing label{min-height:42px}
}

/* 5.34.1 – Profil: EasyVerein-Aktionen app-sicher serverseitig gerendert */
.dvp-ev-bank-actions>form,.dvp-ev-bank-actions>details,.dvp-ev-membership-actions>form,.dvp-ev-membership-actions>details{display:block!important;visibility:visible!important;max-width:100%;}
.dvp-ev-bank-actions input,.dvp-ev-bank-actions select,.dvp-ev-membership-actions input,.dvp-ev-membership-actions select{max-width:100%;}
@media(max-width:760px){.dvp-ev-bank-actions,.dvp-ev-membership-actions{display:block!important;width:100%!important;overflow:visible!important}.dvp-ev-bank-actions>form,.dvp-ev-membership-actions>form{width:100%!important;max-width:none!important}}
