/**
 * POA Academy shared application design system
 * Version: v6.32.4c
 *
 * Κοινή παλέτα, mobile typography, touch targets,
 * focus states και ασφαλή μεγέθη.
 *
 * Δεν αλλάζει δεδομένα ή επιχειρησιακή λογική.
 */

/* POA_APP_DESIGN_SYSTEM_V6324C */

:root {
  --poa-bg: #03190e;
  --poa-header: #0c3b24;
  --poa-surface: #0b3020;
  --poa-surface-raised: #123b29;
  --poa-surface-soft: rgba(255,255,255,.055);

  --poa-gold: #f0c53b;
  --poa-gold-soft: rgba(240,197,59,.14);

  --poa-text: #ffffff;
  --poa-muted: #b8c8bf;
  --poa-soft: #91a79a;

  --poa-success: #42d47d;
  --poa-danger: #ff806d;
  --poa-warning: #ffd070;

  --poa-line: rgba(255,255,255,.11);
  --poa-line-gold: rgba(240,197,59,.25);

  --poa-radius-sm: 12px;
  --poa-radius: 17px;
  --poa-radius-lg: 23px;

  --poa-shadow:
    0 18px 50px rgba(0,0,0,.28);

  --poa-font:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif;
}

html {
  min-height: 100%;
  background: var(--poa-bg);
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}

body.poa-app,
.acv525-shell {
  font-family: var(--poa-font);
  color: var(--poa-text);
}

body.poa-app {
  min-height: 100dvh;
  background:
    radial-gradient(
      circle at 82% 0,
      rgba(25,107,57,.28),
      transparent 35%
    ),
    var(--poa-bg);
}

body.poa-app *,
.acv525-shell * {
  box-sizing: border-box;
}

body.poa-app button,
body.poa-app input,
body.poa-app select,
body.poa-app textarea,
.acv525-shell button,
.acv525-shell input,
.acv525-shell select,
.acv525-shell textarea {
  font-family: inherit;
}

body.poa-app button,
body.poa-app a,
.acv525-shell button,
.acv525-shell a {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

body.poa-app button,
body.poa-app a,
.acv525-shell button,
.acv525-shell a {
  transition:
    transform .16s ease,
    background-color .16s ease,
    border-color .16s ease,
    opacity .16s ease,
    box-shadow .16s ease;
}

body.poa-app button:active,
body.poa-app a:active,
.acv525-shell button:active,
.acv525-shell a:active {
  transform: scale(.985);
}

body.poa-app :focus-visible,
.acv525-shell :focus-visible {
  outline: 3px solid var(--poa-gold);
  outline-offset: 3px;
}

/* --------------------------------------------------
   Κοινό Academy shell
-------------------------------------------------- */

.acv525-shell {
  font-size: 16px;
  line-height: 1.45;
}

.acv525-shell .acv525-brand strong {
  font-size: 20px;
  line-height: 1.15;
}

.acv525-shell .acv525-brand span {
  font-size: 12px;
  line-height: 1.3;
}

.acv525-shell .acv525-season label {
  font-size: 12px;
}

.acv525-shell .acv525-season select {
  min-height: 48px;
  padding: 0 14px;
  font-size: 15px;
}

.acv525-shell .acv525-account a {
  min-height: 44px;
  padding: 10px 13px;
  font-size: 12px;
}

.acv525-shell .acv525-account > span {
  font-size: 11px;
}

.acv525-shell .acv525-mainnav a {
  min-height: 50px;
  padding: 11px 10px;
  font-size: 12px;
  line-height: 1.2;
}

.acv525-shell .acv525-mainnav b {
  font-size: 18px;
}

.acv525-shell .acv525-more summary {
  min-height: 48px;
  font-size: 12px;
}

.acv525-shell .acv525-more-links a {
  min-height: 46px;
  font-size: 12px;
}

.acv525-shell button,
.acv525-shell input:not([type="hidden"]),
.acv525-shell select,
.acv525-shell textarea {
  min-height: 48px;
}

.acv525-shell input,
.acv525-shell select,
.acv525-shell textarea {
  font-size: 16px;
}

/* --------------------------------------------------
   Parent portal
-------------------------------------------------- */

.acv525-shell .p6321-page-heading small,
.acv525-shell .p6321-hero small,
.acv525-shell .p6321-panel header small,
.acv525-shell .p6321-panel small {
  font-size: 12px;
  line-height: 1.35;
}

.acv525-shell .p6321-page-heading h1,
.acv525-shell .p6321-hero h1 {
  font-size: clamp(27px, 6vw, 38px);
  line-height: 1.08;
  letter-spacing: -.025em;
}

.acv525-shell .p6321-page-heading h2,
.acv525-shell .p6321-hero h2,
.acv525-shell .p6321-panel h2 {
  font-size: clamp(21px, 5vw, 29px);
  line-height: 1.15;
}

.acv525-shell .p6321-panel h3 {
  font-size: 19px;
  line-height: 1.2;
}

.acv525-shell .p6321-panel p,
.acv525-shell .p6321-hero p {
  font-size: 15px;
  line-height: 1.5;
}

.acv525-shell .p6321-panel button,
.acv525-shell .p6321-panel a {
  font-size: 14px;
}

.acv525-shell .p6321-kpis-home a small {
  font-size: 12px;
}

.acv525-shell .p6321-kpis-home a b {
  line-height: 1.05;
}

.acv525-shell .p6321-kpis-home a span {
  font-size: 13px;
  line-height: 1.35;
}

/* --------------------------------------------------
   Standalone mobile εφαρμογές
-------------------------------------------------- */

body.poa-app {
  font-size: 16px;
  line-height: 1.45;
}

body.poa-app h1,
body.poa-app h2,
body.poa-app h3,
body.poa-app p {
  overflow-wrap: anywhere;
}

body.poa-app h1 {
  font-size: clamp(25px, 6vw, 34px);
  line-height: 1.08;
}

body.poa-app h2 {
  font-size: clamp(22px, 5vw, 29px);
  line-height: 1.15;
}

body.poa-app h3 {
  font-size: 19px;
  line-height: 1.2;
}

body.poa-app p {
  font-size: 15px;
  line-height: 1.5;
}

body.poa-app small {
  font-size: 12px;
  line-height: 1.35;
}

body.poa-app label {
  font-size: 13px;
  line-height: 1.35;
}

body.poa-app input:not([type="hidden"]),
body.poa-app select,
body.poa-app textarea {
  min-height: 50px;
  padding: 12px 14px;
  font-size: 16px;
  line-height: 1.35;
}

body.poa-app textarea {
  min-height: 108px;
  resize: vertical;
}

body.poa-app button {
  min-height: 48px;
  font-size: 14px;
}

body.poa-app .panel,
body.poa-app .hero {
  border-color: var(--poa-line);
  box-shadow: 0 10px 32px rgba(0,0,0,.12);
}

/* --------------------------------------------------
   Coach child / evaluation
-------------------------------------------------- */

body.poa-app-coach-child .top h1,
body.poa-app-coach-evaluations .top h1 {
  font-size: 21px;
}

body.poa-app-coach-child .top p,
body.poa-app-coach-evaluations .top p {
  font-size: 13px;
}

body.poa-app-coach-child .headlinks a,
body.poa-app-coach-child .headlinks button,
body.poa-app-coach-evaluations .headlinks a,
body.poa-app-coach-evaluations .headlinks button {
  min-height: 44px;
  padding: 10px 11px;
  font-size: 12px;
}

body.poa-app-coach-child .tabs a,
body.poa-app-coach-evaluations .tabs a {
  min-height: 48px;
  padding: 11px 8px;
  font-size: 12px;
  line-height: 1.25;
}

body.poa-app-coach-child .crumb,
body.poa-app-coach-evaluations .crumb {
  font-size: 12px;
  line-height: 1.4;
}

body.poa-app-coach-child .hero p,
body.poa-app-coach-evaluations .hero p {
  font-size: 13px;
}

body.poa-app-coach-child .panel,
body.poa-app-coach-evaluations .panel {
  padding: 16px;
}

body.poa-app-coach-child .criterion b,
body.poa-app-coach-evaluations .criterion b {
  font-size: 15px;
}

body.poa-app-coach-child .scores span,
body.poa-app-coach-evaluations .scores span {
  min-height: 44px;
  font-size: 15px;
}

body.poa-app-coach-child .compare,
body.poa-app-coach-child .savehint,
body.poa-app-coach-child .meaning div,
body.poa-app-coach-evaluations .compare,
body.poa-app-coach-evaluations .savehint,
body.poa-app-coach-evaluations .meaning div {
  font-size: 12px;
}

body.poa-app-coach-child .sticky,
body.poa-app-coach-evaluations .sticky {
  padding-bottom:
    max(
      8px,
      env(safe-area-inset-bottom)
    );
}

body.poa-app-coach-child .sticky button,
body.poa-app-coach-child .sticky a,
body.poa-app-coach-evaluations .sticky button,
body.poa-app-coach-evaluations .sticky a {
  min-height: 50px;
  font-size: 13px;
}

/* --------------------------------------------------
   Coach portal
-------------------------------------------------- */

body.poa-app-coach-portal .home-welcome h1,
body.poa-app-coach-portal .home-welcome h2 {
  font-size: clamp(25px, 6vw, 34px);
  line-height: 1.08;
}

body.poa-app-coach-portal .home-welcome p {
  font-size: 15px;
  line-height: 1.5;
}

body.poa-app-coach-portal .attendance-screen-head h1,
body.poa-app-coach-portal .match-center-hero h1,
body.poa-app-coach-portal .profile-section-head h1,
body.poa-app-coach-portal .profile-section-head h2 {
  line-height: 1.12;
}

body.poa-app-coach-portal nav a,
body.poa-app-coach-portal nav button {
  min-height: 48px;
}

/* --------------------------------------------------
   Mobile
-------------------------------------------------- */

@media (max-width: 760px) {
  .acv525-wrap {
    width: min(100% - 16px, 1420px);
  }

  .acv525-shell {
    font-size: 16px;
  }

  .acv525-role-parent.acv525-top {
    padding-top:
      max(
        7px,
        env(safe-area-inset-top)
      );
  }

  .acv525-role-parent .acv525-topbar {
    gap: 10px;
    padding: 12px;
  }

  .acv525-role-parent .acv525-brand strong {
    font-size: 21px;
  }

  .acv525-role-parent .acv525-season select {
    min-height: 54px;
    font-size: 17px;
  }

  .acv525-role-parent .acv525-account a {
    min-height: 46px;
    font-size: 13px;
  }

  .acv525-shell .acv525-mainnav a {
    min-height: 54px;
    font-size: 13px;
  }

  .acv525-shell .p6321-panel {
    padding: 18px;
    border-radius: 20px;
  }

  .acv525-shell .p6321-panel button,
  .acv525-shell .p6321-panel a {
    min-height: 50px;
  }

  body.poa-app .wrap {
    width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }

  body.poa-app .header {
    padding-top:
      max(
        8px,
        env(safe-area-inset-top)
      );
  }

  body.poa-app .top {
    padding: 13px;
  }

  body.poa-app .hero {
    padding: 16px;
  }

  body.poa-app .panel {
    border-radius: 18px;
  }
}

/* --------------------------------------------------
   Πολύ μικρά κινητά
-------------------------------------------------- */

@media (max-width: 420px) {
  .acv525-wrap {
    width: calc(100% - 12px);
  }

  .acv525-shell .p6321-page-heading h1,
  .acv525-shell .p6321-hero h1 {
    font-size: 27px;
  }

  .acv525-shell .p6321-panel h2 {
    font-size: 22px;
  }

  body.poa-app {
    font-size: 16px;
  }

  body.poa-app h1 {
    font-size: 26px;
  }

  body.poa-app h2 {
    font-size: 22px;
  }
}

/* --------------------------------------------------
   Accessibility
-------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  body.poa-app *,
  .acv525-shell * {
    scroll-behavior: auto;
    transition-duration: .01ms;
    animation-duration: .01ms;
    animation-iteration-count: 1;
  }
}
