/* JCRUN White Performance v1 — additive, non-destructive theme.
   Apply AFTER all existing JCRUN portal style rules.
   Retains workout semantic colors, layouts, and application logic.
*/
:root {
  color-scheme: light;
  --bg:#ffffff;
  --sidebar:#fafbfc;
  --panel:#ffffff;
  --panel-2:#f6f8fb;
  --line:#e3e8ef;
  --text:#152132;
  --muted:#64748b;
  --blue:#087be8;
  --blue-dark:#0864c4;
  --green:#17866b;
  --orange:#b96518;
  --purple:#7953af;
  --radius:12px;
}
html { color-scheme:light }
body { background:#fff; color:var(--text) }
.sidebar { background:#fbfcfe; border-right:1px solid var(--line) }
.brand { background:transparent }
.workspace,.design-note { background:#fff; border-color:var(--line); color:var(--text) }
.workspace span:not(.team-mark),.design-note small,.nav-label {color:var(--muted)}
.team-mark {background:#eaf4ff;color:#075bb2;border-color:#cfe5ff}
.nav-link {color:#526174}
.nav-link:hover {background:#f0f5fc;color:#162333}
.nav-link.active {background:#eaf4ff;color:#075fba;font-weight:700}
.nav-link.active:before {background:var(--blue)}
.nav-link .count {background:#e9eef5;color:#546579}
.nav-link.active .count {background:#d2e8ff;color:#075fba}
.nav-separator {background:var(--line)}
.avatar {background:#edf1f6;color:#475569}
.avatar.blue {background:#e4f2ff;color:#075fba}
.avatar.green {background:#e0f5ed;color:#107658}
.avatar.purple {background:#f1eafd;color:#7043a8}
.avatar.orange {background:#fff0de;color:#a35a10}
.topbar {background:#fff;border-bottom:1px solid var(--line)}
.breadcrumb {color:var(--muted)}
.breadcrumb span {color:#a4afbd}
.breadcrumb strong {color:var(--text);font-weight:650}
.version-badge {color:#526579;border-color:#dbe3ec;background:#f7f9fc}
.language-button span {color:var(--muted)}
.icon-button {color:#586b82}
.icon-button:hover {background:#eef4fb;color:var(--blue)}
.notification-dot {border-color:#fff}
main {background:#fff}
.page-heading p,.metric-label,.metric-bottom,.detail-subtitle,.chart-caption {color:var(--muted)}
.eyebrow {color:#086dcc}
.button {border:1px solid #d5e0eb;background:#fff;color:#24364b;box-shadow:none}
.button:hover {background:#f2f7fc;border-color:#bed4ed}
.button.primary {background:var(--blue);border-color:var(--blue);color:#fff}
.button.primary:hover {background:var(--blue-dark);border-color:var(--blue-dark)}
.button.ghost {background:#fff;color:#34445a;border-color:#d9e2ec}
.button.danger {color:#b42318}
.search-box,.filter-select {background:#fff;color:var(--text);border-color:#d9e2ec}
.search-box input {color:var(--text)}
.search-box input::placeholder {color:#8b99ac}
.filter-select option {background:#fff;color:var(--text)}
.segmented {background:#f0f3f7;border-color:#e1e6ee}
.segmented button {color:#607085}
.segmented button.active {background:#fff;color:#0874d9;box-shadow:0 1px 3px #172b4a17}
.metrics {gap:14px}
.metric {background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 2px #1d355008;border-radius:11px}
.metric-label svg,.metric-value small {color:var(--muted)}
.metric-bottom em {color:var(--green)}
.metric-progress {background:#e8edf4}
.calendar-shell,.detail-panel,.panel {background:#fff;border:1px solid var(--line);box-shadow:0 1px 2px #1d355006}
.calendar-top {border-bottom:1px solid var(--line)}
.day-column,.day-column.weekend {background:#fff;border-right:1px solid #e8edf3}
.day-column.weekend {background:#fafcff}
.day-title {color:#738298;border-color:#e5ebf2}
.day-title strong {color:#24364b}
.day-title.today strong {background:var(--blue);color:#fff}
.workout-card {background:#f0f7ff;border-color:#c9ddf4;color:#193b5e}
.workout-card:hover {background:#e8f3ff}
.workout-card.completed {background:#eaf8f2;border-color:#bce7d4}
.workout-card.activity {background:#fff4e8;border-color:#f1d7b9}
.card-type {color:#135ea3}
.completed .card-type {color:#167454}
.activity .card-type {color:#a75c0f}
.card-volume,.card-athletes {color:#586f86}
.day-add {border-color:#d8e3ef;color:#7b91a7}
.day-total,.calendar-bottom,.calendar-bottom span:last-child {color:var(--muted)}
.calendar-bottom {border-color:var(--line)}
.detail-section-title {color:#26374c}
.tag {background:#e9f4ff;color:#0964b3}
.tag.green {background:#e3f6ec;color:#107354}
.tag.orange {background:#fff0dd;color:#a96017}
.tag.purple {background:#f1eafd;color:#7549a5}
.pace-box {border-color:var(--line)}
.pace-row {border-color:var(--line)}
.pace-row strong {color:#075fb2}
.note {background:#f2f7ff;color:#445a71;border-left-color:var(--blue)}
.weekly-insight {background:#f8fbff;border-color:var(--line)}
.insight-icon {background:#e6f2ff;color:var(--blue)}
.mini-chart>div {background:#d6e7fb}
.library-card {background:#fff;border-color:var(--line);box-shadow:0 1px 2px #1d355008}
.library-card:hover {border-color:#accdee}
.library-card-top {background:#edf6ff}
.library-card-top:after {border-color:#b9d8f4;box-shadow:none}
.library-card-top .big-icon svg {color:#1781de}
.library-card-top.green {background:#eaf8f3}
.library-card-top.purple {background:#f4efff}
/* Avoid forced dark styles within older embedded app pages */
body.native-portal {background:#fff;color:var(--text)}
body.native-portal .setting-input input,
body.native-portal .setting-input select,
body.native-portal .setting-input textarea {background:#fff;color:var(--text);border-color:var(--line)}
body.native-portal .modal-heading h2 {color:var(--text)}
body.native-portal details>summary {color:var(--text)}
/* Generic inputs and dialogs */
input,select,textarea {accent-color:var(--blue)}
:focus-visible {outline-color:var(--blue)}
@media (prefers-reduced-motion:reduce) { .workout-card,.library-card {transition:none} }


/* Additional light surfaces for forms, cards, and modal-heavy screens. */
html,body { background:#fff }
body .app { background:#fff }
body .calendar-grid { background:#fff }
body .day-column:not(.weekend) { background:#fff }
body .workout-card.selected { outline-color:#087be8 }
body .metric-value,body .day-title strong,body .detail-panel h2 { color:var(--text) }
body .workout-card.completed .card-title { color:#175e46 }
body .workout-card.activity .card-title { color:#895012 }
body .nav-link.active svg { color:#087be8 }
body .nav-link:hover svg { color:#087be8 }
body .library-card-top { color:#164770 }
body .library-card-top.green { color:#16684f }
body .library-card-top.purple { color:#654798 }
body .pace-box,body .weekly-insight,body .design-note { box-shadow:none }
body .note { border-radius:0 6px 6px 0 }
body .search-box:focus-within,body .filter-select:focus-visible,
body .setting-input input:focus-visible,body .setting-input select:focus-visible,
body .setting-input textarea:focus-visible { border-color:#087be8;outline:2px solid #bfdfff;outline-offset:1px }
body .modal-callout { background:#f2f7fd;color:#34465d }
body dialog { background:#fff;color:#152132;border:1px solid #dfe7ef;box-shadow:0 18px 48px rgba(20,37,65,.16) }
body dialog::backdrop { background:rgba(25,42,62,.35) }
body .sidebar-bottom .account { border-top:1px solid #e8edf3 }
body footer { color:#64748b;border-top-color:#e4eaf1 }
body .topbar-actions .avatar { border:1px solid #dce7f2 }
@media(max-width:700px) {
  body main { padding:20px 14px }
  body .metric { padding:13px }
  body .sidebar { background:#fff }
  body .topbar { padding-left:14px;padding-right:14px }
}

/* Adaptation to the original Coach Portal v53. Appearance only. */
/* Keep the official raster artwork intact, including its original dark field. */
.brand img,.header-logo,.login-panel>img{mix-blend-mode:normal;border-radius:6px}
.sidebar{overflow-y:auto;scrollbar-width:thin}
.brand{flex-shrink:0}
body .day-title.today strong{color:#fff}
body .mini-chart>div.highlight{background:var(--blue)}
.skip{background:var(--blue);color:#fff}
.cloud-bar{background:#f2f8ff;border-color:#cee3f7;color:#245b86}
.athlete-card,.workout-folder,.workout-choice,.profile-pace-table,.plan-preview-day,.publication-week,
.plan-week,.plan-builder-week,.group-athlete,.group-session,.athlete-day,.athlete-workout,
.builder-block,.builder-block.builder-repeated{background:#fff;border-color:var(--line);color:var(--text)}
.athlete-card:hover,.workout-choice:hover,.group-athlete:hover,.group-session:hover{background:#f5f9ff;border-color:#a7c9ea}
.library-card-top.orange{background:#fff2e5;color:#925018}
.library-card-meta,.athlete-card-foot,.chart-labels,.form-help,.detail-footnote,.library-card-foot,
.setting-input label,.mini-chart span,.data-table th,.footer-divider{color:var(--muted)}
.athlete-card-stats strong,.library-subheading h2{color:var(--text)}
.data-table tbody tr:hover{background:#f3f8ff}
.chart-area line{stroke:#d5dfeb}
.switch{background:#c7d1dd}.switch:before{background:#fff}.switch[aria-checked=true]{background:var(--blue)}
.integration-brand{background:#eaf3ff;color:#1665ad}.integration-brand.strava{background:#fff0e7;color:#be4b0d}.integration-brand.apple{color:#334155}
.setting-input input,.setting-input select,.setting-input textarea,.segment-editor input,.segment-editor select,
.builder-repeat-head input,.workout-builder-modal input,.workout-builder-modal select,.workout-builder-modal textarea{background:#fff;color:var(--text);border-color:#cdd8e5}
input::placeholder,textarea::placeholder{color:#718096}
.form-error,.danger-text{color:#b42318}.danger-text:hover{color:#871a13}
.login-panel .form-error{color:#b42318}
.choice-row:has(input:checked),.workout-choice.selected{background:#edf6ff;border-color:#77ade0}
.editor-summary,.selected-workout,.publication-summary,.plan-save-status,.calendar-edit-toolbar,.calendar-move-status,
.training-review,#trainingAssignForm #trainingConfirmRow{background:#f0f7ff;border-color:#c3dbf1;color:#234c72}
.modal-heading .icon-button{background:#f0f4f9}
body #modal,body #modal.workout-builder-modal{background:#fff;border-color:#d8e2ee;box-shadow:0 24px 80px #172b4a30}
body #modal::backdrop{background:#172b4a55;backdrop-filter:blur(3px)}
#toast{background:#152d49;color:#fff;box-shadow:0 8px 30px #1d35502b}
.button.danger,.delete-confirm{background:#b4232c;border-color:#b4232c;color:#fff}
.button.danger:hover,.delete-confirm:hover{background:#921b23;border-color:#921b23;color:#fff}
.calendar-delete{background:#fff5f5;color:#a5232c;border-color:#e9b9be}
.group-delete-warning,.calendar-move-status.move-error{background:#fff3f2;color:#9c2823;border-color:#e7bbb8}
.plan-conflict-warning{background:#fff8e8;border-color:#e5cb90;color:#805211!important}
.plan-preview-day .plan-warning{color:#805211}
.workout-folder summary{color:var(--text)}
.workout-folder summary>svg,.choice-icon svg,.choice-check svg{color:#096bc7}
.workout-folder summary>svg:last-child{color:#64748b}
.folder-count{background:#edf2f8;color:#52677f}
.workout-choice small,.selected-workout>span:not(.eyebrow),.selected-workout p{color:#52677f}
.workout-folders{scrollbar-color:#b7c7da transparent}
.selected-workout{border-left-color:var(--blue)}
.library-folder{background:linear-gradient(105deg,rgba(var(--folder-rgb),.08),#fff 65%);border-color:rgba(var(--folder-rgb),.38);border-left-color:var(--folder-accent)}
.library-folder summary .folder-emblem,.library-folder .folder-count{color:color-mix(in srgb,var(--folder-accent) 48%,#152132)}
.training-plan-section{background:#f8fbff;border-color:#dde7f2}
.training-plan-card{background:#fff;border-color:#dce6f1}
.training-plan-card.template{background:linear-gradient(125deg,#edf6ff,#fff 80%);border-color:#bfd9f2}
.training-plan-card h3,.plan-day strong,.plan-week summary,.plan-builder-week summary{color:var(--text)}
.training-plan-head p,.training-plan-card p,.plan-volume-graph small,.plan-day,.plan-goal-override{color:#5b6f85}
.plan-badge{background:#e6f2ff;color:#0865b6}
.plan-card-meta span{background:#f0f5fa;color:#435d76}
.plan-volume-graph{border-color:var(--line)}
.plan-volume-graph i{background:linear-gradient(#53adf5,#087be8)}
.plan-week summary span,.plan-preview-day summary strong,.training-plan-tag{color:#0865b6}
.plan-day,.plan-athlete-review{border-color:var(--line)}
.training-review p,.plan-athlete-review small,.plan-preview-day small{color:#49647f}
#trainingAssignForm .training-conflict-list{border-color:#d8e3ee}
#trainingAssignForm .modal-actions{background:#fff}
.profile-pace-table th,.profile-pace-table td{border-color:var(--line)}
.profile-pace-table thead th{background:#f4f7fb;color:#52667e}
.profile-pace-table tbody th{color:#2e435b}.profile-pace-table td{color:#0864b4}
.reference-time legend,.bulk-delete-row span,.card-select-state{color:#415e7c}
.workout-card.editable-card.marked{background:#e5f2ff;outline-color:var(--blue)}
.card-select-state svg{background:#e2f0ff;color:#0966bb;border-color:#84b4df}
.card-select-state i{border-color:#84a8ca}
.card-drag-handle{color:#5c738c}.card-move-saving{color:#0966bb}
.calendar-workout-preview{color:var(--text);background:#fffffff5;border-color:#ccdae9;box-shadow:0 14px 45px #162b4a26}
.preview-content h3,.preview-step strong{color:var(--text)}
.preview-kicker span:last-child,.preview-meta,.preview-athletes,.preview-step span,.preview-more,.preview-foot,.preview-section,.editor-duration-hint{color:#536b84}
.preview-kicker{color:color-mix(in srgb,var(--workout-color) 45%,#152132)}
.preview-note{color:#314c67}.preview-step{border-color:var(--line)}
.group-card{background:linear-gradient(130deg,color-mix(in srgb,var(--group-accent) 7%,#fff),#fff 80%);border-color:color-mix(in srgb,var(--group-accent) 28%,#e3e8ef);border-left-color:var(--group-accent)}
.group-card h2{color:var(--text)}
.group-card .group-goal{background:color-mix(in srgb,var(--group-accent) 12%,#fff);color:color-mix(in srgb,var(--group-accent) 45%,#152132)}
.group-detail-heading .eyebrow,.group-stats strong{color:color-mix(in srgb,var(--group-accent) 45%,#152132)}
.group-stats .panel{background:#fff;border-color:var(--line)}
.group-stats small,.group-athlete small,.group-session small,.group-session-date{color:#5c7088}
.athlete-heading{background:#f2f8ff;border-color:#d3e4f4}
.athlete-pending h1{color:var(--text)}.athlete-pending p,.athlete-day p,.athlete-workout small{color:#5d7189}
.athlete-pending .eyebrow{color:#13776c}.athlete-day h3{color:#395777}
.card-athletes[data-athlete-color],.assignment-athlete[data-athlete-color]{--athlete-text:#07578f}
.card-athletes[data-athlete-color=purple],.assignment-athlete[data-athlete-color=purple]{--athlete-text:#63418e}
.card-athletes[data-athlete-color=green],.assignment-athlete[data-athlete-color=green]{--athlete-text:#196348}
.card-athletes[data-athlete-color=orange],.assignment-athlete[data-athlete-color=orange]{--athlete-text:#824b1b}
.assignment-athletes-label,.detail-panel .pace-row>span{color:#435f7c}
.calendar-scope>summary{background:#fff;border-color:#ccd9e7;color:var(--text)}
.calendar-scope>summary svg{color:#4275a6}
.calendar-scope-menu{background:#fff;border-color:#cddbea;box-shadow:0 14px 35px #1e355026;scrollbar-color:#bacadd transparent}
.calendar-scope-search{background:#f5f8fc;border-color:#d7e2ed}
.calendar-scope-search svg{color:#5f7b97}.calendar-scope-search input{color:var(--text)}
.calendar-scope-search input::placeholder{color:#718198}
.scope-choice{color:#304962}.scope-choice:hover,.scope-choice:focus-visible{background:#eff6ff;outline-color:#94bfe8}
.scope-choice.active{background:#e3f1ff;color:#075eae}
.scope-choice>svg{color:#387ab7}.scope-choice small,.scope-empty{color:#657a91}
.scope-folder{border-color:var(--line)}.scope-folder>summary{color:#385774}
.scope-folder>summary svg{color:#176fbb}.scope-folder>summary span{color:#607890}
.distance-target-note{color:#5b738c}
.month-grid .month-week-volume,.month-grid .volume-head,.week-header-volume{background:#f1f7ff;border-color:#d6e4f3}
.month-week-volume span,.week-header-volume span,.month-grid .volume-head{color:#4e6b8b}
.month-week-volume strong,.week-header-volume strong{color:#152d49}
.month-week-volume small,.week-header-volume small{color:#7b5f31}
body .month-grid .workout-card .card-title{color:#1d354c}
.month-grid .workout-card .card-volume{color:#526d87}
.month-more{background:#eef6ff;color:#1764a6;border-color:#d2e3f4}
.month-more:hover,.month-more:focus-visible{background:#dfedfc;color:#124d84}
.calendar-resize::before{background:#dce5ef}
.calendar-resize::after{background:#f0f6fd;color:#4f7ba4;border-color:#c4d8eb}
.calendar-resize:hover::after,.calendar-resize:focus-visible::after,.calendar-resize.dragging::after{background:#e1efff;color:#075fba;border-color:#79afe0}
.workout-builder-modal .modal-heading{border-color:var(--line)}
.workout-builder-modal .modal-heading h2,.workout-builder-modal .form-section{color:var(--text)}
.workout-builder-modal .modal-heading .eyebrow{color:#0867bd}
.builder-hero,.builder-athlete-preview{background:#f3f8ff;border-color:#cddff1;box-shadow:none}
.builder-hero-icon,.builder-preview-icon{background:#e0efff;color:#0872d0}
.builder-hero strong,.builder-preview-head strong,.builder-quick-zones strong,.builder-pace strong{color:#173853}
.builder-hero p,.builder-preview-head small,.builder-athlete-preview>label,.builder-preview-reference,
.workout-builder-modal .setting-input label,.builder-repeat-head label,.builder-repeat-head small{color:#536e87}
.builder-quick-zones>div{background:#fff;border-color:#d5e2ef}
.builder-quick-zones span{color:#456b91}
.builder-block{box-shadow:0 1px 3px #18314c08}.builder-block:hover{border-color:#acc9e6}
.builder-block.builder-repeated{background:#f6faff;border-color:#bed6ed}
.builder-repeat-head{border-color:#d5e4f2;color:#2c5579}
.builder-role,.workout-builder-modal .segment-editor .editor-duration-hint{color:#526e89}
.builder-pace{background:#eef6ff;color:#476c90;border-color:#ccdfef}
.builder-pace svg{color:#1675c6}
.workout-builder-modal .modal-actions .button.primary{background:var(--blue);color:#fff;box-shadow:none}
.calendar-create-button{border-color:#b0d0ef;color:#0964b2}
.bike-result-totals span{background:#effbfc;color:#195a64;border-color:#b8e4e8}
/* Keep original Running/Bike hues on edges and icons; darken only small text. */
body .workout-card[data-workout-category],body .workout-card[data-workout-category].completed{background:rgba(var(--workout-rgb),.10);border-color:rgba(var(--workout-rgb),.42)}
body .workout-card[data-workout-category]:hover,body .workout-card[data-workout-category].selected{background:rgba(var(--workout-rgb),.18)}
body .workout-card[data-workout-category] .card-type,.library-card[data-workout-category] .tag{color:color-mix(in srgb,var(--workout-color) 45%,#152132)}
body .workout-card .card-title,body .workout-card.completed .card-title,body .workout-card.activity .card-title{color:#1d354c}
body .library-card[data-workout-category] .library-card-top{background:rgba(var(--workout-rgb),.10)}
body .library-card[data-workout-category] .big-icon svg{color:color-mix(in srgb,var(--workout-color) 65%,#152132)}
/* Content remains in its existing responsive layouts. Calendar scroll is local. */
.app,main,.topbar-left,.page-heading>div,.heading-actions,.settings-layout>*{min-width:0}
@media(max-width:1020px){.topbar{height:auto;min-height:73px;padding-block:12px;gap:12px;flex-wrap:wrap}.topbar-actions{gap:10px}}
@media(max-width:760px){
 .sidebar{box-shadow:12px 0 40px #172b4a26}.topbar{min-height:61px}.topbar-actions{margin-left:auto;gap:8px}.topbar-actions>.avatar{display:none}
 .page-heading{flex-direction:column}.heading-actions{flex-direction:row;justify-content:flex-start;width:100%;gap:8px}
 .heading-actions .button{font-size:11px;min-height:40px;flex:1 1 auto}
 .calendar-top,.calendar-bottom{min-width:0}.calendar-top{align-items:flex-start}.calendar-bottom{flex-wrap:wrap}
 .calendar-grid{overflow:visible}.detail-panel .detail-actions{flex-wrap:wrap}.calendar-scope{max-width:100%}
 .training-plan-grid{grid-template-columns:minmax(0,1fr)}.modal-actions{flex-wrap:wrap}
 .modal-actions .button{min-height:40px}.setting-input input,.setting-input select,.setting-input textarea{font-size:16px}
 .cloud-bar{align-items:center}
}
@media(max-width:420px){.athlete-grid{grid-template-columns:1fr}.two-cols{grid-template-columns:1fr}.topbar .header-logo{width:84px}.group-grid{grid-template-columns:minmax(0,1fr)}}
@media(pointer:coarse){.card-drag-handle{background:#edf4fc}.icon-button{min-width:36px;min-height:36px}}
.brand{max-width:100%}
.publication-card-state{color:#5c7188}
/* Complete the existing Bike palette variables for the shared light surfaces. */
[data-workout-category="bike"]{--workout-rgb:50,214,223;--workout-color:#32d6df}
.library-folder[data-workout-category="bike"]{--folder-accent:#32d6df;--folder-rgb:50,214,223}
