/* "Programmpunkt anmelden" — the card page section (C5), in the card's own
   flow right after the reply form, on the card's cream paper with its ink
   and script face (card.css tokens).
   Frame, title, items and fields: the card's compact system (public/shared/card.css «Compact sections»). */
.ct-sub { font-size: 16px; font-weight: 600; margin: var(--sp-3) 0 var(--sp-1); }
.ct-form { display: flex; flex-direction: column; background: rgba(255,255,255,0.88); border: 1px solid rgba(0,0,0,0.08); }
.ct-field { display: flex; flex-direction: column; gap: 2px; }
.ct-label { font-size: 13px; color: #6f6a65; }
.ct-input { font: inherit; font-size: 15px; border: 1px solid rgba(0,0,0,0.18); border-radius: 10px; background: #fff; color: #333; width: 100%; box-sizing: border-box; }
textarea.ct-input { resize: vertical; min-height: 64px; }
.ct-needs, .ct-contact { border: 1px solid rgba(0,0,0,0.1); border-radius: 12px; padding: 8px 12px 10px; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.ct-needs legend, .ct-contact legend { padding: 0 4px; }
.ct-more { border-top: 1px solid rgba(0,0,0,0.08); padding-top: 8px; }
.ct-more-sum { cursor: pointer; font-size: 14px; color: var(--rose-2, #7a3b46); padding: 4px 0; }
.ct-more-body { display: flex; flex-direction: column; gap: var(--sp-2); margin-top: var(--sp-1); }
.ct-check { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; line-height: 1.4; cursor: pointer; }
.ct-check input { margin-top: 3px; flex: none; }
.ct-hint { font-size: 13px; color: #8c8681; margin: 0; }
.ct-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.ct-btn { font: inherit; font-size: 14px; padding: 6px 18px; border-radius: 999px; border: 1px solid var(--rose-1, #9d5a63); background: var(--rose-1, #9d5a63); color: #fff; cursor: pointer; }
.ct-btn:disabled { opacity: .6; }
.ct-btn-ghost { background: transparent; color: inherit; border-color: currentColor; display: block; margin: 8px auto; }
.ct-link { font: inherit; font-size: 13px; background: none; border: none; color: var(--rose-2, #7a3b46); cursor: pointer; padding: 4px 2px; text-decoration: underline; }
.ct-flash { font-size: 13px; margin: 0; min-height: 1em; }
.ct-flash.ok { color: #3f6b43; }
.ct-flash.error { color: #a33; }
.ct-item { background: rgba(255,255,255,0.9); border: 1px solid rgba(0,0,0,0.08); margin-bottom: var(--sp-2); display: flex; flex-direction: column; }
.ct-st-approved { border-left: 4px solid #8fb592; }
.ct-st-declined { opacity: .7; }
.ct-item-top { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; justify-content: space-between; }
.ct-item-title { overflow-wrap: anywhere; }
.ct-badge { font-size: 12px; border: 1px solid rgba(0,0,0,0.15); border-radius: 999px; padding: 1px 8px; }
.ct-status { font-size: 13px; color: #6f6a65; margin: 0; }
