:root {
  --concordiavitae-accent: var(--uk-global-primary-background, #1e87f0);
  --concordiavitae-radius: 12px;
  --concordiavitae-option-border: rgba(0, 0, 0, 0.14);
}

.concordiavitae-ai-feedback {
    padding: clamp(1.25rem, 3vw, 2.5rem);
    border: 1px solid #d9e5ee;
    border-radius: 18px;
    background: linear-gradient(145deg, #f8fbfd 0%, #eef7f4 100%);
    box-shadow: 0 14px 35px rgba(25, 74, 104, .08);
}

.concordiavitae-ai-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.concordiavitae-ai-badge {
    flex: 0 0 auto;
    padding: .35rem .7rem;
    border-radius: 999px;
    color: #155b47;
    background: #dff3ea;
    font-size: .82rem;
    font-weight: 700;
}

.concordiavitae-ai-intro {
    max-width: 900px;
    margin: 1.5rem 0;
}

.concordiavitae-ai-columns,
.concordiavitae-ai-points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.concordiavitae-ai-card,
.concordiavitae-ai-points article,
.concordiavitae-ai-request {
    padding: 1.25rem;
    border: 1px solid #dfe7ec;
    border-radius: 14px;
    background: #fff;
}

.concordiavitae-ai-card.is-strength {
    border-top: 4px solid #2d9d68;
}

.concordiavitae-ai-card.is-step {
    border-top: 4px solid #24779c;
}

.concordiavitae-ai-card h3,
.concordiavitae-ai-points h4 {
    margin-top: 0;
}

.concordiavitae-ai-card li + li,
.concordiavitae-ai-points article p + p {
    margin-top: .65rem;
}

.concordiavitae-ai-points {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.concordiavitae-ai-question {
    padding-top: .75rem;
    border-top: 1px solid #e5ebef;
    color: #1c5877;
}

.concordiavitae-ai-support,
.concordiavitae-ai-safety {
    margin: 1.25rem 0 0;
    padding: 1rem 1.15rem;
    border-radius: 10px;
}

.concordiavitae-ai-support {
    background: #edf5fa;
}

.concordiavitae-ai-safety {
    border-left: 4px solid #d98a2b;
    background: #fff6e8;
}

.concordiavitae-ai-meta {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid #d5e0e7;
}

.concordiavitae-ai-meta summary {
    cursor: pointer;
    font-weight: 700;
}

.concordiavitae-ai-consent {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    margin: 1rem 0;
    line-height: 1.5;
}

.concordiavitae-ai-consent input {
    flex: 0 0 auto;
    margin-top: .25rem;
}

@media (max-width: 959px) {
    .concordiavitae-ai-points {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 639px) {
    .concordiavitae-ai-heading,
    .concordiavitae-ai-columns {
        display: grid;
        grid-template-columns: 1fr;
    }

    .concordiavitae-ai-badge {
        justify-self: start;
    }
}

.concordiavitae-task {
  border-radius: var(--concordiavitae-radius);
}

.concordiavitae-hero {
  max-width: 52rem;
}

.concordiavitae-hero h1 {
  margin-bottom: 0.25rem;
}

.concordiavitae-hero .uk-text-lead {
  color: var(--concordiavitae-accent);
  margin-top: 0;
}

.concordiavitae-intro-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.concordiavitae-intro-grid article {
  background: #f8fafc;
  border: 1px solid #e4e7ec;
  border-radius: var(--concordiavitae-radius);
  padding: 1.25rem;
}

.concordiavitae-intro-grid h2 {
  font-size: 1.2rem;
  margin: 0.8rem 0 0.5rem;
}

.concordiavitae-intro-number {
  align-items: center;
  background: var(--concordiavitae-accent);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-weight: 700;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}

.concordiavitae-safety-note,
.concordiavitae-help-box,
.concordiavitae-scale-guide,
.concordiavitae-encouragement {
  border-radius: var(--concordiavitae-radius);
  margin: 1rem 0;
  padding: 1rem 1.25rem;
}

.concordiavitae-safety-note {
  background: #fff8e7;
  border-left: 5px solid #e6a817;
}

.concordiavitae-help-box,
.concordiavitae-scale-guide {
  background: #eef7fb;
  border-left: 5px solid #22769b;
}

.concordiavitae-help-box h3 {
  margin-top: 0;
}

.concordiavitae-help-box p:last-child,
.concordiavitae-encouragement p:last-child {
  margin-bottom: 0;
}

.concordiavitae-scale-hint {
  color: #475467;
  font-size: 0.82rem;
  line-height: 1.45;
  margin: 0.45rem 0 0;
}

.cv-text-no { color: #a4450a; }
.cv-text-unsure { color: #475467; }
.cv-text-yes { color: #147a45; }

.concordiavitae-three-choice {
  display: grid;
  gap: 0.45rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 0.45rem;
}

.concordiavitae-choice {
  cursor: pointer;
  min-width: 0;
  position: relative;
}

.concordiavitae-choice input {
  height: 1px;
  opacity: 0.01;
  position: absolute;
  width: 1px;
}

.concordiavitae-choice span {
  align-items: center;
  border: 2px solid transparent;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  justify-content: center;
  min-height: 3.8rem;
  padding: 0.5rem 0.35rem;
  text-align: center;
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.concordiavitae-choice small {
  font-size: 0.7rem;
  opacity: 0.75;
}

.concordiavitae-choice.is-no span { background: #fff2e2; border-color: #e9842c; color: #843b0b; }
.concordiavitae-choice.is-unsure span { background: #f2f4f7; border-color: #98a2b3; color: #344054; }
.concordiavitae-choice.is-yes span { background: #e9f8ef; border-color: #3aa76d; color: #116a3b; }

.concordiavitae-choice input:checked + span {
  box-shadow: inset 0 0 0 2px currentColor, 0 4px 12px rgba(16, 24, 40, 0.12);
  transform: translateY(-1px);
}

.concordiavitae-choice input:focus-visible + span {
  outline: 3px solid #1e87f0;
  outline-offset: 2px;
}

.concordiavitae-encouragement {
  background: #ecfdf3;
  border-left: 5px solid #26945f;
}

.concordiavitae-rule-explanation {
  background: #f8fafc;
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  margin-top: 1rem;
  padding: 1rem 1.25rem;
}

.concordiavitae-rule-explanation h4 {
  margin-top: 0;
}

.concordiavitae-rule-explanation li + li {
  margin-top: 0.55rem;
}

.concordiavitae-question {
  min-inline-size: 0;
}

.concordiavitae-number {
  align-items: center;
  background: var(--concordiavitae-accent);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 0.8em;
  height: 2rem;
  justify-content: center;
  margin-inline-end: 0.5rem;
  width: 2rem;
}

.concordiavitae-required {
  color: #d4351c;
}

.concordiavitae-options {
  display: grid;
  gap: 0.65rem;
}

.concordiavitae-option {
  align-items: center;
  border: 1px solid var(--concordiavitae-option-border);
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  gap: 0.7rem;
  padding: 0.8rem 1rem;
}

.concordiavitae-option:hover,
.concordiavitae-option:focus-within {
  border-color: var(--concordiavitae-accent);
}

.concordiavitae-result-icon {
  align-items: center;
  background: #32d296;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-size: 2rem;
  height: 4rem;
  justify-content: center;
  width: 4rem;
}

.concordiavitae-score {
  margin: 2rem auto 0;
  max-width: 24rem;
}

.concordiavitae-score strong {
  display: block;
  font-size: 2rem;
  margin-bottom: 0.5rem;
}

.concordiavitae-app {
  --cv-burden-high: #9f2d35;
  --cv-burden: #d9782d;
  --cv-neutral: #6b7280;
  --cv-support: #75bfc1;
  --cv-resource: #197b78;
}

.concordiavitae-steps {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  margin: 0 0 2rem;
  padding: 0;
}

.concordiavitae-steps li {
  border-bottom: 3px solid #d8dde6;
  color: #667085;
  padding: 0.75rem 0.25rem;
}

.concordiavitae-steps li span {
  align-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  display: inline-flex;
  height: 1.8rem;
  justify-content: center;
  margin-inline-end: 0.35rem;
  width: 1.8rem;
}

.concordiavitae-steps .is-active,
.concordiavitae-steps .is-complete {
  border-color: var(--concordiavitae-accent);
  color: var(--concordiavitae-accent);
  font-weight: 600;
}

.concordiavitae-role-card {
  border-radius: var(--concordiavitae-radius);
  min-inline-size: 0;
}

.concordiavitae-role-card legend {
  padding-inline: 0.25rem;
}

.concordiavitae-role-fields {
  align-items: start;
  display: grid;
  gap: 1.25rem 1.5rem;
  grid-template-columns: minmax(16rem, 2fr) minmax(12rem, 1fr) auto;
}

.concordiavitae-form-field .uk-form-label {
  align-items: flex-end;
  display: flex;
  line-height: 1.35;
  min-height: 2.8rem;
}

.concordiavitae-role-fields .uk-input,
.concordiavitae-role-fields .uk-textarea {
  box-sizing: border-box;
  width: 100%;
}

.concordiavitae-role-remove {
  align-items: flex-start;
  display: flex;
  padding-top: 3.05rem;
  white-space: nowrap;
}

.concordiavitae-role-remove [hidden] {
  display: none !important;
}

.concordiavitae-form-field.is-description {
  grid-column: 1 / -1;
}

.concordiavitae-forward-look,
.concordiavitae-plan-timeframe {
  background: #f8fafc;
  border: 1px solid #dfe4ea;
  border-radius: var(--concordiavitae-radius);
  margin: 1.5rem 0;
  padding: 1.25rem;
}

.concordiavitae-forward-look h3 {
  margin-top: 0;
}

.concordiavitae-equal-card-grid,
.concordiavitae-role-summary-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.concordiavitae-equal-card-grid article,
.concordiavitae-role-summary-grid section {
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  padding: 1rem;
}

.concordiavitae-equal-card-grid .uk-form-label,
.concordiavitae-role-summary-grid .uk-form-label {
  display: block;
  line-height: 1.4;
  min-height: 4.2rem;
}

.concordiavitae-equal-card-grid .concordiavitae-three-choice,
.concordiavitae-role-summary-grid .concordiavitae-three-choice {
  margin-top: auto;
}

.concordiavitae-comparison-card,
.concordiavitae-plan-card {
  background: #fff;
  border: 1px solid #dfe4ea;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(16, 24, 40, 0.06);
  margin: 1.5rem 0;
  overflow: hidden;
}

.concordiavitae-comparison-card > header,
.concordiavitae-plan-card > header {
  align-items: center;
  background: #f8fafc;
  border-bottom: 1px solid #e4e7ec;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
}

.concordiavitae-comparison-card > header h3,
.concordiavitae-plan-card > header h3 {
  margin: 0.2rem 0 0;
}

.concordiavitae-role-summary-grid,
.concordiavitae-comparison-card > h4,
.concordiavitae-detail-fields {
  margin: 1.25rem;
}

.concordiavitae-detail-fields {
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  padding: 0.9rem 1rem;
}

.concordiavitae-detail-fields summary {
  cursor: pointer;
  font-weight: 700;
}

.concordiavitae-detail-fields summary span {
  color: #667085;
  font-weight: 400;
}

.concordiavitae-text-grid,
.concordiavitae-plan-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1rem;
}

.concordiavitae-comparison-list {
  border-top: 1px solid #e4e7ec;
}

.concordiavitae-comparison-item + .concordiavitae-comparison-item {
  border-top: 1px solid #dfe4ea;
}

.concordiavitae-comparison-item h5 {
  background: #eef7fb;
  font-size: 1.05rem;
  margin: 0;
  padding: 0.85rem 1.25rem;
}

.concordiavitae-comparison-line {
  align-items: center;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem);
  padding: 1rem 1.25rem;
}

.concordiavitae-comparison-line.is-target {
  background: #f8fafc;
  border-top: 1px dashed #d0d5dd;
}

.concordiavitae-comparison-line p {
  margin: 0.25rem 0 0;
}

.concordiavitae-plan-timeframe {
  align-items: center;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) minmax(12rem, 18rem);
}

.concordiavitae-plan-timeframe p {
  margin-bottom: 0;
}

.concordiavitae-plan-card > header {
  align-items: flex-end;
}

.concordiavitae-share-change {
  align-items: center;
  display: flex;
  gap: 0.75rem;
}

.concordiavitae-share-change label {
  align-items: center;
  display: flex;
  gap: 0.4rem;
  white-space: nowrap;
}

.concordiavitae-share-change .uk-input {
  width: 5.5rem;
}

.concordiavitae-plan-grid {
  margin: 0;
  padding: 1.25rem;
}

.concordiavitae-plan-grid > div {
  display: flex;
  flex-direction: column;
}

.concordiavitae-plan-grid .uk-form-label {
  min-height: 3.2rem;
}

.concordiavitae-plan-grid .uk-textarea {
  flex: 1;
}

.concordiavitae-form-navigation {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  margin-top: 1.5rem;
}

.concordiavitae-sum-box {
  align-items: center;
  background: #fff7e8;
  border: 1px solid #f2c66d;
  border-radius: var(--concordiavitae-radius);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin: 1.5rem 0;
  padding: 1rem 1.25rem;
}

.concordiavitae-sum-box.is-complete {
  background: #ecfdf3;
  border-color: #6cc995;
}

.concordiavitae-sum-box strong {
  white-space: nowrap;
}

.concordiavitae-rating-grid {
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: var(--concordiavitae-radius);
  overflow: hidden;
}

.concordiavitae-rating-row {
  align-items: center;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem);
  padding: 1rem;
}

.concordiavitae-rating-row + .concordiavitae-rating-row {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.concordiavitae-heatmap th,
.concordiavitae-heatmap td {
  min-width: 5.5rem;
  text-align: center;
  vertical-align: middle;
}

.concordiavitae-heatmap th:first-child {
  min-width: 10rem;
  text-align: left;
}

.concordiavitae-heatmap td strong,
.concordiavitae-heatmap td small {
  display: block;
}

.concordiavitae-heatmap .is-burden-high { background: var(--cv-burden-high); color: #fff; }
.concordiavitae-heatmap .is-burden { background: var(--cv-burden); color: #1d1d1d; }
.concordiavitae-heatmap .is-neutral { background: var(--cv-neutral); color: #fff; }
.concordiavitae-heatmap .is-support { background: var(--cv-support); color: #102a2a; }
.concordiavitae-heatmap .is-resource { background: var(--cv-resource); color: #fff; }
.concordiavitae-heatmap .is-empty { background: repeating-linear-gradient(135deg, #f2f4f7, #f2f4f7 8px, #e4e7ec 8px, #e4e7ec 16px); }

.concordiavitae-result-explainer {
  background: #eef7fb;
  border-left: 5px solid #22769b;
  border-radius: var(--concordiavitae-radius);
  margin-bottom: 1.5rem;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.concordiavitae-result-explainer h2 {
  max-width: 52rem;
}

.concordiavitae-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.25rem;
  margin-top: 1.25rem;
}

.concordiavitae-legend span {
  align-items: center;
  display: inline-flex;
  font-size: 0.9rem;
  gap: 0.45rem;
}

.concordiavitae-legend i {
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 50%;
  display: inline-block;
  height: 0.9rem;
  width: 0.9rem;
}

.concordiavitae-legend i.is-burden-high { background: #b42318; }
.concordiavitae-legend i.is-burden { background: #e9842c; }
.concordiavitae-legend i.is-neutral { background: #667085; }
.concordiavitae-legend i.is-support { background: #58b8bd; }
.concordiavitae-legend i.is-resource { background: #137a72; }
.concordiavitae-legend i.is-empty { background: #e4e7ec; }
.concordiavitae-legend i.is-no { background: #e9842c; }
.concordiavitae-legend i.is-unsure { background: #98a2b3; }
.concordiavitae-legend i.is-yes { background: #3aa76d; }

.concordiavitae-role-result {
  background: #fff;
  border: 1px solid #dfe4ea;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(16, 24, 40, 0.06);
  margin: 1.5rem 0;
  overflow: hidden;
}

.concordiavitae-role-result > header {
  align-items: center;
  background: #f8fafc;
  border-bottom: 1px solid #e4e7ec;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
}

.concordiavitae-role-result > header h3,
.concordiavitae-role-result > header p {
  margin-bottom: 0;
}

.concordiavitae-role-result > header > p {
  text-align: right;
}

.concordiavitae-needs-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  padding: 1.25rem;
}

.concordiavitae-need-tile {
  border: 1px solid #d0d5dd;
  border-left-width: 5px;
  border-radius: 10px;
  min-height: 12rem;
  padding: 1rem;
}

.concordiavitae-need-tile.is-burden-high { background: #fff1f0; border-color: #d92d20; }
.concordiavitae-need-tile.is-burden { background: #fff6e9; border-color: #e9842c; }
.concordiavitae-need-tile.is-neutral { background: #f2f4f7; border-color: #667085; }
.concordiavitae-need-tile.is-support { background: #ecfafa; border-color: #58b8bd; }
.concordiavitae-need-tile.is-resource { background: #e9f7f4; border-color: #137a72; }
.concordiavitae-need-tile.is-empty { background: repeating-linear-gradient(135deg, #f8fafc, #f8fafc 10px, #f2f4f7 10px, #f2f4f7 20px); border-color: #98a2b3; }
.concordiavitae-need-tile.is-no { background: #fff2e2; border-color: #e9842c; }
.concordiavitae-need-tile.is-unsure { background: #f2f4f7; border-color: #98a2b3; }
.concordiavitae-need-tile.is-yes { background: #e9f8ef; border-color: #3aa76d; }

.concordiavitae-need-heading {
  align-items: flex-start;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
}

.concordiavitae-need-heading h4 {
  font-size: 1.05rem;
  line-height: 1.3;
  margin: 0;
}

.concordiavitae-need-score {
  align-items: baseline;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 999px;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 1.2rem;
  font-weight: 700;
  gap: 0.1rem;
  padding: 0.35rem 0.6rem;
}

.concordiavitae-need-score small {
  font-size: 0.7rem;
  font-weight: 500;
}

.concordiavitae-need-state {
  font-weight: 700;
  margin: 1rem 0 0.5rem;
}

.concordiavitae-need-target {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  font-size: 0.9rem;
  margin: 0.75rem 0 0;
  padding-top: 0.75rem;
}

.concordiavitae-action-nav {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

@media (max-width: 959px) {
  .concordiavitae-role-fields {
    grid-template-columns: minmax(0, 1fr) 12rem;
  }

  .concordiavitae-role-remove {
    grid-column: 1 / -1;
    justify-content: flex-end;
    padding-top: 0;
  }

  .concordiavitae-equal-card-grid,
  .concordiavitae-role-summary-grid,
  .concordiavitae-text-grid,
  .concordiavitae-plan-grid {
    grid-template-columns: 1fr;
  }

  .concordiavitae-equal-card-grid .uk-form-label,
  .concordiavitae-role-summary-grid .uk-form-label,
  .concordiavitae-plan-grid .uk-form-label {
    min-height: 0;
  }

  .concordiavitae-comparison-line,
  .concordiavitae-plan-timeframe {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 639px) {
  .concordiavitae-intro-grid {
    grid-template-columns: 1fr;
  }

  .concordiavitae-steps {
    grid-template-columns: 1fr 1fr;
  }

  .concordiavitae-rating-row {
    grid-template-columns: 1fr;
  }

  .concordiavitae-sum-box,
  .concordiavitae-role-result > header {
    align-items: flex-start;
    flex-direction: column;
  }

  .concordiavitae-role-result > header > p {
    text-align: left;
  }

  .concordiavitae-needs-grid {
    grid-template-columns: 1fr;
    padding: 0.9rem;
  }

  .concordiavitae-action-nav > * {
    text-align: center;
    width: 100%;
  }

  .concordiavitae-role-fields {
    grid-template-columns: 1fr;
  }

  .concordiavitae-form-field .uk-form-label {
    min-height: 0;
  }

  .concordiavitae-comparison-card > header,
  .concordiavitae-plan-card > header,
  .concordiavitae-share-change,
  .concordiavitae-form-navigation {
    align-items: flex-start;
    flex-direction: column;
  }

  .concordiavitae-comparison-line {
    padding: 1rem;
  }

  .concordiavitae-form-navigation > *,
  .concordiavitae-form-navigation > div,
  .concordiavitae-form-navigation .uk-button {
    text-align: center;
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .concordiavitae-task *,
  .concordiavitae-task *::before,
  .concordiavitae-task *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
.concordiavitae-pdf-export {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    border-radius: 14px;
}

.concordiavitae-pdf-export > div {
    max-width: 760px;
}

.concordiavitae-pdf-export .uk-button {
    flex: 0 0 auto;
}

@media (max-width: 720px) {
    .concordiavitae-pdf-export {
        align-items: stretch;
        flex-direction: column;
    }

    .concordiavitae-pdf-export .uk-button {
        text-align: center;
    }
}

/* Concordia Vitae Fokus-Check 0.3.0 */
.cv-focus-screen {
    --cv-focus: #2c6f73;
    --cv-focus-soft: #eaf5f5;
    --cv-attention: #b64a2f;
    --cv-attention-soft: #fff1ec;
    --cv-resource: #2f7650;
    --cv-resource-soft: #edf8f1;
    max-width: 1120px;
    margin: 0 auto;
}

.cv-focus-heading { max-width: 760px; margin-bottom: 28px; }
.cv-preset-grid, .cv-focus-radio-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.cv-preset-button, .cv-focus-radio-grid label span {
    display: inline-flex; min-height: 44px; align-items: center; border: 1px solid #b9cecf;
    border-radius: 999px; padding: 8px 16px; background: #fff; color: #173f42;
    font: inherit; cursor: pointer;
}
.cv-preset-button:hover, .cv-preset-button:focus-visible, .cv-preset-button.is-selected,
.cv-focus-radio-grid input:checked + span {
    border-color: var(--cv-focus); background: var(--cv-focus-soft);
    box-shadow: 0 0 0 2px rgba(44, 111, 115, .14);
}
.cv-focus-radio-grid input, .cv-inline-choices input, .cv-p10-scale input {
    position: absolute; opacity: 0;
}
.cv-area-list, .cv-overview-list, .cv-p10-group { display: grid; gap: 20px; }
.cv-area-row {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: end;
    padding: 14px; border: 1px solid #dce5e5; border-radius: 12px; background: #fff;
}
.cv-area-row label span { display: block; margin-bottom: 5px; font-weight: 600; }
.cv-focus-global-grid, .cv-result-global {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px;
}
.cv-choice-card, .cv-horizon-card, .cv-action-card {
    margin: 0; border: 1px solid #d5e1e1; border-radius: 14px; padding: 20px; background: #fff;
}
.cv-choice-card legend, .cv-overview-card legend { font-weight: 700; color: #183c3f; }
.cv-choice-card > label { display: flex; gap: 9px; align-items: flex-start; margin-top: 10px; }
.cv-overview-card, .cv-p10-item, .cv-result-card, .cv-selected-results article,
.cv-observation-grid article, .cv-result-global article {
    border: 1px solid #d6e2e2; border-radius: 14px; padding: 20px; background: #fff;
}
.cv-overview-card header {
    display: flex; justify-content: space-between; gap: 16px; align-items: baseline;
    border-bottom: 1px solid #e5ecec; margin-bottom: 18px;
}
.cv-overview-card header span { color: #617477; font-size: .875rem; }
.cv-overview-card fieldset { border: 0; margin: 0 0 20px; padding: 0; }
.cv-inline-choices, .cv-p10-scale { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.cv-inline-choices label span, .cv-p10-scale label span {
    display: inline-flex; min-height: 42px; align-items: center; border: 1px solid #cbd9d9;
    border-radius: 8px; padding: 7px 11px; background: #fff; cursor: pointer;
}
.cv-inline-choices input:focus-visible + span, .cv-p10-scale input:focus-visible + span {
    outline: 3px solid rgba(44, 111, 115, .3); outline-offset: 2px;
}
.cv-inline-choices input:checked + span, .cv-p10-scale input:checked + span {
    border-color: var(--cv-focus); background: var(--cv-focus-soft); color: #133e40; font-weight: 700;
}
.cv-important-toggle {
    display: flex; gap: 10px; border-top: 1px solid #e5ecec; padding-top: 16px;
}
.cv-suggestion {
    margin: 14px 0 0; border-left: 4px solid var(--cv-focus); padding: 10px 12px;
    background: var(--cv-focus-soft);
}
.cv-focus-selection { border-radius: 16px; padding: 24px; background: #f3f8f8; }
.cv-p10-group { margin: 34px 0; }
.cv-p10-item h4 { margin-bottom: 6px; }
.cv-topic-choice { margin-top: 16px; border-top: 1px solid #e3ebeb; padding-top: 14px; }
.cv-goal-field { display: grid; gap: 6px; margin-top: 12px; max-width: 560px; }
.cv-topic-counter {
    position: sticky; bottom: 12px; z-index: 2; width: fit-content; border-radius: 999px;
    padding: 8px 14px; background: #243f42; color: #fff;
}
.cv-topic-counter.is-complete { background: var(--cv-resource); }
.cv-action-card { margin-top: 34px; background: #f6faf9; }
.cv-result-global { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cv-result-global article { display: grid; gap: 8px; }
.cv-result-global strong { color: #173f42; font-size: 1.25rem; }
.cv-observation-grid {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 18px;
}
.cv-result-card { margin-bottom: 14px; }
.cv-result-card.is-resource {
    border-left: 6px solid var(--cv-resource); background: var(--cv-resource-soft);
}
.cv-result-card.is-attention {
    border-left: 6px solid var(--cv-attention); background: var(--cv-attention-soft);
}
.cv-selected-results {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px;
}
.cv-selected-results h2 { grid-column: 1 / -1; }
.cv-action-result { border-radius: 16px; padding: 24px; background: var(--cv-focus-soft); }

@media (max-width: 760px) {
    .cv-focus-global-grid, .cv-result-global, .cv-observation-grid, .cv-selected-results {
        grid-template-columns: 1fr;
    }
    .cv-area-row { grid-template-columns: 1fr; }
    .cv-overview-card, .cv-p10-item { padding: 16px; }
    .cv-inline-choices, .cv-p10-scale { display: grid; grid-template-columns: 1fr; }
    .cv-inline-choices label span, .cv-p10-scale label span { width: 100%; box-sizing: border-box; }
}
