:root {
  --la-navy-950: #08111f;
  --la-navy-900: #0d1929;
  --la-navy-850: #102137;
  --la-navy-800: #16304d;
  --la-gold-500: #f6c33b;
  --la-gold-400: #ffd76b;
  --la-gold-100: #fff6d5;
  --la-sky-500: #35b8f4;
  --la-sky-100: #e8f8ff;
  --la-mint-500: #2ebd85;
  --la-mint-100: #e7f9f1;
  --la-coral-500: #ff765f;
  --la-coral-100: #fff0ed;
  --la-violet-500: #8d7af7;
  --la-violet-100: #f0edff;
  --la-bg: #f3f6fa;
  --la-surface: #ffffff;
  --la-surface-soft: #f8fafc;
  --la-border: #e5eaf1;
  --la-border-strong: #d6dde7;
  --la-text: #152237;
  --la-muted: #6d7a8d;
  --la-sidebar-width: 286px;
  --la-radius-sm: 12px;
  --la-radius-md: 18px;
  --la-radius-lg: 24px;
  --la-shadow-sm: 0 8px 24px rgba(13, 25, 41, .06);
  --la-shadow-md: 0 16px 40px rgba(13, 25, 41, .09);
  --la-shadow-lg: 0 28px 70px rgba(8, 17, 31, .16);
  --la-transition: 180ms ease;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--la-text);
  background: var(--la-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { transition: color var(--la-transition), background-color var(--la-transition), border-color var(--la-transition), box-shadow var(--la-transition), transform var(--la-transition); }

/* Authentication */
.guest-body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 12% 12%, rgba(246, 195, 59, .24), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(53, 184, 244, .15), transparent 25%),
    linear-gradient(145deg, #f8fafc 0%, #eef3f8 52%, #e7edf5 100%);
}
.login-mark {
  width: 68px;
  height: 68px;
  border-radius: 22px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, var(--la-navy-900), var(--la-navy-800));
  color: var(--la-gold-400);
  font-weight: 900;
  letter-spacing: .08em;
  box-shadow: 0 16px 34px rgba(13, 25, 41, .22);
}

/* App shell */
.admin-body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 76% -15%, rgba(53, 184, 244, .08), transparent 28%),
    var(--la-bg);
}
.app-shell { min-height: 100vh; }
.content-shell { min-width: 0; }
.sidebar {
  width: var(--la-sidebar-width);
  flex: 0 0 var(--la-sidebar-width);
  min-height: 100vh;
  height: 100vh;
  position: sticky;
  top: 0;
  overflow-y: auto;
  overflow-x: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 20% 2%, rgba(246, 195, 59, .16), transparent 20%),
    radial-gradient(circle at 95% 22%, rgba(53, 184, 244, .11), transparent 22%),
    linear-gradient(180deg, var(--la-navy-950) 0%, var(--la-navy-900) 44%, #0f2137 100%);
  border-right: 1px solid rgba(255,255,255,.055);
  box-shadow: 18px 0 55px rgba(8,17,31,.10);
  z-index: 1040;
}
.sidebar::after {
  content: "";
  position: absolute;
  inset: auto -80px 35px auto;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  border: 34px solid rgba(246,195,59,.035);
  pointer-events: none;
}
.sidebar-inner { position: relative; z-index: 1; min-height: 100%; }
.brand {
  color: #fff;
  font-weight: 850;
  font-size: 1.06rem;
  display: flex !important;
  align-items: center;
  gap: .82rem;
  padding: .34rem .25rem;
  letter-spacing: -.015em;
}
.brand:hover { color: #fff; transform: translateY(-1px); }
.brand-mark {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 15px;
  display: inline-grid;
  place-items: center;
  color: var(--la-navy-900);
  background: linear-gradient(145deg, var(--la-gold-400), var(--la-gold-500));
  font-size: .84rem;
  font-weight: 950;
  letter-spacing: .06em;
  box-shadow: 0 10px 24px rgba(246,195,59,.23), inset 0 1px 0 rgba(255,255,255,.45);
}
.brand-copy { line-height: 1.08; }
.brand-copy small { display: block; margin-top: .24rem; color: rgba(255,255,255,.42); font-size: .61rem; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.sidebar-label {
  color: rgba(255,255,255,.36);
  text-transform: uppercase;
  font-size: .63rem;
  letter-spacing: .15em;
  font-weight: 800;
  margin: 0 .72rem .56rem;
}
.sidebar .nav { position: relative; z-index: 2; }
.sidebar .nav-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: .72rem;
  min-height: 46px;
  color: rgba(255,255,255,.72);
  border: 1px solid transparent;
  border-radius: 14px;
  padding: .72rem .82rem;
  font-size: .9rem;
  font-weight: 560;
  overflow: hidden;
}
.sidebar .nav-link i {
  width: 24px;
  flex: 0 0 24px;
  text-align: center;
  font-size: 1.01rem;
  color: rgba(255,255,255,.62);
  transition: transform var(--la-transition), color var(--la-transition);
}
.sidebar .nav-link:hover {
  color: #fff;
  background: rgba(255,255,255,.065);
  border-color: rgba(255,255,255,.06);
  transform: translateX(2px);
}
.sidebar .nav-link:hover i { color: var(--la-gold-400); transform: scale(1.06); }
.sidebar .nav-link.active {
  color: #fff;
  background: linear-gradient(100deg, rgba(246,195,59,.20), rgba(255,255,255,.07));
  border-color: rgba(246,195,59,.18);
  box-shadow: 0 12px 26px rgba(0,0,0,.13), inset 3px 0 0 var(--la-gold-500);
}
.sidebar .nav-link.active i { color: var(--la-gold-400); }
.sidebar .nav-link.disabled { opacity: .31; cursor: default; pointer-events: none; }
.sidebar-footer {
  position: relative;
  z-index: 2;
  margin-top: auto;
  padding-top: 1rem;
}
.sidebar-status {
  padding: .8rem .85rem;
  border-radius: 15px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.055);
  color: rgba(255,255,255,.58);
  font-size: .72rem;
}
.sidebar-status strong { display: block; color: rgba(255,255,255,.84); font-size: .76rem; margin-bottom: .12rem; }

/* Topbar */
.topbar {
  min-height: 76px;
  background: rgba(255,255,255,.88);
  border-bottom: 1px solid rgba(214,221,231,.82);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  z-index: 1030;
}
.topbar-title { font-size: .9rem; font-weight: 800; letter-spacing: -.01em; }
.topbar-subtitle { color: var(--la-muted); font-size: .76rem; }
.mobile-menu-button {
  display: none;
  width: 40px;
  height: 40px;
  padding: 0;
  place-items: center;
  border-radius: 12px;
}
.user-chip {
  display: flex;
  align-items: center;
  gap: .72rem;
  padding: .42rem .48rem .42rem .72rem;
  border: 1px solid var(--la-border);
  border-radius: 15px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 6px 18px rgba(13,25,41,.045);
}
.user-avatar {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: var(--la-navy-900);
  background: linear-gradient(145deg, var(--la-gold-400), var(--la-gold-500));
  font-size: .72rem;
  font-weight: 900;
}
.user-meta { line-height: 1.12; }
.user-meta .name { font-size: .77rem; font-weight: 780; }
.user-meta .role { color: var(--la-muted); font-size: .67rem; margin-top: .18rem; }
.sidebar-backdrop { display: none; }

/* Main content */
.app-main { padding: 1.8rem 2rem 2.6rem; }
.page-heading { display: flex; justify-content: space-between; gap: 1.5rem; align-items: flex-start; }
.page-heading h1 { color: var(--la-text); font-weight: 820; letter-spacing: -.032em; }
.page-heading p { color: var(--la-muted) !important; }
.page-kicker {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  padding: .34rem .66rem;
  margin-bottom: .68rem;
  border: 1px solid #efdc94;
  border-radius: 999px;
  background: var(--la-gold-100);
  color: #7f5b00;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.micro { font-size: .75rem; }

/* Dashboard hero */
.dashboard-hero {
  position: relative;
  overflow: hidden;
  padding: 1.65rem 1.8rem;
  border-radius: var(--la-radius-lg);
  color: #fff;
  background:
    radial-gradient(circle at 86% 18%, rgba(246,195,59,.26), transparent 24%),
    radial-gradient(circle at 98% 102%, rgba(53,184,244,.24), transparent 28%),
    linear-gradient(125deg, var(--la-navy-950), var(--la-navy-800));
  box-shadow: var(--la-shadow-lg);
}
.dashboard-hero::before {
  content: "";
  position: absolute;
  right: 4.5%;
  top: -58px;
  width: 198px;
  height: 198px;
  border-radius: 50%;
  border: 38px solid rgba(255,255,255,.045);
}
.dashboard-hero::after {
  content: "";
  position: absolute;
  right: 15%;
  bottom: -80px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: rgba(246,195,59,.06);
}
.dashboard-hero-content { position: relative; z-index: 2; max-width: 760px; }
.dashboard-hero .hero-eyebrow { color: var(--la-gold-400); font-size: .68rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.dashboard-hero h1 { margin: .48rem 0 .52rem; font-size: clamp(1.55rem, 2.4vw, 2.15rem); font-weight: 850; letter-spacing: -.035em; }
.dashboard-hero p { max-width: 660px; color: rgba(255,255,255,.68); margin-bottom: 1.12rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .68rem; }
.btn-hero-primary {
  color: var(--la-navy-950);
  background: linear-gradient(145deg, var(--la-gold-400), var(--la-gold-500));
  border: 0;
  box-shadow: 0 10px 24px rgba(246,195,59,.18);
}
.btn-hero-primary:hover { color: var(--la-navy-950); transform: translateY(-1px); filter: brightness(1.03); }
.btn-hero-secondary { color: #fff; border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.07); }
.btn-hero-secondary:hover { color: #fff; background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.24); }
.connection-pill {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .48rem .72rem;
  border-radius: 999px;
  color: #13734b;
  background: var(--la-mint-100);
  border: 1px solid #c8efdf;
  font-size: .72rem;
  font-weight: 800;
  white-space: nowrap;
}
.connection-pill .pulse-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--la-mint-500);
  box-shadow: 0 0 0 4px rgba(46,189,133,.13);
}

/* Cards */
.card,
.panel-card {
  border: 1px solid rgba(229,234,241,.94) !important;
  border-radius: var(--la-radius-md);
  background: rgba(255,255,255,.96);
  box-shadow: var(--la-shadow-sm) !important;
}
.card { overflow: hidden; }
.card-body { position: relative; }
.panel-header { padding: 1.15rem 1.3rem; border-bottom: 1px solid var(--la-border); background: linear-gradient(180deg,#fff,#fbfcfe); }
.panel-title { margin: 0; font-size: 1rem; font-weight: 800; letter-spacing: -.018em; }
.panel-subtitle { margin: .22rem 0 0; color: var(--la-muted); font-size: .77rem; }
.metric-card {
  position: relative;
  overflow: hidden;
  display: block;
  height: 100%;
  padding: 1.25rem;
  border: 1px solid rgba(229,234,241,.92);
  border-radius: 20px;
  background: rgba(255,255,255,.97);
  box-shadow: var(--la-shadow-sm);
  color: var(--la-text);
}
.metric-card::after {
  content: "";
  position: absolute;
  right: -30px;
  top: -36px;
  width: 104px;
  height: 104px;
  border-radius: 50%;
  background: var(--metric-soft, var(--la-gold-100));
  opacity: .55;
}
.metric-card:hover { transform: translateY(-4px); box-shadow: var(--la-shadow-md); border-color: var(--metric-border, #efdc94); }
.metric-card-top { display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 1; }
.metric-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: var(--metric-soft, var(--la-gold-100));
  color: var(--metric-color, #8a6200);
  font-size: 1.2rem;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.7);
}
.metric-arrow { color: #a3adbb; font-size: .9rem; transition: transform var(--la-transition), color var(--la-transition); }
.metric-card:hover .metric-arrow { color: var(--metric-color, #8a6200); transform: translateX(3px); }
.metric-value { position: relative; z-index: 1; margin-top: 1.05rem; font-size: 2.05rem; line-height: 1; font-weight: 850; letter-spacing: -.045em; }
.metric-label { position: relative; z-index: 1; margin-top: .46rem; color: var(--la-muted); font-size: .8rem; font-weight: 620; }
.metric-gold { --metric-soft: var(--la-gold-100); --metric-color: #986900; --metric-border: #eed98b; }
.metric-sky { --metric-soft: var(--la-sky-100); --metric-color: #0879aa; --metric-border: #bde8fb; }
.metric-mint { --metric-soft: var(--la-mint-100); --metric-color: #177852; --metric-border: #bfead9; }
.metric-violet { --metric-soft: var(--la-violet-100); --metric-color: #5d4bc3; --metric-border: #d7d0ff; }

/* Empty states and lists */
.empty-state { padding: 3.2rem 1.25rem !important; text-align: center; color: #7a8799; }
.empty-state-box { display: grid; justify-items: center; padding: 2.8rem 1rem; text-align: center; }
.empty-state-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: var(--la-gold-100);
  color: #916500;
  font-size: 1.35rem;
  margin-bottom: .92rem;
}
.empty-state-box h3 { font-size: .95rem; font-weight: 800; margin-bottom: .3rem; }
.empty-state-box p { max-width: 420px; color: var(--la-muted); font-size: .78rem; margin: 0 0 1rem; }
.relation-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .92rem .15rem;
  border-bottom: 1px solid #edf1f5;
}
.relation-row:last-child { border-bottom: 0; }
.relation-row:hover { background: linear-gradient(90deg, transparent, rgba(246,195,59,.035)); }
.schedule-row { display: flex; align-items: center; gap: .8rem; padding: .9rem 0; border-bottom: 1px solid #edf1f5; }
.schedule-day {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: var(--la-gold-100);
  color: #795600;
  font-weight: 850;
  font-size: .71rem;
  text-transform: uppercase;
}
.attention-grid { display: grid; gap: .72rem; }
.attention-item {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: .82rem;
  border: 1px solid var(--la-border);
  border-radius: 15px;
  background: var(--la-surface-soft);
}
.attention-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #fff;
  color: var(--la-navy-800);
  box-shadow: 0 6px 16px rgba(13,25,41,.06);
}
.attention-item strong { display: block; font-size: 1.03rem; line-height: 1; font-weight: 850; }
.attention-item span { display: block; color: var(--la-muted); font-size: .73rem; margin-top: .25rem; }

/* Tables */
.table-responsive { scrollbar-width: thin; scrollbar-color: #ccd5e1 transparent; }
.table { --bs-table-bg: transparent; }
.table thead th {
  background: #f8fafc;
  color: #69778b;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  font-weight: 800;
  border-bottom: 1px solid var(--la-border);
  padding: .98rem 1rem;
  white-space: nowrap;
}
.table tbody td { padding: 1rem; border-color: #edf1f5; vertical-align: middle; }
.table tbody tr { transition: background-color var(--la-transition); }
.table tbody tr:hover { background: #fbfcfe; }
.table tbody tr:last-child td { border-bottom: 0; }

/* Forms */
.form-label { font-weight: 700; font-size: .76rem; color: #4d5b6f; margin-bottom: .42rem; }
.form-label.required::after { content: " *"; color: #c73737; }
.form-control,
.form-select,
.input-group-text {
  min-height: 44px;
  border-color: var(--la-border-strong);
  border-radius: 12px;
  background-color: #fff;
  color: var(--la-text);
  font-size: .86rem;
  transition: border-color var(--la-transition), box-shadow var(--la-transition), background-color var(--la-transition);
}
textarea.form-control { min-height: auto; }
.form-control::placeholder { color: #a2adba; }
.form-control:hover,
.form-select:hover { border-color: #c7d0dc; }
.form-control:focus,
.form-select:focus {
  border-color: #e0b535;
  box-shadow: 0 0 0 .22rem rgba(246,195,59,.14);
}
.input-group > .form-control { border-radius: 0 12px 12px 0; }
.input-group > .input-group-text { border-radius: 12px 0 0 12px; color: #647184; background: #f8fafc; }
.form-check-input:checked { background-color: var(--la-navy-800); border-color: var(--la-navy-800); }
.check-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .62rem 1rem; font-size: .8rem; color: #4b596d; }
.check-grid label { display: flex; align-items: center; gap: .48rem; }

/* Buttons */
.btn {
  min-height: 40px;
  border-radius: 12px;
  font-weight: 720;
  font-size: .82rem;
  padding-inline: .95rem;
  transition: transform var(--la-transition), box-shadow var(--la-transition), background-color var(--la-transition), border-color var(--la-transition), color var(--la-transition);
}
.btn:hover { transform: translateY(-1px); }
.btn-sm { min-height: 34px; border-radius: 10px; font-size: .74rem; padding-inline: .72rem; }
.btn-dark {
  background: linear-gradient(145deg, var(--la-navy-900), var(--la-navy-800));
  border-color: var(--la-navy-900);
  box-shadow: 0 8px 18px rgba(13,25,41,.12);
}
.btn-dark:hover { background: linear-gradient(145deg, #12243b, #1b3b5e); border-color: #12243b; box-shadow: 0 10px 23px rgba(13,25,41,.17); }
.btn-outline-dark { border-color: #bfc8d4; color: var(--la-navy-900); }
.btn-outline-dark:hover { background: var(--la-navy-900); border-color: var(--la-navy-900); }
.btn-outline-secondary { border-color: #d5dce6; color: #5f6d80; }
.btn-outline-secondary:hover { background: #f1f4f8; border-color: #cbd3df; color: var(--la-text); }
.btn-link { color: #6a778a; text-decoration: none; }
.btn-link:hover { color: var(--la-navy-900); }

/* Status and UI helpers */
.section-title { font-size: .96rem; font-weight: 820; letter-spacing: -.017em; margin-bottom: 1rem; }
.back-link { color: #748196; text-decoration: none; font-size: .8rem; font-weight: 650; }
.back-link:hover { color: var(--la-navy-900); }
.record-id { background: #fff; border: 1px solid var(--la-border); color: #667085; border-radius: 999px; padding: .4rem .75rem; font-size: .75rem; }
.sticky-card { position: sticky; top: 96px; }
.status-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: .36rem .64rem; font-size: .68rem; font-weight: 800; border: 1px solid transparent; }
.status-prospect { background: #eef2ff; color: #4f46e5; border-color: #dfe4ff; }
.status-trial { background: #fff7dd; color: #946200; border-color: #f3e4aa; }
.status-pending { background: #fff0e6; color: #ad4e00; border-color: #f8d9c2; }
.status-active { background: #e8f8ef; color: #18794e; border-color: #cbeedb; }
.status-paused { background: #f1f5f9; color: #52606d; border-color: #e2e8ef; }
.status-suspended { background: #ffe9e9; color: #b42318; border-color: #f9cccc; }
.status-withdrawn { background: #eceff3; color: #667085; border-color: #dfe3e9; }
.eyebrow { color: #835d00; background: var(--la-gold-100); border: 1px solid #f0df9e; border-radius: 999px; padding: .28rem .58rem; font-size: .64rem; font-weight: 850; text-transform: uppercase; letter-spacing: .055em; }
.group-card { overflow: hidden; }
.group-card:hover { transform: translateY(-2px); box-shadow: var(--la-shadow-md) !important; }
.group-meta { display: grid; gap: .62rem; color: #667085; font-size: .8rem; }
.group-meta div { display: flex; gap: .55rem; align-items: center; }
.group-meta i { color: #946d00; }
.academy-tabs { gap: .52rem; position: sticky; top: 78px; z-index: 10; background: rgba(243,246,250,.92); backdrop-filter: blur(10px); padding: .62rem 0; }
.academy-tabs .nav-link { color: #5f6b7a; background: #fff; border: 1px solid var(--la-border); border-radius: 12px; font-size: .78rem; font-weight: 720; }
.academy-tabs .nav-link.active,
.academy-tabs .nav-link:hover { color: var(--la-navy-900); background: var(--la-gold-100); border-color: #efd77b; }
.config-section { scroll-margin-top: 150px; margin-bottom: 3rem; }
.alert { border: 1px solid transparent; border-radius: 15px; box-shadow: 0 8px 20px rgba(13,25,41,.045); }
.badge.text-bg-success { background-color: var(--la-mint-100) !important; color: #177852 !important; border: 1px solid #c8efdf; }
.badge.text-bg-secondary { background-color: #eef2f6 !important; color: #617084 !important; border: 1px solid #e0e6ed; }
.badge.text-bg-warning { background-color: var(--la-gold-100) !important; color: #835d00 !important; border: 1px solid #efdc94; }

/* Responsive */
@media (max-width: 1199.98px) {
  :root { --la-sidebar-width: 258px; }
  .app-main { padding-inline: 1.5rem; }
}
@media (max-width: 991.98px) {
  .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: 282px;
    height: 100vh;
    transform: translateX(-104%);
    transition: transform 240ms ease;
    box-shadow: 28px 0 70px rgba(8,17,31,.28);
  }
  body.sidebar-open { overflow: hidden; }
  body.sidebar-open .sidebar { transform: translateX(0); }
  .sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1035;
    display: block;
    background: rgba(8,17,31,.48);
    opacity: 0;
    visibility: hidden;
    transition: opacity 220ms ease, visibility 220ms ease;
    backdrop-filter: blur(2px);
  }
  body.sidebar-open .sidebar-backdrop { opacity: 1; visibility: visible; }
  .mobile-menu-button { display: grid; }
  .page-heading { flex-direction: column; align-items: stretch; }
  .sticky-card { position: static; }
  .app-main { padding: 1.25rem; }
}
@media (max-width: 767.98px) {
  .topbar { min-height: 68px; padding-inline: 1rem !important; }
  .topbar-copy { display: none; }
  .user-chip { padding-left: .42rem; }
  .user-meta { display: none; }
  .dashboard-hero { padding: 1.35rem; border-radius: 20px; }
  .dashboard-hero::before { right: -58px; }
  .metric-value { font-size: 1.8rem; }
  .academy-tabs { top: 68px; overflow-x: auto; flex-wrap: nowrap; padding-bottom: .7rem; }
  .academy-tabs .nav-link { white-space: nowrap; }
}
@media (max-width: 575.98px) {
  .app-main { padding: 1rem; }
  .check-grid { grid-template-columns: 1fr; }
  .hero-actions { display: grid; }
  .hero-actions .btn { width: 100%; }
  .connection-pill { width: fit-content; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Admissions v0.4 */
.admission-hero {
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 2rem;
  padding: 1.7rem 1.8rem;
  border-radius: var(--la-radius-lg);
  color: #fff;
  background:
    radial-gradient(circle at 88% 16%, rgba(246,195,59,.30), transparent 22%),
    radial-gradient(circle at 70% 130%, rgba(141,122,247,.25), transparent 34%),
    linear-gradient(122deg, #08111f 0%, #102a47 62%, #173c61 100%);
  box-shadow: var(--la-shadow-lg);
}
.admission-hero::before {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  right: 9%;
  top: -120px;
  border: 42px solid rgba(255,255,255,.045);
  border-radius: 50%;
}
.admission-hero > * { position: relative; z-index: 2; }
.admission-hero h1 { margin: .46rem 0 .45rem; font-size: clamp(1.45rem, 2.2vw, 2rem); font-weight: 850; letter-spacing: -.035em; }
.admission-hero p { max-width: 720px; margin: 0; color: rgba(255,255,255,.68); }
.admission-hero-actions { display: flex; flex-wrap: wrap; gap: .65rem; flex: 0 0 auto; }
.admission-filters { display: grid; grid-template-columns: minmax(240px, 1.6fr) minmax(175px, 1fr) auto; gap: .65rem; align-items: center; }
.premium-modal { border: 1px solid rgba(255,255,255,.7); border-radius: 24px; box-shadow: 0 32px 85px rgba(8,17,31,.28); overflow: hidden; }
.list-avatar {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #765400;
  background: linear-gradient(145deg, #fff7dc, #ffe9a0);
  border: 1px solid #f1dda0;
  font-size: .74rem;
  font-weight: 900;
}
.admission-status {
  display: inline-flex;
  align-items: center;
  gap: .38rem;
  padding: .38rem .65rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 820;
  white-space: nowrap;
}
.admission-status-draft { color: #536174; background: #f1f4f7; border-color: #dfe5ec; }
.admission-status-trial_pending { color: #8b6100; background: #fff6d8; border-color: #f0df9f; }
.admission-status-review { color: #08719b; background: #e9f8ff; border-color: #c5eafb; }
.admission-status-documents_pending { color: #5b49bd; background: #f0edff; border-color: #d9d1ff; }
.admission-status-contract_pending { color: #a14e12; background: #fff0e5; border-color: #f7d5bd; }
.admission-status-payment_pending { color: #a83e35; background: #fff0ee; border-color: #f7d0cb; }
.admission-status-ready { color: #14734d; background: #e8f8ef; border-color: #c6ebd8; }
.admission-status-approved { color: #12673f; background: #dff6e9; border-color: #bce5ce; }
.admission-status-rejected,
.admission-status-cancelled { color: #8d3030; background: #fceaea; border-color: #f3caca; }
.admission-mini-progress { display: inline-flex; gap: .35rem; }
.admission-mini-progress span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: #8d98a7;
  background: #f3f5f8;
  border: 1px solid #e5e9ef;
  font-size: .72rem;
}
.admission-mini-progress span.done { color: #177852; background: var(--la-mint-100); border-color: #c3ead8; }
.admission-mini-progress span.warning { color: #9a6400; background: var(--la-gold-100); border-color: #efdf9f; }
.attention-summary-card {
  display: flex;
  align-items: center;
  gap: .8rem;
  min-height: 78px;
  padding: .85rem 1rem;
  color: var(--la-text);
  background: #fff;
  border: 1px solid var(--la-border);
  border-radius: 17px;
  box-shadow: var(--la-shadow-sm);
}
.attention-summary-card:hover { color: var(--la-text); transform: translateY(-2px); box-shadow: var(--la-shadow-md); }
.attention-summary-card > i { margin-left: auto; color: #9aa5b3; }
.attention-summary-card strong { display: block; font-size: 1.25rem; line-height: 1; font-weight: 880; }
.attention-summary-card div span { display: block; margin-top: .25rem; color: var(--la-muted); font-size: .72rem; }
.attention-summary-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #8a6200;
  background: var(--la-gold-100);
}
.attention-summary-icon.mint { color: #177852; background: var(--la-mint-100); }
.attention-summary-icon.violet { color: #5d4bc3; background: var(--la-violet-100); }
.attention-summary-icon.sky { color: #0879aa; background: var(--la-sky-100); }

.admission-command-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.2rem 1.35rem;
  border-radius: 20px;
  border: 1px solid var(--la-border);
  background: linear-gradient(120deg, #fff, #fbfcfe);
  box-shadow: var(--la-shadow-sm);
}
.admission-command-main { display: flex; align-items: center; gap: 1rem; min-width: 330px; }
.admission-avatar-large {
  width: 68px;
  height: 68px;
  flex: 0 0 68px;
  display: grid;
  place-items: center;
  border-radius: 21px;
  color: var(--la-navy-900);
  background: linear-gradient(145deg, var(--la-gold-400), var(--la-gold-500));
  box-shadow: 0 12px 26px rgba(246,195,59,.2);
  font-weight: 950;
  letter-spacing: .04em;
}
.admission-progress { width: min(360px, 50vw); height: 8px; background: #edf1f5; border-radius: 999px; }
.admission-progress .progress-bar { border-radius: inherit; background: linear-gradient(90deg, var(--la-gold-500), var(--la-mint-500)); }
.admission-command-meta { display: grid; grid-template-columns: repeat(3, minmax(120px, 1fr)); gap: .65rem; }
.admission-command-meta div { padding: .75rem .85rem; border-radius: 14px; background: var(--la-surface-soft); border: 1px solid var(--la-border); }
.admission-command-meta span { display: block; color: var(--la-muted); font-size: .65rem; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.admission-command-meta strong { display: block; margin-top: .22rem; font-size: .8rem; }
.admission-section-nav {
  display: flex;
  gap: .52rem;
  position: sticky;
  top: 78px;
  z-index: 20;
  padding: .62rem;
  border: 1px solid rgba(229,234,241,.88);
  border-radius: 16px;
  background: rgba(243,246,250,.91);
  backdrop-filter: blur(12px);
  overflow-x: auto;
}
.admission-section-nav a { display: inline-flex; align-items: center; gap: .42rem; padding: .58rem .72rem; border-radius: 11px; color: #5e6b7d; background: #fff; border: 1px solid var(--la-border); font-size: .74rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.admission-section-nav a:hover { color: var(--la-navy-900); background: var(--la-gold-100); border-color: #efd77b; }
.payment-confirmation-box,
.trial-schedule-box,
.document-upload-zone,
.contract-generator { padding: 1rem; border: 1px dashed #ced7e3; border-radius: 16px; background: #f9fbfd; }
.trial-record { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #edf1f5; }
.trial-record:last-child { border-bottom: 0; }
.trial-date-block { width: 55px; height: 60px; flex: 0 0 55px; display: grid; align-content: center; justify-items: center; border-radius: 15px; color: #7c5800; background: var(--la-gold-100); border: 1px solid #efdf9d; }
.trial-date-block strong { font-size: 1.15rem; line-height: 1; }
.trial-date-block span { margin-top: .25rem; font-size: .59rem; font-weight: 850; letter-spacing: .08em; }
.document-list { display: grid; }
.document-item { display: flex; align-items: center; gap: .75rem; padding: .85rem 0; border-bottom: 1px solid #edf1f5; }
.document-item:last-child { border-bottom: 0; }
.document-icon { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 13px; color: #5d4bc3; background: var(--la-violet-100); font-size: 1.05rem; }
.document-status { display: inline-flex; align-items: center; justify-content: center; min-width: 74px; padding: .34rem .58rem; border: 1px solid transparent; border-radius: 999px; font-size: .65rem; font-weight: 820; white-space: nowrap; }
.document-status-pending { color: #8b6100; background: var(--la-gold-100); border-color: #efdf9f; }
.document-status-approved { color: #177852; background: var(--la-mint-100); border-color: #c4ead8; }
.document-status-rejected { color: #aa3d35; background: var(--la-coral-100); border-color: #f4d0cb; }
.document-review-form { display: grid; grid-template-columns: 112px minmax(130px, 1fr) auto; gap: .42rem; align-items: center; }
.contract-record { padding: 1rem; margin-bottom: .85rem; border: 1px solid var(--la-border); border-radius: 16px; background: #fbfcfe; }
.contract-record:last-child { margin-bottom: 0; }
.contract-record summary { color: #5e6b7d; cursor: pointer; font-size: .75rem; font-weight: 750; }
.contract-snapshot,
.contract-editor { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: .76rem; line-height: 1.55; }
.accepted-contract-note,
.activation-success { display: flex; align-items: center; gap: .72rem; padding: .82rem; border: 1px solid #c5ead7; border-radius: 14px; color: #176d4a; background: var(--la-mint-100); }
.accepted-contract-note > i,
.activation-success > i { font-size: 1.25rem; }
.accepted-contract-note strong,
.activation-success strong { display: block; font-size: .8rem; }
.accepted-contract-note span,
.activation-success span { display: block; margin-top: .15rem; font-size: .68rem; opacity: .82; }
.admission-timeline { position: relative; display: grid; gap: 1rem; }
.admission-timeline::before { content: ""; position: absolute; left: 8px; top: 10px; bottom: 10px; width: 2px; background: #e2e7ed; }
.timeline-item { position: relative; display: grid; grid-template-columns: 18px 1fr; gap: .8rem; }
.timeline-dot { position: relative; z-index: 2; width: 18px; height: 18px; border: 4px solid #fff; border-radius: 50%; background: var(--la-gold-500); box-shadow: 0 0 0 1px #e0c45f; }
.activation-checklist { display: grid; gap: .68rem; }
.activation-item { display: flex; align-items: flex-start; gap: .72rem; padding: .72rem; border: 1px solid #e8ecf1; border-radius: 14px; background: #fafbfc; }
.activation-item.complete { border-color: #c8ead9; background: #f2fbf6; }
.activation-check { width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; border-radius: 9px; color: #7c8999; background: #edf1f5; }
.activation-item.complete .activation-check { color: #fff; background: var(--la-mint-500); }
.activation-item strong { display: block; font-size: .76rem; }
.activation-item span { display: block; margin-top: .18rem; color: var(--la-muted); font-size: .66rem; line-height: 1.35; }
.profile-facts { display: grid; gap: .75rem; }
.profile-facts div { display: grid; grid-template-columns: 30px 1fr; grid-template-areas: "icon label" "icon value"; column-gap: .65rem; padding-bottom: .7rem; border-bottom: 1px solid #edf1f5; }
.profile-facts div:last-child { border-bottom: 0; padding-bottom: 0; }
.profile-facts i { grid-area: icon; align-self: center; color: #8a6500; }
.profile-facts span { grid-area: label; color: var(--la-muted); font-size: .64rem; text-transform: uppercase; letter-spacing: .055em; font-weight: 750; }
.profile-facts strong { grid-area: value; margin-top: .15rem; font-size: .76rem; overflow-wrap: anywhere; }
.contract-template-card { overflow: hidden; }
.min-w-0 { min-width: 0; }

@media (max-width: 1199.98px) {
  .admission-command-card { align-items: stretch; flex-direction: column; }
  .admission-command-meta { width: 100%; }
  .admission-progress { width: min(520px, 70vw); }
  .document-item { flex-wrap: wrap; }
  .document-review-form { width: 100%; padding-left: 54px; }
}
@media (max-width: 991.98px) {
  .admission-hero { align-items: flex-start; flex-direction: column; }
  .admission-filters { grid-template-columns: 1fr 1fr auto; }
  .admission-section-nav { top: 68px; }
}
@media (max-width: 767.98px) {
  .admission-filters { grid-template-columns: 1fr; }
  .admission-command-main { min-width: 0; }
  .admission-command-meta { grid-template-columns: 1fr; }
  .admission-progress { width: 100%; }
  .document-review-form { grid-template-columns: 1fr; padding-left: 0; }
  .document-item { align-items: flex-start; }
}
@media (max-width: 575.98px) {
  .admission-hero-actions { display: grid; width: 100%; }
  .admission-hero-actions .btn { width: 100%; }
  .admission-command-main { align-items: flex-start; }
  .admission-avatar-large { width: 54px; height: 54px; flex-basis: 54px; border-radius: 17px; }
  .trial-record { align-items: flex-start; }
}

/* v0.5 Training operations and coach portal */
.training-hero {
  background:
    radial-gradient(circle at 84% 10%, rgba(46,189,133,.26), transparent 23%),
    radial-gradient(circle at 98% 108%, rgba(246,195,59,.22), transparent 28%),
    linear-gradient(125deg, #071423, #123454);
}
.training-session-list { display: grid; }
.training-session-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 92px;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #edf1f5;
  transition: background-color var(--la-transition), transform var(--la-transition);
}
.training-session-row:last-child { border-bottom: 0; }
.training-session-row:hover { background: linear-gradient(90deg, rgba(246,195,59,.055), rgba(53,184,244,.035)); }
.session-date-block {
  width: 56px;
  height: 62px;
  flex: 0 0 56px;
  display: grid;
  align-content: center;
  justify-items: center;
  border-radius: 17px;
  color: var(--la-navy-900);
  background: linear-gradient(145deg, var(--la-gold-100), #fff9e8);
  border: 1px solid #f0df9f;
  box-shadow: 0 8px 18px rgba(145,101,0,.08);
}
.session-date-block strong { font-size: 1.25rem; line-height: 1; font-weight: 900; }
.session-date-block span { margin-top: .25rem; font-size: .58rem; font-weight: 850; letter-spacing: .09em; }
.session-main { min-width: 0; }
.session-title { color: var(--la-text); font-size: .92rem; font-weight: 820; letter-spacing: -.012em; }
.session-title:hover { color: #7c5800; }
.session-meta { display: flex; flex-wrap: wrap; gap: .45rem 1rem; color: var(--la-muted); font-size: .7rem; }
.session-meta span { display: inline-flex; align-items: center; gap: .35rem; }
.session-meta i { color: #8c99a9; }
.session-attendance { min-width: 74px; padding: .48rem .65rem; border-radius: 13px; background: var(--la-surface-soft); border: 1px solid var(--la-border); }
.session-attendance strong { display: block; font-size: .84rem; }
.session-attendance span { display: block; margin-top: .1rem; color: var(--la-muted); font-size: .58rem; text-transform: uppercase; letter-spacing: .05em; }
.status-scheduled { color: #765500; background: var(--la-gold-100); border-color: #efdc94; }
.status-in_progress { color: #126b93; background: var(--la-sky-100); border-color: #cbeefa; }
.status-completed { color: #16754e; background: var(--la-mint-100); border-color: #c4ead8; }
.status-cancelled { color: #9f3d35; background: var(--la-coral-100); border-color: #f1ccc6; }
.format-pill { display: inline-flex; align-items: center; gap: .3rem; padding: .28rem .52rem; border-radius: 999px; font-size: .62rem; font-weight: 780; border: 1px solid transparent; }
.format-gold { color: #795600; background: var(--la-gold-100); border-color: #efdd9a; }
.format-sky { color: #176d91; background: var(--la-sky-100); border-color: #c7edf9; }
.format-mint { color: #176f4d; background: var(--la-mint-100); border-color: #c3ead7; }
.format-coral { color: #9b4138; background: var(--la-coral-100); border-color: #f2cdc7; }
.format-violet { color: #5b4bb0; background: var(--la-violet-100); border-color: #ddd7fb; }

.attendance-counter { min-height: 92px; padding: 1rem; border: 1px solid var(--la-border); border-radius: 18px; background: #fff; box-shadow: var(--la-shadow-sm); }
.attendance-counter strong { display: block; font-size: 1.45rem; font-weight: 880; }
.attendance-counter span { display: block; margin-top: .22rem; color: var(--la-muted); font-size: .69rem; }
.attendance-present { border-top: 3px solid var(--la-mint-500); }
.attendance-absent { border-top: 3px solid var(--la-coral-500); }
.attendance-late { border-top: 3px solid var(--la-gold-500); }
.attendance-excused { border-top: 3px solid var(--la-sky-500); }
.attendance-injured { border-top: 3px solid var(--la-violet-500); }
.attendance-pending { border-top: 3px solid #9aa6b6; }
.attendance-table thead th { padding: .85rem 1rem; color: #7b8797; background: #f8fafc; border-bottom-color: var(--la-border); font-size: .64rem; letter-spacing: .055em; text-transform: uppercase; }
.attendance-table tbody td { padding: .85rem 1rem; vertical-align: middle; border-bottom-color: #edf1f5; }
.person-avatar { width: 40px; height: 40px; flex: 0 0 40px; display: grid; place-items: center; border-radius: 13px; color: var(--la-navy-900); background: linear-gradient(145deg, var(--la-gold-100), #fff); border: 1px solid #efdf9d; font-size: .7rem; font-weight: 900; }
.completion-panel { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.25rem 1.4rem; border: 1px solid #c3ead7; border-radius: 20px; background: linear-gradient(120deg, #f2fbf6, #fff); box-shadow: var(--la-shadow-sm); }
.format-grid { display: grid; gap: .72rem; }
.format-config-card { width: 100%; display: flex; align-items: center; gap: .85rem; padding: .9rem; border: 1px solid var(--la-border); border-radius: 16px; background: #fff; color: var(--la-text); }
.format-config-card:hover { transform: translateY(-1px); box-shadow: var(--la-shadow-sm); }
.format-config-card strong, .format-config-card small { display: block; }
.format-config-card small { margin-top: .2rem; color: var(--la-muted); font-size: .67rem; line-height: 1.35; }
.format-config-icon { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 13px; background: var(--la-gold-100); color: #8d6500; }
.format-config-card.format-sky .format-config-icon { background: var(--la-sky-100); color: #17729a; }
.format-config-card.format-mint .format-config-icon { background: var(--la-mint-100); color: #197751; }
.format-config-card.format-coral .format-config-icon { background: var(--la-coral-100); color: #a5493f; }
.format-config-card.format-violet .format-config-icon { background: var(--la-violet-100); color: #5c4bb2; }
.portal-access-card { border-left: 4px solid var(--la-gold-500) !important; }

/* Coach portal */
.coach-body { min-height: 100vh; padding-bottom: 0; background: radial-gradient(circle at 12% 0%, rgba(246,195,59,.12), transparent 25%), var(--la-bg); }
.coach-container { max-width: 1380px; padding-left: 1.25rem; padding-right: 1.25rem; }
.coach-topbar { min-height: 78px; display: flex; align-items: center; color: #fff; background: linear-gradient(110deg, var(--la-navy-950), var(--la-navy-800)); border-bottom: 1px solid rgba(255,255,255,.08); box-shadow: 0 14px 40px rgba(8,17,31,.18); z-index: 1030; }
.coach-topbar .brand { min-width: 220px; }
.coach-nav { align-items: center; gap: .38rem; }
.coach-nav a { display: inline-flex; align-items: center; gap: .5rem; padding: .65rem .78rem; color: rgba(255,255,255,.68); border-radius: 12px; font-size: .78rem; font-weight: 700; text-decoration: none; }
.coach-nav a:hover, .coach-nav a.active { color: #fff; background: rgba(255,255,255,.08); }
.coach-nav a.active { box-shadow: inset 0 -2px 0 var(--la-gold-500); }
.coach-user-chip { color: var(--la-text); background: rgba(255,255,255,.94); border-color: rgba(255,255,255,.22); }
.coach-main { padding: 1.65rem 0 3rem; }
.coach-hero { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; min-height: 238px; padding: 1.7rem 2rem; color: #fff; border-radius: 26px; background: radial-gradient(circle at 88% 18%, rgba(246,195,59,.27), transparent 24%), radial-gradient(circle at 98% 110%, rgba(46,189,133,.23), transparent 30%), linear-gradient(120deg, #071423, #123858); box-shadow: var(--la-shadow-lg); }
.coach-hero > div:first-child { position: relative; z-index: 2; max-width: 720px; }
.coach-eyebrow { display: inline-flex; align-items: center; gap: .4rem; color: var(--la-gold-400); font-size: .68rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.coach-hero h1 { max-width: 690px; margin: .55rem 0 .55rem; font-size: clamp(1.55rem, 3vw, 2.25rem); font-weight: 880; letter-spacing: -.038em; }
.coach-hero p { max-width: 650px; color: rgba(255,255,255,.68); }
.coach-hero-ball { position: relative; z-index: 1; width: 145px; height: 145px; flex: 0 0 145px; display: grid; place-items: center; border-radius: 50%; color: rgba(255,255,255,.13); border: 28px solid rgba(255,255,255,.045); font-size: 4rem; transform: rotate(-12deg); }
.coach-attendance-list { display: grid; }
.coach-attendance-row { display: grid; grid-template-columns: minmax(210px, 1fr) minmax(310px, .9fr); gap: 1rem; align-items: center; padding: .9rem 1.1rem; border-bottom: 1px solid #edf1f5; }
.coach-attendance-row:last-child { border-bottom: 0; }
.coach-attendance-controls { display: grid; grid-template-columns: 150px minmax(150px, 1fr); gap: .55rem; }
.session-info-card { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; }
.session-info-card > div { display: flex; align-items: center; gap: .7rem; padding: .85rem; border: 1px solid var(--la-border); border-radius: 15px; background: #fff; box-shadow: var(--la-shadow-sm); }
.session-info-card i { color: #8a6500; font-size: 1rem; }
.session-info-card span { display: block; color: var(--la-muted); font-size: .62rem; text-transform: uppercase; letter-spacing: .045em; }
.session-info-card strong { display: block; margin-top: .18rem; color: var(--la-text); font-size: .72rem; text-transform: none; letter-spacing: normal; }
.coach-login-mark { background: linear-gradient(145deg, var(--la-gold-400), var(--la-gold-500)); color: var(--la-navy-900); }
.coach-login-card { overflow: hidden; }
.coach-login-card::before { content: ""; display: block; height: 5px; background: linear-gradient(90deg, var(--la-gold-500), var(--la-sky-500), var(--la-mint-500)); }
.coach-bottom-nav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1040; display: grid; grid-template-columns: repeat(2,1fr); min-height: 66px; padding: .38rem max(.7rem, env(safe-area-inset-right)) calc(.38rem + env(safe-area-inset-bottom)) max(.7rem, env(safe-area-inset-left)); background: rgba(255,255,255,.94); border-top: 1px solid var(--la-border); backdrop-filter: blur(16px); box-shadow: 0 -12px 34px rgba(8,17,31,.08); }
.coach-bottom-nav a { display: grid; place-items: center; align-content: center; gap: .14rem; color: var(--la-muted); border-radius: 12px; font-size: .61rem; font-weight: 720; text-decoration: none; }
.coach-bottom-nav a i { font-size: 1.1rem; }
.coach-bottom-nav a.active { color: var(--la-navy-900); background: var(--la-gold-100); }

@media (max-width: 991.98px) {
  .training-session-row { align-items: flex-start; flex-wrap: wrap; }
  .session-main { width: calc(100% - 76px); }
  .session-attendance { margin-left: 72px; }
  .coach-hero-ball { width: 110px; height: 110px; flex-basis: 110px; font-size: 3rem; }
  .coach-attendance-row { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
  .coach-body { padding-bottom: 76px; }
  .coach-topbar { min-height: 70px; }
  .coach-topbar .brand { min-width: 0; }
  .coach-topbar .brand-copy small { display: none; }
  .coach-main { padding-top: 1rem; }
  .coach-hero { min-height: 0; padding: 1.35rem; }
  .coach-hero-ball { display: none; }
  .training-session-row { padding: .9rem; }
  .training-session-row .btn { flex: 1; }
  .session-attendance { margin-left: 0; }
  .completion-panel { align-items: stretch; flex-direction: column; }
  .completion-panel .btn { width: 100%; }
  .session-info-card { grid-template-columns: 1fr; }
  .coach-attendance-controls { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
  .coach-container { padding-left: .85rem; padding-right: .85rem; }
  .coach-topbar .brand-mark { width: 38px; height: 38px; flex-basis: 38px; border-radius: 12px; }
  .coach-topbar .brand-copy { font-size: .88rem; }
  .training-session-row { gap: .7rem; }
  .session-date-block { width: 50px; height: 56px; flex-basis: 50px; }
  .session-main { width: calc(100% - 60px); }
  .session-meta { display: grid; gap: .3rem; }
  .session-attendance { min-width: 64px; }
  .attendance-table { min-width: 760px; }
}

/* v0.6 Competitions, events and YouTube Live */
.competition-hero { background: radial-gradient(circle at 89% 12%, rgba(246,195,59,.28), transparent 22%), radial-gradient(circle at 98% 105%, rgba(119,96,214,.3), transparent 31%), linear-gradient(120deg,#071423,#1b2850 62%,#30266c); }
.competition-coach-hero { background: radial-gradient(circle at 88% 16%, rgba(246,195,59,.27), transparent 23%), radial-gradient(circle at 105% 110%, rgba(119,96,214,.25), transparent 30%), linear-gradient(120deg,#071423,#1a3155); }
.scroll-section { scroll-margin-top: 96px; }
.competition-tabs { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
.competition-tabs::-webkit-scrollbar { display: none; }
.competition-tabs .nav-link { white-space: nowrap; }
.competition-tabs .nav-link span { min-width: 21px; height: 21px; display: inline-grid; place-items: center; margin-left: .2rem; padding: 0 .32rem; border-radius: 999px; background: rgba(13,28,47,.08); font-size: .58rem; }
.competition-list { display: grid; }
.competition-row { display: flex; align-items: center; gap: 1rem; min-height: 104px; padding: 1rem 1.25rem; color: var(--la-text); border-bottom: 1px solid #edf1f5; transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease; }
.competition-row:last-child { border-bottom: 0; }
.competition-row:hover { position: relative; z-index: 1; color: var(--la-text); background: #fbfcfe; box-shadow: inset 4px 0 0 var(--la-gold-500); }
.competition-date { width: 58px; height: 64px; flex: 0 0 58px; display: grid; place-items: center; align-content: center; border-radius: 17px; color: var(--la-navy-950); background: linear-gradient(145deg,var(--la-gold-100),#fff); border: 1px solid #efdf9d; }
.competition-date strong { font-size: 1.3rem; line-height: 1; font-weight: 900; }
.competition-date span { margin-top: .22rem; color: #8b6a14; font-size: .58rem; font-weight: 850; letter-spacing: .09em; }
.competition-title { color: var(--la-text); font-weight: 850; letter-spacing: -.012em; }
.competition-stats { display: flex; align-items: center; gap: .7rem; }
.competition-stats > div { min-width: 68px; padding: .55rem .65rem; text-align: center; border: 1px solid var(--la-border); border-radius: 13px; background: #fff; }
.competition-stats strong,.competition-stats span { display: block; }
.competition-stats strong { color: var(--la-text); font-size: .92rem; font-weight: 880; }
.competition-stats span { margin-top: .08rem; color: var(--la-muted); font-size: .56rem; text-transform: uppercase; letter-spacing: .045em; }
.event-type-pill { display: inline-flex; align-items: center; padding: .27rem .53rem; border: 1px solid transparent; border-radius: 999px; font-size: .61rem; font-weight: 800; }
.event-type-tournament { color: #765500; background: var(--la-gold-100); border-color: #efdc94; }
.event-type-friendly { color: #176e93; background: var(--la-sky-100); border-color: #c7edf9; }
.event-type-festival { color: #5b4bb0; background: var(--la-violet-100); border-color: #ddd7fb; }
.event-type-internal { color: #176f4d; background: var(--la-mint-100); border-color: #c3ead7; }
.event-type-parents_game { color: #9b4138; background: var(--la-coral-100); border-color: #f2cdc7; }
.event-type-raffle { color: #75540b; background: #fff1bd; border-color: #efd373; }
.live-pill { display: inline-flex; align-items: center; gap: .35rem; padding: .28rem .55rem; border-radius: 999px; color: #a52924; background: #fff0ef; border: 1px solid #f2c9c5; font-size: .58rem; font-weight: 900; letter-spacing: .06em; }
.live-pill span { width: 7px; height: 7px; border-radius: 50%; background: #e94d43; box-shadow: 0 0 0 0 rgba(233,77,67,.42); animation: livePulse 1.8s infinite; }
@keyframes livePulse { 70% { box-shadow: 0 0 0 8px rgba(233,77,67,0); } 100% { box-shadow: 0 0 0 0 rgba(233,77,67,0); } }
.status-draft { color: #626e7e; background: #eef1f5; border-color: #dde2e9; }
.status-live { color: #a52924; background: #fff0ef; border-color: #f2c9c5; }
.status-ended { color: #16754e; background: var(--la-mint-100); border-color: #c4ead8; }
.status-unavailable { color: #626e7e; background: #eef1f5; border-color: #dde2e9; }
.subpanel { padding: 1.1rem; border: 1px solid var(--la-border); border-radius: 18px; background: linear-gradient(145deg,#fafbfd,#fff); }
.subpanel-title { margin: 0 0 .85rem; color: var(--la-text); font-size: .88rem; font-weight: 850; }
.event-roster-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
.event-roster-summary > div { padding: .8rem; border-radius: 15px; text-align: center; background: #fff; border: 1px solid var(--la-border); box-shadow: var(--la-shadow-sm); }
.event-roster-summary strong,.event-roster-summary span { display: block; }
.event-roster-summary strong { font-size: 1.2rem; font-weight: 900; }
.event-roster-summary span { margin-top: .15rem; color: var(--la-muted); font-size: .6rem; }
.roster-table thead th { padding: .8rem 1rem; color: #7b8797; background: #f8fafc; border-bottom-color: var(--la-border); font-size: .63rem; letter-spacing: .055em; text-transform: uppercase; }
.roster-table tbody td { padding: .75rem 1rem; border-bottom-color: #edf1f5; }
.roster-number { width: 82px; text-align: center; font-weight: 800; }
.match-score { min-width: 82px; height: 58px; display: flex; align-items: center; justify-content: center; gap: .35rem; border-radius: 16px; color: var(--la-text); background: #f2f5f8; border: 1px solid var(--la-border); font-size: 1rem; }
.match-score.completed { color: #fff; background: linear-gradient(135deg,var(--la-navy-950),#1f3e60); border-color: transparent; box-shadow: 0 8px 22px rgba(8,17,31,.15); }
.match-score strong { font-size: 1.22rem; font-weight: 900; }
.match-score span { opacity: .55; }
.match-scoreboard { display: flex; align-items: center; gap: 1rem; padding: .75rem 1rem; border-radius: 19px; color: #fff; background: linear-gradient(120deg,var(--la-navy-950),#1d3d60); box-shadow: var(--la-shadow-md); }
.match-scoreboard > div { min-width: 70px; text-align: center; }
.match-scoreboard span,.match-scoreboard strong { display: block; }
.match-scoreboard span { color: rgba(255,255,255,.62); font-size: .59rem; text-transform: uppercase; letter-spacing: .055em; }
.match-scoreboard strong { margin-top: .15rem; font-size: 1.65rem; font-weight: 920; }
.match-scoreboard em { color: var(--la-gold-400); font-size: 1.15rem; font-style: normal; font-weight: 900; }
.score-input { text-align: center; font-size: 1.15rem; font-weight: 900; }
.goal-timeline { display: grid; gap: .55rem; }
.goal-row { display: flex; align-items: center; gap: .7rem; padding: .67rem; border: 1px solid var(--la-border); border-radius: 14px; background: #fff; }
.goal-minute { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 12px; color: #735500; background: var(--la-gold-100); font-size: .68rem; font-weight: 900; }
.goal-row strong,.goal-row small { display: block; }
.goal-row strong { font-size: .72rem; }
.goal-row small { margin-top: .1rem; color: var(--la-muted); font-size: .61rem; }
.empty-state-mini { display: flex; align-items: center; gap: .65rem; padding: .8rem; color: var(--la-muted); border: 1px dashed #d5dbe3; border-radius: 14px; font-size: .68rem; }
.broadcast-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.broadcast-card { overflow: hidden; border: 1px solid var(--la-border); border-radius: 20px; background: #fff; box-shadow: var(--la-shadow-sm); }
.broadcast-preview { aspect-ratio: 16/9; background: #09111d; }
.broadcast-preview iframe { width: 100%; height: 100%; border: 0; }
.broadcast-content { padding: 1rem; }
.broadcast-content h3 { margin: .45rem 0 .35rem; font-size: .87rem; font-weight: 850; }
.broadcast-content p { color: var(--la-muted); font-size: .66rem; }
.youtube-badge { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: #f04438; font-size: 1.1rem; }
.youtube-guidance { padding: 1.25rem; border: 1px solid #f0d78d; border-radius: 20px; background: linear-gradient(145deg,#fff9df,#fff); }
.youtube-guidance > i { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; color: #765500; background: var(--la-gold-100); font-size: 1.1rem; }
.youtube-guidance h3 { margin: .85rem 0 .45rem; font-size: .9rem; font-weight: 850; }
.youtube-guidance p,.youtube-guidance li { color: #627083; font-size: .68rem; line-height: 1.55; }
.youtube-guidance ul { margin-bottom: 0; padding-left: 1.1rem; }
.media-type-icon { width: 40px; height: 40px; flex: 0 0 40px; display: grid; place-items: center; border-radius: 13px; color: #176e93; background: var(--la-sky-100); }
.coach-event-card { padding: .9rem; border: 1px solid var(--la-border); border-radius: 16px; background: #fff; box-shadow: var(--la-shadow-sm); }
.coach-event-card + .coach-event-card { margin-top: .7rem; }
.coach-event-card h3 { margin: .45rem 0 .35rem; font-size: .82rem; font-weight: 850; }
.coach-event-card p { margin: 0; color: var(--la-muted); font-size: .66rem; line-height: 1.7; }
.coach-event-stats { display: flex; gap: .55rem; margin-top: .7rem; }
.coach-event-stats span { flex: 1; padding: .5rem; border-radius: 11px; color: var(--la-muted); background: #f5f7f9; font-size: .59rem; }
.coach-event-stats strong { color: var(--la-text); font-size: .75rem; }
.match-mini-score { display: flex; align-items: center; gap: .28rem; min-width: 68px; padding: .5rem .62rem; border-radius: 13px; color: #fff; background: var(--la-navy-900); }
.match-mini-score strong { font-size: .95rem; font-weight: 900; }
.match-mini-score span { opacity: .55; }
.coach-match-hero { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.35rem 1.55rem; color: #fff; border-radius: 23px; background: radial-gradient(circle at 90% 15%,rgba(246,195,59,.23),transparent 23%),linear-gradient(120deg,#071423,#173958); box-shadow: var(--la-shadow-lg); }
.coach-match-hero h1 { margin: .45rem 0 .25rem; font-size: clamp(1.25rem,3vw,1.8rem); font-weight: 850; }
.coach-match-hero h1 strong { color: var(--la-gold-400); font-size: 1.25em; }
.coach-match-hero h1 em { color: rgba(255,255,255,.45); font-style: normal; }
.coach-match-hero p { margin: 0; color: rgba(255,255,255,.65); font-size: .7rem; }
.coach-video { overflow: hidden; border-radius: 0 0 20px 20px; background: #09111d; }
.coach-roster-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; padding: 1rem; }
.coach-roster-player { display: flex; align-items: center; gap: .65rem; padding: .65rem; border: 1px solid var(--la-border); border-radius: 14px; background: #fff; }
.coach-roster-player strong,.coach-roster-player small { display: block; }
.coach-roster-player strong { font-size: .68rem; }
.coach-roster-player small { margin-top: .12rem; color: var(--la-muted); font-size: .58rem; }
.coach-bottom-nav { grid-template-columns: repeat(3,1fr); }
@media (max-width: 991.98px) {
  .competition-row { align-items: flex-start; flex-wrap: wrap; }
  .competition-main { width: calc(100% - 78px); }
  .competition-stats { margin-left: 74px; }
  .broadcast-grid { grid-template-columns: 1fr; }
  .coach-roster-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767.98px) {
  .event-roster-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .match-scoreboard { width: 100%; justify-content: center; }
  .coach-match-hero { align-items: flex-start; flex-direction: column; }
  .coach-roster-grid { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
  .competition-date { width: 50px; height: 57px; flex-basis: 50px; }
  .competition-main { width: calc(100% - 62px); }
  .competition-stats { width: 100%; margin-left: 0; }
  .competition-stats > div { flex: 1; }
  .event-roster-summary { grid-template-columns: 1fr 1fr; }
  .roster-table { min-width: 880px; }
}

/* v0.7 · Financial operations */
.nav-link-sub { margin-left: .65rem; padding-top: .58rem !important; padding-bottom: .58rem !important; font-size: .68rem !important; }
.nav-link-sub::before { content: ""; width: 1px; height: 16px; position: absolute; left: -.36rem; background: rgba(255,255,255,.12); }
.finance-hero { background: radial-gradient(circle at 83% 12%,rgba(46,189,133,.23),transparent 25%),radial-gradient(circle at 12% 100%,rgba(246,195,59,.18),transparent 29%),linear-gradient(120deg,#06121f,#12334d 58%,#164d4a); }
.metric-value-money { font-size: clamp(1.35rem,2.3vw,2rem); letter-spacing: -.045em; }
.finance-action-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.finance-action-card { display:flex; align-items:flex-start; gap:.95rem; padding:1rem; border:1px solid var(--la-border); border-radius:19px; background:linear-gradient(145deg,#fff,#f8fafc); box-shadow:var(--la-shadow-sm); }
.finance-action-card h3 { margin:.05rem 0 .35rem; font-size:.82rem; font-weight:900; }
.finance-action-card p { margin:0 0 .75rem; color:var(--la-muted); font-size:.65rem; line-height:1.55; }
.finance-action-icon { width:46px; height:46px; flex:0 0 46px; display:grid; place-items:center; border-radius:15px; font-size:1.05rem; }
.finance-action-icon.gold { color:#755400; background:var(--la-gold-100); }
.finance-action-icon.coral { color:#a23e32; background:var(--la-coral-100); }
.policy-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; border:1px solid var(--la-border); border-radius:17px; background:#f8fafc; }
.policy-strip>div { padding:.82rem; text-align:center; border-right:1px solid var(--la-border); }
.policy-strip>div:last-child { border-right:0; }
.policy-strip span,.policy-strip strong { display:block; }
.policy-strip span { color:var(--la-muted); font-size:.57rem; text-transform:uppercase; letter-spacing:.055em; }
.policy-strip strong { margin-top:.25rem; font-size:.72rem; }
.finance-method-row + .finance-method-row { margin-top:1rem; }
.finance-method-row span { color:var(--la-muted); font-size:.67rem; }
.finance-method-row strong { font-size:.72rem; }
.finance-progress { height:7px; margin-top:.4rem; background:#edf1f5; border-radius:99px; }
.finance-progress .progress-bar { border-radius:99px; background:linear-gradient(90deg,var(--la-gold-500),var(--la-mint-500)); }
.finance-status-open,.finance-status-pending,.finance-status-draft { color:#775700; background:var(--la-gold-100); border-color:#eedb92; }
.finance-status-partially_paid,.finance-status-approved { color:#176e93; background:var(--la-sky-100); border-color:#c7edf9; }
.finance-status-paid,.finance-status-confirmed { color:#16754e; background:var(--la-mint-100); border-color:#c4ead8; }
.finance-status-overdue,.finance-status-rejected { color:#a23e32; background:var(--la-coral-100); border-color:#f1cbc5; }
.finance-status-void { color:#626e7e; background:#eef1f5; border-color:#dce2e9; }
.premium-modal { border:0; border-radius:23px; box-shadow:0 30px 90px rgba(8,17,31,.23); overflow:hidden; }
.premium-modal .modal-header { padding:1.25rem 1.4rem; border-bottom:1px solid var(--la-border); background:linear-gradient(145deg,#fff,#f8fafc); }
.premium-modal .modal-body { padding:1.4rem; }
.premium-modal .modal-footer { padding:1rem 1.4rem; border-top:1px solid var(--la-border); background:#fafbfd; }
.invoice-document { border:0; box-shadow:var(--la-shadow-md); }
.invoice-party-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; }
.invoice-party-grid>div { padding:1rem; border:1px solid var(--la-border); border-radius:16px; background:#f8fafc; }
.invoice-party-grid span,.invoice-party-grid strong,.invoice-party-grid small { display:block; }
.invoice-party-grid span { color:var(--la-muted); font-size:.58rem; text-transform:uppercase; letter-spacing:.055em; }
.invoice-party-grid strong { margin:.3rem 0 .15rem; font-size:.75rem; }
.invoice-party-grid small { color:var(--la-muted); font-size:.61rem; }
.invoice-table thead th { padding:.75rem; color:#778395; background:#f7f9fb; border-bottom-color:var(--la-border); font-size:.59rem; text-transform:uppercase; letter-spacing:.055em; }
.invoice-table tbody td { padding:.9rem .75rem; border-bottom-color:#edf1f5; font-size:.68rem; }
.invoice-totals { width:min(100%,360px); margin-top:1.2rem; }
.invoice-totals>div { display:flex; justify-content:space-between; gap:1rem; padding:.48rem .7rem; font-size:.68rem; }
.invoice-totals>div span { color:var(--la-muted); }
.invoice-totals .invoice-balance { margin-top:.35rem; padding:.9rem; color:#fff; border-radius:14px; background:linear-gradient(120deg,var(--la-navy-950),#193b58); }
.invoice-totals .invoice-balance span { color:rgba(255,255,255,.7); }
.invoice-totals .invoice-balance strong { color:var(--la-gold-400); font-size:1.05rem; }
.invoice-note { padding:1rem; border-left:4px solid var(--la-gold-500); border-radius:0 14px 14px 0; background:var(--la-gold-100); }
.invoice-note strong { display:block; margin-bottom:.2rem; font-size:.67rem; }
.invoice-note p { color:#6d5a25; font-size:.65rem; }
@media(max-width:991.98px){.finance-action-grid{grid-template-columns:1fr}.policy-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.policy-strip>div:nth-child(2){border-right:0}.policy-strip>div:nth-child(-n+2){border-bottom:1px solid var(--la-border)}.invoice-party-grid{grid-template-columns:1fr}}
@media(max-width:575.98px){.policy-strip{grid-template-columns:1fr}.policy-strip>div{border-right:0;border-bottom:1px solid var(--la-border)}.policy-strip>div:last-child{border-bottom:0}.finance-action-card{flex-direction:column}}

/* v0.8 · Communications, guardian and player portals */
.guardian-body,.player-body{min-height:100vh;background:linear-gradient(180deg,#edf3f8 0,#f8fafc 45%,#f4f7fa 100%);color:var(--la-text)}
.portal-topbar{z-index:1020;padding:.85rem 0;color:#fff;background:linear-gradient(120deg,#071423,#153852);box-shadow:0 10px 34px rgba(7,20,35,.18)}
.player-topbar{background:radial-gradient(circle at 85% 5%,rgba(246,195,59,.2),transparent 28%),linear-gradient(120deg,#071423,#153852)}
.portal-container{max-width:1500px;padding-left:clamp(1rem,3vw,2.5rem);padding-right:clamp(1rem,3vw,2.5rem)}
.portal-main{padding:clamp(1.2rem,3vw,2.2rem) 0 6.5rem}
.portal-nav{align-items:center;gap:.3rem}.portal-nav a{position:relative;display:flex;align-items:center;gap:.48rem;padding:.67rem .82rem;color:rgba(255,255,255,.68);border-radius:12px;text-decoration:none;font-size:.67rem;font-weight:800;transition:.2s ease}.portal-nav a:hover,.portal-nav a.active{color:#fff;background:rgba(255,255,255,.1)}
.portal-nav-badge{min-width:20px;height:20px;display:inline-grid;place-items:center;margin-left:.15rem;padding:0 .3rem;color:#4e3900;background:var(--la-gold-400);border-radius:999px;font-size:.55rem;font-weight:900}
.portal-user-chip{color:#fff}.portal-user-chip:hover{color:#fff}.portal-hero{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:clamp(1.4rem,3vw,2rem);color:#fff;border-radius:26px;background:radial-gradient(circle at 88% 10%,rgba(246,195,59,.24),transparent 25%),radial-gradient(circle at 10% 100%,rgba(52,171,209,.2),transparent 31%),linear-gradient(120deg,#071423,#163c59);box-shadow:var(--la-shadow-lg)}
.portal-hero h1{font-weight:900}.portal-hero p{color:rgba(255,255,255,.7)}.portal-hero-action{display:flex;align-items:center;gap:.65rem;padding:.8rem 1rem;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:15px;text-decoration:none;font-size:.7rem;font-weight:800}.portal-hero-action i{color:var(--la-gold-400);font-size:1rem}
.player-hero{background:radial-gradient(circle at 87% 12%,rgba(246,195,59,.28),transparent 25%),linear-gradient(120deg,#071423,#183b55 65%,#1d534f)}.player-number-badge{width:90px;height:90px;display:grid;place-content:center;text-align:center;border-radius:26px;color:#513a00;background:linear-gradient(145deg,#ffd969,#f2b923);box-shadow:0 18px 40px rgba(246,195,59,.24)}.player-number-badge span,.player-number-badge strong{display:block}.player-number-badge span{font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}.player-number-badge strong{font-size:2rem;line-height:1}
.portal-metric-value{font-size:clamp(1.35rem,2.4vw,2rem)}.family-card{height:100%;display:flex;align-items:flex-start;gap:1rem;padding:1.2rem;color:var(--la-text);background:#fff;border:1px solid var(--la-border);border-radius:22px;box-shadow:var(--la-shadow-sm);transition:.22s ease}.family-card:hover{transform:translateY(-3px);box-shadow:var(--la-shadow-md);border-color:#d5c273}.family-avatar{width:54px;height:54px;flex:0 0 54px;display:grid;place-items:center;color:#4f3900;background:linear-gradient(145deg,#ffeaa3,#f2bd2c);border-radius:17px;font-weight:900}.family-card h3{margin:0;font-size:.86rem;font-weight:900}.family-card p{margin:.35rem 0;color:var(--la-muted);font-size:.66rem}.family-card-meta{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.6rem}.family-card-meta>span:first-child{color:var(--la-muted);font-size:.62rem}.family-card-meta i{margin-right:.3rem}.family-balance{margin-top:.7rem;padding:.5rem .65rem;color:#9b3f32;background:var(--la-coral-100);border-radius:10px;font-size:.62rem;font-weight:800}
.portal-list-row{display:flex;align-items:center;gap:.9rem;padding:1rem 1.2rem;border-bottom:1px solid #edf1f5}.portal-list-row:last-child{border-bottom:0}.portal-date-tile{width:48px;height:52px;flex:0 0 48px;display:grid;place-content:center;text-align:center;color:#fff;background:linear-gradient(145deg,#102941,#1c4b69);border-radius:14px}.portal-date-tile strong,.portal-date-tile span{display:block}.portal-date-tile strong{font-size:1rem;line-height:1}.portal-date-tile span{margin-top:.2rem;color:var(--la-gold-400);font-size:.52rem;font-weight:900;text-transform:uppercase}.portal-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.portal-detail-grid>div{padding:.9rem;background:#f8fafc;border:1px solid var(--la-border);border-radius:14px}.portal-detail-grid dt{color:var(--la-muted);font-size:.57rem;text-transform:uppercase;letter-spacing:.05em}.portal-detail-grid dd{margin:.25rem 0 0;font-size:.72rem;font-weight:850}
.balance-chip{min-width:180px;padding:.72rem 1rem;color:#fff;background:linear-gradient(120deg,#0d1929,#214664);border-radius:16px}.balance-chip span,.balance-chip strong{display:block}.balance-chip span{font-size:.57rem;color:rgba(255,255,255,.65);text-transform:uppercase}.balance-chip strong{margin-top:.16rem;color:var(--la-gold-400);font-size:1.15rem}.event-card{overflow:hidden;background:#fff;border:1px solid var(--la-border);border-radius:23px;box-shadow:var(--la-shadow-sm)}.event-card-head{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem;background:linear-gradient(145deg,#fff,#f8fafc);border-bottom:1px solid var(--la-border)}.event-card-head h2{margin:.55rem 0 .28rem;font-size:1rem;font-weight:900}.event-card-head p{margin:0;color:var(--la-muted);font-size:.65rem}.event-type-icon{width:48px;height:48px;display:grid;place-items:center;color:#735300;background:var(--la-gold-100);border-radius:16px;font-size:1.15rem}.event-card-body{padding:1.2rem}.event-fee{margin-top:.85rem;padding:.75rem;color:#715200;background:var(--la-gold-100);border-radius:13px;font-size:.68rem}.event-fee i{margin-right:.45rem}.event-result{padding:.85rem;background:#f1f8f6;border-left:4px solid var(--la-mint-500);border-radius:0 13px 13px 0}.event-result strong,.event-result span{font-size:.65rem}.event-result p{margin:.25rem 0;color:var(--la-muted);font-size:.65rem}
.contract-card{padding:1rem;border:1px solid var(--la-border);border-radius:18px;background:#fff}.contract-card+.contract-card{margin-top:1rem}.contract-card h3{margin:0;font-size:.78rem;font-weight:900}.contract-card h3 small{color:var(--la-muted);font-size:.6rem}.contract-preview{margin-top:.8rem}.contract-preview summary{cursor:pointer;color:#1e4f70;font-size:.66rem;font-weight:800}.contract-content{max-height:360px;overflow:auto;margin-top:.7rem;padding:1rem;background:#f8fafc;border-radius:13px;font-size:.7rem;line-height:1.7}.document-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;color:#1c6d93;background:var(--la-sky-100);border-radius:13px}
.notification-row{display:block;border-bottom:1px solid #edf1f5}.notification-row:last-child{border-bottom:0}.notification-row.unread{background:#fffbec}.notification-button{width:100%;display:flex;align-items:center;gap:.85rem;padding:1rem 1.2rem;color:var(--la-text);background:transparent;border:0}.notification-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;color:#765500;background:var(--la-gold-100);border-radius:13px}.notification-button strong,.notification-button span,.notification-button small{display:block}.notification-button strong{font-size:.72rem}.notification-button .flex-grow-1>span{margin:.2rem 0;color:var(--la-muted);font-size:.65rem}.notification-button small{color:#8793a2;font-size:.57rem}.unread-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#e5ad12}.preference-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--la-border)}.preference-row strong,.preference-row small{display:block}.preference-row strong{font-size:.7rem}.preference-row small{margin-top:.15rem;color:var(--la-muted);font-size:.58rem}.portal-access-admin-card{border-left:4px solid var(--la-gold-500)!important}
.portal-bottom-nav{position:fixed;z-index:1030;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);padding:.45rem .3rem calc(.45rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--la-border);backdrop-filter:blur(18px);box-shadow:0 -10px 30px rgba(8,17,31,.08)}.player-body .portal-bottom-nav{grid-template-columns:repeat(4,1fr)}.portal-bottom-nav a{position:relative;display:flex;flex-direction:column;align-items:center;gap:.18rem;padding:.4rem .2rem;color:#7b8796;text-decoration:none;font-size:.52rem;font-weight:800}.portal-bottom-nav a i{font-size:1.05rem}.portal-bottom-nav a.active{color:#173e5b}.portal-bottom-nav a.active i{color:#c89100}.portal-bottom-nav b{position:absolute;top:0;right:25%;min-width:16px;height:16px;display:grid;place-items:center;color:#fff;background:#d94c42;border-radius:999px;font-size:.48rem}
.guardian-login-mark{color:#755400;background:linear-gradient(145deg,#fff5c8,#f7d260)}.player-login-mark{color:#fff;background:linear-gradient(145deg,#12304a,#216c72)}.portal-login-card{border-radius:24px!important;overflow:hidden}.status-processing{color:#176e93;background:var(--la-sky-100);border-color:#c7edf9}.status-sent,.status-confirmed,.status-paid,.status-approved,.status-current,.status-present,.status-accepted,.status-registered,.status-attended{color:#16754e;background:var(--la-mint-100);border-color:#c4ead8}.status-failed,.status-rejected,.status-overdue,.status-past_due,.status-absent,.status-blocked{color:#a23e32;background:var(--la-coral-100);border-color:#f1cbc5}.status-open,.status-partially_paid,.status-invited,.status-late,.status-excused{color:#775700;background:var(--la-gold-100);border-color:#eedb92}.status-private,.status-declined,.status-inactive,.status-void{color:#626e7e;background:#eef1f5;border-color:#dce2e9}
@media(max-width:991.98px){.portal-main{padding-bottom:6.5rem}.portal-hero{align-items:flex-start}.family-card{padding:1rem}}
@media(max-width:575.98px){.portal-hero{flex-direction:column}.portal-hero-action{width:100%;justify-content:center}.portal-detail-grid{grid-template-columns:1fr}.family-avatar{width:46px;height:46px;flex-basis:46px}.portal-metric-value{font-size:1.15rem}.portal-list-row{padding:.85rem}.balance-chip{width:100%}.event-card-head{padding:1rem}.event-card-body{padding:1rem}}

/* v0.8 · Coach communications */
.coach-bottom-nav{grid-template-columns:repeat(4,1fr)}
.coach-bottom-nav a{position:relative}
.coach-nav-badge{position:absolute;top:.12rem;right:18%;min-width:16px;height:16px;display:grid;place-items:center;padding:0 .2rem;color:#fff;background:#d94c42;border-radius:999px;font-size:.47rem;font-style:normal}

/* v0.9 · Admin profile, uniforms and inventory */
.user-avatar-image{overflow:hidden}.user-avatar-image img{width:100%;height:100%;object-fit:cover;display:block}.profile-card{overflow:hidden;background:radial-gradient(circle at 50% -10%,rgba(246,195,59,.18),transparent 35%),linear-gradient(180deg,#fff,#f8fafc)}.profile-avatar-xl{width:132px;height:132px;display:grid;place-items:center;overflow:hidden;border-radius:36px;color:#4f3900;background:linear-gradient(145deg,#ffe99a,#f1b91f);border:6px solid #fff;box-shadow:0 18px 44px rgba(16,39,59,.18);font-size:2rem;font-weight:900}.profile-avatar-xl img{width:100%;height:100%;object-fit:cover}.profile-security-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--la-border)}.profile-security-row:last-child{border-bottom:0}.profile-security-row span:first-child{color:var(--la-muted);font-size:.65rem}.profile-security-row strong{font-size:.68rem;text-align:right}.status-uniform-requested{color:#775700;background:var(--la-gold-100);border-color:#eedb92}.status-uniform-ordered{color:#5f4b92;background:#eee9fb;border-color:#dcd1f5}.status-uniform-in_production{color:#176e93;background:var(--la-sky-100);border-color:#c7edf9}.status-uniform-ready{color:#16754e;background:var(--la-mint-100);border-color:#c4ead8}.status-uniform-delivered{color:#275a48;background:#e6f3ee;border-color:#cae5da}.status-uniform-cancelled{color:#a23e32;background:var(--la-coral-100);border-color:#f1cbc5}.inventory-count{display:inline-grid;min-width:40px;height:32px;place-items:center;padding:0 .6rem;border-radius:10px;color:#176e93;background:var(--la-sky-100);font-weight:900}.inventory-count.low{color:#a23e32;background:var(--la-coral-100)}.uniform-detail-grid>div{padding:1rem;background:#f8fafc;border:1px solid var(--la-border);border-radius:15px}.uniform-detail-grid span,.uniform-detail-grid strong{display:block}.uniform-detail-grid span{color:var(--la-muted);font-size:.58rem;text-transform:uppercase;letter-spacing:.05em}.uniform-detail-grid strong{margin-top:.28rem;font-size:.72rem}.timeline-list{position:relative}.timeline-item{position:relative;display:flex;gap:.85rem;padding:0 0 1.2rem 1rem;border-left:2px solid #e4eaf2}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-7px;top:.2rem;width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:var(--la-gold-500);box-shadow:0 0 0 2px #e4eaf2}.premium-check{display:flex;align-items:flex-start;gap:.65rem;padding:1rem;border:1px solid var(--la-border);border-radius:15px;background:#f8fafc}.premium-check .form-check-input{margin:.15rem 0 0}.premium-check strong,.premium-check small{display:block}.premium-check strong{font-size:.72rem}.premium-check small{margin-top:.18rem;color:var(--la-muted);font-size:.6rem}.uniform-product-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:16px;color:#755400;background:var(--la-gold-100);font-size:1.2rem}.portal-detail-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 0;border-bottom:1px solid #edf1f5}.portal-detail-row span{color:var(--la-muted);font-size:.63rem}.portal-detail-row strong{font-size:.68rem;text-align:right}.uniform-ready-callout{display:flex;align-items:flex-start;gap:.75rem;padding:.9rem;color:#165f45;background:var(--la-mint-100);border:1px solid #c4ead8;border-radius:15px}.uniform-ready-callout i{font-size:1.1rem}.uniform-ready-callout strong,.uniform-ready-callout span{display:block}.uniform-ready-callout strong{font-size:.7rem}.uniform-ready-callout span{margin-top:.15rem;font-size:.6rem}.guardian-body .portal-bottom-nav{grid-template-columns:repeat(6,1fr)}
@media(max-width:575.98px){.profile-avatar-xl{width:110px;height:110px;border-radius:30px}.guardian-body .portal-bottom-nav a{font-size:.46rem}.guardian-body .portal-bottom-nav a i{font-size:.98rem}.uniform-detail-grid>div{padding:.85rem}}

/* v0.10 · Premium SaaS admin shell */
:root {
  --la-sidebar-width: 304px;
  --la-sidebar-collapsed: 92px;
  --la-sidebar-bg: #0a1220;
  --la-sidebar-bg-soft: #101d31;
  --la-saas-blue: #5b8cff;
  --la-saas-blue-soft: rgba(91, 140, 255, .14);
}

.admin-body {
  background:
    radial-gradient(circle at 84% -10%, rgba(91, 140, 255, .08), transparent 28%),
    linear-gradient(180deg, #f5f7fb 0%, #eef2f7 100%);
}

.admin-body .app-shell {
  align-items: stretch;
}

.admin-body .content-shell {
  min-width: 0;
  transition: width 220ms ease;
}

.admin-body .sidebar {
  width: var(--la-sidebar-width);
  flex: 0 0 var(--la-sidebar-width);
  padding: 0;
  background:
    radial-gradient(circle at 15% 0%, rgba(246, 195, 59, .12), transparent 20%),
    radial-gradient(circle at 100% 15%, rgba(91, 140, 255, .16), transparent 24%),
    linear-gradient(180deg, #08111f 0%, #0b1728 48%, #0d1c30 100%);
  border-right: 1px solid rgba(255,255,255,.06);
  box-shadow: 22px 0 64px rgba(15, 23, 42, .10);
  transition: width 220ms ease, flex-basis 220ms ease, transform 240ms ease;
}

.admin-body .sidebar::after {
  width: 230px;
  height: 230px;
  right: -110px;
  bottom: 14%;
  border-width: 42px;
  opacity: .72;
}

.admin-body .sidebar-inner {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  height: 100%;
  padding: 1.1rem .9rem .9rem;
}

.sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  min-height: 56px;
  padding: 0 .3rem .9rem;
}

.sidebar-header-actions {
  display: flex;
  align-items: center;
  gap: .4rem;
}

.sidebar-collapse-button,
.sidebar-close {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 11px;
  display: inline-grid;
  place-items: center;
  color: rgba(255,255,255,.72);
  background: rgba(255,255,255,.045);
  transition: all var(--la-transition);
}

.sidebar-collapse-button:hover,
.sidebar-close:hover {
  color: #fff;
  background: rgba(255,255,255,.09);
  border-color: rgba(255,255,255,.14);
}

.admin-body .brand {
  min-width: 0;
  padding: 0;
  gap: .75rem;
}

.admin-body .brand-mark {
  width: 42px;
  height: 42px;
  flex-basis: 42px;
  border-radius: 14px;
  font-size: .78rem;
  box-shadow: 0 10px 28px rgba(246,195,59,.18), inset 0 1px 0 rgba(255,255,255,.5);
}

.admin-body .brand-copy {
  font-size: 1rem;
  white-space: nowrap;
}

.admin-body .brand-copy small {
  margin-top: .22rem;
  color: rgba(255,255,255,.4);
  font-size: .57rem;
  letter-spacing: .16em;
}

.sidebar-workspace-card {
  display: flex;
  align-items: center;
  gap: .68rem;
  min-height: 58px;
  margin: .1rem .1rem 1rem;
  padding: .7rem .72rem;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255,255,255,.065), rgba(255,255,255,.025));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.workspace-icon {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: var(--la-gold-400);
  background: rgba(246,195,59,.11);
  border: 1px solid rgba(246,195,59,.12);
}

.workspace-copy {
  min-width: 0;
  line-height: 1.08;
}

.workspace-copy strong,
.workspace-copy small {
  display: block;
  white-space: nowrap;
}

.workspace-copy strong {
  color: rgba(255,255,255,.9);
  font-size: .75rem;
  font-weight: 800;
}

.workspace-copy small {
  margin-top: .24rem;
  color: rgba(255,255,255,.42);
  font-size: .62rem;
}

.workspace-status {
  width: 8px;
  height: 8px;
  margin-left: auto;
  border-radius: 50%;
  background: var(--la-mint-500);
  box-shadow: 0 0 0 5px rgba(46,189,133,.09);
}

.sidebar-nav-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0 .08rem .8rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.12) transparent;
}

.sidebar-nav-scroll::-webkit-scrollbar { width: 5px; }
.sidebar-nav-scroll::-webkit-scrollbar-thumb { background: rgba(255,255,255,.12); border-radius: 999px; }

.sidebar-navigation {
  display: grid;
  gap: .45rem;
}

.nav-group {
  position: relative;
  padding-bottom: .35rem;
  border-bottom: 1px solid rgba(255,255,255,.045);
}

.nav-group:last-child { border-bottom: 0; }

.nav-group-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  min-height: 36px;
  padding: .42rem .72rem;
  border: 0;
  border-radius: 11px;
  color: rgba(255,255,255,.43);
  background: transparent;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .075em;
  text-transform: uppercase;
  transition: color var(--la-transition), background-color var(--la-transition);
}

.nav-group-toggle:hover {
  color: rgba(255,255,255,.74);
  background: rgba(255,255,255,.025);
}

.nav-group-title {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-width: 0;
}

.nav-group-title > i {
  width: 18px;
  text-align: center;
  color: rgba(255,255,255,.36);
  font-size: .82rem;
}

.nav-group.is-active .nav-group-toggle,
.nav-group.is-active .nav-group-title > i {
  color: rgba(255,255,255,.65);
}

.nav-group-chevron {
  font-size: .65rem;
  transition: transform 180ms ease;
}

.nav-group.is-open .nav-group-chevron { transform: rotate(180deg); }

.nav-group-body {
  display: none;
  gap: .22rem;
  padding-top: .12rem;
}

.nav-group.is-open .nav-group-body { display: grid; }

.admin-body .sidebar .nav-link {
  min-height: 44px;
  gap: .7rem;
  padding: .48rem .58rem;
  border-radius: 13px;
  color: rgba(255,255,255,.7);
  font-size: .78rem;
  font-weight: 650;
}

.admin-body .sidebar .nav-link:hover {
  color: #fff;
  background: rgba(255,255,255,.055);
  border-color: rgba(255,255,255,.055);
  transform: translateX(2px);
}

.nav-icon {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: rgba(255,255,255,.58);
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.035);
  transition: all var(--la-transition);
}

.admin-body .sidebar .nav-link i {
  width: auto;
  flex: initial;
  font-size: .92rem;
  color: inherit;
}

.admin-body .sidebar .nav-link:hover .nav-icon {
  color: var(--la-gold-400);
  background: rgba(246,195,59,.09);
  border-color: rgba(246,195,59,.08);
}

.admin-body .sidebar .nav-link.active {
  color: #fff;
  background: linear-gradient(100deg, rgba(91,140,255,.18), rgba(255,255,255,.06));
  border-color: rgba(91,140,255,.18);
  box-shadow: 0 10px 26px rgba(0,0,0,.12), inset 3px 0 0 var(--la-gold-500);
}

.admin-body .sidebar .nav-link.active .nav-icon {
  color: var(--la-gold-400);
  background: rgba(246,195,59,.11);
  border-color: rgba(246,195,59,.12);
  box-shadow: 0 7px 18px rgba(0,0,0,.08);
}

.nav-copy {
  min-width: 0;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.nav-active-dot {
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: var(--la-gold-400);
  box-shadow: 0 0 0 4px rgba(246,195,59,.08);
}

.admin-body .sidebar-footer {
  margin-top: auto;
  padding: .8rem .08rem 0;
  border-top: 1px solid rgba(255,255,255,.055);
}

.sidebar-user-card {
  display: flex;
  align-items: center;
  gap: .68rem;
  min-height: 58px;
  padding: .58rem;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 16px;
  color: #fff;
  background: rgba(255,255,255,.04);
}

.sidebar-user-card:hover {
  color: #fff;
  background: rgba(255,255,255,.075);
  border-color: rgba(255,255,255,.11);
}

.sidebar-user-avatar {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 12px;
  color: var(--la-navy-950);
  background: linear-gradient(145deg, var(--la-gold-400), var(--la-gold-500));
  font-size: .7rem;
  font-weight: 900;
}

.sidebar-user-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sidebar-user-copy {
  min-width: 0;
  flex: 1;
  line-height: 1.08;
}

.sidebar-user-copy strong,
.sidebar-user-copy small {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.sidebar-user-copy strong { font-size: .72rem; font-weight: 800; }
.sidebar-user-copy small { margin-top: .24rem; color: rgba(255,255,255,.43); font-size: .61rem; }
.sidebar-user-action { color: rgba(255,255,255,.35); font-size: .72rem; }

.sidebar-footer-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .62rem .28rem .05rem;
  color: rgba(255,255,255,.32);
  font-size: .57rem;
}

.version-chip {
  padding: .18rem .38rem;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 999px;
  color: rgba(255,255,255,.48);
  background: rgba(255,255,255,.025);
}

.admin-body .topbar {
  min-height: 74px;
  background: rgba(249,251,254,.88);
  border-bottom: 1px solid rgba(214,221,231,.76);
  box-shadow: 0 8px 28px rgba(15,23,42,.035);
}

.topbar-icon-button {
  width: 40px;
  height: 40px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--la-border);
  border-radius: 12px;
  color: #59677a;
  background: rgba(255,255,255,.74);
  box-shadow: 0 5px 16px rgba(15,23,42,.035);
}

.topbar-icon-button:hover {
  color: var(--la-navy-900);
  border-color: var(--la-border-strong);
  background: #fff;
  transform: translateY(-1px);
}

.admin-body .mobile-menu-button { display: none; }

.min-width-0 { min-width: 0; }

.topbar-breadcrumb {
  display: flex;
  align-items: center;
  gap: .28rem;
  color: var(--la-muted);
  font-size: .61rem;
  font-weight: 750;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.topbar-breadcrumb i { font-size: .52rem; }
.admin-body .topbar-title { margin-top: .08rem; font-size: .94rem; font-weight: 830; }

.system-state {
  align-items: center;
  gap: .46rem;
  padding: .42rem .66rem;
  border: 1px solid #d7ede4;
  border-radius: 999px;
  color: #247255;
  background: #f1fbf7;
  font-size: .66rem;
  font-weight: 800;
}

.system-state > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--la-mint-500);
  box-shadow: 0 0 0 4px rgba(46,189,133,.1);
}

.admin-body .user-chip {
  min-height: 44px;
  padding: .35rem .4rem .35rem .7rem;
  border-radius: 14px;
  background: rgba(255,255,255,.82);
}

.admin-body .user-avatar {
  width: 35px;
  height: 35px;
  flex-basis: 35px;
  border-radius: 11px;
  overflow: hidden;
}

.admin-body .user-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.admin-body .app-main {
  width: 100%;
  max-width: 1700px;
  margin-inline: auto;
  padding: 1.65rem 1.8rem 2.8rem;
}

/* Desktop collapsed sidebar */
@media (min-width: 992px) {
  .admin-body.sidebar-collapsed .sidebar {
    width: var(--la-sidebar-collapsed);
    flex-basis: var(--la-sidebar-collapsed);
  }

  .admin-body.sidebar-collapsed .sidebar-inner { padding-inline: .72rem; }
  .admin-body.sidebar-collapsed .sidebar-header { justify-content: center; padding-inline: 0; }
  .admin-body.sidebar-collapsed .brand-copy,
  .admin-body.sidebar-collapsed .sidebar-header-actions,
  .admin-body.sidebar-collapsed .workspace-copy,
  .admin-body.sidebar-collapsed .workspace-status,
  .admin-body.sidebar-collapsed .nav-group-toggle,
  .admin-body.sidebar-collapsed .nav-copy,
  .admin-body.sidebar-collapsed .nav-active-dot,
  .admin-body.sidebar-collapsed .sidebar-user-copy,
  .admin-body.sidebar-collapsed .sidebar-user-action,
  .admin-body.sidebar-collapsed .sidebar-footer-meta span:first-child {
    display: none !important;
  }

  .admin-body.sidebar-collapsed .sidebar-workspace-card,
  .admin-body.sidebar-collapsed .sidebar-user-card {
    justify-content: center;
    padding: .58rem;
  }

  .admin-body.sidebar-collapsed .sidebar-workspace-card { min-height: 50px; }
  .admin-body.sidebar-collapsed .workspace-icon { width: 36px; height: 36px; flex-basis: 36px; }
  .admin-body.sidebar-collapsed .nav-group { padding: .22rem 0 .4rem; }
  .admin-body.sidebar-collapsed .nav-group-body { display: grid !important; }
  .admin-body.sidebar-collapsed .sidebar .nav-link { justify-content: center; padding: .45rem; }
  .admin-body.sidebar-collapsed .sidebar .nav-link:hover { transform: translateY(-1px); }
  .admin-body.sidebar-collapsed .nav-icon { width: 36px; height: 36px; flex-basis: 36px; }
  .admin-body.sidebar-collapsed .sidebar .nav-link.active { box-shadow: 0 10px 24px rgba(0,0,0,.13); }
  .admin-body.sidebar-collapsed .sidebar-footer-meta { justify-content: center; }
  .admin-body.sidebar-collapsed .sidebar-collapse-button i,
  .admin-body.sidebar-collapsed .desktop-sidebar-button i { transform: rotate(180deg); }
}

@media (max-width: 1199.98px) {
  :root { --la-sidebar-width: 282px; }
  .admin-body .app-main { padding-inline: 1.4rem; }
}

@media (max-width: 991.98px) {
  .admin-body .sidebar {
    width: min(310px, 88vw);
    flex-basis: min(310px, 88vw);
    padding: 0;
  }

  .admin-body .sidebar-inner { padding: 1rem .86rem .86rem; }
  .admin-body .mobile-menu-button { display: inline-grid; }
  .desktop-sidebar-button { display: none !important; }
  .sidebar-workspace-card { margin-bottom: .8rem; }
  .nav-group-body { display: none; }
  .nav-group.is-open .nav-group-body { display: grid; }
  .admin-body .app-main { padding: 1.25rem; }
}

@media (max-width: 767.98px) {
  .admin-body .topbar { min-height: 66px; padding-inline: .85rem !important; }
  .admin-body .topbar-copy { display: block; }
  .topbar-breadcrumb { display: none; }
  .admin-body .topbar-title { max-width: 40vw; font-size: .82rem; }
  .system-state { display: none !important; }
  .admin-body .user-chip { padding-left: .35rem; }
  .admin-body .user-meta { display: none; }
}

@media (max-width: 575.98px) {
  .admin-body .app-main { padding: .92rem; }
  .admin-body .topbar-title { max-width: 34vw; }
  .topbar-icon-button { width: 38px; height: 38px; border-radius: 11px; }
}

/* v0.11 · Header stability and player development */
.admin-body .topbar,
.topbar-leading,
.topbar-actions,
.admin-body .user-chip,
.system-state,
.page-header-actions,
.page-header-row,
.header-action-button {
  flex-wrap: nowrap !important;
  white-space: nowrap;
}

.topbar-leading { flex: 1 1 auto; min-width: 0; }
.topbar-actions { flex: 0 0 auto; min-width: max-content; }
.topbar-copy { min-width: 0; max-width: min(42vw, 560px); }
.admin-body .topbar-title,
.admin-body .topbar-breadcrumb,
.admin-body .user-chip .name,
.admin-body .user-chip .role { white-space: nowrap; }
.admin-body .user-chip { flex: 0 0 auto; }
.admin-body .topbar form { flex: 0 0 auto; }

.page-heading { flex-wrap: nowrap; }
.page-heading > :first-child { min-width: 0; }
.page-heading h1,
.page-heading h2,
.panel-header .panel-title { text-wrap: balance; }
.page-header-actions { display: flex; align-items: center; gap: .65rem; flex: 0 0 auto; }
.header-action-button { flex: 0 0 auto; }
.panel-header .page-header-row { width: 100%; }
.record-count-pill { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; padding: .42rem .7rem; border: 1px solid var(--la-border); border-radius: 999px; color: var(--la-muted); background: #fff; font-size: .62rem; font-weight: 850; white-space: nowrap; }

@media (min-width: 1200px) {
  .dashboard-hero-content { width: 100%; max-width: none; }
  .dashboard-hero h1 { max-width: none; white-space: nowrap; font-size: clamp(1.48rem, 2.15vw, 2.15rem); }
  .hero-actions { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .hero-actions::-webkit-scrollbar { display: none; }
  .hero-actions .btn { flex: 0 0 auto; white-space: nowrap; }
}

.development-hero { background: radial-gradient(circle at 88% 15%,rgba(52,171,209,.22),transparent 28%),radial-gradient(circle at 94% 110%,rgba(246,195,59,.2),transparent 30%),linear-gradient(120deg,#071423,#153b59); }
.development-coach-hero { background: radial-gradient(circle at 86% 15%,rgba(246,195,59,.24),transparent 25%),radial-gradient(circle at 8% 110%,rgba(107,88,205,.22),transparent 30%),linear-gradient(120deg,#071423,#173b5a); }
.soft-info-callout { display:flex; align-items:flex-start; gap:.75rem; padding:1rem; color:#31566f; background:#eff8fc; border:1px solid #d2ebf5; border-radius:16px; }
.soft-info-callout i { margin-top:.1rem; color:#2484aa; font-size:1rem; }
.soft-info-callout strong,.soft-info-callout span { display:block; }
.soft-info-callout strong { font-size:.72rem; }
.soft-info-callout span { margin-top:.18rem; color:#62798b; font-size:.61rem; line-height:1.5; }

.evaluation-cycle-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.evaluation-cycle-card { padding:1.1rem; border:1px solid var(--la-border); border-radius:18px; background:linear-gradient(155deg,#fff,#f8fafc); box-shadow:0 8px 24px rgba(15,23,42,.035); }
.evaluation-cycle-card > .d-flex > i { color:#d2a21e; font-size:1.4rem; }
.evaluation-cycle-card h3 { margin:.65rem 0 .2rem; font-size:.82rem; font-weight:850; }
.evaluation-cycle-card p { margin:0; color:var(--la-muted); font-size:.61rem; }
.cycle-progress-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; margin-top:1rem; }
.cycle-progress-stats span { padding:.65rem .45rem; text-align:center; border-radius:12px; background:#f4f7fa; color:var(--la-muted); font-size:.54rem; }
.cycle-progress-stats strong { display:block; margin-bottom:.12rem; color:var(--la-text); font-size:.82rem; }

.evaluation-list { display:grid; }
.evaluation-row { display:grid; grid-template-columns:46px minmax(150px,1.25fr) minmax(150px,1fr) 76px auto 22px; align-items:center; gap:.9rem; padding:1rem 1.2rem; color:var(--la-text); border-bottom:1px solid #edf1f5; transition:.18s ease; }
.evaluation-row:last-child { border-bottom:0; }
.evaluation-row:hover { color:var(--la-text); background:#fbfcfe; transform:translateX(2px); }
.evaluation-avatar { width:42px; height:42px; display:grid; place-items:center; flex:0 0 42px; border-radius:14px; color:#604700; background:linear-gradient(145deg,#fff3c4,#f5c431); font-size:.7rem; font-weight:900; }
.evaluation-person,.evaluation-cycle { min-width:0; }
.evaluation-person strong,.evaluation-person small,.evaluation-cycle strong,.evaluation-cycle small { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.evaluation-person strong,.evaluation-cycle strong { font-size:.69rem; font-weight:820; }
.evaluation-person small,.evaluation-cycle small { margin-top:.18rem; color:var(--la-muted); font-size:.57rem; }
.evaluation-score { min-width:66px; padding:.5rem .55rem; text-align:center; border-radius:13px; color:#176e93; background:var(--la-sky-100); }
.evaluation-score strong,.evaluation-score small { display:block; }
.evaluation-score strong { font-size:.82rem; font-weight:900; }
.evaluation-score small { color:#5f8190; font-size:.48rem; text-transform:uppercase; letter-spacing:.04em; }
.evaluation-score.is-empty { color:#7d8794; background:#f1f4f7; }
.evaluation-chevron { color:#9ba6b4; }
.status-draft { color:#795900; background:var(--la-gold-100); border-color:#edd68a; }
.status-submitted { color:#5b4892; background:#eee9fb; border-color:#d9cff2; }
.status-published { color:#176e4d; background:var(--la-mint-100); border-color:#c6e9da; }
.status-archived { color:#657180; background:#edf1f5; border-color:#dfe5eb; }
.status-planned { color:#176e93; background:var(--la-sky-100); border-color:#c8ebf6; }
.status-open { color:#176e4d; background:var(--la-mint-100); border-color:#c6e9da; }
.status-closed { color:#5d6673; background:#edf1f5; border-color:#dfe5eb; }
.status-active { color:#176e4d; background:var(--la-mint-100); border-color:#c6e9da; }
.status-completed { color:#176e4d; background:var(--la-mint-100); border-color:#c6e9da; }
.status-cancelled { color:#a23e32; background:var(--la-coral-100); border-color:#f1cbc5; }

.methodology-editor { margin-bottom:.7rem; border:1px solid var(--la-border); border-radius:15px; background:#fff; overflow:hidden; }
.methodology-editor summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1rem; cursor:pointer; list-style:none; background:#fbfcfe; }
.methodology-editor summary::-webkit-details-marker { display:none; }
.methodology-editor summary > span:first-child { min-width:0; }
.methodology-editor summary strong,.methodology-editor summary small { display:block; }
.methodology-editor summary strong { font-size:.68rem; }
.methodology-editor summary small { margin-top:.16rem; color:var(--la-muted); font-size:.56rem; }
.methodology-editor[open] summary { border-bottom:1px solid var(--la-border); }
.methodology-editor[open] summary > i { transform:rotate(180deg); }

.evaluation-profile-banner { display:flex; align-items:center; gap:1rem; padding:1.2rem 1.3rem; color:#fff; border-radius:22px; background:radial-gradient(circle at 90% 0,rgba(246,195,59,.2),transparent 30%),linear-gradient(120deg,#0b1727,#173d5b); box-shadow:var(--la-shadow-lg); }
.evaluation-profile-avatar { width:62px; height:62px; display:grid; place-items:center; flex:0 0 62px; border-radius:19px; color:#5f4600; background:linear-gradient(145deg,#fff1b8,#f3c331); font-size:1rem; font-weight:900; }
.evaluation-profile-copy { min-width:0; flex:1 1 auto; }
.evaluation-profile-copy span { color:var(--la-gold-400); font-size:.57rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.evaluation-profile-copy h2 { margin:.22rem 0 .16rem; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:1.1rem; font-weight:880; }
.evaluation-profile-copy p { margin:0; color:rgba(255,255,255,.65); font-size:.62rem; }
.evaluation-overall { min-width:100px; padding:.75rem 1rem; text-align:center; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:rgba(255,255,255,.08); }
.evaluation-overall strong,.evaluation-overall span { display:block; }
.evaluation-overall strong { font-size:1.35rem; font-weight:900; }
.evaluation-overall span { color:rgba(255,255,255,.6); font-size:.5rem; text-transform:uppercase; }

.evaluation-dimension-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.evaluation-dimension-card { padding:1rem; border:1px solid var(--la-border); border-radius:17px; background:linear-gradient(155deg,#fff,#f8fafc); }
.dimension-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.dimension-card-head span:first-child { color:#947000; font-size:.5rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.dimension-card-head h3 { margin:.18rem 0 0; font-size:.75rem; font-weight:850; }
.dimension-weight { flex:0 0 auto; padding:.28rem .45rem; border-radius:999px; color:#6b7785; background:#edf1f5; font-size:.5rem; font-weight:800; }
.evaluation-dimension-card > p { min-height:2.7em; margin:.55rem 0 .9rem; color:var(--la-muted); font-size:.58rem; line-height:1.45; }
.evaluation-score-input { font-weight:900; text-align:center; }
.sticky-evaluation-panel { position:sticky; top:92px; }

.development-goal-list { display:grid; gap:.8rem; }
.development-goal-card { padding:1rem; border:1px solid var(--la-border); border-radius:16px; background:#fff; }
.development-goal-card h3 { margin:.48rem 0 .25rem; font-size:.72rem; font-weight:850; }
.development-goal-card p { margin:0; color:var(--la-muted); font-size:.59rem; }
.development-goal-card > .d-flex > strong { color:#176e93; font-size:.8rem; }
.development-goal-card small { display:block; margin-top:.45rem; color:var(--la-muted); font-size:.53rem; }
.development-progress { height:7px; margin-top:.75rem; border-radius:999px; background:#edf1f5; }
.development-progress .progress-bar { border-radius:999px; background:linear-gradient(90deg,#31b47f,#38a8cf); }
.goal-editor-card { padding:1rem; border:1px solid var(--la-border); border-radius:17px; background:linear-gradient(155deg,#fff,#f8fafc); }
.goal-editor-card h3 { margin:0; font-size:.78rem; font-weight:850; }
.goal-editor-card p { margin:.18rem 0 0; color:var(--la-muted); font-size:.57rem; }

.coach-mini-metric { display:grid; place-items:center; align-content:center; min-height:108px; padding:.75rem; color:var(--la-text); border:1px solid var(--la-border); border-radius:18px; background:#fff; box-shadow:0 8px 22px rgba(15,23,42,.035); }
.coach-mini-metric i { color:#c08e00; font-size:1rem; }
.coach-mini-metric strong { margin:.24rem 0 .05rem; font-size:1.15rem; }
.coach-mini-metric span { color:var(--la-muted); font-size:.56rem; }
.coach-page-heading,.portal-page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; }
.coach-page-heading h1,.portal-page-heading h1 { margin:.35rem 0 .12rem; font-size:1.35rem; font-weight:900; }
.coach-page-heading p,.portal-page-heading p { margin:0; color:var(--la-muted); }
.coach-back-link,.portal-back-link { color:#637185; text-decoration:none; font-size:.62rem; font-weight:800; }
.coach-form-actions { display:flex; justify-content:flex-end; gap:.75rem; }
.coach-filter-inline { flex:0 0 180px; }

.development-portal-hero { background:radial-gradient(circle at 88% 8%,rgba(246,195,59,.23),transparent 26%),radial-gradient(circle at 10% 110%,rgba(46,189,133,.21),transparent 31%),linear-gradient(120deg,#071423,#18445c); }
.player-development-hero { background:radial-gradient(circle at 88% 8%,rgba(246,195,59,.25),transparent 27%),radial-gradient(circle at 8% 110%,rgba(107,88,205,.22),transparent 32%),linear-gradient(120deg,#071423,#173c5b); }
.portal-eyebrow { display:inline-flex; align-items:center; gap:.45rem; color:var(--la-gold-400); font-size:.6rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.portal-hero-icon { flex:0 0 auto; color:rgba(255,255,255,.13); font-size:5rem; }
.portal-evaluation-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.portal-evaluation-card { display:block; padding:1.1rem; color:var(--la-text); border:1px solid var(--la-border); border-radius:19px; background:linear-gradient(155deg,#fff,#f8fafc); box-shadow:0 9px 26px rgba(15,23,42,.045); transition:.2s ease; }
.portal-evaluation-card:hover { color:var(--la-text); transform:translateY(-3px); box-shadow:0 16px 34px rgba(15,23,42,.09); }
.portal-card-kicker { display:block; margin-top:.9rem; color:#987000; font-size:.52rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.portal-evaluation-card h3 { margin:.28rem 0 .2rem; font-size:.82rem; font-weight:880; }
.portal-evaluation-card > p { margin:0; color:var(--la-muted); font-size:.59rem; }
.portal-card-footer { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-top:1rem; padding-top:.75rem; border-top:1px solid #e9eef3; color:#667587; font-size:.56rem; }
.portal-card-footer span { display:inline-flex; align-items:center; gap:.35rem; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.portal-evaluation-score { min-width:65px; padding:.48rem .55rem; text-align:center; border-radius:14px; color:#176e93; background:var(--la-sky-100); }
.portal-evaluation-score strong,.portal-evaluation-score small { display:block; }
.portal-evaluation-score strong { font-size:.85rem; font-weight:900; }
.portal-evaluation-score small { color:#6b8997; font-size:.46rem; text-transform:uppercase; }
.portal-evaluation-score.large { min-width:82px; }
.portal-evaluation-score.large strong { font-size:1.1rem; }
.portal-card-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:14px; color:#755600; background:var(--la-gold-100); }
.portal-evaluation-banner { padding:1rem 1.15rem; }
.player-evaluation-banner .evaluation-profile-avatar { color:#fff; background:linear-gradient(145deg,#6f5ed0,#3aa9ca); }

.published-score-list { display:grid; gap:.72rem; }
.published-score-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 0; border-bottom:1px solid #edf1f5; }
.published-score-row:last-child { border-bottom:0; }
.published-score-row > div { min-width:0; }
.published-score-row strong,.published-score-row span { display:block; }
.published-score-row strong { font-size:.68rem; }
.published-score-row > div span { margin-top:.2rem; color:var(--la-muted); font-size:.56rem; }
.published-score-value { flex:0 0 48px; width:48px; height:42px; display:grid !important; place-items:center; border-radius:13px; color:#176e93; background:var(--la-sky-100); font-size:.75rem; font-weight:900; }
.evaluation-summary-block { margin-bottom:1rem; padding-bottom:1rem; border-bottom:1px solid #edf1f5; }
.evaluation-summary-block:last-child { margin-bottom:0; padding-bottom:0; border-bottom:0; }
.evaluation-summary-block > span { display:flex; align-items:center; gap:.45rem; color:#765800; font-size:.61rem; font-weight:850; }
.evaluation-summary-block p { margin:.42rem 0 0; color:#536273; font-size:.63rem; line-height:1.65; white-space:pre-line; }
.evaluation-highlight-card { height:100%; padding:1.2rem; border:1px solid var(--la-border); border-radius:19px; background:#fff; }
.evaluation-highlight-card > i { font-size:1.35rem; }
.evaluation-highlight-card > span { display:block; margin-top:.65rem; font-size:.55rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.evaluation-highlight-card h3 { margin:.25rem 0 .45rem; font-size:.82rem; font-weight:880; }
.evaluation-highlight-card p { margin:0; color:var(--la-muted); font-size:.62rem; line-height:1.6; }
.evaluation-highlight-card.strength { color:#176e4d; background:linear-gradient(155deg,#fff,#f0fbf6); border-color:#ceeadd; }
.evaluation-highlight-card.growth { color:#6c519f; background:linear-gradient(155deg,#fff,#f5f1fc); border-color:#e0d7f2; }

.coach-bottom-nav { grid-template-columns:repeat(5,1fr); }
.player-body .portal-bottom-nav { grid-template-columns:repeat(5,1fr); }
.guardian-body .portal-bottom-nav { grid-template-columns:repeat(8,1fr); }

@media (max-width: 1199.98px) {
  .evaluation-cycle-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .portal-evaluation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .evaluation-row { grid-template-columns:46px minmax(140px,1fr) minmax(130px,.9fr) 68px auto 18px; gap:.7rem; }
}

@media (max-width: 991.98px) {
  .page-heading,.page-header-row { flex-wrap:wrap !important; }
  .page-header-actions { width:100%; justify-content:flex-start; flex-wrap:wrap !important; white-space:normal; }
  .evaluation-cycle-grid,.evaluation-dimension-grid { grid-template-columns:1fr; }
  .sticky-evaluation-panel { position:static; }
  .portal-evaluation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .evaluation-row { grid-template-columns:42px minmax(0,1fr) auto 18px; }
  .evaluation-cycle,.evaluation-score { display:none; }
}

@media (max-width: 767.98px) {
  .topbar-actions { min-width:auto; }
  .admin-body .user-chip { max-width:54px; }
  .admin-body .user-chip .user-meta { display:none !important; }
  .admin-body .topbar-title { max-width:42vw; }
  .evaluation-profile-banner { align-items:flex-start; flex-wrap:wrap; }
  .evaluation-profile-copy { flex-basis:calc(100% - 80px); }
  .evaluation-overall { width:100%; }
  .coach-page-heading,.portal-page-heading { align-items:flex-start; }
  .portal-evaluation-grid { grid-template-columns:1fr; }
  .portal-hero-icon { display:none; }
  .coach-form-actions { display:grid; grid-template-columns:1fr; }
  .coach-filter-inline { flex-basis:140px; }
  .guardian-body .portal-bottom-nav { overflow-x:auto; grid-template-columns:repeat(8,minmax(64px,1fr)); }
}

@media (max-width: 575.98px) {
  .evaluation-row { padding:.85rem; }
  .evaluation-row .status-badge { display:none; }
  .evaluation-row { grid-template-columns:40px minmax(0,1fr) 16px; }
  .evaluation-avatar { width:38px; height:38px; flex-basis:38px; }
  .evaluation-profile-copy h2 { font-size:.95rem; }
  .cycle-progress-stats { gap:.3rem; }
  .cycle-progress-stats span { padding:.55rem .25rem; }
  .portal-page-heading { align-items:center; }
  .portal-page-heading h1 { font-size:1.05rem; }
  .published-score-row { align-items:flex-start; }
  .coach-bottom-nav a,.portal-bottom-nav a { font-size:.46rem; }
}


/* v0.12 · Family activities and raffles */
.family-hero{background:radial-gradient(circle at 90% 20%,rgba(246,195,59,.18),transparent 24%),radial-gradient(circle at 75% 115%,rgba(67,195,157,.18),transparent 30%),linear-gradient(120deg,#0c1829,#14314a 72%,#204d58)}
.family-list-row{display:grid;grid-template-columns:44px minmax(0,1fr) 78px 105px auto 18px;align-items:center;gap:.8rem;padding:1rem 1.2rem;color:var(--la-ink);border-bottom:1px solid var(--la-border);transition:background-color var(--la-transition),transform var(--la-transition)}
.family-list-row:last-child{border-bottom:0}.family-list-row:hover{background:#f8fbfd;transform:translateX(2px)}
.family-list-icon,.family-portal-icon,.raffle-portal-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:15px;color:#765600;background:var(--la-gold-100);font-size:1.05rem}
.family-list-copy,.family-list-stat{min-width:0}.family-list-copy strong,.family-list-copy small,.family-list-stat strong,.family-list-stat small{display:block}.family-list-copy strong{font-size:.72rem}.family-list-copy small,.family-list-stat small{margin-top:.22rem;color:var(--la-muted);font-size:.55rem}.family-list-stat{text-align:right}.family-list-stat strong{font-size:.72rem;font-weight:900}
.raffle-summary-row{display:block;padding:1.05rem 1.2rem;color:var(--la-ink);border-bottom:1px solid var(--la-border);transition:background-color var(--la-transition)}.raffle-summary-row:last-child{border-bottom:0}.raffle-summary-row:hover{background:#f8fbfd}.raffle-summary-row strong,.raffle-summary-row small{display:block}.raffle-summary-row strong{font-size:.72rem}.raffle-summary-row small{margin-top:.25rem;color:var(--la-muted);font-size:.56rem}.raffle-mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin-top:.85rem}.raffle-mini-stats span{padding:.55rem .35rem;text-align:center;border-radius:12px;background:#f4f7fa;color:var(--la-muted);font-size:.5rem}.raffle-mini-stats b{display:block;color:var(--la-ink);font-size:.72rem}
.family-operation-summary,.raffle-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.family-operation-summary>div,.raffle-control-grid>div{padding:.95rem;border:1px solid var(--la-border);border-radius:16px;background:#f8fafc}.family-operation-summary span,.family-operation-summary strong,.raffle-control-grid span,.raffle-control-grid strong{display:block}.family-operation-summary span,.raffle-control-grid span{color:var(--la-muted);font-size:.52rem;text-transform:uppercase;letter-spacing:.06em}.family-operation-summary strong,.raffle-control-grid strong{margin-top:.3rem;font-size:.72rem}
.ticket-number-list{display:block;max-width:230px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#526172;font-size:.59rem}.winner-grid{display:grid;gap:.75rem}.winner-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.85rem;border:1px solid #ead68c;border-radius:17px;background:linear-gradient(140deg,#fffdf5,#fff8dc)}.winner-ticket{width:58px;height:48px;display:grid;place-items:center;border-radius:13px;color:#4f3900;background:var(--la-gold-300);font-size:.9rem;font-weight:950}.winner-card strong,.winner-card small{display:block}.winner-card strong{font-size:.7rem}.winner-card small{margin-top:.2rem;color:var(--la-muted);font-size:.55rem}.status-winner{color:#684b00;background:#fff1b8;border-color:#e9ce6d}
.family-portal-card,.raffle-portal-card{overflow:hidden}.family-portal-icon{color:#176e4d;background:var(--la-mint-100)}.raffle-portal-icon{color:#705200;background:var(--la-gold-100)}.ticket-cloud{display:flex;flex-wrap:wrap;gap:.42rem}.ticket-cloud span{min-width:45px;padding:.42rem .55rem;text-align:center;border:1px solid #ead68c;border-radius:11px;color:#5a4300;background:#fff8da;font-size:.62rem;font-weight:900}.winner-portal-banner,.winner-ticket-callout{display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem;border:1px solid #ead068;border-radius:18px;color:#5b4200;background:linear-gradient(120deg,#fff9df,#fff1b1);box-shadow:0 12px 28px rgba(180,131,0,.08)}.winner-portal-banner>i,.winner-ticket-callout>i{font-size:1.45rem}.winner-portal-banner strong,.winner-portal-banner span,.winner-ticket-callout strong,.winner-ticket-callout span{display:block}.winner-portal-banner strong,.winner-ticket-callout strong{font-size:.72rem}.winner-portal-banner span,.winner-ticket-callout span{margin-top:.2rem;font-size:.58rem}
.status-assigned{color:#176e93;background:var(--la-sky-100);border-color:#c7edf9}.status-sold{color:#16754e;background:var(--la-mint-100);border-color:#c4ead8}.status-returned,.status-void{color:#a23e32;background:var(--la-coral-100);border-color:#f1cbc5}.status-attended{color:#16754e;background:var(--la-mint-100);border-color:#c4ead8}.status-declined{color:#8a5560;background:#f8e9ec;border-color:#eed0d6}
@media(max-width:1199.98px){.family-list-row{grid-template-columns:44px minmax(0,1fr) 70px auto 18px}.family-list-row .family-list-stat:nth-of-type(2){display:none}}
@media(max-width:767.98px){.family-list-row{grid-template-columns:42px minmax(0,1fr) auto 16px;padding:.9rem}.family-list-stat{display:none}.raffle-mini-stats{grid-template-columns:repeat(2,1fr)}.family-operation-summary,.raffle-control-grid{grid-template-columns:1fr}.winner-card{grid-template-columns:52px minmax(0,1fr)}.winner-card .status-badge{grid-column:2}.ticket-number-list{max-width:150px}}

/* v0.13 · Mass capture and family self-service */
.capture-registration-shell{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.35fr);overflow:hidden;min-height:650px;border:1px solid var(--la-border);border-radius:28px;background:#fff;box-shadow:0 28px 70px rgba(22,34,53,.12)}
.capture-registration-aside{position:relative;display:flex;flex-direction:column;padding:3rem;color:#fff;background:radial-gradient(circle at 86% 10%,rgba(246,195,59,.22),transparent 24%),radial-gradient(circle at 4% 90%,rgba(48,178,151,.18),transparent 25%),linear-gradient(145deg,#0b1728,#142d47 72%,#1f4c5b)}
.capture-registration-aside:after{content:"";position:absolute;right:-90px;bottom:-90px;width:240px;height:240px;border:34px solid rgba(255,255,255,.045);border-radius:50%}
.capture-brand-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;color:#111b2a;background:linear-gradient(145deg,#ffd85f,#f5b91e);font-size:.9rem;font-weight:950;box-shadow:0 12px 26px rgba(0,0,0,.18)}
.capture-eyebrow{display:flex;align-items:center;gap:.45rem;margin-top:2.8rem;color:#ffd968;font-size:.62rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.capture-registration-aside h1{max-width:460px;margin:1rem 0 .85rem;font-size:clamp(1.65rem,3vw,2.45rem);font-weight:950;line-height:1.06;letter-spacing:-.035em}.capture-registration-aside p{max-width:460px;color:rgba(255,255,255,.72);font-size:.82rem;line-height:1.7}
.capture-aside-points{display:grid;gap:.8rem;margin-top:1.7rem}.capture-aside-points span{display:flex;align-items:center;gap:.65rem;color:rgba(255,255,255,.9);font-size:.68rem;font-weight:700}.capture-aside-points i{color:#68dfb4}.capture-login-link{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.5rem;margin-top:auto;padding-top:2rem;color:#fff;font-size:.68rem;font-weight:800;text-decoration:none}.capture-login-link:hover{color:#ffd45b}
.capture-registration-form{padding:2.7rem 3rem;background:linear-gradient(180deg,#fff,#fbfcfe)}.capture-registration-form .form-control,.capture-registration-form .form-select{min-height:46px}.capture-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.capture-confirm-box{display:flex;align-items:flex-start;gap:.8rem;padding:1rem 1.05rem;border:1px solid #dce5ed;border-radius:17px;background:#f8fafc;cursor:pointer}.capture-confirm-box input{margin-top:.16rem}.capture-confirm-box span,.capture-confirm-box strong,.capture-confirm-box small{display:block}.capture-confirm-box strong{color:var(--la-ink);font-size:.66rem}.capture-confirm-box small{margin-top:.18rem;color:var(--la-muted);font-size:.55rem;line-height:1.5}
.capture-closed-state{display:flex;min-height:520px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.capture-closed-icon{width:70px;height:70px;display:grid;place-items:center;border-radius:22px;color:#775700;background:var(--la-gold-100);font-size:1.6rem}.capture-closed-state h2{margin:1.2rem 0 .45rem;font-size:1.2rem;font-weight:900}.capture-closed-state p{max-width:430px;color:var(--la-muted);font-size:.7rem;line-height:1.65}.capture-closed-state .btn{margin-top:.75rem}
.capture-complete-top{padding:2.1rem;text-align:center;color:#fff;background:linear-gradient(135deg,#0c1a2c,#17405a)}.capture-complete-top>span{width:58px;height:58px;display:grid;place-items:center;margin:0 auto .8rem;border-radius:18px;color:#0f5439;background:#8aebc5;font-size:1.55rem}.capture-complete-top h1{margin:0;font-size:1.25rem;font-weight:950}.capture-complete-top p{margin:.35rem 0 0;color:rgba(255,255,255,.72);font-size:.66rem}.capture-credential-row{margin-top:.4rem;padding:.8rem 1rem;border:1px solid var(--la-border);border-radius:14px;background:#f8fafc}.capture-credential-row strong{font-size:.72rem}.capture-password-box{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.4rem;padding:.75rem .8rem .75rem 1rem;border:1px solid #ead17a;border-radius:14px;background:#fff9df}.capture-password-box code{color:#3c2c00;font-size:.88rem;font-weight:900;letter-spacing:.06em;word-break:break-all}
.guardian-register-callout{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem .9rem;border:1px solid #dce5ed;border-radius:15px;background:#f8fafc;text-align:left}.guardian-register-callout span,.guardian-register-callout strong,.guardian-register-callout small{display:block}.guardian-register-callout strong{font-size:.6rem}.guardian-register-callout small{margin-top:.15rem;color:var(--la-muted);font-size:.49rem;line-height:1.35}.guardian-register-callout .btn{white-space:nowrap}
.capture-review-note{display:flex;align-items:flex-start;gap:.85rem;padding:1rem;border:1px solid #d6e7f1;border-radius:18px;background:linear-gradient(145deg,#f8fcff,#eef8fc)}.capture-review-note>i{font-size:1.25rem;color:#18749b}.capture-review-note strong,.capture-review-note span{display:block}.capture-review-note strong{font-size:.68rem}.capture-review-note span{margin-top:.2rem;color:var(--la-muted);font-size:.56rem;line-height:1.55}
.capture-setting-switch{display:flex;align-items:center;gap:.85rem;padding:1rem 0;border-bottom:1px solid var(--la-border);cursor:pointer}.capture-setting-switch:first-of-type{padding-top:0}.capture-setting-switch:last-of-type{border-bottom:0}.capture-setting-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:14px;color:#745700;background:var(--la-gold-100)}.capture-setting-switch strong,.capture-setting-switch small{display:block}.capture-setting-switch strong{font-size:.67rem}.capture-setting-switch small{margin-top:.2rem;color:var(--la-muted);font-size:.54rem;line-height:1.45}.capture-setting-switch .form-check-input{width:2.4em;height:1.25em;cursor:pointer}
.capture-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.capture-flow>div{position:relative;min-height:116px;padding:1rem 1rem 1rem 3.1rem;border:1px solid var(--la-border);border-radius:18px;background:#f9fbfd}.capture-flow>div>span{position:absolute;left:1rem;top:1rem;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:#273000;background:#ffdc68;font-size:.62rem;font-weight:950}.capture-flow strong,.capture-flow small{display:block}.capture-flow strong{font-size:.66rem}.capture-flow small{margin-top:.28rem;color:var(--la-muted);font-size:.54rem;line-height:1.5}
@media(max-width:991.98px){.capture-registration-shell{grid-template-columns:1fr}.capture-registration-aside{min-height:360px;padding:2.2rem}.capture-registration-form{padding:2.2rem}.capture-login-link{margin-top:1rem}.capture-aside-points{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767.98px){.capture-registration-aside{min-height:auto;padding:1.7rem}.capture-eyebrow{margin-top:1.5rem}.capture-registration-form{padding:1.5rem}.capture-aside-points{grid-template-columns:1fr}.capture-flow{grid-template-columns:1fr}.capture-password-box{align-items:stretch;flex-direction:column}.guardian-register-callout{align-items:stretch;flex-direction:column}}
