.program-workspace { padding: 1.4rem; }
.program-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin: .75rem 0; }
.program-heading h2 { margin: .5rem 0; }
.program-heading p, .program-card p { overflow-wrap: anywhere; }
.program-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.program-columns { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 1rem; margin-top: 1rem; }
.program-card { padding: 1rem; border: 1px solid #d4e3df; border-radius: 12px; background: #f8fcfa; margin: .75rem 0; box-shadow: 0 3px 8px #123c3610; }
.program-card h4, .program-card h3 { margin: .6rem 0; }
.program-status { display: inline-block; padding: .25rem .6rem; border-radius: 20px; background: #dcefe5; color: #164d42; font-size: .75rem; font-weight: 600; }
.program-origin, .program-explainer { color: #496b65; font-size: .85rem; }
.program-actions, .program-pager { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: .7rem; }
.program-pager { justify-content: space-between; font-size: .8rem; }
.program-workspace button:not(.button), .program-pager button { border: 1px solid #98b8ad; color: #174d40; background: #edf7f1; border-radius: 7px; padding: .45rem .7rem; cursor: pointer; }
.program-workspace button:disabled { opacity: .4; cursor: default; }
.program-card.is-cancelled { opacity: .7; border-style: dashed; }
.program-card details { font-size: .85rem; margin: .6rem 0; }
.program-card summary { cursor: pointer; color: #165e4e; }
.program-editor .program-picker { padding: .6rem; border: 1px solid #42686c; border-radius: 8px; margin-top: .65rem; }
.program-editor .program-picker button { color: #ecf7f1; background: #1b494b; }
.program-editor select { max-width: 100%; }
.program-report-filters { display: flex; flex-wrap: wrap; gap: .8rem; align-items: end; }
.program-report-filters label { display: grid; gap: .3rem; font-size: .85rem; }
.program-report-filters input { width: 130px; max-width: 100%; padding: .5rem; border: 1px solid #98b8ad; border-radius: 6px; background: #fff; color: #174d40; }
.program-report-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .65rem; }
.program-report-metrics span { padding: .8rem; background: #e7f2ed; border-radius: 8px; }
.program-report-metrics strong, .program-report-metrics small { display: block; margin-top: .25rem; }
.program-report-metrics strong { font-size: 1.3rem; color: #164d42; }
.program-report-table { overflow-x: auto; }
.program-report-table table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.program-report-table td, .program-report-table th { padding: .6rem; text-align: left; border-bottom: 1px solid #d4e3df; }
@media (max-width: 800px) { .program-columns { grid-template-columns: 1fr; } .program-heading { flex-direction: column; } }
