/* Generated from scripts/styles/manifest.json. Edit canonical sources, not this immutable file. */
/* Source: features/program-commerce.css */
.program-intro{max-width:720px}
.program-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border-hairline);border:1px solid var(--border-hairline);margin:24px 0 46px}
.program-flow[hidden]{display:none}
.program-flow article{background:var(--paper);padding:24px;min-height:150px}
.program-flow span{display:block;color:var(--accent-strong);font-size:12px;font-weight:800;letter-spacing:.08em;margin-bottom:18px}
.program-flow h2{font-size:18px;line-height:1.3;margin-bottom:8px}
.program-flow p{color:var(--text-muted);font-size:13px;line-height:1.65}
.program-catalog-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
.program-catalog-head p{color:var(--text-muted);font-size:13px;line-height:1.6}
.program-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.program-card{border:1px solid var(--border-hairline);padding:24px;display:grid;gap:14px;background:var(--paper)}
.program-card-status{color:var(--accent-strong);font-size:12px;font-weight:800;letter-spacing:.06em}
.program-card h3{font-size:22px;line-height:1.25}
.program-card-meta{color:var(--text-muted);font-size:13px;line-height:1.7}
.program-card-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px}
.program-card-price{font-weight:800;font-size:15px}
.program-empty{border:1px solid var(--border-hairline);padding:32px;max-width:720px}
.program-empty h2{font-size:20px;margin-bottom:10px}
.program-empty p{color:var(--text-muted);font-size:14px;line-height:1.75;margin-bottom:18px}
.program-status{min-height:24px;color:var(--text-muted);font-size:13px;margin:14px 0}
@media(max-width:720px){.program-flow,.program-list{grid-template-columns:1fr}.program-flow article{min-height:0}.program-catalog-head,.program-card-foot{align-items:flex-start;flex-direction:column}}

/* Additive v82 layout only; existing immutable styles and palette stay untouched. */
.program-selection { grid-column: 1 / -1; min-width: 0; }
.program-selection-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.program-selection-controls label { display: grid; gap: 8px; min-width: 0; }
.program-selection-controls select { width: 100%; min-width: 0; min-height: 44px; padding: 8px; font: inherit; }
.program-selection-controls select:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.program-selection [data-program-summary] { display: grid; gap: 12px; overflow-wrap: anywhere; }
@media (max-width: 720px) { .program-selection-controls { grid-template-columns: minmax(0, 1fr); } }

