
:root{--navy:#005aa6;--navy2:#003f78;--blue:#00a5df;--gold:#ffbf00;--bg:#f3f7fb;--card:#fff;--text:#17324d;--muted:#657a8f;--border:#d9e3ec;--red:#b42318;--redbg:#fee4e2;--green:#167a45;--greenbg:#dcfae6;--amber:#a15c00;--amberbg:#fff2cc;--shadow:0 8px 24px rgba(16,50,82,.08)}

*{box-sizing:border-box}

body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

header{background:linear-gradient(135deg,var(--navy2),var(--navy));color:#fff;border-bottom:5px solid var(--gold)}

.header{max-width:1480px;margin:auto;padding:16px 24px;display:flex;align-items:center;gap:20px}

.logo{width:180px;max-height:100px;object-fit:contain}

.header h1{margin:0 0 5px;font-size:clamp(1.35rem,2.6vw,2.25rem)}

.header p{margin:0;color:#d9efff}

main{max-width:1400px;margin:auto;padding:20px 24px 50px}

.card{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}

.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}

.tab{border:0;border-radius:10px;padding:10px 14px;font-weight:800;background:#e7eef5;color:var(--navy2);cursor:pointer;box-shadow:0 2px 8px rgba(16,50,82,.05)}

.tab.active{background:var(--navy);color:#fff}

.panel{padding:16px}

.view{display:none}

.view.active{display:block}

.grid{display:grid;gap:14px}

.g2{grid-template-columns:repeat(2,minmax(0,1fr))}

.g3{grid-template-columns:repeat(3,minmax(0,1fr))}

.g4{grid-template-columns:repeat(4,minmax(0,1fr))}

.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0}

.metric{padding:15px}

.k{font-size:.75rem;color:var(--muted);font-weight:800;text-transform:uppercase}

.v{font-size:1.6rem;font-weight:900;margin-top:3px}

.s{font-size:.8rem;color:var(--muted)}

label{display:block;font-size:.76rem;font-weight:800;color:var(--muted);margin-bottom:5px;text-transform:uppercase}

select,input,textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 11px;background:#fff;color:var(--text)}

button{border:0;border-radius:10px;padding:10px 13px;font-weight:800;cursor:pointer}

.primary{background:var(--navy);color:#fff}

.secondary{background:#e8f1f8;color:var(--navy2)}

.actions{display:flex;gap:8px;flex-wrap:wrap}

.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px}

table{width:100%;border-collapse:separate;border-spacing:0;min-width:900px;background:#fff}

th{position:sticky;top:0;background:var(--navy2);color:#fff;text-align:left;padding:10px;font-size:.79rem}

td{padding:9px 10px;border-bottom:1px solid var(--border);font-size:.87rem}

.q{background:var(--greenbg)!important;color:#116238;font-weight:800}

.close{background:var(--amberbg)!important;color:#7a4500;font-weight:800}

.out{background:var(--redbg)!important;color:#8a1c14;font-weight:800}

.hard{background:var(--redbg)!important}

.easy{background:var(--greenbg)!important}

.badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.75rem;font-weight:800}

.bg{background:var(--greenbg);color:var(--green)}

.ba{background:var(--amberbg);color:var(--amber)}

.br{background:var(--redbg);color:var(--red)}

.bb{background:#e3f3fc;color:var(--navy)}

.section{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px}

.section h2{margin:0;font-size:1.08rem}

.small{font-size:.8rem;color:var(--muted)}

.callout{padding:14px 16px;border-left:5px solid var(--gold);background:#fff;margin:12px 0}

.bar{height:10px;background:#e7eef4;border-radius:99px;overflow:hidden}

.bar i{display:block;height:100%;background:var(--blue)}

.rank-list{display:grid;gap:9px}

#closest{max-height:560px;overflow-y:auto;padding-right:6px;scrollbar-gutter:stable}

.rank-item{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;border-bottom:1px solid var(--border)}

.sliderline{display:flex;gap:14px;align-items:center}

.sliderline input{flex:1}

.chart{display:flex;align-items:end;gap:6px;height:180px;padding:10px 4px 25px}

.chart .col{flex:1;min-width:30px;text-align:center;position:relative}

.chart .fill{background:var(--blue);border-radius:6px 6px 0 0;min-height:2px}

.chart span{font-size:.68rem;color:var(--muted);display:block;white-space:nowrap;transform:rotate(-35deg);transform-origin:top left;position:absolute;top:100%;left:45%}

.footer{max-width:1480px;margin:auto;padding:0 24px 28px;font-size:.8rem;color:var(--muted)}

@media(max-width:1000px){.metrics{grid-template-columns:repeat(3,1fr)}.g4,.g3{grid-template-columns:repeat(2,1fr)}}

@media(max-width:650px){.header{align-items:flex-start}.logo{width:110px}.g2,.g3,.g4{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}main{padding:14px}}

iframe{min-height:1850px}

@media(max-width:700px){iframe{min-height:2200px}}

#clubInsights,#clubExtra{display:block!important;column-count:2;column-gap:14px}

#clubInsights>.analysis-card,#clubExtra>.analysis-card{display:inline-block;width:100%;break-inside:avoid;margin:0 0 14px;vertical-align:top;height:auto!important;min-height:0!important}

.athlete-empty{padding:34px;text-align:center;color:#60758a;border:1px dashed #b9cad9;border-radius:14px;background:#f8fbfd;margin-top:12px}

@media(max-width:900px){#clubInsights,#clubExtra{column-count:1}}

.sortable{cursor:pointer;user-select:none}

.sortable:hover{background:#075c9f}

.sortmark{opacity:.7;font-size:.7rem;margin-left:4px}

.chart-card{margin-top:18px;padding:18px}

.chart-card .section{align-items:flex-start;margin-bottom:12px}

.chart-controls{display:flex;gap:16px;flex-wrap:wrap;align-items:end;margin-bottom:14px}

.chart-controls>div{min-width:160px}

.chart-wrap{height:440px;position:relative;border:1px solid var(--border);border-radius:12px;background:#fff;padding:10px}

.chart-wrap canvas{width:100%;height:100%}

#athHistoryLegend{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 10px 0}

.legend-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#40566d;background:#f4f8fb;border:1px solid var(--border);border-radius:999px;padding:4px 8px}

.legend-chip i{width:9px;height:9px;border-radius:50%;display:inline-block}

#historyPanel{margin-top:18px}

#historyPanel h2{margin-bottom:4px}

#historyPanel .table-wrap{margin-top:10px}

.analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}

.analysis-card{padding:16px}

.heatmap{display:grid;gap:4px;overflow:auto}

.heat-row{display:grid;grid-template-columns:130px repeat(7,minmax(55px,1fr));gap:4px;align-items:stretch}

.heat-cell{padding:8px 5px;text-align:center;border-radius:7px;font-size:.75rem;border:1px solid var(--border)}

.heat-head{font-weight:800;background:#e8f1f8}

.h0{background:#f5f7fa}

.h1{background:#fff2cc}

.h2{background:#dcfae6}

.h3{background:#a8edc5}

.h4{background:#64d99a;color:#073b24}

.check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}

.planner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}

.advice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}

.advice{padding:14px;border:1px solid var(--border);border-radius:12px;background:#f9fcff}

.times-table td,.times-table th{text-align:center}

.times-table td:first-child,.times-table th:first-child{text-align:left}

.history-controls{display:grid;grid-template-columns:1fr 180px 180px;gap:10px;margin:12px 0}

.form-badge{font-weight:800}

.improving{color:var(--green)}

.stable{color:var(--navy)}

.variable{color:var(--amber)}

@media(max-width:900px){.analysis-grid,.planner,.advice-grid,.check-grid{grid-template-columns:1fr 1fr}.history-controls{grid-template-columns:1fr}}

@media(max-width:600px){.analysis-grid,.planner,.advice-grid,.check-grid{grid-template-columns:1fr}}

.mini-panel{padding:16px}

.funnel{display:grid;gap:8px}

.funnel-step{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-radius:10px;background:#edf4fa}

.funnel-step strong{font-size:1.15rem}

.planner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}

.plan-card{padding:16px}

.plan-card h3{margin:0 0 4px}

.plan-group{margin-top:12px}

.plan-chip{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}

.plan-chip:last-child{border-bottom:0}

.priority-bar{height:8px;background:#e8eef4;border-radius:9px;overflow:hidden;margin-top:5px}

.priority-fill{height:100%;background:var(--blue)}

.gap-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}

.gap-cell{padding:9px;border:1px solid var(--border);border-radius:9px;text-align:center}

.gap-cell b{display:block;font-size:1.1rem}

.coverage-list{max-height:360px;overflow:auto}

.privacy-safe{font-size:.78rem;color:var(--muted)}

@media(max-width:900px){.planner-grid{grid-template-columns:1fr}.gap-grid{grid-template-columns:repeat(2,1fr)}}

#clubInsights,#clubExtra{column-gap:18px!important;row-gap:18px!important;gap:18px!important}

#clubInsights>.analysis-card,#clubExtra>.analysis-card{margin-bottom:18px!important}

.beta-banner{margin:4px 0 16px;padding:14px 16px;border:1px solid #f1cf68;border-left:5px solid var(--gold);border-radius:12px;background:#fff9df}

.beta-banner strong{color:var(--navy2)}

.beta-banner p{margin:6px 0 0;line-height:1.45}

.help-page{scroll-behavior:smooth}

.help-intro{max-width:1050px}

.help-intro h2{margin-top:0}

.help-intro p{line-height:1.6}

.help-nav{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 20px;padding-bottom:14px;border-bottom:1px solid var(--border)}

.help-nav a{display:inline-flex;padding:8px 11px;border-radius:999px;background:#e8f1f8;color:var(--navy2);font-size:.82rem;font-weight:800;text-decoration:none}

.help-nav a:hover{background:#d8eaf6}

.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}

.help-card{border:1px solid var(--border);border-radius:14px;padding:18px;background:#fff;box-shadow:0 5px 16px rgba(16,50,82,.05)}

.help-card h3{margin:0 0 10px;color:var(--navy2)}

.help-card p,.help-card li,.help-card dd{line-height:1.5}

.help-card dl{margin:12px 0 0}

.help-card dt{margin-top:11px;font-weight:900;color:var(--text)}

.help-card dd{margin:3px 0 0;color:var(--muted)}

.help-card ol{padding-left:22px}

.help-about{grid-column:1/-1;background:#f7fbfe}

@media(max-width:850px){.help-grid{grid-template-columns:1fr}.help-about{grid-column:auto}}

.lpp-ack-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(8, 27, 50, 0.88);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
  }

.lpp-ack-overlay.is-open { display: flex; }

.lpp-ack-dialog {
    width: min(820px, 100%);
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    background: #fff;
    color: #17263a;
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(0,0,0,.35);
    padding: 28px;
  }

.lpp-ack-dialog h2 {
    margin: 0 0 8px;
    color: #0f3157;
    font-size: clamp(24px, 4vw, 34px);
  }

.lpp-ack-intro {
    margin: 0 0 18px;
    color: #475569;
    line-height: 1.55;
  }

.lpp-ack-warning {
    border: 2px solid #c73737;
    background: #fff5f5;
    border-radius: 14px;
    padding: 16px 18px;
    margin: 18px 0;
  }

.lpp-ack-warning h3 {
    margin: 0 0 8px;
    color: #9f2222;
    font-size: 20px;
  }

.lpp-ack-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin: 16px 0;
  }

.lpp-ack-panel {
    border: 1px solid #d8e0e8;
    border-radius: 12px;
    padding: 15px;
    background: #f8fafc;
  }

.lpp-ack-panel h3 {
    margin: 0 0 7px;
    color: #123d68;
    font-size: 17px;
  }

.lpp-ack-panel p,
  .lpp-ack-panel li,
  .lpp-ack-warning p {
    line-height: 1.48;
  }

.lpp-ack-panel ul {
    margin: 8px 0 0 18px;
    padding: 0;
  }

.lpp-ack-check {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    margin-top: 20px;
    padding: 15px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
  }

.lpp-ack-check input {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    margin-top: 2px;
  }

.lpp-ack-check span {
    font-weight: 650;
    line-height: 1.45;
  }

.lpp-ack-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 16px;
  }

.lpp-ack-continue {
    border: 0;
    border-radius: 11px;
    padding: 12px 18px;
    background: #0f5f9a;
    color: #fff;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
  }

.lpp-ack-continue:disabled {
    opacity: .42;
    cursor: not-allowed;
  }

body.lpp-ack-locked { overflow: hidden !important; }

@media (max-width: 700px) {
    .lpp-ack-overlay { padding: 10px; }
    .lpp-ack-dialog {
      max-height: calc(100vh - 20px);
      padding: 20px;
      border-radius: 14px;
    }
    .lpp-ack-grid { grid-template-columns: 1fr; }
    .lpp-ack-actions { justify-content: stretch; }
    .lpp-ack-continue { width: 100%; }
  }

.lpp-beta-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 10px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #fff1bf;
    color: #735500;
    border: 1px solid #e4c04e;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .05em;
    vertical-align: middle;
  }

#lppLoadingScreen {
    position: fixed;
    inset: 0;
    z-index: 1000001;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: #0f3157;
    color: #fff;
    transition: opacity .22s ease, visibility .22s ease;
  }

#lppLoadingScreen.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

.lpp-loading-content {
    max-width: 620px;
    text-align: center;
  }

.lpp-loading-content img {
    width: min(185px, 45vw);
    height: auto;
    margin-bottom: 16px;
  }

.lpp-loading-content h1 {
    margin: 0 0 8px;
    font-size: clamp(28px, 6vw, 46px);
  }

.lpp-loading-content p {
    margin: 6px 0;
    line-height: 1.5;
  }

.lpp-loading-dots {
    display: inline-flex;
    gap: 7px;
    margin-top: 15px;
  }

.lpp-loading-dots span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #fff;
    animation: lppPulse 1s infinite ease-in-out;
  }

.lpp-loading-dots span:nth-child(2) { animation-delay: .15s; }

.lpp-loading-dots span:nth-child(3) { animation-delay: .3s; }

@keyframes lppPulse {
    0%, 100% { opacity: .3; transform: translateY(0); }
    50% { opacity: 1; transform: translateY(-3px); }
  }

#lppFeedbackButton {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 1200;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 11px 15px;
    border-radius: 999px;
    background: #0f5f9a;
    color: #fff;
    text-decoration: none;
    font-weight: 750;
    box-shadow: 0 8px 24px rgba(15, 49, 87, .25);
  }

#lppFeedbackButton:hover,
  #lppFeedbackButton:focus-visible {
    background: #0b4c7c;
  }

#lppReleaseFooter {
    width: min(1180px, calc(100% - 32px));
    margin: 32px auto 88px;
    padding: 20px;
    border-top: 1px solid #d6dee7;
    color: #526174;
    text-align: center;
    font-size: 13px;
    line-height: 1.55;
  }

#lppReleaseFooter strong {
    color: #173a60;
  }

.lpp-footer-reminder {
    margin-top: 10px;
    color: #173a60;
    font-weight: 700;
  }

@media (max-width: 760px) {
    button, select, input[type="text"], input[type="search"], input[type="number"] {
      min-height: 44px;
    }
    #lppFeedbackButton {
      right: 12px;
      bottom: 12px;
      padding: 10px 13px;
    }
    #lppReleaseFooter {
      width: calc(100% - 24px);
      margin-bottom: 82px;
    }
  }

@media (prefers-reduced-motion: reduce) {
    #lppLoadingScreen { transition: none; }
    .lpp-loading-dots span { animation: none; opacity: .8; }
  }

.chart-wrap{height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}

#athHistoryLegend,#athChartLegend{flex:0 0 auto;margin:0 0 10px!important}

#athChart{display:block!important;width:100%!important;height:420px!important;flex:0 0 420px!important}

#histChartPanel[hidden]{display:none!important}

@media(max-width:760px){#athChart{height:360px!important;flex-basis:360px!important}}

#histChart{display:block;max-width:100%}

.history-delta-hard{background:var(--redbg);color:var(--red);font-weight:800}

.history-delta-easy{background:var(--greenbg);color:var(--green);font-weight:800}

.journey-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}

.journey-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:#f9fcff}

.journey-card strong{display:block;font-size:1.15rem;margin-top:4px}

.milestones{display:flex;gap:8px;flex-wrap:wrap}

.milestone{padding:6px 9px;border-radius:999px;background:#e3f3fc;color:var(--navy);font-weight:800;font-size:.78rem}

@media(max-width:800px){.journey-grid{grid-template-columns:1fr 1fr}}

@media(max-width:520px){.journey-grid{grid-template-columns:1fr}}

#clubInsights {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 18px !important;
  }

#clubInsights > .club-masonry-v2 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: 20px !important;
    row-gap: 20px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

#clubInsights .club-stack-v2 {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

#clubInsights .club-stack-v2 > .analysis-card {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    align-self: stretch !important;
  }

#clubInsights .analysis-card {
    padding: 18px !important;
    overflow: hidden !important;
  }

#clubInsights,
  #clubInsights > .club-masonry-v2,
  #clubInsights .club-stack-v2,
  #clubInsights .analysis-card {
    flex-basis: auto !important;
  }

@media (max-width: 900px) {
    #clubInsights > .club-masonry-v2 {
      grid-template-columns: minmax(0, 1fr) !important;
      column-gap: 0 !important;
      row-gap: 16px !important;
    }

    #clubInsights .club-stack-v2 {
      gap: 16px !important;
    }
  }

#clubInsights {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-top: 18px !important;
    column-count: initial !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    box-sizing: border-box !important;
  }

#clubExtra {
    display: none !important;
  }

#clubInsights > .club-balanced-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 20px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

#clubInsights .club-balanced-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

#clubInsights .club-balanced-column > .analysis-card {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 18px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    break-inside: avoid !important;
    transform: none !important;
    float: none !important;
  }

#clubInsights .analysis-card > :first-child {
    margin-top: 0 !important;
  }

#clubInsights .analysis-card > :last-child {
    margin-bottom: 0 !important;
  }

#clubInsights .heatmap {
    max-width: 100% !important;
    overflow-x: auto !important;
  }

@media (max-width: 900px) {
    #clubInsights > .club-balanced-grid {
      grid-template-columns: minmax(0, 1fr) !important;
      gap: 16px !important;
    }

    #clubInsights .club-balanced-column {
      gap: 16px !important;
    }
  }

:root {
    --control-height: 44px;
    --control-radius: 10px;
    --control-border: #cbd8e6;
    --control-focus: #2f80ed;
  }

select,
  input[type="text"],
  input[type="search"],
  input[type="number"],
  input[type="email"],
  input[type="date"] {
    width: 100%;
    min-height: var(--control-height) !important;
    height: var(--control-height) !important;
    padding: 0 12px !important;
    border: 1px solid var(--control-border) !important;
    border-radius: var(--control-radius) !important;
    background-color: #fff !important;
    box-sizing: border-box !important;
    font: inherit !important;
    line-height: 1.2 !important;
  }

select {
    padding-right: 36px !important;
  }

input[type="text"]:focus,
  input[type="search"]:focus,
  input[type="number"]:focus,
  input[type="email"]:focus,
  input[type="date"]:focus,
  select:focus {
    outline: 3px solid rgba(47, 128, 237, .18) !important;
    border-color: var(--control-focus) !important;
  }

button,
  .btn,
  [role="button"] {
    min-height: 42px;
  }

label,
  .field-label,
  .filter-label {
    display: block;
    margin-bottom: 6px;
  }

.filters,
  .filter-grid,
  .controls,
  .form-grid {
    row-gap: 14px !important;
  }

.card,
  .analysis-card,
  .panel {
    box-sizing: border-box;
  }

@media (max-width: 760px) {
    :root {
      --control-height: 48px;
    }

    select,
    input[type="text"],
    input[type="search"],
    input[type="number"],
    input[type="email"],
    input[type="date"] {
      font-size: 16px !important;
    }

    button,
    .btn,
    [role="button"] {
      min-height: 46px;
    }
  }

:root {
    --lpp-space-1: 6px;
    --lpp-space-2: 10px;
    --lpp-space-3: 14px;
    --lpp-space-4: 18px;
    --lpp-space-5: 24px;
    --lpp-radius: 14px;
    --lpp-shadow: 0 8px 24px rgba(18, 55, 90, .08);
    --lpp-bg: #f4f7fb;
    --lpp-card: #ffffff;
    --lpp-text: #17324d;
    --lpp-muted: #64748b;
    --lpp-border: #d7e1eb;
    --lpp-info: #075b98;
    --lpp-qualified: #d8f5e3;
    --lpp-close: #fff1c9;
    --lpp-outside: #fde1de;
  }

body {
    background: var(--lpp-bg) !important;
    color: var(--lpp-text);
  }

.card, .panel, .analysis-card {
    border-radius: var(--lpp-radius) !important;
    box-shadow: var(--lpp-shadow);
  }

.section {
    gap: var(--lpp-space-3);
    margin-bottom: var(--lpp-space-3);
  }

h1, h2, h3 {
    letter-spacing: -.015em;
  }

.small {
    color: var(--lpp-muted);
    line-height: 1.4;
  }

.tabs {
    position: sticky;
    top: 0;
    z-index: 850;
    padding: 10px 0;
    background: color-mix(in srgb, var(--lpp-bg) 93%, transparent);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    overflow-x: auto;
    scrollbar-width: thin;
  }

.tab {
    white-space: nowrap;
  }

#lppUtilityBar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px;
  }

.lpp-tool-button {
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid var(--lpp-border);
    border-radius: 999px;
    background: var(--lpp-card);
    color: var(--lpp-text);
    font-weight: 750;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(18,55,90,.06);
  }

.lpp-tool-button:hover,
  .lpp-tool-button:focus-visible {
    border-color: #7da8cf;
    outline: 3px solid rgba(47,128,237,.16);
  }

#lppMobileNav {
    display: none;
    width: 100%;
    margin-bottom: 10px;
  }

.lpp-info {
    display: inline-grid;
    place-items: center;
    width: 19px;
    height: 19px;
    margin-left: 6px;
    border-radius: 50%;
    background: #e8f2fb;
    color: #075b98;
    font-size: 12px;
    font-weight: 850;
    cursor: help;
    vertical-align: 2px;
  }

.lpp-athlete-search {
    margin-bottom: 7px;
  }

.lpp-collapse-toggle {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 0;
    padding: 0;
    min-height: auto;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: inherit;
    cursor: pointer;
  }

.lpp-collapse-toggle::before {
    content: "▾";
    font-size: 13px;
    transition: transform .18s ease;
  }

.lpp-collapsed .lpp-collapse-toggle::before {
    transform: rotate(-90deg);
  }

.lpp-collapsible-content {
    overflow: hidden;
  }

.lpp-collapsed .lpp-collapsible-content {
    display: none !important;
  }

.lpp-updated {
    animation: lppFlash .55s ease-out;
  }

@keyframes lppFlash {
    0% { box-shadow: inset 0 0 0 999px rgba(47,128,237,.14); }
    100% { box-shadow: inset 0 0 0 999px rgba(47,128,237,0); }
  }

.lpp-empty {
    padding: 18px;
    border: 1px dashed var(--lpp-border);
    border-radius: 12px;
    color: var(--lpp-muted);
    background: rgba(255,255,255,.55);
  }

.lpp-pipeline-bar {
    height: 7px;
    margin-top: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: #e9f0f6;
  }

.lpp-pipeline-bar > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #0ba6d7;
  }

.lpp-print-only {
    display: none;
  }

body.lpp-dark {
    --lpp-bg: #0f1722;
    --lpp-card: #172434;
    --lpp-text: #eef5fb;
    --lpp-muted: #afc0d1;
    --lpp-border: #31465a;
    --lpp-shadow: 0 10px 30px rgba(0,0,0,.22);
    color-scheme: dark;
  }

body.lpp-dark .card,
  body.lpp-dark .panel,
  body.lpp-dark .analysis-card,
  body.lpp-dark table,
  body.lpp-dark select,
  body.lpp-dark input {
    background-color: var(--lpp-card) !important;
    color: var(--lpp-text) !important;
    border-color: var(--lpp-border) !important;
  }

body.lpp-dark th {
    color: #fff;
  }

body.lpp-dark td {
    border-color: #31465a !important;
  }

body.lpp-dark .tabs {
    background: rgba(15,23,34,.92);
  }

body.lpp-dark .lpp-tool-button {
    background: #172434;
    color: #eef5fb;
  }

body.lpp-dark .small,
  body.lpp-dark .history-gap-note {
    color: var(--lpp-muted) !important;
  }

@media (max-width: 760px) {
    #lppMobileNav {
      display: block;
    }

    .tabs {
      display: none !important;
    }

    #lppUtilityBar {
      justify-content: stretch;
    }

    #lppUtilityBar .lpp-tool-button {
      flex: 1 1 auto;
    }

    main {
      padding-top: 10px;
    }

    .metrics {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .table-wrap {
      -webkit-overflow-scrolling: touch;
    }
  }

@media print {
    body.lpp-print-athlete * {
      visibility: hidden !important;
    }

    body.lpp-print-athlete #athlete,
    body.lpp-print-athlete #athlete * {
      visibility: visible !important;
    }

    body.lpp-print-athlete #athlete {
      position: absolute;
      inset: 0;
      width: 100%;
      background: white;
    }

    body.lpp-print-athlete #lppAthletePrintHeader,
    body.lpp-print-athlete #lppAthletePrintHeader * {
      visibility: visible !important;
      display: block !important;
    }

    body.lpp-print-athlete .tabs,
    body.lpp-print-athlete header,
    body.lpp-print-athlete #lppUtilityBar,
    body.lpp-print-athlete #lppMobileNav,
    body.lpp-print-athlete #lppFeedbackButton,
    body.lpp-print-athlete footer {
      display: none !important;
    }

    .lpp-print-only {
      display: block;
      margin-bottom: 16px;
    }
  }

body.lpp-dark .funnel-step {
    background: #223447 !important;
    color: #eef5fb !important;
    border: 1px solid #3a5268 !important;
  }

body.lpp-dark .funnel-step span,
  body.lpp-dark .funnel-step strong {
    color: #eef5fb !important;
  }

.lpp-meet-search {
    margin-bottom: 7px;
  }

@media (max-width: 760px) {
    .lpp-meet-search,
    .lpp-athlete-search {
      min-height: 48px !important;
    }
  }

.lpp-search-field {
    position: relative;
  }

.lpp-search-results {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    z-index: 1200;
    display: none;
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid #cbd8e6;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(18,55,90,.18);
  }

.lpp-search-results.is-open {
    display: block;
  }

.lpp-search-result {
    display: block;
    width: 100%;
    min-height: 42px;
    padding: 10px 12px;
    border: 0;
    border-bottom: 1px solid #edf2f7;
    border-radius: 0;
    background: #fff;
    color: #17324d;
    text-align: left;
    cursor: pointer;
  }

.lpp-search-result:last-child {
    border-bottom: 0;
  }

.lpp-search-result:hover,
  .lpp-search-result:focus {
    background: #eaf4fc;
    outline: none;
  }

.lpp-search-empty {
    padding: 12px;
    color: #64748b;
  }

body.lpp-dark .lpp-search-results {
    border-color: #3a5268;
    background: #172434;
  }

body.lpp-dark .lpp-search-result {
    border-color: #31465a;
    background: #172434;
    color: #eef5fb;
  }

body.lpp-dark .lpp-search-result:hover,
  body.lpp-dark .lpp-search-result:focus {
    background: #223b52;
  }

.lpp-athlete-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 12px;
  }

.lpp-inline-action {
    min-height: 38px;
    padding: 7px 11px;
    border: 1px solid #cbd8e6;
    border-radius: 999px;
    background: #fff;
    color: #17324d;
    font-weight: 750;
    cursor: pointer;
  }

.lpp-inline-action:hover,
  .lpp-inline-action:focus-visible {
    border-color: #7da8cf;
    outline: 3px solid rgba(47,128,237,.15);
  }

body.lpp-dark .lpp-inline-action {
    border-color: #3a5268;
    background: #172434;
    color: #eef5fb;
  }

.lpp-appearance-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 14px 0 20px;
    padding: 14px 16px;
    border: 1px solid #d7e1eb;
    border-radius: 12px;
    background: #f7fafc;
  }

body.lpp-dark .lpp-appearance-box {
    border-color: #31465a;
    background: #172434;
  }

.lpp-period-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
  }

.lpp-period-card {
    min-width: 0;
    padding: 14px;
    border: 1px solid #d7e1eb;
    border-radius: 12px;
    background: #f9fcff;
  }

.lpp-period-card .k {
    color: #60758a;
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .03em;
    text-transform: uppercase;
  }

.lpp-period-card strong {
    display: block;
    margin: 5px 0 3px;
    font-size: 1.12rem;
  }

.lpp-period-card .lpp-period-stat {
    margin-top: 8px;
    color: #17324d;
    font-size: .86rem;
    font-weight: 700;
  }

body.lpp-dark .lpp-period-card {
    border-color: #31465a;
    background: #172434;
  }

body.lpp-dark .lpp-period-card .k,
  body.lpp-dark .lpp-period-card .small {
    color: #afc0d1;
  }

body.lpp-dark .lpp-period-card .lpp-period-stat {
    color: #eef5fb;
  }

.lpp-history-search-status {
    margin-top: 6px;
    color: #64748b;
    font-size: .8rem;
  }

#lppUtilityBar:empty {
    display: none;
  }

@media (max-width: 980px) {
    .lpp-period-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

@media (max-width: 560px) {
    .lpp-period-grid {
      grid-template-columns: minmax(0, 1fr);
    }

    .lpp-athlete-actions {
      justify-content: stretch;
    }

    .lpp-athlete-actions .lpp-inline-action {
      flex: 1 1 auto;
    }
  }

body.lpp-dark #help .help-card {
    background: #ffffff !important;
    border-color: #d7e1eb !important;
    color: #17324d !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .20) !important;
  }

body.lpp-dark #help .help-card h2,
  body.lpp-dark #help .help-card h3,
  body.lpp-dark #help .help-card h4,
  body.lpp-dark #help .help-card strong,
  body.lpp-dark #help .help-card dt {
    color: #17324d !important;
    opacity: 1 !important;
  }

body.lpp-dark #help .help-card p,
  body.lpp-dark #help .help-card li,
  body.lpp-dark #help .help-card dd,
  body.lpp-dark #help .help-card span,
  body.lpp-dark #help .help-card small,
  body.lpp-dark #help .help-card .small {
    color: #52667a !important;
    opacity: 1 !important;
  }

body.lpp-dark #help .help-card a {
    color: #075b98 !important;
  }

body.lpp-dark #help .help-card a:hover,
  body.lpp-dark #help .help-card a:focus-visible {
    color: #004a82 !important;
  }

body.lpp-dark #help .help-card code {
    background: #eef4f8 !important;
    color: #17324d !important;
    border-color: #d7e1eb !important;
  }

body.lpp-dark #help .help-intro,
  body.lpp-dark #help .help-intro p,
  body.lpp-dark #help .help-intro strong {
    color: #eef5fb !important;
    opacity: 1 !important;
  }

body.lpp-dark #help .help-nav {
    border-color: #40566b !important;
  }

body.lpp-dark #help .help-nav a {
    background: #f3f7fb !important;
    border-color: #d7e1eb !important;
    color: #17324d !important;
  }

body.lpp-dark #help .help-nav a:hover,
  body.lpp-dark #help .help-nav a:focus-visible {
    background: #dfeef9 !important;
    border-color: #8ab4d7 !important;
    color: #075b98 !important;
  }

body.lpp-dark #help .lpp-appearance-box {
    background: #172434 !important;
    border-color: #40566b !important;
    color: #eef5fb !important;
  }

body.lpp-dark #help .lpp-appearance-box strong,
  body.lpp-dark #help .lpp-appearance-box .small {
    color: #eef5fb !important;
    opacity: 1 !important;
  }

body.lpp-dark #help .lpp-appearance-box .lpp-inline-action {
    background: #223447 !important;
    border-color: #587189 !important;
    color: #ffffff !important;
  }

#help .help-card dt {
    margin-top: 14px;
  }

#help .help-card dd {
    margin-top: 4px;
  }

#help .help-card p,
  #help .help-card li,
  #help .help-card dd {
    line-height: 1.55;
  }

#help .help-card ol,
  #help .help-card ul {
    padding-left: 22px;
  }

@media (max-width: 760px) {
    #help .help-grid {
      grid-template-columns: minmax(0, 1fr) !important;
    }

    #help .help-card {
      padding: 16px !important;
    }

    #help .help-nav {
      display: flex;
      gap: 8px;
      overflow-x: auto;
      padding-bottom: 8px;
      -webkit-overflow-scrolling: touch;
    }

    #help .help-nav a {
      flex: 0 0 auto;
    }
  }

.lpp-reset-row {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
  }

.lpp-reset-button {
    min-height: 40px;
    padding: 8px 13px;
    border: 1px solid #cbd8e6;
    border-radius: 999px;
    background: #ffffff;
    color: #17324d;
    font-weight: 750;
    cursor: pointer;
  }

.lpp-reset-button:hover,
  .lpp-reset-button:focus-visible {
    border-color: #7da8cf;
    background: #eef6fc;
    outline: 3px solid rgba(47,128,237,.15);
  }

body.lpp-dark .lpp-reset-button {
    border-color: #40566b;
    background: #223447;
    color: #ffffff;
  }

body.lpp-dark .lpp-reset-button:hover,
  body.lpp-dark .lpp-reset-button:focus-visible {
    background: #2d4359;
    border-color: #6f8ba3;
  }

@media (max-width: 760px) {
    .lpp-reset-row {
      justify-content: stretch;
    }

    .lpp-reset-button {
      width: 100%;
      min-height: 46px;
    }
  }

.lpp-period-card {
    display: flex;
    flex-direction: column;
  }

.lpp-period-overview {
    margin-bottom: 12px;
  }

.lpp-improvement-list {
    display: grid;
    gap: 8px;
    margin-top: 4px;
  }

.lpp-improvement-item {
    padding: 10px 11px;
    border: 1px solid #d8e4ee;
    border-radius: 10px;
    background: #ffffff;
  }

.lpp-improvement-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
  }

.lpp-improvement-event {
    min-width: 0;
    color: #17324d;
    font-weight: 850;
  }

.lpp-improvement-badge {
    flex: 0 0 auto;
    padding: 4px 7px;
    border-radius: 999px;
    background: #dff2fc;
    color: #075b98;
    font-size: .77rem;
    font-weight: 850;
  }

.lpp-improvement-detail {
    margin-top: 5px;
    color: #52667a;
    font-size: .79rem;
    line-height: 1.38;
  }

.lpp-more-improvements {
    margin-top: 9px;
  }

.lpp-more-improvements summary {
    cursor: pointer;
    color: #075b98;
    font-size: .82rem;
    font-weight: 850;
    list-style: none;
  }

.lpp-more-improvements summary::-webkit-details-marker {
    display: none;
  }

.lpp-more-improvements summary::before {
    content: "▸";
    display: inline-block;
    margin-right: 6px;
    transition: transform .16s ease;
  }

.lpp-more-improvements[open] summary::before {
    transform: rotate(90deg);
  }

.lpp-no-improvement {
    padding: 11px;
    border: 1px dashed #cbd8e6;
    border-radius: 10px;
    color: #64748b;
    background: rgba(255,255,255,.55);
    font-size: .82rem;
  }

body.lpp-dark .lpp-improvement-item {
    border-color: #31465a;
    background: #223447;
  }

body.lpp-dark .lpp-improvement-event {
    color: #eef5fb;
  }

body.lpp-dark .lpp-improvement-detail {
    color: #afc0d1;
  }

body.lpp-dark .lpp-improvement-badge {
    background: #183f59;
    color: #bde8ff;
  }

body.lpp-dark .lpp-more-improvements summary {
    color: #8fd8ff;
  }

body.lpp-dark .lpp-no-improvement {
    border-color: #40566b;
    color: #afc0d1;
    background: rgba(34,52,71,.5);
  }

@media (max-width: 980px) {
    .lpp-period-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
  }

@media (max-width: 560px) {
    .lpp-period-grid {
      grid-template-columns: minmax(0, 1fr) !important;
    }
  }

:root {
    --v3-bg: #f3f7fb;
    --v3-surface: #ffffff;
    --v3-surface-soft: #f8fbfe;
    --v3-border: #d7e2ec;
    --v3-text: #17324d;
    --v3-muted: #62758a;
    --v3-blue: #075b98;
    --v3-blue-soft: #eaf4fc;
    --v3-green: #1e8b57;
    --v3-green-soft: #dff5e9;
    --v3-amber: #a86500;
    --v3-amber-soft: #fff0c8;
    --v3-red: #a7332b;
    --v3-red-soft: #fde5e2;
    --v3-grey-soft: #eef2f6;
    --v3-radius-sm: 10px;
    --v3-radius-md: 14px;
    --v3-radius-lg: 18px;
    --v3-shadow-sm: 0 4px 14px rgba(18, 55, 90, .06);
    --v3-shadow-md: 0 10px 28px rgba(18, 55, 90, .09);
  }

body {
    background:
      radial-gradient(circle at top right, rgba(7, 91, 152, .06), transparent 30%),
      var(--v3-bg) !important;
  }

main {
    max-width: 1240px;
  }

.tabs {
    gap: 8px !important;
    padding: 12px 0 !important;
  }

.tab {
    min-height: 42px;
    padding: 9px 14px !important;
    border-radius: 999px !important;
    border: 1px solid transparent;
    font-weight: 760;
    transition:
      transform .14s ease,
      box-shadow .14s ease,
      background .14s ease;
  }

.tab:hover {
    transform: translateY(-1px);
    box-shadow: var(--v3-shadow-sm);
  }

.tab.active {
    box-shadow: 0 7px 18px rgba(7, 91, 152, .22);
  }

.panel,
  .card,
  .analysis-card,
  .chart-card {
    border-color: var(--v3-border) !important;
    border-radius: var(--v3-radius-lg) !important;
    box-shadow: var(--v3-shadow-sm);
  }

.panel {
    padding: 18px !important;
  }

.section {
    margin-bottom: 18px !important;
  }

.filters,
  .filter-grid,
  .controls {
    padding: 14px !important;
    border: 1px solid var(--v3-border);
    border-radius: var(--v3-radius-md);
    background: var(--v3-surface-soft);
  }

label,
  .label {
    color: var(--v3-muted) !important;
    font-size: .77rem !important;
    font-weight: 850 !important;
    letter-spacing: .035em;
  }

input,
  select,
  button {
    min-height: 44px;
  }

input,
  select {
    border-color: #c8d6e3 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--v3-text) !important;
  }

input:focus,
  select:focus {
    border-color: #5e9dcc !important;
    box-shadow: 0 0 0 4px rgba(7, 91, 152, .11) !important;
    outline: none !important;
  }

.metrics {
    gap: 12px !important;
  }

.metric {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--v3-border) !important;
    border-radius: var(--v3-radius-md) !important;
    background: linear-gradient(180deg, #fff, #fbfdff) !important;
    box-shadow: var(--v3-shadow-sm);
  }

.metric::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--v3-blue);
  }

.metric .k {
    color: var(--v3-muted) !important;
  }

.metric .v,
  .metric strong {
    color: var(--v3-text) !important;
  }

h1, h2, h3 {
    color: var(--v3-text);
    letter-spacing: -.02em;
  }

h2 {
    margin-bottom: 6px;
  }

.small,
  .muted {
    color: var(--v3-muted) !important;
  }

.table-wrap {
    border: 1px solid var(--v3-border);
    border-radius: var(--v3-radius-md);
    overflow: auto;
    background: var(--v3-surface);
    box-shadow: var(--v3-shadow-sm);
  }

table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }

thead th {
    position: sticky;
    top: 0;
    z-index: 5;
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.15);
  }

tbody tr {
    transition: background .12s ease;
  }

tbody tr:nth-child(even) td {
    background: #fbfdff;
  }

tbody tr:hover td {
    background: #eef6fc !important;
  }

td, th {
    padding-top: 11px !important;
    padding-bottom: 11px !important;
  }

.status-qualified,
  .qualified {
    background: var(--v3-green-soft) !important;
    color: var(--v3-green) !important;
  }

.status-close,
  .close {
    background: var(--v3-amber-soft) !important;
    color: var(--v3-amber) !important;
  }

.status-outside,
  .outside {
    background: var(--v3-red-soft) !important;
    color: var(--v3-red) !important;
  }

.lpp-empty,
  .empty {
    background: var(--v3-grey-soft) !important;
    border-color: #cfd9e3 !important;
  }

.lpp-period-card {
    border-radius: var(--v3-radius-md) !important;
    box-shadow: var(--v3-shadow-sm);
  }

.lpp-improvement-item {
    transition:
      transform .12s ease,
      box-shadow .12s ease;
  }

.lpp-improvement-item:hover {
    transform: translateY(-1px);
    box-shadow: var(--v3-shadow-sm);
  }

#lppFeedbackButton {
    box-shadow: 0 10px 24px rgba(7, 91, 152, .28) !important;
  }

section > .panel > h2:first-child,
  section > .card > h2:first-child {
    font-size: 1.35rem;
    margin-bottom: 4px;
  }

body.lpp-dark {
    --v3-bg: #0f1722;
    --v3-surface: #172434;
    --v3-surface-soft: #1b2a3b;
    --v3-border: #31465a;
    --v3-text: #eef5fb;
    --v3-muted: #aec0d1;
    --v3-grey-soft: #223447;
  }

body.lpp-dark .filters,
  body.lpp-dark .filter-grid,
  body.lpp-dark .controls {
    background: var(--v3-surface-soft) !important;
    border-color: var(--v3-border) !important;
  }

body.lpp-dark .metric {
    background: linear-gradient(180deg, #172434, #152231) !important;
    border-color: var(--v3-border) !important;
  }

body.lpp-dark input,
  body.lpp-dark select {
    background: #172434 !important;
    color: #eef5fb !important;
    border-color: #40566b !important;
  }

body.lpp-dark .table-wrap {
    background: #172434;
    border-color: #31465a;
  }

body.lpp-dark tbody tr:nth-child(even) td {
    background: #192738 !important;
  }

body.lpp-dark tbody tr:hover td {
    background: #223b52 !important;
  }

body.lpp-dark h1,
  body.lpp-dark h2,
  body.lpp-dark h3 {
    color: #eef5fb;
  }

@media (max-width: 900px) {
    main {
      width: min(100% - 20px, 1240px);
    }

    .panel {
      padding: 14px !important;
    }

    .filters,
    .filter-grid,
    .controls {
      padding: 12px !important;
    }
  }

@media (max-width: 760px) {
    body {
      background: var(--v3-bg) !important;
    }

    #lppMobileNav {
      position: sticky;
      top: 8px;
      z-index: 900;
      min-height: 48px;
      border-radius: 12px !important;
      box-shadow: var(--v3-shadow-md);
    }

    .metrics {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .filters,
    .filter-grid,
    .controls {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) !important;
      gap: 10px !important;
    }

    table {
      min-width: 760px;
    }

    .table-wrap {
      scrollbar-width: thin;
    }
  }

@media (max-width: 520px) {
    main {
      width: min(100% - 12px, 1240px);
    }

    .panel {
      padding: 12px !important;
      border-radius: 14px !important;
    }

    .metrics {
      grid-template-columns: minmax(0, 1fr) !important;
    }

    .metric {
      min-height: 92px;
    }
  }

.v3-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:24px 0 16px;padding:0 2px}

.v3-page-head h1{margin:0;color:#17324d;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.06;letter-spacing:-.035em}

.v3-page-head p{margin:6px 0 0;color:#62758a;font-size:.98rem}

body.lpp-dark .v3-page-head h1{color:#eef5fb}

body.lpp-dark .v3-page-head p{color:#afc0d1}

.tabs{padding-left:24px!important;padding-right:24px!important;gap:18px!important;border-bottom:1px solid #d8e3ed;background:rgba(255,255,255,.72)}

.tab{position:relative;min-height:48px!important;padding:13px 2px 11px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#52667a!important}

.tab:hover{transform:none!important;box-shadow:none!important;color:#075b98!important}

.tab.active{background:transparent!important;color:#075b98!important;box-shadow:none!important}

.tab.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:#075b98}

body.lpp-dark .tabs{background:#111d2a;border-color:#31465a}

body.lpp-dark .tab{color:#afc0d1!important}

body.lpp-dark .tab.active{color:#8fd8ff!important}

#athlete>.card.panel{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}

#athlete .grid.g4,#athlete .grid.g3,#athleteSummary{display:none!important}

#athlete.v3-built>.card.panel>.table-wrap,#athlete.v3-built>.card.panel>#historyPanel{display:none!important}

#athlete.v3-built>.card.panel>.lpp-reset-row{margin-top:14px}

.v3-athlete-toolbar{display:grid;grid-template-columns:minmax(260px,1.45fr) repeat(3,minmax(150px,.8fr)) auto;gap:10px;align-items:end;padding:14px;border:1px solid #d7e2ec;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(18,55,90,.07)}

.v3-field label{display:block;margin-bottom:6px;color:#62758a;font-size:.76rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase}

.v3-field input,.v3-field select{width:100%;min-height:46px}

.v3-athlete-search{position:relative}

.v3-search-menu{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:100;display:none;max-height:360px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;border:1px solid #cbd8e6;border-radius:12px;background:#fff;box-shadow:0 16px 36px rgba(18,55,90,.18)}

.v3-search-menu.open{display:block}

.v3-search-option{display:block;width:100%;min-height:44px;padding:10px 12px;border:0;border-bottom:1px solid #edf2f7;border-radius:0;background:#fff;color:#17324d;text-align:left;cursor:pointer}

.v3-search-option:hover,.v3-search-option:focus{background:#eaf4fc;outline:none}

.v3-more{min-height:46px;padding:9px 14px;border:1px solid #cbd8e6;border-radius:10px;background:#f7fafc;color:#17324d;font-weight:800;cursor:pointer}

.v3-advanced{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;padding:14px;border:1px solid #d7e2ec;border-radius:14px;background:#f8fbfe}

.v3-advanced.open{display:grid}

.v3-athlete-hero{margin-top:16px;padding:22px;border-radius:20px;background:linear-gradient(135deg,#064f84 0%,#0871b9 72%,#1684c7 100%);color:#fff;box-shadow:0 18px 42px rgba(7,91,152,.22)}

.v3-identity{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}

.v3-athlete-name{font-size:clamp(1.65rem,3vw,2.35rem);font-weight:900;line-height:1.04}

.v3-athlete-meta{margin-top:7px;color:rgba(255,255,255,.78)}

.v3-hero-tag{padding:7px 11px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.12);font-size:.82rem;font-weight:850}

.v3-hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}

.v3-hero-card{padding:14px;border:1px solid rgba(255,255,255,.17);border-radius:14px;background:rgba(255,255,255,.10)}

.v3-hero-card .k{color:rgba(255,255,255,.68);font-size:.72rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}

.v3-hero-card strong{display:block;margin-top:5px;color:#fff;font-size:1.12rem}

.v3-hero-card span{display:block;margin-top:4px;color:rgba(255,255,255,.76);font-size:.8rem}

.v3-section{margin-top:22px}

.v3-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:11px}

.v3-section-head h2{margin:0;color:#17324d;font-size:1.35rem}

.v3-section-head p{margin:4px 0 0;color:#62758a}

body.lpp-dark .v3-section-head h2{color:#eef5fb}

body.lpp-dark .v3-section-head p{color:#afc0d1}

.v3-priorities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}

.v3-priority{min-height:150px;padding:17px;border:1px solid #d7e2ec;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(18,55,90,.06)}

.v3-priority.best{border-color:#f0c56b;background:linear-gradient(180deg,#fffdf8,#fff9e9)}

.v3-priority.qualified{border-color:#9edab9;background:linear-gradient(180deg,#fbfffd,#edf9f2)}

.v3-priority .eyebrow{color:#62758a;font-size:.73rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}

.v3-priority .event{margin-top:8px;color:#17324d;font-size:1.28rem;font-weight:900}

.v3-priority .main{margin-top:10px;color:#17324d;font-weight:800}

.v3-priority .detail{margin-top:6px;color:#62758a;font-size:.83rem;line-height:1.45}

.v3-details{margin-top:20px;border:1px solid #d7e2ec;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(18,55,90,.05);overflow:hidden}

.v3-details>summary{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:14px 17px;color:#17324d;font-weight:900;cursor:pointer;list-style:none}

.v3-details>summary::-webkit-details-marker{display:none}

.v3-details>summary::after{content:"＋";color:#075b98;font-size:1.2rem}

.v3-details[open]>summary::after{content:"−"}

.v3-details-content{padding:0 16px 16px}

.v3-details .table-wrap{margin:0}

.v3-actions{position:relative}

.v3-actions>summary{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border:1px solid #cbd8e6;border-radius:999px;background:#fff;color:#17324d;font-weight:800;cursor:pointer;list-style:none}

.v3-actions>summary::-webkit-details-marker{display:none}

.v3-actions-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:70;min-width:220px;padding:8px;border:1px solid #d7e2ec;border-radius:12px;background:#fff;box-shadow:0 14px 32px rgba(18,55,90,.16)}

.v3-actions-menu button{width:100%;border:0;border-radius:9px;background:transparent;text-align:left}

.v3-actions-menu button:hover{background:#eef6fc}

body.lpp-dark .v3-athlete-toolbar,body.lpp-dark .v3-priority,body.lpp-dark .v3-details,body.lpp-dark .v3-actions-menu,body.lpp-dark .v3-search-menu{border-color:#31465a;background:#172434}

body.lpp-dark .v3-advanced{border-color:#31465a;background:#1b2a3b}

body.lpp-dark .v3-search-option{border-color:#31465a;background:#172434;color:#eef5fb}

body.lpp-dark .v3-search-option:hover{background:#223b52}

body.lpp-dark .v3-priority .event,body.lpp-dark .v3-priority .main,body.lpp-dark .v3-details>summary{color:#eef5fb}

body.lpp-dark .v3-priority.best{background:linear-gradient(180deg,#2d2a1e,#262417)}

body.lpp-dark .v3-priority.qualified{background:linear-gradient(180deg,#193125,#172b21)}

@media(max-width:980px){.v3-athlete-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-athlete-search{grid-column:1/-1}.v3-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-priorities{grid-template-columns:1fr}}

@media(max-width:700px){.tabs{padding-left:12px!important;padding-right:12px!important}.v3-page-head{align-items:flex-start;flex-direction:column}.v3-athlete-toolbar{grid-template-columns:1fr}.v3-advanced{grid-template-columns:1fr}.v3-identity{flex-direction:column}.v3-hero-grid{grid-template-columns:1fr}}

.header h1{color:#fff!important;text-shadow:0 1px 1px rgba(0,0,0,.08)}

.header p{color:rgba(255,255,255,.88)!important}

.tabs{background:transparent!important;border-bottom:0!important;box-shadow:none!important;padding-left:34px!important;padding-right:34px!important;margin-bottom:18px!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}

body.lpp-dark .tabs{background:transparent!important;border-color:transparent!important}

.v3-page-head[data-page-head="dashboard"]{display:none!important}

.participation-band-leading{margin:2px -8px 6px;padding:14px 8px!important;border:1px solid #b7d9ef!important;border-radius:12px;background:linear-gradient(90deg,#eef8ff,#f8fcff)}

.participation-band-leading .participation-bar span{background:linear-gradient(90deg,#005aa6,#00a5df)}

.participation-rank-leading{margin:0 -7px;padding-left:7px;padding-right:7px;background:linear-gradient(90deg,#fff9e8,transparent);border-radius:9px}

body.lpp-dark .participation-band-leading{border-color:#315c78!important;background:linear-gradient(90deg,#18334a,#172434)}

body.lpp-dark .participation-rank-leading{background:linear-gradient(90deg,#342d18,transparent)}

@media(max-width:700px){.tabs{padding-left:16px!important;padding-right:16px!important}}

header {
    min-height: 0 !important;
    border-bottom: 4px solid #f7c640 !important;
    background: linear-gradient(105deg, #064a7d 0%, #075b98 55%, #086aa9 100%) !important;
  }

header .header {
    box-sizing: border-box;
    width: min(100%, 1400px);
    max-width: 1400px !important;
    min-height: 108px !important;
    margin: 0 auto !important;
    padding: 18px 24px !important;
    display: grid !important;
    grid-template-columns: 122px minmax(0, 1fr);
    align-items: center !important;
    gap: 24px !important;
  }

header .logo {
    width: 122px !important;
    max-height: 88px !important;
    object-fit: contain !important;
    align-self: center;
  }

header .header > div {
    min-width: 0;
  }

header h1 {
    margin: 0 !important;
    color: #ffffff !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: clamp(1.65rem, 2.5vw, 2.35rem) !important;
    font-weight: 850 !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
    text-shadow: none !important;
  }

header p {
    max-width: 820px;
    margin: 7px 0 0 !important;
    color: rgba(255,255,255,.82) !important;
    font-size: clamp(.88rem, 1.25vw, 1.02rem) !important;
    line-height: 1.35 !important;
  }

.tabs {
    box-sizing: border-box;
    width: 100%;
    max-width: none !important;
    margin: 0 0 22px !important;
    padding: 0 24px !important;
    gap: 22px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }

.tab {
    min-height: 54px !important;
    padding-top: 17px !important;
    padding-bottom: 13px !important;
  }

.v3-athlete-subtabs {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 14px 0 2px;
    padding: 5px;
    border: 1px solid #d7e2ec;
    border-radius: 13px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 5px 18px rgba(18,55,90,.05);
  }

.v3-athlete-subtab {
    appearance: none;
    min-height: 42px;
    padding: 9px 14px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #52667a;
    font-weight: 820;
    cursor: pointer;
    transition: background .15s ease, color .15s ease, box-shadow .15s ease;
  }

.v3-athlete-subtab:hover {
    background: #eef5fa;
    color: #075b98;
  }

.v3-athlete-subtab.active {
    background: #ffffff;
    color: #075b98;
    box-shadow: 0 4px 14px rgba(18,55,90,.10);
  }

.v3-athlete-subtab .count {
    margin-left: 5px;
    color: #7890a6;
    font-size: .78rem;
    font-weight: 780;
  }

.v3-athlete-panel {
    display: none;
  }

.v3-athlete-panel.active {
    display: block;
  }

.v3-analysis-intro {
    margin: 18px 0 12px;
  }

.v3-analysis-intro h2 {
    margin: 0;
    color: #17324d;
    font-size: 1.42rem;
  }

.v3-analysis-intro p {
    margin: 5px 0 0;
    color: #62758a;
  }

.v3-analysis-panel > .table-wrap,
  .v3-evidence-panel #historyPanel {
    margin-top: 0 !important;
  }

.v3-evidence-panel #historyPanel > h2 {
    display: none !important;
  }

.v3-evidence-panel #historyPanel > p.small {
    margin-top: 0 !important;
  }

@media (min-width: 901px) {
    #club .analysis-card {
      min-width: 0 !important;
      overflow: hidden !important;
    }

    #club .heatmap {
      width: 100%;
      min-width: 0 !important;
      overflow: visible !important;
    }

    #club .heat-row {
      width: 100%;
      min-width: 0 !important;
      grid-template-columns: minmax(104px, 1.55fr) repeat(7, minmax(0, 1fr)) !important;
      gap: 3px !important;
    }

    #club .heat-cell {
      min-width: 0 !important;
      padding: 7px 2px !important;
      font-size: .69rem !important;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
  }

@media (max-width: 900px) {
    #club .heatmap {
      overflow-x: auto !important;
      -webkit-overflow-scrolling: touch;
    }

    #club .heat-row {
      min-width: 610px;
    }
  }

body.lpp-dark .v3-athlete-subtabs {
    border-color: #31465a;
    background: rgba(23,36,52,.78);
  }

body.lpp-dark .v3-athlete-subtab {
    color: #afc0d1;
  }

body.lpp-dark .v3-athlete-subtab:hover {
    background: #223447;
    color: #8fd8ff;
  }

body.lpp-dark .v3-athlete-subtab.active {
    background: #263b50;
    color: #ffffff;
  }

body.lpp-dark .v3-analysis-intro h2 {
    color: #eef5fb;
  }

body.lpp-dark .v3-analysis-intro p {
    color: #afc0d1;
  }

@media (max-width: 760px) {
    header .header {
      grid-template-columns: 82px minmax(0, 1fr);
      min-height: 82px !important;
      padding: 12px 16px !important;
      gap: 14px !important;
    }

    header .logo {
      width: 82px !important;
      max-height: 64px !important;
    }

    .tabs {
      padding-left: 16px !important;
      padding-right: 16px !important;
      gap: 18px !important;
    }

    .v3-athlete-subtabs {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: thin;
    }

    .v3-athlete-subtab {
      flex: 0 0 auto;
    }
  }

:root {
    --v3-page-bg: #f7f9fc;
    --v3-copy: #17324d;
    --v3-copy-soft: #60748a;
    --v3-body-size: .94rem;
    --v3-small-size: .82rem;
    --v3-heading-2: 1.35rem;
    --v3-heading-3: 1.05rem;
  }

html {
    background: var(--v3-page-bg);
  }

body {
    background:
      radial-gradient(circle at 82% 8%, rgba(49,137,200,.035), transparent 28%),
      var(--v3-page-bg) !important;
    color: var(--v3-copy);
    font-size: var(--v3-body-size);
  }

header {
    background:
      radial-gradient(circle at 88% 14%, rgba(67,164,224,.18), transparent 30%),
      linear-gradient(108deg, #063f6c 0%, #07578f 58%, #086ba8 100%) !important;
  }

header .header {
    width: min(100%, 1240px) !important;
    max-width: 1240px !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    gap: 22px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

header .logo {
    width: 112px !important;
    max-height: 82px !important;
  }

header h1 {
    font-size: clamp(1.7rem, 2.35vw, 2.2rem) !important;
    font-weight: 800 !important;
    letter-spacing: -.042em !important;
  }

header p {
    font-size: .94rem !important;
    color: rgba(255,255,255,.78) !important;
  }

footer,
  #lppReleaseFooter {
    box-sizing: border-box;
    width: min(100%, 1240px) !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

main p,
  main li,
  main dd,
  main td,
  main input,
  main select,
  main button {
    font-size: var(--v3-body-size);
  }

main .small,
  main .muted,
  main .meta,
  main .range,
  main .detail,
  main .v3-athlete-meta,
  main .v3-analysis-intro p,
  main .help-card dd,
  main .help-card p,
  main .help-card li {
    font-size: var(--v3-small-size) !important;
    line-height: 1.45;
  }

main h2,
  .v3-section-head h2,
  .v3-analysis-intro h2,
  .help-intro h2 {
    font-size: var(--v3-heading-2) !important;
    line-height: 1.18;
    letter-spacing: -.025em;
  }

main h3,
  .help-card h3 {
    font-size: var(--v3-heading-3) !important;
    line-height: 1.25;
    letter-spacing: -.015em;
  }

label,
  .label,
  .k,
  .eyebrow {
    font-size: .73rem !important;
  }

.v3-athlete-subtabs {
    gap: 4px !important;
    padding: 4px !important;
    background: #eef4f9 !important;
    border-color: #dbe5ed !important;
    box-shadow: none !important;
  }

.v3-athlete-subtab {
    min-height: 40px !important;
    padding: 8px 13px !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    color: #52667a !important;
    font-size: .82rem !important;
  }

.v3-athlete-subtab:hover {
    background: rgba(255,255,255,.7) !important;
  }

.v3-athlete-subtab.active {
    border-color: #cbdce9 !important;
    background: #ffffff !important;
    color: #075b98 !important;
    box-shadow: 0 2px 8px rgba(18,55,90,.07) !important;
  }

.v3-analysis-panel > details.v3-details {
    margin-top: 10px !important;
  }

.v3-analysis-panel > details.v3-details > summary {
    display: none !important;
  }

.v3-analysis-panel > details.v3-details > .v3-details-content {
    padding: 0 !important;
  }

.v3-analysis-panel > .v3-analysis-intro + .table-wrap {
    margin-top: 10px !important;
  }

.v3-evidence-panel #historyPanel > h2,
  .v3-evidence-panel #historyPanel .section > h2:first-child {
    display: none !important;
  }

.panel,
  .card,
  .analysis-card,
  .chart-card,
  .v3-athlete-toolbar,
  .v3-priority,
  .v3-athlete-hero,
  .participation-card {
    border-color: #dce5ed !important;
  }

.panel,
  .card,
  .analysis-card,
  .chart-card,
  .v3-athlete-toolbar,
  .v3-priority,
  .participation-card {
    box-shadow: 0 7px 22px rgba(18,55,90,.045) !important;
  }

.v3-page-head:has(+ #dashboard),
  #dashboard ~ .v3-page-head {
    display: none !important;
  }

body.lpp-dark {
    --v3-page-bg: #0f1722;
    --v3-copy: #eef5fb;
    --v3-copy-soft: #afc0d1;
  }

body.lpp-dark .v3-athlete-subtabs {
    background: #182737 !important;
    border-color: #31465a !important;
  }

body.lpp-dark .v3-athlete-subtab.active {
    background: #263b50 !important;
    border-color: #40566b !important;
    color: #ffffff !important;
  }

@media (max-width: 760px) {
    header .header {
      width: 100% !important;
      grid-template-columns: 78px minmax(0, 1fr) !important;
      gap: 13px !important;
      padding-left: 16px !important;
      padding-right: 16px !important;
    }

    header .logo {
      width: 78px !important;
      max-height: 60px !important;
    }

    footer,
    #lppReleaseFooter {
      padding-left: 16px !important;
      padding-right: 16px !important;
    }
  }

.tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 48px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none;
    white-space: nowrap;
  }

.tabs::-webkit-scrollbar {
    display: none;
  }

.tab {
    flex: 0 0 auto !important;
    min-height: 46px !important;
    padding: 13px 0 10px !important;
    font-size: .78rem !important;
    line-height: 1 !important;
  }

.tab[data-v="data"] {
    display: none !important;
  }

#athlete .chart-wrap {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 430px !important;
    min-height: 430px !important;
    display: block !important;
    overflow: hidden !important;
  }

#athlete #athChart {
    display: block !important;
    width: 100% !important;
    height: 410px !important;
    max-width: 100% !important;
    flex: none !important;
  }

#athlete .chart-controls .lpp-empty.lpp-chart-message-hidden {
    display: none !important;
  }

body > .footer {
    box-sizing: border-box !important;
    width: min(100%, 1240px) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 24px 28px !important;
  }

.badge,
  .rank-item > .badge,
  .plan-chip > .badge,
  .analysis-card .badge,
  .participation-card .badge,
  #club .badge,
  #dashboard .badge {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 36px !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 10px !important;
    border-radius: 10px !important;
    line-height: 1 !important;
    text-align: center !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
  }

.badge.bb,
  .badge.bg,
  .badge.ba,
  .badge.br {
    font-variant-numeric: tabular-nums;
  }

#help .v3-help-data-merged {
    margin-top: 24px;
  }

#help .v3-help-data-merged > .card,
  #help .v3-help-data-merged > .panel {
    margin-top: 0 !important;
  }

@media (max-width: 1120px) {
    .tabs {
      gap: 12px !important;
    }

    .tab {
      font-size: .74rem !important;
    }
  }

@media (max-width: 760px) {
    .tabs {
      padding-left: 16px !important;
      padding-right: 16px !important;
      gap: 16px !important;
    }

    #athlete .chart-wrap {
      height: 360px !important;
      min-height: 360px !important;
    }

    #athlete #athChart {
      height: 340px !important;
    }

    body > .footer {
      padding-left: 16px !important;
      padding-right: 16px !important;
    }
  }

#athlete .chart-wrap {
    height: auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: visible !important;
    padding-bottom: 12px !important;
  }

#athlete #athHistoryLegend,
  #athlete #athChartLegend {
    flex: 0 0 auto !important;
  }

#athlete #athChart {
    width: 100% !important;
    height: 430px !important;
    flex: 0 0 430px !important;
  }

.lpp-info {
    position: relative;
    cursor: pointer;
    user-select: none;
  }

.lpp-info:focus-visible {
    outline: 3px solid rgba(7,91,152,.22);
    outline-offset: 2px;
  }

.lpp-info-popover {
    position: fixed;
    z-index: 5000;
    width: min(320px, calc(100vw - 28px));
    padding: 12px 14px;
    border: 1px solid #cad9e6;
    border-radius: 12px;
    background: #ffffff;
    color: #17324d;
    box-shadow: 0 16px 38px rgba(18,55,90,.20);
    font-size: .86rem;
    line-height: 1.45;
  }

.lpp-info-popover strong {
    display: block;
    margin-bottom: 4px;
  }

body.lpp-dark .lpp-info-popover {
    border-color: #40566b;
    background: #172434;
    color: #eef5fb;
  }

@media (max-width: 760px) {
    #athlete #athChart {
      height: 370px !important;
      flex-basis: 370px !important;
    }
  }

.lpp-info {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    flex: 0 0 28px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    line-height: 1 !important;
    aspect-ratio: 1 / 1 !important;
    vertical-align: middle !important;
  }

.v3-readiness {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 11px;
    padding-top: 9px;
    border-top: 1px solid rgba(100,125,150,.17);
    color: #60748a;
    font-size: .74rem;
  }

.v3-readiness strong {
    color: #075b98;
    font-size: .79rem;
  }

.v3-readiness em {
    margin-left: auto;
    font-style: normal;
    font-weight: 750;
  }

.club-mode-switch {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 0 0 14px !important;
    padding: 4px !important;
    border: 1px solid #dbe5ed !important;
    border-radius: 13px !important;
    background: #eef4f9 !important;
    box-shadow: none !important;
  }

.club-mode-switch button {
    min-height: 40px !important;
    padding: 8px 13px !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #52667a !important;
    font-size: .82rem !important;
    font-weight: 820 !important;
    box-shadow: none !important;
  }

.club-mode-switch button:hover {
    background: rgba(255,255,255,.7) !important;
    color: #075b98 !important;
  }

.club-mode-switch button.active {
    border-color: #cbdce9 !important;
    background: #ffffff !important;
    color: #075b98 !important;
    box-shadow: 0 2px 8px rgba(18,55,90,.07) !important;
  }

body.lpp-dark .club-mode-switch {
    border-color: #31465a !important;
    background: #182737 !important;
  }

body.lpp-dark .club-mode-switch button.active {
    border-color: #40566b !important;
    background: #263b50 !important;
    color: #fff !important;
  }

#dashboard #closest {
    box-sizing: border-box;
    max-height: 300px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 7px;
    padding-bottom: 18px;
    margin-bottom: 22px;
    scrollbar-gutter: stable;
    mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 22px), transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 22px), transparent 100%);
  }

#dashboard #closest::after {
    content: "";
    display: block;
    height: 10px;
  }

#dashboard #closest::-webkit-scrollbar {
    width: 8px;
  }

#dashboard #closest::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 999px;
    background: #b9cad8;
    background-clip: padding-box;
  }

body.lpp-no-athlete #athlete .v3-athlete-hero,
  body.lpp-no-athlete #athlete .v3-section,
  body.lpp-no-athlete #athlete .chart-card,
  body.lpp-no-athlete #athlete #progressJourney {
    display: none !important;
  }

.v3-athlete-empty-state {
    display: none;
    margin: 18px 0 4px;
    padding: 26px;
    border: 1px solid #dce5ed;
    border-radius: 14px;
    background: #fff;
    color: #60748a;
    text-align: center;
  }

body.lpp-no-athlete .v3-athlete-empty-state {
    display: block;
  }

.v3-athlete-empty-state strong {
    display: block;
    margin-bottom: 7px;
    color: #17324d;
    font-size: 1.1rem;
  }

.v3-chart-tooltip {
    position: fixed;
    z-index: 5500;
    pointer-events: none;
    min-width: 180px;
    max-width: 280px;
    padding: 9px 11px;
    border: 1px solid #cbd9e5;
    border-radius: 10px;
    background: #102e4a;
    color: #fff;
    box-shadow: 0 12px 28px rgba(18,55,90,.22);
    font-size: .78rem;
    line-height: 1.4;
  }

.v3-chart-tooltip strong {
    display: block;
    font-size: .84rem;
  }

body.lpp-dark .v3-athlete-empty-state {
    border-color: #31465a;
    background: #172434;
    color: #afc0d1;
  }

body.lpp-dark .v3-athlete-empty-state strong {
    color: #eef5fb;
  }

#dashboard #closest {
    position: relative !important;
    box-sizing: border-box !important;
    max-height: 350px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    padding: 0 9px 24px 0 !important;
    margin: 0 0 28px !important;
    scrollbar-gutter: stable !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }

#dashboard #closest.lpp-has-overflow {
    mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 34px), transparent 100%) !important;
    -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 34px), transparent 100%) !important;
  }

#dashboard #closest::after,
  #dashboard #closest + .lpp-scroll-hint {
    content: none !important;
    display: none !important;
  }

#dashboard #closest::-webkit-scrollbar {
    width: 8px !important;
  }

#dashboard #closest::-webkit-scrollbar-thumb {
    border: 2px solid transparent !important;
    border-radius: 999px !important;
    background: #b9cad8 !important;
    background-clip: padding-box !important;
  }

.lpp-d14-search-wrap {
    position: relative;
  }

.lpp-d14-search-results {
    position: absolute;
    z-index: 1200;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    display: none;
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid #cbd9e5;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 14px 30px rgba(18,55,90,.16);
  }

.lpp-d14-search-results.open {
    display: block;
  }

.lpp-d14-search-option {
    display: block;
    width: 100%;
    padding: 10px 12px;
    border: 0;
    border-bottom: 1px solid #e6edf3;
    background: transparent;
    color: #17324d;
    text-align: left;
    font: inherit;
    cursor: pointer;
  }

.lpp-d14-search-option:last-child {
    border-bottom: 0;
  }

.lpp-d14-search-option:hover,
  .lpp-d14-search-option:focus {
    background: #eef6fb;
    outline: none;
  }

.lpp-d14-search-empty {
    padding: 11px 12px;
    color: #6b7f92;
    font-size: .82rem;
  }

#planAthlete.lpp-d14-hidden-select {
    display: none !important;
  }

body.lpp-dark .lpp-d14-search-results {
    border-color: #40566b;
    background: #172434;
  }

body.lpp-dark .lpp-d14-search-option {
    border-color: #30465a;
    color: #eef5fb;
  }

body.lpp-dark .lpp-d14-search-option:hover,
  body.lpp-dark .lpp-d14-search-option:focus {
    background: #243a4f;
  }

#athlete .chart-card.lpp-chart-empty {
    display: none !important;
  }

#athlete #athChart {
    display: block !important;
    width: 100% !important;
    height: 430px !important;
  }

#athlete .chart-wrap {
    position: relative !important;
    overflow: visible !important;
  }

#athlete .lpp-d17-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0 0 12px;
  }

#athlete .lpp-d17-legend button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 29px;
    padding: 5px 9px;
    border: 1px solid #d5e1ea;
    border-radius: 999px;
    background: #fff;
    color: #40566d;
    font: inherit;
    font-size: .76rem;
    cursor: pointer;
  }

#athlete .lpp-d17-legend button:hover {
    border-color: #9eb8cb;
    background: #f4f9fc;
  }

#athlete .lpp-d17-legend button.off {
    opacity: .38;
    text-decoration: line-through;
  }

#athlete .lpp-d17-swatch {
    width: 13px;
    height: 3px;
    border-radius: 999px;
    flex: 0 0 13px;
  }

#athlete .lpp-d17-tooltip {
    position: absolute;
    z-index: 30;
    display: none;
    pointer-events: none;
    min-width: 185px;
    max-width: 280px;
    padding: 9px 11px;
    border-radius: 9px;
    background: #0b3356;
    color: #fff;
    box-shadow: 0 8px 20px rgba(0,0,0,.2);
    font-size: 12px;
    line-height: 1.4;
  }

#athlete .lpp-d17-tooltip strong {
    display: block;
    margin-bottom: 2px;
  }

body.lpp-dark #athlete .lpp-d17-legend button {
    border-color: #40566b;
    background: #172434;
    color: #eaf3fa;
  }

#athlete #athChartLegend,
  #athlete #athHistoryLegend,
  #athlete #chartLegend {
    display: none !important;
  }

#v3PriorityGrid .priority-event-name{
    display:block!important;
    margin-top:8px;
    color:#17324d;
    font-size:1.28rem;
    line-height:1.15;
    font-weight:900;
  }

body.lpp-dark #v3PriorityGrid .priority-event-name{color:#eef5fb;}

:root{
  --section-title-size:22px;
  --subsection-title-size:18px;
  --section-title-color:#17324f;
  --section-copy-color:#61758d;
  --info-icon-size:22px;
  --info-icon-font:12px;
  --info-icon-bg:#eaf3ff;
  --info-icon-fg:#1768a7;
}

.section-heading,
.section-title-row,
.panel-heading,
.card-heading,
.page-section-heading,
.overall-dashboard-heading,
.current-priorities-heading,
.performance-timeline-heading,
.progress-journey-heading{
  display:flex;
  align-items:center;
  gap:8px;
}

main h2,
.page h2,
.panel h2,
.card h2,
section h2{
  color:var(--section-title-color);
  font-size:var(--section-title-size);
  line-height:1.2;
  font-weight:750;
  letter-spacing:-0.02em;
  margin:0 0 4px;
}

main h3,
.page h3,
.panel h3,
.card h3,
section h3{
  color:var(--section-title-color);
  font-size:var(--subsection-title-size);
  line-height:1.25;
  font-weight:700;
  letter-spacing:-0.012em;
}

.section-subtitle,
.section-description,
.panel-subtitle,
.help-copy,
.muted-copy{
  color:var(--section-copy-color);
  font-size:14px;
  line-height:1.45;
}

.info-icon,
.section-info,
.info-btn,
.help-icon,
.tooltip-icon,
.badge-info,
button[aria-label*="info" i],
button[title*="info" i],
[data-info],
.infoDot,
.info-dot,
.tip-icon,
.hint-icon{
  box-sizing:border-box !important;
  width:var(--info-icon-size) !important;
  height:var(--info-icon-size) !important;
  min-width:var(--info-icon-size) !important;
  min-height:var(--info-icon-size) !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:var(--info-icon-bg) !important;
  color:var(--info-icon-fg) !important;
  font-size:var(--info-icon-font) !important;
  line-height:1 !important;
  font-weight:700 !important;
  font-family:inherit !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  vertical-align:middle !important;
  flex:0 0 var(--info-icon-size) !important;
  margin:0 0 0 6px !important;
  box-shadow:none !important;
  cursor:help;
  transition:background-color .15s ease,color .15s ease,transform .15s ease;
}

.info-icon:hover,
.section-info:hover,
.info-btn:hover,
.help-icon:hover,
.tooltip-icon:hover,
.badge-info:hover,
button[aria-label*="info" i]:hover,
button[title*="info" i]:hover,
[data-info]:hover,
.infoDot:hover,
.info-dot:hover,
.tip-icon:hover,
.hint-icon:hover{
  background:#dbeafe !important;
  color:#0b5f9e !important;
}

details > summary,
.collapsible-heading,
.accordion-heading{
  display:flex;
  align-items:center;
}

@media (max-width:700px){
  :root{
    --section-title-size:20px;
    --subsection-title-size:17px;
    --info-icon-size:21px;
  }
}

#dashboard .sliderline #threshold{
  --lpp-range-fill:50%;
  -webkit-appearance:none;
  appearance:none;
  box-sizing:border-box;
  width:100%;
  height:20px;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  outline:none;
}

#dashboard .sliderline #threshold::-webkit-slider-runnable-track{
  height:6px;
  border:0;
  border-radius:999px;
  background:
    linear-gradient(
      to right,
      #1688f5 0,
      #1688f5 var(--lpp-range-fill),
      #dedede var(--lpp-range-fill),
      #dedede 100%
    );
}

#dashboard .sliderline #threshold::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:18px;
  height:18px;
  margin-top:-6px;
  border:1px solid #d7dde4;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 4px rgba(17,45,72,.16);
}

#dashboard .sliderline #threshold::-moz-range-track{
  height:6px;
  border:0;
  border-radius:999px;
  background:#dedede;
}

#dashboard .sliderline #threshold::-moz-range-progress{
  height:6px;
  border-radius:999px;
  background:#1688f5;
}

#dashboard .sliderline #threshold::-moz-range-thumb{
  width:18px;
  height:18px;
  border:1px solid #d7dde4;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 4px rgba(17,45,72,.16);
}

#dashboard .sliderline #threshold:focus-visible::-webkit-slider-thumb{
  outline:3px solid rgba(22,136,245,.22);
  outline-offset:2px;
}

#dashboard .metrics + .grid.g2{
  margin-bottom:28px;
}

#dashboard .metrics + .grid.g2 + .grid.g2{
  position:relative;
  clear:both;
}

@media (max-width:700px){
  #dashboard .metrics + .grid.g2{
    margin-bottom:22px;
  }
}

#planner .lpp-d14-search-results{
  max-height:320px;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

.lpp-guide-button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;margin-left:8px;padding:5px 10px;border:1px solid #c9d9e7;border-radius:999px;background:#f7fbfe;color:#075b98;font:inherit;font-size:.76rem;font-weight:800;vertical-align:middle;cursor:pointer}

.lpp-guide-button:hover{background:#eaf4fb;border-color:#a9c8df}

.lpp-meet-guide-overlay{position:fixed;inset:0;z-index:1000002;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(8,31,52,.66);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}

.lpp-meet-guide-overlay.is-open{display:flex}

.lpp-meet-guide-dialog{width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:26px;border:1px solid rgba(255,255,255,.55);border-radius:20px;background:#fff;color:#17324d;box-shadow:0 30px 80px rgba(0,0,0,.28)}

.lpp-meet-guide-dialog h2{margin:0 0 8px;font-size:1.7rem}

.lpp-meet-guide-dialog .lead{margin:0 0 18px;color:#5d7287;line-height:1.55}

.lpp-meet-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}

.lpp-meet-guide-card{padding:14px 15px;border:1px solid #dce6ef;border-radius:14px;background:#f8fbfd}

.lpp-meet-guide-card strong{display:block;margin-bottom:5px;color:#0f5f9a}

.lpp-meet-guide-card p{margin:0;color:#5e7388;font-size:.88rem;line-height:1.45}

.lpp-meet-guide-check{display:flex;gap:11px;align-items:center;margin-top:20px;padding:15px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;cursor:pointer}

.lpp-meet-guide-check input{width:20px;height:20px;flex:0 0 auto;margin:0}

.lpp-meet-guide-check span{font-weight:650;line-height:1.45}

.lpp-meet-guide-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}

.lpp-meet-guide-close,.lpp-meet-guide-continue{border-radius:11px;padding:11px 16px;font:inherit;font-weight:750;cursor:pointer}

.lpp-meet-guide-close{border:1px solid #cbd8e3;background:#fff;color:#32516d}

.lpp-meet-guide-continue{border:0;background:#0f5f9a;color:#fff}

.lpp-meet-guide-continue:disabled{opacity:.42;cursor:not-allowed}

body.lpp-meet-guide-locked{overflow:hidden!important}

@media(max-width:700px){.lpp-meet-guide-grid{grid-template-columns:1fr}.lpp-meet-guide-dialog{padding:20px;border-radius:15px}.lpp-meet-guide-actions{flex-direction:column-reverse}.lpp-meet-guide-close,.lpp-meet-guide-continue{width:100%}}

.v3-priority-guidance{display:grid;gap:9px;margin-top:12px;padding-top:11px;border-top:1px solid rgba(76,111,140,.18)}

.v3-priority-guidance-row{display:grid;grid-template-columns:76px 1fr;gap:9px;align-items:start;font-size:.75rem;line-height:1.38}

.v3-priority-guidance-row .label{color:#60758a;font-weight:800}

.v3-priority-guidance-row .value{color:#17324d;font-weight:650}

.v3-priority-evidence{display:inline-flex;align-items:center;width:max-content;padding:4px 8px;border-radius:999px;background:#eaf4fb;color:#075b98;font-size:.73rem;font-weight:850}

.v3-priority-evidence.strong{background:#dcf6e7;color:#087541}

.v3-priority-evidence.established{background:#e6f2ff;color:#075b98}

.v3-priority-evidence.developing{background:#fff1c9;color:#9a5a00}

.v3-priority-evidence.exploratory{background:#edf1f5;color:#576b7e}

body.lpp-dark .v3-priority-guidance-row .value{color:#eef5fb}

body.lpp-dark .v3-priority-evidence.strong{background:#193c2a;color:#8ee1b4}

body.lpp-dark .v3-priority-evidence.established{background:#19334a;color:#9fd4ff}

body.lpp-dark .v3-priority-evidence.developing{background:#3c321b;color:#ffd77a}

body.lpp-dark .v3-priority-evidence.exploratory{background:#2a3540;color:#c8d4df}

.plan-card>.small{margin-bottom:8px}

.lpp-mode-tabs{display:inline-flex;gap:4px;flex-wrap:wrap;margin:0 0 14px;padding:4px;background:#edf3f8;border:1px solid var(--border);border-radius:12px}

.lpp-mode-tabs button{background:transparent;color:var(--navy2);min-height:38px;padding:8px 13px;border-radius:9px}

.lpp-mode-tabs button.active{background:#fff;color:var(--navy);box-shadow:0 2px 8px rgba(16,50,82,.12)}

.lpp-hidden{display:none!important}

.lpp-benchmark-note{margin:0 0 14px;padding:11px 13px;border-left:4px solid var(--gold);background:#fff9df;border-radius:8px;font-size:.82rem;color:var(--muted)}

#regionalHistoryChart{display:block;width:100%;height:340px}

#clubModeSwitch{display:none!important}

.lpp-performance-note{margin:12px 0;padding:12px 14px;border-left:4px solid var(--blue);background:#eef8fd;border-radius:8px}

.lpp-segmented-control{
  display:inline-flex;
  align-items:center;
  gap:3px;
  flex-wrap:wrap;
  width:max-content;
  max-width:100%;
  margin:0 0 14px;
  padding:3px;
  background:#edf3f8;
  border:1px solid var(--border);
  border-radius:11px;
  box-shadow:none;
}

.lpp-segmented-control>button{
  appearance:none;
  -webkit-appearance:none;
  width:auto;
  min-width:0;
  min-height:34px!important;
  height:34px;
  margin:0;
  padding:0 14px!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  background:transparent!important;
  color:var(--navy2)!important;
  font:inherit;
  font-size:.82rem!important;
  line-height:1!important;
  font-weight:800!important;
  white-space:nowrap;
  box-shadow:none!important;
}

.lpp-segmented-control>button:hover{background:rgba(255,255,255,.7)!important}

.lpp-segmented-control>button.active{
  border-color:#cbdce9!important;
  background:#fff!important;
  color:var(--navy)!important;
  box-shadow:0 2px 7px rgba(16,50,82,.10)!important;
}

.lpp-segmented-control>button:focus-visible{
  outline:3px solid rgba(47,128,237,.20)!important;
  outline-offset:1px;
}

@media(max-width:600px){
  .lpp-segmented-control{display:flex;width:100%;}
  .lpp-segmented-control>button{flex:1 1 auto;padding:0 10px!important;font-size:.78rem!important;}
}


.chart-legend{display:flex;flex-wrap:wrap;gap:7px;max-width:650px;padding-top:4px}

.legend-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:.75rem}

.legend-chip i{display:inline-block;width:10px;height:10px;border-radius:50%}

.chart-controls{align-items:start}

.chart-controls>div:first-child{grid-column:span 2}

.analysis-card{align-self:start}

#clubInsights,#clubExtra{column-count:initial!important;display:block!important}

.club-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}

.club-col{display:flex;flex-direction:column;gap:14px;min-width:0}

.club-col>.analysis-card{margin:0!important;width:auto!important;display:block!important}

#nativeStandards .filters-native{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px}

#nativeStandards .std-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:14px 0}

#nativeStandards .std-summary{padding:12px 14px;border-left:5px solid #ffbf00;background:#fff;border-radius:10px;margin-bottom:14px}

#nativeStandards table{min-width:980px}

#nativeStandards tbody tr.harder td,#regionalTimesAnalysis tbody tr.harder td{background:#fee4e2}

#nativeStandards tbody tr.easier td,#regionalTimesAnalysis tbody tr.easier td{background:#dcfae6}

.chart-legend{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 2px;font-size:.78rem;color:#60758a}

.chart-legend span{display:inline-flex;align-items:center;gap:5px}

.chart-swatch{width:14px;height:4px;border-radius:4px;display:inline-block}

@media(max-width:900px){.club-columns{grid-template-columns:1fr}#nativeStandards .filters-native{grid-template-columns:repeat(2,1fr)}#nativeStandards .std-metrics{grid-template-columns:repeat(2,1fr)}}

#historyPanel{margin-top:18px}

#athHistoryLegend{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px}

#athHistoryLegend .legend-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid #d7e2ec;border-radius:999px;background:#fff;font-size:.75rem}

#athHistoryLegend i{width:12px;height:4px;border-radius:3px;display:inline-block}

#club .panel{padding:18px 18px 22px!important}

#club .g4{gap:14px!important}

#clubMetrics{margin:14px 0 16px!important;gap:12px!important}

#clubInsights,#clubExtra{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:16px!important;
  width:100%!important;
  margin:0 0 16px!important;
  align-items:start!important;
}

#clubInsights>.analysis-card,#clubExtra>.analysis-card{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:18px!important;
}

#clubInsights .rank-item,#clubExtra .rank-item{padding:9px 6px!important}

#clubInsights .heatmap{margin-top:10px!important}

#club .table-wrap{margin-top:10px!important}

@media(max-width:900px){
  #clubInsights,#clubExtra{grid-template-columns:1fr!important}
  #club .panel{padding:14px!important}
}

.plan-section-note{font-size:.76rem;color:var(--muted);margin:3px 0 8px}

.plan-chip .plan-reason{margin-top:2px}

.plan-chip.secure{opacity:.9}

.plan-chip.meet{border-left:3px solid #f5b800;padding-left:9px}

.plan-chip.development{border-left:3px solid #00a5df;padding-left:9px}

.plan-chip.secure{border-left:3px solid #39b86b;padding-left:9px}

#planContent.single-athlete{grid-template-columns:minmax(0,1fr)!important}

#planContent.single-athlete .plan-card{width:100%}

#planner .plan-card{min-width:0}

#planner .plan-chip{align-items:flex-start}

#planner .plan-chip>div{min-width:0;flex:1}

#planner .plan-reason{line-height:1.35}

#planner .plan-group+ .plan-group{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}

.v3-page-head[data-page-head]{display:none}

.v3-page-head[data-page-head].is-active{display:flex}

#v3PriorityGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}

.v3-priority .event-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}

.v3-priority .event-chip{padding:4px 7px;border-radius:7px;background:#eef5fb;color:#075b98;font-size:.76rem;font-weight:800}

.v3-priority .portfolio-count{margin-top:7px;color:#17324d;font-size:1.25rem;font-weight:900}

.v3-priority .subtle{margin-top:6px;color:#62758a;font-size:.8rem;line-height:1.42}

body.lpp-dark .v3-priority .event-chip{background:#223f57;color:#bce8ff}

body.lpp-dark .v3-priority .portfolio-count{color:#eef5fb}

.v3-chart-event-control>label,.v3-chart-event-control>select{display:none!important}

.v3-chart-event-summary{min-height:44px;display:flex;align-items:center;padding:10px 12px;border:1px solid #d7e2ec;border-radius:10px;background:#f8fbfe;color:#52667a;font-weight:750}

body.lpp-dark .v3-chart-event-summary{border-color:#40566b;background:#1b2a3b;color:#d6e3ef}

.v3-details[open]>summary{border-bottom:1px solid #e1e9f0}

#historyPanel>h2:first-child{display:none!important}

#historyPanel>p.small:first-of-type{margin-top:2px}

.club-mode-switch{display:inline-flex;gap:4px;margin:0 0 16px;padding:4px;border:1px solid #d7e2ec;border-radius:12px;background:#edf4f9}

.club-mode-switch button{min-height:38px;padding:7px 13px;border:0;border-radius:9px;background:transparent;color:#52667a;font-weight:850;cursor:pointer}

.club-mode-switch button.active{background:#fff;color:#075b98;box-shadow:0 3px 10px rgba(18,55,90,.10)}

body.lpp-dark .club-mode-switch{border-color:#40566b;background:#132233}

body.lpp-dark .club-mode-switch button{color:#afc0d1}

body.lpp-dark .club-mode-switch button.active{background:#223447;color:#fff}

#clubParticipationView{display:none}

#clubParticipationView.active{display:block}

#clubLancashireView.hidden{display:none}

.participation-intro{margin-bottom:14px;padding:16px 18px;border-radius:14px;background:linear-gradient(135deg,#064f84,#0871b9);color:#fff}

.participation-intro h2{margin:0;color:#fff}

.participation-intro p{margin:6px 0 0;color:rgba(255,255,255,.82)}

.participation-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}

.participation-kpi{padding:14px;border:1px solid #d7e2ec;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(18,55,90,.06)}

.participation-kpi .k{color:#62758a;font-size:.73rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}

.participation-kpi strong{display:block;margin-top:6px;color:#17324d;font-size:1.55rem}

.participation-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:14px;align-items:start}

.participation-card{padding:17px;border:1px solid #d7e2ec;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(18,55,90,.06)}

.participation-card h2{margin:0 0 5px}

.participation-card>p{margin:0 0 12px;color:#62758a}

.participation-band{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e3ebf2}

.participation-band:last-child{border-bottom:0}

.participation-band strong{color:#17324d}

.participation-band .range{color:#62758a;font-size:.8rem}

.participation-bar{height:9px;border-radius:999px;background:#e7eff6;overflow:hidden}

.participation-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0a72b8,#19a6dc)}

.participation-band .count{min-width:36px;padding:5px 8px;border-radius:8px;background:#e5f3fc;color:#075b98;text-align:center;font-weight:900}

.participation-rank{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e3ebf2}

.participation-rank:last-child{border-bottom:0}

.participation-rank .name{color:#17324d;font-weight:850}

.participation-rank .meta{color:#62758a;font-size:.79rem}

.participation-rank .races{padding:5px 8px;border-radius:8px;background:#fff0c8;color:#9a5b00;font-weight:900}

.participation-note{margin-top:12px;color:#62758a;font-size:.79rem;line-height:1.45}

body.lpp-dark .participation-kpi,body.lpp-dark .participation-card{border-color:#31465a;background:#172434}

body.lpp-dark .participation-kpi strong,body.lpp-dark .participation-band strong,body.lpp-dark .participation-rank .name{color:#eef5fb}

body.lpp-dark .participation-band,body.lpp-dark .participation-rank{border-color:#31465a}

body.lpp-dark .participation-bar{background:#263a4d}

@media(max-width:900px){.participation-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.participation-grid{grid-template-columns:1fr}}

@media(max-width:560px){.participation-kpis{grid-template-columns:1fr}.participation-band{grid-template-columns:1fr auto}.participation-bar{grid-column:1/-1}.club-mode-switch{display:flex}.club-mode-switch button{flex:1}}

#checker .check-grid{grid-template-columns:repeat(5,minmax(0,1fr))}

.lpp-course-note{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:#eef6fb;color:#31536f;font-size:.82rem;line-height:1.45}

.lpp-course-note strong{color:var(--navy2)}

@media(max-width:1050px){#checker .check-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

@media(max-width:650px){#checker .check-grid{grid-template-columns:1fr}}

#checkResult{border-left-width:5px;transition:border-color .18s ease,background-color .18s ease,color .18s ease}

#checkResult.lpp-result-qualified{border-left-color:#16844a!important;background:#edf9f2;color:#145b35}

#checkResult.lpp-result-near{border-left-color:#d97706!important;background:#fff7e8;color:#7a4300}

#checkResult.lpp-result-out{border-left-color:#c93a32!important;background:#fff0ef;color:#7b2722}

#checkResult.lpp-result-neutral{border-left-color:#006fb5!important;background:#f4f9fc;color:var(--navy2)}

.lpp-empty-state{display:flex;gap:16px;align-items:flex-start;margin-top:18px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#f7fbfe}

.lpp-empty-state[hidden]{display:none!important}

.lpp-empty-state h2{margin:0 0 8px}

.lpp-empty-state p{margin:4px 0}

.lpp-empty-state-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#dceef9;color:#005aa6;font-weight:800;font-family:Georgia,serif}

.lpp-table-empty{padding:20px;text-align:center;color:var(--muted)}

#mode-club{position:relative;z-index:2;margin-bottom:16px}

#regionalHistoryChart{display:block;max-width:100%}

@media(max-width:650px){.lpp-empty-state{padding:18px}.lpp-segmented-control{max-width:100%;overflow-x:auto}.lpp-segmented-control button{white-space:nowrap}}

#clubInsights,#clubExtra{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:16px!important;
  align-items:start!important;
  column-count:initial!important;
  width:100%!important;
}

#clubInsights>.analysis-card,#clubExtra>.analysis-card{
  display:block!important;
  position:static!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  transform:none!important;
  float:none!important;
  break-inside:auto!important;
  overflow:hidden;
}

#clubInsights .heatmap,#clubExtra .heatmap{overflow-x:auto;max-width:100%}

#clubInsights .rank-item,#clubExtra .rank-item{min-width:0}

#clubInsights .rank-item>div,#clubExtra .rank-item>div{min-width:0}

#clubInsights .small,#clubExtra .small{overflow-wrap:anywhere}

@media(max-width:900px){
  #clubInsights,#clubExtra{grid-template-columns:1fr!important}
}

#clubInsights,#clubExtra{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
  max-width:none!important;
  column-count:unset!important;
  column-gap:normal!important;
  align-items:start!important;
}

#clubInsights>.analysis-card,#clubExtra>.analysis-card{
  display:block!important;
  position:static!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  float:none!important;
  transform:none!important;
  break-inside:auto!important;
  overflow:hidden!important;
}

#clubInsights>.club-columns,#clubExtra>.club-columns{display:contents!important}

#clubInsights .club-col,#clubExtra .club-col{display:contents!important}

#clubInsights .heatmap,#clubExtra .heatmap{max-width:100%;overflow-x:auto}

@media(max-width:900px){#clubInsights,#clubExtra{grid-template-columns:1fr!important}}

#clubInsights,#clubExtra{
  display:grid!important;
  grid-template-columns:minmax(0,calc(50% - 10px)) minmax(0,calc(50% - 10px))!important;
  column-gap:20px!important;
  row-gap:20px!important;
  gap:20px!important;
  width:100%!important;
  box-sizing:border-box!important;
}

#clubInsights>.analysis-card,#clubExtra>.analysis-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

@media(max-width:900px){
  #clubInsights,#clubExtra{grid-template-columns:minmax(0,1fr)!important;column-gap:0!important;row-gap:16px!important;gap:16px!important}
}

#clubInsights{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  column-count:initial!important;
  grid-template-columns:none!important;
  gap:0!important;
  box-sizing:border-box!important;
}

#clubExtra{display:none!important}

#clubInsights>.club-masonry-v2{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:20px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

#clubInsights .club-stack-v2{
  display:flex!important;
  flex-direction:column!important;
  gap:20px!important;
  width:100%!important;
  min-width:0!important;
}

#clubInsights .club-stack-v2>.analysis-card{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}

@media(max-width:900px){
  #clubInsights>.club-masonry-v2{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
  #clubInsights .club-stack-v2{gap:16px!important}
}

.lpp-championship-unavailable{display:flex;gap:16px;align-items:flex-start;padding:28px;border:1px solid var(--line);border-radius:16px;background:#f7fbfe}

.lpp-championship-unavailable h2{margin:0 0 8px}

.lpp-championship-unavailable p{margin:4px 0}

.lpp-championship-unavailable .icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#dceef9;color:#005aa6;font:800 20px Georgia,serif}

.lpp-history-pane[hidden],.lpp-analysis-pane[hidden]{display:none!important}

.lpp-benchmark-note{margin:12px 0 16px;padding:12px 14px;border-left:4px solid #0b79b7;border-radius:0 10px 10px 0;background:#eef7fc;color:#31536f}

.lpp-benchmark-note strong{color:var(--navy2)}

.lpp-regional-plan .plan-chip{align-items:flex-start}

.lpp-regional-plan .plan-chip .small{margin-top:3px}

.lpp-help-status{grid-column:1/-1}

.lpp-help-status dl{grid-template-columns:minmax(190px,240px) 1fr}

#athleteBenchmarkControl{grid-column:1/-1;margin:0 0 2px}

#timesAnalysisControl{margin-bottom:18px}
