/* Bildschirm-Grundkomponenten. Druck- und Oberrohrformate werden nicht ueberschrieben. */
@media screen{
  body{font-family:var(--ui-font-sans);font-size:var(--ui-font-body)}
  .uiCard{border:1px solid var(--ui-border);border-radius:var(--ui-radius-card);background:var(--ui-surface);box-shadow:var(--ui-shadow-card)}
  .uiField{display:grid;gap:var(--ui-space-2);min-width:0}.uiField>label{color:var(--ui-text);font-size:var(--ui-font-label);font-weight:800}
  .uiHelper{color:var(--ui-text-muted);font-size:var(--ui-font-helper);line-height:var(--ui-leading-body)}
  .uiButton{display:inline-flex;align-items:center;justify-content:center;min-height:var(--ui-control-min);padding:10px 14px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-control);background:var(--ui-surface);color:var(--ui-text);font-size:var(--ui-font-action);font-weight:850;text-decoration:none;cursor:pointer}
  .uiNotice{padding:12px 14px;border:1px solid var(--ui-status-info-border);border-radius:var(--ui-radius-control);background:var(--ui-status-info-bg);color:var(--ui-status-info-text);font-size:var(--ui-font-helper);line-height:var(--ui-leading-body)}
  .uiNotice--success{border-color:var(--ui-status-success-border);background:var(--ui-status-success-bg);color:var(--ui-status-success-text)}.uiNotice--warning{border-color:var(--ui-status-warning-border);background:var(--ui-status-warning-bg);color:var(--ui-status-warning-text)}.uiNotice--error{border-color:var(--ui-status-error-border);background:var(--ui-status-error-bg);color:var(--ui-status-error-text)}
  .uiStatus{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border:1px solid var(--ui-status-neutral-border);border-radius:999px;background:var(--ui-status-neutral-bg);color:var(--ui-status-neutral-text);font-size:var(--ui-font-meta);font-weight:850;line-height:1.15}
  .uiStatus--info{border-color:var(--ui-status-info-border);background:var(--ui-status-info-bg);color:var(--ui-status-info-text)}.uiStatus--success{border-color:var(--ui-status-success-border);background:var(--ui-status-success-bg);color:var(--ui-status-success-text)}.uiStatus--warning{border-color:var(--ui-status-warning-border);background:var(--ui-status-warning-bg);color:var(--ui-status-warning-text)}.uiStatus--error{border-color:var(--ui-status-error-border);background:var(--ui-status-error-bg);color:var(--ui-status-error-text)}

  :where(button,select,textarea,input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),summary){min-height:var(--ui-control-min)}
  :where(button,select,textarea,input:not([type="checkbox"]):not([type="radio"]):not([type="file"])){font-size:var(--ui-font-action)!important}
  :where(.segment label,.segment span,.product,.checkOption,.checkField){min-height:var(--ui-control-min)}
  :where(.appPrimaryLink,.appToolMenu>summary,.appToolLink,.appMobileLink,.btn,.calculate,.saveButton,.printButton,.cancelButton,.roundButton,.languageToggle,.themeToggle,.advancedToggle,.detailToggle,.importButton,.nextAction,.planCard>a,.supportTools a,.raceLinks a,.raceActions button,.handoff,.handoff a,.handoffActions a,.sourceLinks a,.sources a,.heroPanel,.secondary,.jumpLink,.howLink,.legalBack,.flowItem){min-height:var(--ui-control-min)!important}

  :where(label,legend){font-size:var(--ui-font-label)!important}
  small{font-size:var(--ui-font-helper)!important;line-height:var(--ui-leading-compact)}
  :where(.eyebrow,.hint,.fieldHint,.fine,.disclaimer,.resultDate,.cardHead p,.field small,.details>p,.details summary,.unitInput span,.introChips span,.chips span,.metric span,.resultMetric span,.estimateHead p,.resultNote,.modeNotice,.cutoffNotice,.officialNotice,.warningPanel,.formError,.saveStatus,.dataStatus,.status,.statusPill,.eventChips span,.progressCopy span,.progressCopy small,.progressRing small,.nextAction small,.nextAction b,.planCard header small,.summary p,.summary dt,.summary dd,.planCard>a,.supportTools a,.guidePanel small,.notesPanel small,.guidePanel a,.notesPanel p,.dataTools>div:first-child>p:not(.eyebrow),footer,.seasonStats span,.alertItem b,.alertItem span,.dateTile span,.raceMeta span,.raceMain>p,.raceLinks a,.emptyFilter,.priorityHint b,.priorityHint span,.checkField b,.checkField small,.raceMain .raceNote,.racePlanningHead b,.racePlanningHead strong,.morningHero span,.timelineCopy span,.dayBadge,.officialBadge,.resultGrid span,.rate span,.interpretation,.calculation summary,.calculation ol,.handoffNote,.handoff p,.method li i,.method li span,.safety p,.finishHero span,.splitCard span,.splitCard small,.sectionHead p,.railSegment span,.railSegment b,table,th,.checkpointDiscipline,.handoff b,.handoff span,.handoff a,.sources p:not(.eyebrow),.sources a,.sectionTitle>span,.sectionTitle p,.checkOption b,.setupNote,.empty span,.checkGroupHead b,.checkGroupHead small,.groupCount,.checkItem b,.checkItem small,.checkItem.optional b::after,.customSection>div:first-child b,.customSection>div:first-child span,.customItem,.raceGuide b,.raceGuide p,.evidence p:not(.eyebrow),.toolGroupLabel span,.toolGroupLabel b,.projectSnapshot header span,.projectSnapshot header p,.projectStep i,.projectStep b,.projectStep span,.signal,.heroPanel i,.heroPanel li span,.toolCard>p,.toolCard ul,.path i,.path span,.step li,.flowItem small,.logicRow b,.roundButton.theme b,.privacyBadge b,.appToolMenu>summary::after,.appToolLink,.appRaceContext span,.appRaceContext b,.appMobileLink,.appMobileRaceDetail,.heroPoints span,.setupStepHead>span,.timelineScale,.timelineScale>span,.courseEndpoint,.courseEndpoint small,.courseMarker em,.timelineMode,.courseEvent b,.courseEvent span,.wizardSummary,.wizardEditing .setupStepHead::after,.wizardMessage,.wizardEyebrow,.wizardPreview li,.wizardPreviewNote,.raceBriefing p,.raceBriefing>span,.productStrategy small,.productStrategy>span,.resultCard>.cardHead h2::after,.calculationPanel summary span::before,.calculationIntro,.calculationGrid h4,.calcLines,.simpleDefaults,.planRecovery p,.planRecovery span,.planRecoveryActions button,.heroNav .howLink,.sweatHandoffInfo){font-size:var(--ui-font-meta)!important}
  .section h3{font-size:var(--ui-font-helper)!important}

  .formError{border-color:var(--ui-status-error-border)!important;background:var(--ui-status-error-bg)!important;color:var(--ui-status-error-text)!important}
  .officialNotice,.modeNotice{border-color:var(--ui-status-info-border)!important;background:var(--ui-status-info-bg)!important;color:var(--ui-status-info-text)!important}
  .warningPanel,.seasonAlerts,.legalNotice{border-color:var(--ui-status-warning-border)!important;background:var(--ui-status-warning-bg)!important;color:var(--ui-status-warning-text)!important}
  .status,.statusPill,.projectStep i,.projectStep span{border-color:var(--ui-status-neutral-border);background:var(--ui-status-neutral-bg);color:var(--ui-status-neutral-text)}
  .status--new,.planCard.complete .statusPill,.projectStep.complete i,.projectStep.complete span{border-color:var(--ui-status-success-border);background:var(--ui-status-success-bg);color:var(--ui-status-success-text)}
  .planCard.inProgress .statusPill,.projectStep.inProgress i,.projectStep.inProgress span{border-color:var(--ui-status-info-border);background:var(--ui-status-info-bg);color:var(--ui-status-info-text)}
  .planCard.needsAttention .statusPill,.projectStep.attention i,.projectStep.attention span{border-color:var(--ui-status-warning-border);background:var(--ui-status-warning-bg);color:var(--ui-status-warning-text)}
  .status--ready,.projectStep.ready i,.projectStep.ready span{border-color:var(--ui-status-success-border);background:var(--ui-status-success-bg);color:var(--ui-status-success-text)}
  .status--needs_input,.projectStep.needs_input i,.projectStep.needs_input span{border-color:var(--ui-status-info-border);background:var(--ui-status-info-bg);color:var(--ui-status-info-text)}
  .status--needs_review,.projectStep.needs_review i,.projectStep.needs_review span{border-color:var(--ui-status-warning-border);background:var(--ui-status-warning-bg);color:var(--ui-status-warning-text)}
}
@media screen and (prefers-reduced-motion:reduce){.uiButton{transition-duration:.01ms!important}}
/* Gemeinsame, feldnahe Validierung und kompakte Berechnungszustände – nur Bildschirm. */
@media screen{.fieldError{display:block;margin:6px 0 0;color:var(--ui-error-text,#a12820);font-size:12px;font-weight:750;line-height:1.35}.hasFieldError input,.hasFieldError select,.hasFieldError textarea,[aria-invalid="true"]{border-color:var(--ui-error,#d6453d)!important;box-shadow:0 0 0 3px rgba(214,69,61,.12)!important}.calculationStatus{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;margin:0 0 12px;padding:7px 10px;border:1px solid var(--ui-success-border,#b7dfc3);border-radius:999px;background:var(--ui-success-bg,#eef9f1);color:var(--ui-success-text,#1c6b37);font-size:12px;font-weight:850}.calculationStatus::before{content:"✓"}.calculationStatus.isCheck{border-color:var(--ui-warning-border,#e8bf78);background:var(--ui-warning-bg,#fff7e8);color:var(--ui-warning-text,#82500e)}.calculationStatus.isCheck::before{content:"!"}.handoffActions .primaryAction{background:var(--ui-action,#111d31)!important;color:#fff!important;box-shadow:0 8px 18px rgba(17,29,49,.14)}.handoffActions .secondaryAction{background:transparent!important;color:inherit!important;border:1px solid currentColor!important}}
