/* ScoutYou Sport UI 1.1 — base and design system */
:root {
  --sy-bg: #030912;
  --sy-bg-2: #061522;
  --sy-panel: rgba(7, 23, 37, 0.94);
  --sy-panel-soft: rgba(11, 34, 50, 0.84);
  --sy-line: rgba(22, 215, 197, 0.2);
  --sy-line-strong: rgba(184, 245, 50, 0.48);
  --sy-text: #f7fbff;
  --sy-muted: #9eb3c7;
  --sy-teal: #16d7c5;
  --sy-cyan: #3ee8ff;
  --sy-lime: #b8f532;
  --sy-lime-2: #78e83a;
  --sy-danger: #ff4f6d;
  --sy-warning: #ffcb45;
  --sy-shadow: 0 28px 80px rgba(0, 0, 0, 0.42);
}

html {
  color-scheme: dark;
  background: var(--sy-bg);
}

body.scoutyou-sport {
  min-height: 100vh;
  color: var(--sy-text);
  background:
    radial-gradient(circle at 8% 3%, rgba(184, 245, 50, 0.17), transparent 24rem),
    radial-gradient(circle at 91% 3%, rgba(22, 215, 197, 0.19), transparent 29rem),
    radial-gradient(circle at 50% 78%, rgba(19, 88, 111, 0.2), transparent 38rem),
    linear-gradient(180deg, #02070d 0%, #05111c 36%, #071827 100%);
  background-attachment: fixed;
}

body.scoutyou-sport::before {
  opacity: 0.42;
  background-image:
    linear-gradient(rgba(62, 232, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(62, 232, 255, 0.035) 1px, transparent 1px),
    radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, 0.08), transparent 44%);
  background-size: 56px 56px, 56px 56px, 100% 34rem;
  mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.62) 56%, transparent 100%);
}

body.scoutyou-sport::after {
  content: "";
  position: fixed;
  inset: auto 0 0;
  z-index: 0;
  height: 40vh;
  pointer-events: none;
  opacity: 0.18;
  background:
    linear-gradient(90deg, transparent 49.8%, rgba(184, 245, 50, 0.38) 50%, transparent 50.2%),
    radial-gradient(ellipse at 50% 100%, transparent 0 28%, rgba(22, 215, 197, 0.24) 28.4% 28.8%, transparent 29.2%);
  mask-image: linear-gradient(180deg, transparent, #000 48%);
}

body.scoutyou-sport .app-shell {
  width: min(1380px, calc(100% - 34px));
  padding-top: 16px;
}

body.scoutyou-sport .app-main {
  min-height: 76vh;
}

body.scoutyou-sport .topbar {
  top: 10px;
  min-height: 80px;
  margin-bottom: 26px;
  padding: 13px 17px;
  border: 1px solid rgba(22, 215, 197, 0.22);
  border-radius: 24px;
  background:
    linear-gradient(90deg, rgba(184, 245, 50, 0.055), transparent 24%),
    rgba(3, 12, 21, 0.87);
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.34), inset 0 1px rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(22px) saturate(135%);
}

body.scoutyou-sport .brand {
  gap: 14px;
}

body.scoutyou-sport .brand-mark {
  width: 54px;
  height: 54px;
  border: 1px solid rgba(184, 245, 50, 0.48);
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 50%, rgba(2, 9, 16, 0.5) 0 36%, transparent 38%),
    conic-gradient(from 165deg, var(--sy-lime), var(--sy-teal), #0876a6, var(--sy-lime));
  box-shadow: 0 0 0 5px rgba(22, 215, 197, 0.06), 0 0 34px rgba(22, 215, 197, 0.24);
}

body.scoutyou-sport .brand-mark img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
}

body.scoutyou-sport .brand strong {
  width: fit-content;
  color: transparent;
  background: linear-gradient(90deg, #fff 0 48%, var(--sy-teal) 68%, var(--sy-lime) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  font-size: 26px;
  font-weight: 950;
  letter-spacing: -0.055em;
}

body.scoutyou-sport .brand small {
  margin-top: 6px;
  color: rgba(247, 251, 255, 0.62);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.scoutyou-sport .top-nav {
  gap: 7px;
}

body.scoutyou-sport .nav-pill,
body.scoutyou-sport .icon-btn {
  min-height: 42px;
  padding: 10px 15px;
  color: #d8e6f1;
  border: 1px solid rgba(158, 179, 199, 0.13);
  background: rgba(255, 255, 255, 0.045);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.035);
  font-size: 13px;
  font-weight: 850;
}

body.scoutyou-sport .nav-pill:hover,
body.scoutyou-sport .icon-btn:hover {
  color: #fff;
  border-color: rgba(22, 215, 197, 0.42);
  background: rgba(22, 215, 197, 0.1);
}

body.scoutyou-sport .nav-pill.active {
  color: #041018;
  border-color: transparent;
  background: linear-gradient(105deg, var(--sy-lime), var(--sy-teal));
  box-shadow: 0 12px 30px rgba(22, 215, 197, 0.24), 0 0 28px rgba(184, 245, 50, 0.12);
}

body.scoutyou-sport .panel,
body.scoutyou-sport .card,
body.scoutyou-sport .skeleton-card,
body.scoutyou-sport .auth-card,
body.scoutyou-sport .role-selector-card,
body.scoutyou-sport .auth-portal-visual {
  color: var(--sy-text);
  border: 1px solid var(--sy-line);
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.035), transparent 30%),
    var(--sy-panel);
  box-shadow: var(--sy-shadow);
  backdrop-filter: blur(20px) saturate(120%);
}

body.scoutyou-sport .card.flat {
  background:
    linear-gradient(160deg, rgba(22, 215, 197, 0.035), transparent 34%),
    rgba(7, 23, 37, 0.94);
  box-shadow: 0 0 0 1px rgba(22, 215, 197, 0.08), 0 22px 70px rgba(0, 0, 0, 0.36);
}

body.scoutyou-sport h1,
body.scoutyou-sport h2,
body.scoutyou-sport h3,
body.scoutyou-sport strong,
body.scoutyou-sport .label,
body.scoutyou-sport .field span {
  color: var(--sy-text);
}

body.scoutyou-sport p,
body.scoutyou-sport small,
body.scoutyou-sport .muted {
  color: var(--sy-muted);
}

body.scoutyou-sport .eyebrow,
body.scoutyou-sport .role-kicker,
body.scoutyou-sport .profile-type-label {
  color: #07120c;
  border: 1px solid rgba(184, 245, 50, 0.5);
  background: linear-gradient(90deg, var(--sy-lime), #d7ff76);
  box-shadow: 0 8px 24px rgba(184, 245, 50, 0.13);
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.scoutyou-sport .eyebrow.dark {
  color: var(--sy-lime);
  border-color: rgba(184, 245, 50, 0.27);
  background: rgba(184, 245, 50, 0.075);
  box-shadow: none;
}

body.scoutyou-sport .field span,
body.scoutyou-sport .label,
body.scoutyou-sport .check-field {
  color: #dce9f1;
  font-weight: 850;
}

body.scoutyou-sport input,
body.scoutyou-sport select,
body.scoutyou-sport textarea {
  color: #f8fcff;
  border: 1px solid rgba(158, 179, 199, 0.19);
  background: rgba(2, 11, 19, 0.74);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.025), 0 8px 24px rgba(0, 0, 0, 0.12);
}

body.scoutyou-sport input:hover,
body.scoutyou-sport select:hover,
body.scoutyou-sport textarea:hover {
  border-color: rgba(22, 215, 197, 0.34);
}

body.scoutyou-sport input:focus,
body.scoutyou-sport select:focus,
body.scoutyou-sport textarea:focus {
  border-color: var(--sy-teal);
  box-shadow: 0 0 0 4px rgba(22, 215, 197, 0.12), 0 0 26px rgba(22, 215, 197, 0.08);
}

body.scoutyou-sport input::placeholder,
body.scoutyou-sport textarea::placeholder {
  color: #71869a;
}

body.scoutyou-sport select option {
  color: #f7fbff;
  background: #081826;
}

body.scoutyou-sport input[type="file"]::file-selector-button {
  margin-right: 12px;
  padding: 9px 13px;
  color: #06111f;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(100deg, var(--sy-lime), var(--sy-teal));
  font-weight: 900;
}

body.scoutyou-sport .btn {
  min-height: 48px;
  color: #06110f;
  border: 1px solid rgba(184, 245, 50, 0.26);
  background: linear-gradient(110deg, var(--sy-lime), var(--sy-lime-2) 45%, var(--sy-teal));
  box-shadow: 0 14px 35px rgba(22, 215, 197, 0.18), 0 0 24px rgba(184, 245, 50, 0.08);
  font-weight: 950;
}

body.scoutyou-sport .btn:hover {
  transform: translateY(-2px) scale(1.005);
  box-shadow: 0 20px 44px rgba(22, 215, 197, 0.24), 0 0 34px rgba(184, 245, 50, 0.12);
}

body.scoutyou-sport .btn.secondary,
body.scoutyou-sport .btn.ghost {
  color: #eaf6fb;
  border: 1px solid rgba(22, 215, 197, 0.28);
  background: rgba(22, 215, 197, 0.075);
  box-shadow: none;
}

body.scoutyou-sport .btn.secondary:hover,
body.scoutyou-sport .btn.ghost:hover {
  color: #fff;
  border-color: rgba(184, 245, 50, 0.52);
  background: rgba(184, 245, 50, 0.09);
}

body.scoutyou-sport .btn.danger {
  color: #fff;
  border-color: rgba(255, 79, 109, 0.28);
  background: linear-gradient(135deg, #ff6b82, #e93155);
  box-shadow: 0 14px 34px rgba(255, 79, 109, 0.2);
}

body.scoutyou-sport .btn.warning {
  color: #171006;
  background: linear-gradient(135deg, #ffe16b, var(--sy-warning));
}

body.scoutyou-sport .badge {
  color: #c5d5e1;
  border-color: rgba(158, 179, 199, 0.14);
  background: rgba(255, 255, 255, 0.055);
}

body.scoutyou-sport .badge.green {
  color: var(--sy-lime);
  border-color: rgba(184, 245, 50, 0.25);
  background: rgba(184, 245, 50, 0.075);
}

body.scoutyou-sport .badge.orange {
  color: #ffd66e;
  border-color: rgba(255, 203, 69, 0.28);
  background: rgba(255, 203, 69, 0.075);
}

body.scoutyou-sport .badge.red {
  color: #ff9aae;
  border-color: rgba(255, 79, 109, 0.28);
  background: rgba(255, 79, 109, 0.075);
}

body.scoutyou-sport .notice {
  color: #a9bdcc;
  border: 1px solid rgba(22, 215, 197, 0.13);
  background: rgba(2, 12, 20, 0.52);
}

body.scoutyou-sport .notice strong {
  color: #edf7fb;
}
