/* BeFighter.cz identity, adapted for a working coaching application.
   Website assets are served locally; functional status colors remain distinct. */
@font-face {
  font-family: Noway;
  src: url("../fonts/noway-regular.f9fbb43af88b.woff2") format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Noway;
  src: url("../fonts/noway-medium.26a5a4f903ce.woff2") format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Noway;
  src: url("../fonts/noway-bold.10f56a16e477.woff2") format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
:root {
  --brand: #1860c3;
  --brand-deep: #124c9c;
  --brand-wash: #edf3fc;
  --navy: #020a13;
  --navy-soft: #18232f;
  --paper: #f4f4f4;
  --ink: #020a13;
  --muted: #4e545a;
  --line: #dedfe2;
  --orange: #1860c3;
  --orange-hover: #124c9c;
  --green: #23724f;
  --blue: #6b5ab5;
  --radius: 20px;
  --shadow: 0 3px 18px rgb(2 10 19 / 3%);
}
body { font-family: Noway, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
h1, h2, h3, h4 { font-weight: 700; letter-spacing: -.35px; }
.page-heading h1 { text-transform: uppercase; letter-spacing: -.6px; }
.eyebrow { color: var(--brand); font-weight: 700; letter-spacing: 1px; }
.brand-identity { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; max-width: 100%; }
.brand-logo { display: block; width: 100%; height: auto; }
.brand-product { font-size: 10px; font-weight: 500; letter-spacing: 4px; line-height: 1; }
.sidebar .brand-identity { width: 190px; }
.sidebar .brand-logo, .auth-intro .brand-logo { filter: brightness(0) invert(1); }
.sidebar {
  background-color: var(--brand);
  background-image: linear-gradient(rgb(255 255 255 / 3%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 3%) 1px, transparent 1px);
  background-size: 48px 48px;
  color: #fff;
}
.sidebar-caption { color: #fff; opacity: .85; margin-top: 35px; }
.nav-item { color: #fff; border-radius: 999px; font-weight: 500; }
.nav-item:hover { background: rgb(0 0 0 / 12%); }
.nav-item.is-active { background: #fff; color: var(--ink); box-shadow: 0 3px 12px rgb(2 10 19 / 9%); }
.nav-item.is-active svg { color: var(--brand); }
.sidebar-note, .sidebar-note strong, .sidebar-user div>span, .account-actions { color: #fff; }
.sidebar-user { border-color: rgb(255 255 255 / 25%); }
.user-avatar { background: var(--navy); }
.live-dot { background: #fff; }
.account-actions a:hover, .account-actions button:hover { text-decoration: underline; }
.sidebar a:focus-visible, .sidebar button:focus-visible { outline-color: #fff; }
.topbar { background: #fff; }
.topbar-label { color: var(--muted); letter-spacing: 1px; }
.topbar-tools .notification-shortcut, .mobile-account summary { color: var(--ink); }
.notification-shortcut:hover { background: var(--brand-wash); }
.app-footer, .mobile-account>div>strong, .mobile-account a, .mobile-account button { color: var(--muted); }
.footer-credit { display: inline-flex; align-items: center; gap: .55em; font-size: inherit; white-space: nowrap; }
.footer-credit a { color: inherit; font-weight: 500; border-bottom: 1px solid var(--line); transition: color .15s, border-color .15s; }
.footer-credit a:hover { color: var(--brand); border-color: var(--brand); }
.button { border-radius: 999px; font-weight: 500; letter-spacing: .45px; text-transform: uppercase; }
.button-primary { background: var(--navy); color: #fff; }
.button-primary:hover { background: var(--brand); box-shadow: 0 3px 12px rgb(24 96 195 / 15%); }
.button-secondary { border-color: var(--line); color: var(--ink); background: #fff; }
.button-secondary:hover, .button-quiet:hover { background: var(--brand-wash); color: var(--brand-deep); }
.text-link, .profile-invite button, .engagement-panel-links { color: var(--brand-deep); }
.card, .stat-card { border-color: var(--line); }
.stat-card:hover { border-color: #a8bfdf; box-shadow: var(--shadow); }
.stat-card>strong { color: var(--brand); font-weight: 700; }
.card-actions, .form-actions { border-color: var(--line); }
.profile-strip, .segmented-control, .chart-empty, .audit-diff,
.library-item, .builder-question, .performance-definition-field,
.summary-metric, .chat-composer, .slot-card, .chat-day,
.task-completed, .projection-note, .progress-status { background: #f4f4f4; border-color: var(--line); }
.client-avatar, .avatar-large, .builder-question-number, .export-card-icon { color: var(--brand); background: var(--brand-wash); }
.practice-tabs a { color: var(--muted); border-color: var(--line); border-radius: 999px; }
.practice-tabs a:hover { background: var(--brand-wash); color: var(--brand-deep); }
.practice-tabs a.is-active { color: #fff; background: var(--navy); border-color: var(--navy); }
.subtle-icon { color: var(--brand); }
.client-identity span span, .table-subline, .cycle-selector>label,
.goal-values strong small, .engagement-summary-item>strong small,
.internal-caption, .profile-identity div>span, .metric-values strong,
.pace-comparison, .interval-list dd, .preview-section>p { color: var(--muted); }
.pill-blue { background: var(--brand-wash); color: var(--brand-deep); }
.pill-orange { background: #fff5e5; color: #775011; }
.pill-green { background: #edf6f1; color: #235b40; }
.builder-preview { background: var(--paper); }
.preview-phone-brand { color: var(--brand); }
.segmented-control button { color: var(--muted); }
.segmented-control button.is-selected { color: var(--brand); }
.chart-gridline { stroke: #e0e2e5; }
.chart-axis-label { fill: #5c626a; }
.chart-planned { stroke: #697480; }
.profile-meta>span, .client-cell small, .data-table th,
.stat-detail, .metric-percentage>small, .metric-values, .metric-extra,
.fine-print, .chart-legend, .chart-summary, .chart-panel h3>span,
.help-text, .form-footnote, .form-field>label, .input-label,
.status-reasons, .metric-cell small, .question-help, .scale-endpoints,
.mobile-engagement-values, .pending-forms small, .daily-progress>p,
.daily-progress small, .daily-check-number, .score-days time,
.builder-grid>label, .builder-condition>label, .builder-question-heading>strong,
.builder-condition, .builder-condition>summary, .builder-tools>button,
.library-item>p, .weekly-history, .weekly-history strong,
.task-success-counts, .message-history article>p, .message-history footer,
.task-complete-form>label, .intervention-list time, .intervention-list footer>p,
.notification time, .push-preferences [data-push-status],
.home-weight-value small, .home-weight-value>span, .home-weight-coverage>p,
.practice-link-card small, .practice-link-card>span:last-child,
.calendar-day-heading span, .slot-time small, .slot-content p,
.appointment-date p, .appointment-date-icon>span, .appointment-details dt,
.measurement-plan small, .practice-empty p, .chat-client-link p, .chat-header p,
.chat-day, .chat-message-author, .chat-meta, .chat-attach,
.chat-photo-preview, .chat-photo-help, .summary-period, .summary-metric span,
.summary-metric small, .summary-list>li, .summary-list strong, .summary-list small,
.consultation-note-header, .consultation-note p, .performance-next,
.performance-result strong small, .performance-result>span,
.performance-fields, .performance-fields strong, .performance-definition-field label,
.export-card p, .data-request-row p, .practice-definition-builder>p,
.practice-text-block, .practice-summary-facts dt, .practice-summary-facts dd,
.practice-empty-inline, .audit-timeline p>span, .audit-timeline time,
.nutrition-summary>div>span, .nutrition-summary strong small,
.nutrition-regime, .meal-number, .measurement-note, .nutrition-history time,
.cycle-history small, .mobile-client-footer, .mobile-client-footer strong,
.response-values dd>span { color: var(--muted); }
.form-field input:not([type=checkbox]):not([type=radio]), input[type=search],
.copy-input input, select, textarea, .builder-grid label>input:not([type=checkbox]),
.builder-grid label>select, .builder-grid label>textarea,
.performance-definition-field input:not([type=checkbox]) {
  background: #fff; color: var(--ink); border-color: #cbd0d6; border-radius: 6px;
}
input::placeholder, textarea::placeholder { color: #656b73; }
.form-field input:focus, select:focus, textarea:focus {
  border-color: var(--brand); box-shadow: 0 0 0 3px rgb(24 96 195 / 12%);
}
.question-field input[type=checkbox], .form-field>div input[type=checkbox],
.builder-check>input { accent-color: var(--brand); }
.daily-check { background: #fff; border-color: var(--line); }
.daily-check.is-checked, .daily-check:has(input:checked) { background: var(--brand-wash); border-color: #b2c8e8; }
.daily-check.is-checked .daily-check-tick, .daily-check:has(input:checked) .daily-check-tick { background: var(--brand); border-color: var(--brand); }
.daily-check-tick { border-color: #b4bbc4; }
.score-days>div { background: var(--brand-wash); }
.score-days strong, .summary-period strong, .measurement-plan time { color: var(--brand-deep); }
.builder-tools>button:hover, .chat-client-link:hover, .chat-client-link.is-active { background: var(--brand-wash); }
.practice-link-card:hover { border-color: var(--brand); }
.appointment-date { background: var(--brand-wash); }
.appointment-date-icon { border-color: #b7cbea; }
.slot-booked { background: #edf6f1; border-color: #c5decf; }
.slot-pending { background: #fff5e5; border-color: #ead7b5; }
.chat-bubble { background: #f1f2f4; color: var(--ink); }
.chat-message.is-own .chat-bubble { background: var(--brand); color: #fff; }
.chat-photo-preview button { background: #fff; color: var(--ink); border-color: var(--line); }
.notice-soft { background: var(--brand-wash); border-color: #c7d8ef; color: var(--brand-deep); }
.notice p { color: var(--muted); }
.message { background: #edf6f1; border-color: #c5decf; color: #235b40; }
.message-error, .form-errors { background: #fff0ee; border-color: #efc3bb; color: #9b3223; }
.field-errors, .chat-photo-error, .practice-danger { color: #9b3223; }
.message-warning, .summary-alert, .appointment-rule { background: #fff5e5; color: #775011; border-color: #ead7b5; }
.coaching-status { background: #edf6f1; color: #235b40; }
.coaching-status-red { background: #fff0ee; color: #9b3223; }
.coaching-status-orange { background: #fff5e5; color: #775011; }
.coaching-status-none { background: #f1f2f4; color: var(--muted); }
.status-red { color: #9b3223; }
.status-orange { color: #775011; }
.status-green { color: #235b40; }
.status-none { color: var(--muted); }
.practice-danger-card { background: #fff7f5; border-color: #efc3bb; }
.practice-danger-card p { color: #734e47; }
.auth-body { background: #fff; }
.auth-intro {
  background-color: var(--brand);
  background-image: linear-gradient(rgb(255 255 255 / 5%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 5%) 1px, transparent 1px);
  background-size: 60px 60px;
}
.auth-intro .brand-identity { width: 240px; gap: 14px; }
.auth-statement .eyebrow, .auth-statement p, .auth-bottom { color: #fff; }
.auth-statement h1 { text-transform: uppercase; font-weight: 700; letter-spacing: -.7px; }
.auth-statement h1 em { color: #fff; }
.auth-statement p { font-size: 16px; line-height: 1.6; max-width: 365px; }
.auth-decoration { display: flex; opacity: .1; pointer-events: none; z-index: 0; }
.auth-decoration span { background: #fff; }
.auth-card h2 { font-weight: 700; text-transform: uppercase; }
.auth-help { color: var(--muted); }
.brand-dark .brand-identity { width: 240px; align-items: center; }
.brand-dark .brand-product { color: var(--brand); }
.client-bottom-nav { border-color: var(--line); }
.client-bottom-nav>a { color: var(--muted); }
.client-bottom-nav>a.is-active { color: var(--brand-deep); background: var(--brand-wash); }
@media (max-width: 1024px) {
  .sidebar .brand-identity { width: 155px; }
}
@media (max-width: 760px) {
  .sidebar .brand-identity { width: 112px; gap: 6px; }
  .sidebar .brand-product { font-size: 8px; letter-spacing: 2.5px; }
  .sidebar { gap: 12px; }
  .sidebar .nav-item { border-radius: 999px; }
  .auth-intro .brand-identity { width: 190px; gap: 9px; }
  .auth-statement { padding-top: 34px; }
  .auth-statement p { font-size: 14px; }
  .auth-statement h1 { font-size: 38px; }
  .brand-dark .brand-identity { width: 215px; }
}
@media print {
  .stat-card>strong { color: #000; }
}
