/* Reuses the application's Licht im Raum typography and control palette. */
.growth27 { min-width: 0; color: #173b3b; }
.growth27 .page-heading p { max-width: 76ch; line-height: 1.6; }
.growth27-tabs,.growth27-actions { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; margin-block: 1rem; }
.growth27-tabs { padding-block-end: .8rem; border-bottom: 1px solid #d7dfd8; }
.growth27-tabs [aria-current="page"] { box-shadow: inset 0 -3px 0 #ba742d; }
.growth27-cards { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,25rem),1fr)); gap: 1rem; align-items: start; }
.growth27-card { min-width: 0; margin-block: 1rem; padding: clamp(1rem,2.6vw,1.6rem); border: 1px solid #d7dfd8; border-radius: 1rem; background: #fffdf7; }
.growth27-cards > .growth27-card { margin-block: 0; }
.growth27-card :is(h2,h3) { margin-block-start: 0; }
.growth27 :is(h2,h3,p,dd,code,li,summary) { overflow-wrap: anywhere; }
.growth27-card p { line-height: 1.6; max-width: 76ch; }
.growth27-fields { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap: .6rem 1.25rem; }
.growth27-field { min-width: 0; margin-block: .7rem; }
.growth27-field > label { display: block; margin-block-end: .4rem; font-weight: 650; }
.growth27-field :is(input:not([type="checkbox"]),textarea,select) { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; padding: .75rem; border: 1px solid #8caaa5; border-radius: .45rem; color: #173b3b; background: #fff; font: inherit; }
.growth27-field [readonly] { background: #eef2ec; }
.growth27-field textarea { resize: vertical; }
.growth27-help,.growth27-muted { color: #42625e; font-size: .9rem; line-height: 1.55; }
.growth27-field .growth27-help { margin-block: .4rem 0; }
.growth27-field > .growth27-check { display: flex; align-items: flex-start; gap: .7rem; line-height: 1.6; font-weight: 500; }
.growth27-check input { width: 1.2rem; height: 1.2rem; margin-block-start: .2rem; flex: 0 0 auto; accent-color: #176d6b; }
.growth27-summary { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,10rem),1fr)); gap: .7rem; margin-block: 1rem; }
.growth27-summary > div { padding: .75rem; border-radius: .5rem; background: #eef2ec; min-width: 0; }
.growth27-summary dt { color: #42625e; font-size: .85rem; line-height: 1.4; }
.growth27-summary dd { margin: .35rem 0 0; font-weight: 650; font-variant-numeric: tabular-nums; }
.growth27-note,.growth27-feedback { padding: 1rem; margin-block: 1rem; border: 1px solid #82a693; border-radius: .65rem; background: #e8f0e9; line-height: 1.6; }
.growth27-note.is-warning,.growth27-feedback.is-error { color: #712d24; border-color: #c99a87; background: #fff0e7; }
.growth27-feedback p { margin-block: 0 .5rem; }
.growth27-feedback code { white-space: normal; }
.growth27 details { min-width: 0; margin-block: .8rem; }
.growth27 summary { padding-block: .6rem; font-weight: 650; cursor: pointer; }
.growth27-record { padding-block: 1rem; border-block-start: 1px solid #d7dfd8; }
.growth27-gates { list-style: none; padding: 0; display: grid; gap: .65rem; }
.growth27-gates > li { padding: .8rem; border-inline-start: .3rem solid #b78e52; background: #f6f0e5; border-radius: .25rem; line-height: 1.5; }
.growth27-gates > li.is-met { background: #e8f0e9; border-color: #35785b; }
.growth27-gates strong { display: block; }
.growth27-table-scroll { overflow-x: auto; max-width: 100%; border: 1px solid #d7dfd8; border-radius: .5rem; }
.growth27 table { border-collapse: collapse; width: 100%; font-size: .95rem; }
.growth27 th,.growth27 td { padding: .8rem; text-align: start; vertical-align: top; border-block-end: 1px solid #d7dfd8; }
.growth27 th { background: #eef2ec; }
.growth27 td.numeric { white-space: nowrap; font-variant-numeric: tabular-nums; }
.growth27-event-panel { margin-block: 1rem; padding: 1rem; border: 1px solid #9eb5ac; border-radius: .6rem; }
:is(.growth27,.growth27-event-panel) :is(button,a,input,textarea,select,summary,[tabindex]):focus-visible { outline: 3px solid #176d6b; outline-offset: 3px; }
.growth27 :is(h1,h2,h3,[role="alert"],[role="status"])[tabindex="-1"] { scroll-margin-block: 1.5rem; }
.growth27 button { min-height: 2.75rem; white-space: normal; }
@media (max-width: 40rem) { .growth27-tabs .button { flex: 1 1 12rem; } .growth27-actions > .button { flex: 1 1 100%; } .growth27-card { padding: 1rem; } .growth27-cards { grid-template-columns: minmax(0,1fr); } }
