/* Light surfaces for the portal and bundled Neftçi application. */
:root {
  color-scheme: light;
  --ink: #f3f6f8;
  --ink-2: #eaf0f4;
  --panel: #ffffff;
  --panel-2: #edf3f6;
  --text: #182e3d;
  --muted: #526878;
  --muted-2: #627786;
  --lime: #087f75;
  --lime-soft: #e4f3ee;
  --cyan: #086b86;
  --orange: #ad4a22;
  --danger: #b42336;
  --line: #dce5eb;
  --line-strong: #bacbd5;
  --shadow: 0 16px 40px rgb(25 51 69 / 8%);
}

body, .app-shell { background: var(--ink); color: var(--text); }
.auth-screen, .login-panel {
  background: radial-gradient(ellipse at 10% 0, #dfeee9, transparent 65%), #f8fafb;
}
.auth-backdrop { opacity: .4; }
.auth-story > div:nth-child(2) > p, .auth-feature-row, .form-stack label,
.profile-person p, .note-item p, .training-archive-hero p,
.archive-scan-action small, .analytics-hero-copy p { color: var(--muted); }
.auth-feature-row b, .brand-target { border-color: var(--line-strong); }
.auth-backdrop::before, .profile-hero::before, .training-archive-hero::after,
.paper-flow-heading::after { border-color: #b8d9d0; }
.hero-grid-lines, .auth-backdrop::after {
  background-image: linear-gradient(rgb(24 46 61 / 3%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(24 46 61 / 3%) 1px, transparent 1px);
}

.side-bar, .mobile-topbar, .bottom-nav { background: #ffffff; border-color: var(--line); }
.nav-item { color: var(--muted); }
.nav-item:hover { background: #edf3f6; color: var(--text); }
.nav-item.active, .bottom-nav .nav-item.active { background: #e4f3ee; color: #08695f; }
.online-dot { background: #087f75; }
.account-chip, .account-menu, .mobile-back { background: #ffffff; }
.account-menu { box-shadow: var(--shadow); }
.account-menu button { color: var(--danger); }
.account-chip > span:first-child, .avatar-button, .profile-avatar,
.athlete-qr-avatar { background: #d9ece6; color: #155649; }

.card, .metric-card, .tool-card, .training-row, .competition-row,
.training-card, .competition-card, .paper-setup, .paper-editor,
.athlete-review, .scanner-card, .diary-entry { background: #ffffff; border-color: var(--line); }
.training-card:hover, .training-row:hover, .competition-row:hover,
.competition-row.has-target:hover, .tool-card:hover { background: #f6faf9; border-color: #81b7a8; }
.profile-hero, .training-archive-hero, .analytics-hero, .training-detail-hero,
.competition-target-head, .paper-flow-heading, .training-workload {
  background: linear-gradient(120deg, #e4f2ec, #eef4fa 75%);
  border-color: #cfdfdf;
}
.training-summary-grid > div, .training-workload-numbers > span,
.review-measures > div, .review-tips section { background: #f7fafb; border-color: var(--line); }
.training-filter-bar, .analytics-insight, .candidate, .target-spec,
.grouping-stats span, .training-shot-panel, .competition-shot-panel,
.competition-target-stats > div, .athlete-qr-person, .training-zoom-toolbar,
.training-heart-rate, .heart-rate-summary span, .heart-rate-chart,
.shot-heart-trace, .shot-position-toolbar, .shot-nudge-panel { background: #f4f8fa; }
.training-summary-grid span, .training-summary-grid small,
.training-card-main > small, .training-card-tags i.source, .training-target-note,
.training-card-arrow, .analytics-hero-score > span, .analytics-hero-best > span,
.training-detail-tags span, .training-detail-score span, .training-detail-score small,
.athlete-qr-meta span, .shot-position-toolbar > span, .shot-nudge-pad > b,
.training-workload-numbers > i, .training-workload-form label,
.workload-day time, .shot-heart-trace p, .shot-heart-trace > div > small,
.scan-stepper span.complete { color: var(--muted); }
.training-workload-numbers > span b { color: var(--text); }
.training-card-tags i.source { background: #edf2f5; }
.quick-action > span, .admin-user > span, .shot-chip > b:first-child,
.competition-shot-number { background: #edf3f6; color: var(--text); }
.training-score::after { background: #ffffff; }
.gap-bar, .workload-bar, .qr-transfer-meter, .qr-part-dots i { background: #e1e9ee; }
.review-series-row i { background: #e1e9ee; }
.review-distribution-row i {
  background: linear-gradient(to right, var(--lime) var(--share), #e1e9ee var(--share));
}

select, input, textarea, .input-shell, .search-shell {
  background: #ffffff; border-color: var(--line-strong); color: var(--text);
}
.input-shell input { background: transparent; }
input::placeholder, textarea::placeholder { color: #627786; opacity: 1; }
.paper-setup select, .paper-setup input, .training-rating-fields select {
  background: #ffffff; color: var(--text); border-color: var(--line-strong);
}
.primary-button, .capture-button, .editor-footer .button.next-target {
  background: #087f75; border-color: #087f75; color: #ffffff;
}
.primary-button:hover, .capture-button:hover { background: #066a61; color: #ffffff; }
.soft-button, .tool-toggle, .user-edit-button, .paper-config-toggle,
.paper-session-summary > button, .paper-zoom-toolbar button,
.training-zoom-toolbar button, .shot-position-toolbar button, .shot-nudge-pad button,
.range-tabs button, .competition-stage-button, .competition-series-button {
  background: #f1f5f7; border-color: var(--line-strong); color: var(--text);
}
.soft-button:hover { background: #e6eef2; border-color: #91aab9; }
.tool-toggle.active, .range-tabs button.active, .competition-series-button.active,
.clock-face button.active, .clock-face button:hover {
  background: #087f75; border-color: #087f75; color: #ffffff;
}
.back-button { color: var(--muted); }
.step-chip { color: var(--muted); }
.step-chip b, .scan-stepper span.active b, .archive-scan-action > span { color: #ffffff; }
.scan-stepper span b { background: #e4ebf0; color: var(--muted); }
.scan-stepper span.active b { background: #087f75; }
.capture-button span, .scan-capture-panel .capture-button span {
  background: transparent; border-color: #71afa4; color: #ffffff;
}
.capture-button span small, .capture-button span i { color: #e4f3ee; }
.scan-capture-panel .capture-button span > b { background: #ffffff; color: #087f75; }
.scan-config-panel, .scan-capture-panel { background: #f7fafb; border-color: var(--line); }
.scan-capture-panel { background: #edf6f2; }
.scan-config-panel .target-spec, .scan-capture-panel .scan-quality,
.scan-quality, .calibration-panel, .calibration-row { background: #edf3f6; }
.paper-canvas-wrap, .paper-canvas-wrap:has(canvas.interactive) { background: #e7edf1; }
.canvas-empty span, .canvas-empty b { color: var(--muted); }
.editor-toolbar, .editor-footer, .paper-zoom-toolbar, .dialog-actions {
  background: #f7fafb; border-color: var(--line);
}
#paperPage.has-scan-image .editor-footer { background: #f7fafb; }
.shot-chip { background: #f3f7f9; color: var(--text); }
.shot-chip.selected { border-color: #087f75; background: #e4f3ee; }
.paper-confirmed-banner, .paper-session-summary { background: #e9f5ef; border-color: #9bc8b5; }
.paper-confirmed-banner > span { background: #087f75; color: #ffffff; }
.paper-confirmed-banner small { color: var(--muted); }
.scan-confirmed .paper-canvas-wrap::after,
.scan-canvas-badge, .paper-precision-hint, .shot-magnifier > span, .shot-edit-hint {
  background: #ffffff; color: #08695f; border-color: #9bc8b5;
}
.paper-precision-hint small, .guest-import-note span { color: var(--muted); }
.shot-edit-mode, .shot-edit-pane, .shot-edit-actions { background: #f4f8fa; }
.shot-edit-mode button.active, .clock-face .clock-center { background: #dceee8; }
.shot-score-field > span, .shot-edit-pane label, .clock-face button { color: var(--muted); }
.clock-face { background: #ffffff; border-color: var(--line-strong); }

.connection-pill { background: #e9f4f0; color: #08695f; border-color: #b0cfc1; }
.connection-pill[data-mode=pending] { background: #fff5de; color: #815600; }
.offline-center { background: linear-gradient(120deg, #e6f4ee, #f8fbfc); border-color: #b0cfc1; }
.offline-symbol { background: #d5ece4; }
.draft-banner, .import-warning { background: #fff7e5; border-color: #d8bb78; color: #815600; }
.import-warning span { color: #725419; }
.training-diary-section { background: #f0f7f4; border-color: #b0cfc1; }
.diary-entry.pending { border-color: #bd8d31; }
.diary-ratings i { background: linear-gradient(to right, var(--cyan) var(--rating), #dce5eb var(--rating)); }
.inline-error, .danger-button { background: #fff0f1; color: var(--danger); border-color: #e8b4bb; }
.danger-button.armed { background: #b42336; color: #ffffff; border-color: #b42336; }
.tool-toggle.danger-text, .athlete-qr-error { color: var(--danger); }
.link-status.linked, .admin-user-identity em, .review-completion b.complete,
.analytics-hero-score > small.positive, .heart-rate-state.valid { color: #08695f; }
.link-status.unlinked, .admin-user-identity em.needs-link,
.review-completion b.incomplete, .analytics-hero-score > small.negative,
.heart-rate-state.warning, .shot-heart-trace p b { color: #98501d; }
.shot-heart-rate { color: var(--muted) !important; }
.shot-heart-rate.valid { color: #08695f !important; }
.shot-heart-rate.warning { color: #98501d !important; }
.shot-heart-rate.missing { color: var(--muted-2) !important; }
.shot-heart-trace summary, .training-import-lock > i { color: var(--cyan); }
.training-import-lock b { color: var(--text); }
.analytics-insight.positive > span { background: #e4f3ee; color: #08695f; }
.analytics-insight.warning > span { background: #fff2e7; color: #98501d; }
.analytics-insight > span { background: #e7eef2; color: var(--muted); }

.detail-dialog, .shot-edit-dialog { background: #ffffff; color: var(--text); }
.detail-dialog::backdrop { background: rgb(24 46 61 / 40%); }
#trainingDialog .dialog-toolbar { background: #f4f8fa; }
#closeTrainingDialog, .competition-target-dialog > .dialog-close,
.detail-dialog:has(#trainingDetail) > .dialog-close {
  background: #eaf0f4; border-color: var(--line-strong); color: var(--text);
}
.scatt-review { background: #f4f8fa; color: var(--text); }
.scatt-target-focused .scatt-review-heading { background: #ffffff; }
.scatt-review-navigation button, .scatt-review-navigation select,
.scatt-review-controls button, .scatt-review-controls select,
.scatt-review-window button { background: #ffffff; color: var(--text); border-color: var(--line-strong); }
.scatt-review-navigation [data-selection], .scatt-review [data-calibration],
.scatt-review [data-definitions], .scatt-review-metrics span { color: var(--muted); }
.scatt-review-scope button[aria-pressed=true], .scatt-review-window button[aria-pressed=true] {
  background: #087f75; color: #ffffff; border-color: #087f75;
}
.toast { background: #ffffff; color: var(--text); border-color: var(--line-strong); box-shadow: var(--shadow); }
.toast.error { background: #fff0f1; color: var(--danger); border-color: #e8b4bb; }
.toast.success { background: #e9f5ef; color: #08695f; border-color: #9bc8b5; }
.loading-layer { background: rgb(243 246 248 / 85%); }
.loading-layer span { border-color: #cbdcd8; border-top-color: #087f75; }
.loading-layer b { color: var(--text); }

@media (max-width: 820px) {
  .mobile-topbar, .bottom-nav { background: rgb(255 255 255 / 97%); }
  .login-panel { background: linear-gradient(160deg, #e6f2ed 0, #f8fafb 38%); }
}
