.panel-actions {
  display: flex;
  gap: 6px;
}

dialog {
  width: min(680px, calc(100% - 32px));
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--card);
  color: var(--ink);
  box-shadow: 0 25px 80px rgba(45, 32, 25, .24);
}

dialog::backdrop {
  background: rgba(45, 35, 29, .55);
  backdrop-filter: blur(3px);
}

.course-form { padding: 28px; }
.dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; }
.dialog-heading h2 { margin: 4px 0 22px; font-family: serif; font-size: 28px; }
.dialog-close { padding: 2px 9px; background: transparent; color: var(--muted); font-size: 28px; }
.dialog-close:hover { background: transparent; color: var(--ink); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-grid label { display: grid; gap: 7px; }
.form-grid .wide { grid-column: 1 / -1; }
.inline-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 14px; border-radius: 12px; background: #f5efe7; }
.form-grid input,
.form-grid select,
.form-grid textarea {
  width: 100%;
  padding: 12px 13px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  outline: none;
}
.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus {
  border-color: var(--red);
  box-shadow: 0 0 0 3px rgba(166, 66, 50, .1);
}
.form-note { margin: 18px 0 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }

@media (max-width: 900px) {
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .wide { grid-column: auto; }
  .inline-fields { grid-template-columns: 1fr; }
}
