.programWorkspace { display: grid; gap: 8px; }
.programLayout { display: grid; grid-template-columns: 220px minmax(0, 1fr); min-height: calc(100vh - 124px); overflow: hidden; background: #fff; border: 1px solid #e2e7ef; border-radius: 11px; }
.programSidebar { position: static; width: auto; padding: 0; color: #172033; background: #f8fafc; border-right: 1px solid #e5e9f0; }
.programSidebar .empty { padding: 20px 12px; }
.programChoice { display: block; width: 100%; padding: 10px 12px; color: #303b51; background: transparent; border: 0; border-bottom: 1px solid #e8ecf2; text-align: left; cursor: pointer; }
.programChoice.active { color: #4055d4; background: #eef2ff; }
.programChoice b, .programChoice small { display: block; }
.programChoice b { overflow: hidden; font-size: 12px; white-space: nowrap; text-overflow: ellipsis; }
.programChoice small { overflow: hidden; margin-top: 3px; color: #818ba0; font-size: 9px; white-space: nowrap; text-overflow: ellipsis; }
.programEditor { padding: 13px 14px; }
.programHead { display: flex; justify-content: space-between; gap: 10px; }
.programHead > div:first-child { display: grid; flex: 1; gap: 5px; }
.programHead input { font-size: 17px; font-weight: 700; }
.programHead textarea { min-height: 32px; resize: vertical; }
.programHead input, .programHead textarea, .programHead select, .programHead button, .programSourceForm > * { padding: 7px 8px; background: #fff; border: 1px solid #dce2eb; border-radius: 7px; font-size: 11px; }
.programHead > div:last-child { display: flex; align-items: flex-start; gap: 5px; }
.programSourceForm { display: grid; grid-template-columns: 115px minmax(180px, 1fr) minmax(180px, 1fr) auto; gap: 6px; margin: 10px 0; padding: 8px; background: #f6f8fb; border-radius: 8px; }
.programSourceForm .primary { color: #fff; background: #26324b; }
.programStats { display: flex; gap: 5px; margin-bottom: 7px; color: #68748a; }
.programStats span { padding: 4px 7px; background: #f0f3f8; border-radius: 99px; font-size: 9px; }
.programItems { display: grid; gap: 5px; }
.programItem { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 8px; align-items: center; min-height: 48px; padding: 7px 9px; border: 1px solid #e2e7ef; border-radius: 8px; }
.programItem > strong { display: grid; place-items: center; width: 28px; height: 28px; color: #5265db; background: #eef2ff; border-radius: 7px; font-size: 11px; }
.programItem h4 { overflow: hidden; margin: 0 0 3px; font-size: 12px; white-space: nowrap; text-overflow: ellipsis; }
.programItem p { overflow: hidden; margin: 0; color: #737e92; font-size: 10px; white-space: nowrap; text-overflow: ellipsis; }
.programItem div:last-child { display: flex; gap: 4px; }
.programItem button { padding: 5px 7px; background: #fff; border: 1px solid #dae0e9; border-radius: 6px; font-size: 10px; }
.programItem button.danger, .programHead button.danger { color: #be414c; }
.programItem .sourceBadge { margin-right: 5px; padding: 2px 5px; color: #5f6a80; background: #f1f3f7; border-radius: 4px; font-size: 9px; }
@media (max-width: 1000px) {
  .programLayout { grid-template-columns: 1fr; }
  .programSidebar { border-right: 0; border-bottom: 1px solid #e5e9f0; }
  .programSourceForm { grid-template-columns: 1fr 1fr; }
  .programHead { flex-direction: column; }
}
@media (max-width: 720px) {
  .programSourceForm { grid-template-columns: 1fr; }
  .programItem { grid-template-columns: 30px 1fr; }
  .programItem div:last-child { grid-column: 2; }
}
