@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600&display=swap');

:root{--p77-font:'Nunito',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;}
.p77-dashboard,.p77-dashboard *,
.p77-auth-wrap,.p77-auth-wrap *,
.tpcv6-app,.tpcv6-app *,
.pmt-app,.pmt-app *,
.pmt-wrap,.pmt-wrap *,
.pmt-modal,.pmt-modal *,
.p77-admin,.p77-admin *,
[class^="p77-"],[class^="p77-"] *,[class*=" p77-"],[class*=" p77-"] *,
[class^="pmt-"],[class^="pmt-"] *,[class*=" pmt-"],[class*=" pmt-"] *{
  font-family:var(--p77-font)!important;
}

html:has(.tpcv6-app), body:has(.tpcv6-app){overflow:hidden!important;margin:0!important;padding:0!important;background:#128ed2!important;}
.tpcv6-app,.tpcv6-app *{box-sizing:border-box!important;-webkit-tap-highlight-color:transparent!important;}
.tpcv6-app{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:999999!important;background:#128ed2!important;overflow:hidden!important;touch-action:none!important;font-family:var(--p77-font)!important;color:#111!important;}
.tpcv6-page-exit{position:fixed!important;right:calc(14px + env(safe-area-inset-right))!important;top:calc(14px + env(safe-area-inset-top))!important;z-index:40!important;width:42px!important;height:42px!important;border-radius:999px!important;border:0!important;background:#fff!important;color:#111!important;box-shadow:0 10px 30px rgba(0,0,0,.18)!important;font-size:32px!important;line-height:38px!important;font-weight:400!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;pointer-events:auto!important;}
.tpcv6-page-exit:hover{transform:scale(1.03)!important;}
.tpcv6-stage{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#128ed2!important;overflow:hidden!important;}
.tpcv6-court{position:absolute!important;max-width:100vw!important;max-height:100dvh!important;width:auto!important;height:auto!important;object-fit:contain!important;display:block!important;user-select:none!important;pointer-events:none!important;}
.tpcv6-piece{position:absolute!important;transform:translate(-50%,-50%)!important;z-index:5!important;cursor:grab!important;touch-action:none!important;user-select:none!important;filter:drop-shadow(0 5px 9px rgba(0,0,0,.18))!important;}
.tpcv6-piece:active{cursor:grabbing!important;}
.tpcv6-racket{width:clamp(34px,9vw,72px)!important;height:auto!important;}
.tpcv6-ball{width:clamp(18px,5vw,38px)!important;height:auto!important;z-index:6!important;}
.tpcv6-arrows{position:absolute!important;pointer-events:none!important;z-index:4!important;overflow:visible!important;}
.tpcv6-last-line{display:none;stroke:#cfcfcf;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:.72;stroke-dasharray:6 6;}
.tpcv6-actions{position:fixed!important;left:14px!important;right:14px!important;bottom:calc(14px + env(safe-area-inset-bottom))!important;z-index:20!important;display:flex!important;align-items:center!important;gap:10px!important;pointer-events:none!important;}
.tpcv6-btn{border:0!important;border-radius:999px!important;padding:13px 17px!important;font-weight:600!important;font-size:17px!important;line-height:1!important;box-shadow:0 10px 28px rgba(0,0,0,.22)!important;cursor:pointer!important;pointer-events:auto!important;white-space:nowrap!important;}
.tpcv6-info,.tpcv6-reset{background:rgba(255,255,255,.92)!important;color:#111!important;}
.tpcv6-analyze{margin-left:auto!important;background:#d4162f!important;color:#fff!important;}
.tpcv6-modal{position:fixed!important;inset:0!important;z-index:30!important;background:rgba(0,0,0,.16)!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;padding:12px!important;padding-bottom:calc(12px + env(safe-area-inset-bottom))!important;}
.tpcv6-modal[hidden]{display:none!important;}
.tpcv6-sheet{width:min(720px,100%)!important;max-height:min(82dvh,760px)!important;background:rgba(255,255,255,.97)!important;color:#121212!important;border-radius:24px!important;box-shadow:0 24px 70px rgba(0,0,0,.26)!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.75)!important;backdrop-filter:blur(16px)!important;}
.tpcv6-sheet-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:18px 18px 12px!important;border-bottom:1px solid rgba(0,0,0,.08)!important;}
.tpcv6-sheet-head strong{display:block!important;font-size:19px!important;line-height:1.15!important;}
.tpcv6-subtitle{display:block!important;margin-top:3px!important;font-size:14px!important;color:#666!important;}
.tpcv6-close{border:0!important;background:#f1f1f1!important;color:#111!important;width:38px!important;height:38px!important;border-radius:999px!important;font-size:30px!important;line-height:34px!important;cursor:pointer!important;}
.tpcv6-content{max-height:calc(min(82dvh,760px) - 72px)!important;overflow:auto!important;padding:16px 18px 22px!important;scrollbar-width:none!important;-ms-overflow-style:none!important;-webkit-overflow-scrolling:touch!important;}
.tpcv6-content::-webkit-scrollbar{width:0!important;height:0!important;display:none!important;}
.tpcv6-card{background:#fff!important;border:1px solid rgba(0,0,0,.08)!important;border-radius:18px!important;padding:14px!important;margin:0 0 12px!important;box-shadow:0 5px 20px rgba(0,0,0,.06)!important;}
.tpcv6-card h1{font-size:22px!important;margin:0 0 9px!important;line-height:1.18!important;}.tpcv6-card h2,.tpcv6-card h3{font-size:18px!important;margin:0 0 8px!important;line-height:1.25!important;}
.tpcv6-card p,.tpcv6-card li{font-size:16px!important;line-height:1.48!important;color:#222!important;}
.tpcv6-card p{margin:0 0 9px!important;}.tpcv6-card ul{margin:8px 0 0 18px!important;padding:0!important;}.tpcv6-score{font-size:36px!important;font-weight:600!important;color:#d4162f!important;line-height:1!important;margin-bottom:8px!important;}
.tpcv6-pill{display:inline-block!important;background:#fff1f3!important;color:#d4162f!important;border:1px solid rgba(212,22,47,.18)!important;border-radius:999px!important;padding:5px 9px!important;font-size:14px!important;font-weight:600!important;margin:0 6px 6px 0!important;}
.tpcv6-seo-source{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.tpcv6-seo-source h1,.tpcv6-seo-source h2,.tpcv6-seo-source h3,.tpcv6-seo-source p{margin:0!important;}
 .tpcv6-desktop-panel{display:none!important;}
@media (min-width: 900px){
  html:has(.tpcv6-app), body:has(.tpcv6-app){background:#0f8fd3!important;overflow:hidden!important;}
  .tpcv6-app{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;border-radius:0!important;background:linear-gradient(135deg,#0f8fd3 0%,#128ed2 45%,#0d78b6 100%)!important;}
  .tpcv6-page-exit{right:calc(24px + env(safe-area-inset-right))!important;top:calc(24px + env(safe-area-inset-top))!important;width:46px!important;height:46px!important;font-size:34px!important;}
  .tpcv6-stage{inset:0 380px 0 0!important;background:transparent!important;}
  .tpcv6-court{max-width:calc(100vw - 380px)!important;max-height:100dvh!important;}
  .tpcv6-desktop-panel{display:flex!important;position:absolute!important;right:0!important;top:0!important;bottom:0!important;width:380px!important;z-index:12!important;padding:28px 24px!important;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(245,248,251,.90))!important;border-left:1px solid rgba(255,255,255,.5)!important;box-shadow:-20px 0 60px rgba(0,0,0,.14)!important;backdrop-filter:blur(18px)!important;flex-direction:column!important;gap:14px!important;pointer-events:none!important;}
  .tpcv6-side-card{background:#fff!important;border:1px solid rgba(0,0,0,.07)!important;border-radius:24px!important;padding:18px!important;box-shadow:0 10px 32px rgba(0,0,0,.08)!important;}
  .tpcv6-side-kicker{display:inline-block!important;color:#d4162f!important;font-size:14px!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.06em!important;margin-bottom:8px!important;}
  .tpcv6-side-card h2{margin:0 0 8px!important;font-size:26px!important;line-height:1.1!important;color:#111!important;}
  .tpcv6-side-card p{margin:0!important;font-size:16px!important;line-height:1.5!important;color:#333!important;}
  .tpcv6-side-small{margin-top:auto!important;margin-bottom:92px!important;}
  .tpcv6-actions{position:absolute!important;left:auto!important;right:24px!important;bottom:calc(24px + env(safe-area-inset-bottom))!important;width:332px!important;z-index:22!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;}
  .tpcv6-analyze{grid-column:1 / -1!important;margin-left:0!important;width:100%!important;padding:16px 18px!important;font-size:18px!important;}
  .tpcv6-info,.tpcv6-reset{width:100%!important;padding:14px 16px!important;}
  .tpcv6-modal{position:fixed!important;inset:0!important;align-items:center!important;justify-content:flex-end!important;padding:24px!important;background:rgba(5,22,33,.20)!important;}
  .tpcv6-sheet{width:min(560px,calc(100vw - 48px))!important;max-height:calc(100dvh - 48px)!important;margin-right:0!important;border-radius:28px!important;}
  .tpcv6-content{max-height:calc(100dvh - 128px)!important;}
}
@media (max-width: 899px){.tpcv6-desktop-panel{display:none!important;}}
/* Padel77 v11 login overlay: toon coachboard al, maar blokkeer gebruik tot login */
.tpcv6-is-locked .tpcv6-stage,
.tpcv6-is-locked .tpcv6-actions,
.tpcv6-is-locked .tpcv6-desktop-panel{filter:blur(1.2px)!important;}
.tpcv6-is-locked .tpcv6-piece,
.tpcv6-is-locked .tpcv6-btn{pointer-events:none!important;}
.tpcv6-auth-lock{position:fixed!important;inset:0!important;z-index:38!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;background:rgba(8,22,35,.22)!important;backdrop-filter:blur(4px)!important;overflow:auto!important;scrollbar-width:none!important;-ms-overflow-style:none!important;-webkit-overflow-scrolling:touch!important;}
.tpcv6-auth-lock::-webkit-scrollbar{width:0!important;height:0!important;display:none!important;}
.tpcv6-auth-lock .p77-auth-wrap{min-height:auto!important;width:auto!important;background:transparent!important;padding:0!important;display:block!important;}
.tpcv6-auth-lock .p77-auth-card{width:min(92vw,500px)!important;max-height:calc(100dvh - 36px)!important;overflow:auto!important;scrollbar-width:none!important;-ms-overflow-style:none!important;-webkit-overflow-scrolling:touch!important;}
.tpcv6-auth-lock .p77-auth-card::-webkit-scrollbar{width:0!important;height:0!important;display:none!important;}
.tpcv6-auth-lock .p77-auth-card h2{font-size:clamp(24px,4vw,32px)!important;}
@media (min-width: 900px){
  .tpcv6-auth-lock{justify-content:center!important;padding-right:404px!important;}
  .tpcv6-auth-lock .p77-auth-card{width:min(480px,calc(100vw - 460px))!important;}
}
@media (max-width: 899px){
  .tpcv6-auth-lock{align-items:center!important;padding:14px!important;padding-top:calc(58px + env(safe-area-inset-top))!important;}
  .tpcv6-auth-lock .p77-auth-card{width:min(94vw,480px)!important;padding:22px!important;border-radius:24px!important;}
}
/* Padel77 v49 - alle popups exact gecentreerd */
.tpcv6-modal,
.tpcv6-modal:not([hidden]){
  position:fixed!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:clamp(14px,3vw,28px)!important;
  background:rgba(8,22,35,.24)!important;
}
.tpcv6-sheet{
  margin:0!important;
  width:min(720px,calc(100vw - 28px))!important;
  max-height:calc(100dvh - 32px)!important;
  border-radius:28px!important;
}
.tpcv6-content{
  max-height:calc(100dvh - 122px)!important;
}
.tpcv6-auth-lock{
  position:fixed!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:clamp(14px,3vw,28px)!important;
  padding-right:clamp(14px,3vw,28px)!important;
  padding-top:clamp(14px,3vw,28px)!important;
  background:rgba(8,22,35,.28)!important;
}
.tpcv6-auth-lock .p77-auth-card{
  margin:0!important;
  width:min(500px,calc(100vw - 28px))!important;
  max-height:calc(100dvh - 32px)!important;
}
@media (min-width:900px){
  .tpcv6-modal{align-items:center!important;justify-content:center!important;padding:28px!important;}
  .tpcv6-sheet{width:min(720px,calc(100vw - 56px))!important;max-height:calc(100dvh - 56px)!important;}
  .tpcv6-auth-lock{align-items:center!important;justify-content:center!important;padding:28px!important;padding-right:28px!important;}
  .tpcv6-auth-lock .p77-auth-card{width:min(500px,calc(100vw - 56px))!important;}
}
@media (max-width:899px){
  .tpcv6-modal{align-items:center!important;justify-content:center!important;padding:14px!important;}
  .tpcv6-sheet{width:min(94vw,720px)!important;max-height:calc(100dvh - 28px)!important;border-radius:26px!important;}
  .tpcv6-auth-lock{align-items:center!important;justify-content:center!important;padding:14px!important;padding-top:14px!important;}
}

/* Padel77 v51 - mobiele coachboard popups altijd exact gecentreerd */
@media (max-width: 899px){
  .tpcv6-modal,
  .tpcv6-modal:not([hidden]),
  .tpcv6-auth-lock{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:14px!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .tpcv6-sheet,
  .tpcv6-auth-lock .p77-auth-card{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    transform:none!important;
    margin:auto!important;
    width:min(94vw,720px)!important;
    max-width:94vw!important;
    max-height:calc(100dvh - 28px)!important;
    overflow:auto!important;
    border-radius:26px!important;
  }
  .tpcv6-content{max-height:calc(100dvh - 130px)!important;overflow:auto!important;}
}
