.course-editor-dialog { width: min(820px, calc(100vw - 32px)); max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); margin: auto; padding: 0; border: 1px solid #d4e0ef; border-radius: 16px; color: #253f60; background: #fff; box-shadow: 0 22px 70px #16345b35; overflow: auto; box-sizing: border-box; }
.course-editor-dialog::backdrop { background: #12284485; }
.course-editor-dialog * { box-sizing: border-box; }
.course-editor-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 20px 24px; border-bottom: 1px solid #e4ebf4; }
.course-editor-header h2 { margin: 4px 0 0; font-size: 21px; }
.course-editor-header p { margin: 0; color: #657b95; font-size: 13px; overflow-wrap: anywhere; }
.course-editor-body { padding: 20px 24px 0; }
.course-editor-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; min-width: 0; }
.course-editor-wide { grid-column: 1 / -1; }
.course-editor-form label { display: grid; gap: 7px; min-width: 0; font-size: 14px; font-weight: 600; }
.course-editor-dialog input:not([type="checkbox"]), .course-editor-dialog select, .course-editor-dialog textarea { width: 100%; min-width: 0; min-height: 42px; padding: 10px 12px; border: 1px solid #cddbe9; border-radius: 8px; background: #fff; color: #243f60; font: inherit; }
.course-editor-dialog textarea { resize: vertical; }
.course-editor-dialog button { min-height: 38px; border: 1px solid #cad9e9; border-radius: 8px; padding: 8px 14px; background: #f7faff; color: #315981; font: inherit; font-size: 13px; cursor: pointer; }
.course-editor-dialog button:disabled { opacity: .45; cursor: default; }
.course-editor-dialog .course-editor-primary { background: #326db0; border-color: #326db0; color: #fff; }
.course-editor-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.course-editor-materials { min-width: 0; margin: 0; padding: 14px; border: 1px solid #d9e4f0; border-radius: 10px; }
.course-editor-materials legend { padding: 0 6px; font-weight: 600; }
.course-editor-materials > div { max-height: 280px; overflow: auto; display: grid; gap: 8px; }
.course-editor-materials p, .course-editor-hint { margin: 0 0 12px; color: #667c93; font-size: 13px; font-weight: 400; line-height: 1.65; }
.course-editor-dialog label.course-editor-check { display: flex; align-items: center; gap: 9px; padding: 5px 0; }
.course-editor-check input[type="checkbox"] { width: 18px; height: 18px; min-height: 18px; flex: 0 0 auto; }
.course-editor-check span { overflow-wrap: anywhere; }
.course-editor-check small { display: block; margin-top: 3px; color: #73869c; font-weight: 400; }
.course-editor-message { min-height: 20px; margin: 12px 24px 20px; color: #2c725c; font-size: 13px; }
.course-editor-message.is-error { color: #b53d35; }
.course-editor-outline { list-style: none; padding: 0; margin: 0 0 20px; display: grid; gap: 10px; }
.course-editor-outline li { padding: 14px; border: 1px solid #dbe5f0; border-radius: 10px; background: #f8fbff; min-width: 0; }
.course-section-info { margin-bottom: 12px; overflow-wrap: anywhere; }
.course-section-info strong { display: block; font-size: 15px; }
.course-section-info span, .course-section-info p { font-size: 13px; color: #6b7f94; }
.course-section-info p { margin: 8px 0 0; white-space: pre-wrap; }
.course-section-form { padding-top: 18px; border-top: 1px solid #e2eaf3; }
.course-section-form h3 { margin: 0; font-size: 16px; }
.course-section-confirm { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #e0e8f1; color: #9c493c; font-size: 13px; }
.course-editor-empty { color: #657b95; font-size: 14px; }
@media (max-width: 600px) {
  .course-editor-dialog { width: calc(100vw - 20px); max-width: calc(100vw - 20px); max-height: calc(100dvh - 20px); border-radius: 12px; }
  .course-editor-header { padding: 16px; }
  .course-editor-header > div { min-width: 0; }
  .course-editor-header button { flex: 0 0 auto; }
  .course-editor-body { padding: 16px 16px 0; }
  .course-editor-form { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .course-editor-dialog button { min-height: 44px; }
  .course-editor-dialog input:not([type="checkbox"]), .course-editor-dialog select, .course-editor-dialog textarea { font-size: 16px; }
  .course-editor-message { margin: 12px 16px 16px; }
}

.course-editor-page{display:block;width:100%;max-width:none;max-height:none;overflow:visible;margin:0;border:1px solid #dfe7ee;border-radius:14px;box-shadow:none;background:#fff}.course-editor-page .course-editor-header h2{display:none}.course-editor-page .course-editor-header{padding:20px 26px}.course-editor-page .course-editor-header p{font-size:16px;font-weight:650;color:#243f60}.course-editor-page .course-editor-body{padding:24px 26px 0}.course-editor-page .course-editor-form{gap:22px 24px}.course-editor-page .course-editor-actions.course-editor-wide{justify-content:flex-end;border-top:1px solid #e0e8f1;padding-top:20px;margin-top:6px}.course-editor-page .course-editor-materials{padding:20px;background:#f9fbfd}.course-editor-page [hidden]{display:none!important}.course-editor-page .course-editor-primary{background:#197976;border-color:#197976}.course-editor-page .course-editor-message{margin:18px 26px 24px}.course-editor-page .course-section-form{padding-top:24px}
@media(max-width:600px){.course-editor-page{width:100%;max-width:none;max-height:none}.course-editor-page .course-editor-header{padding:16px;flex-wrap:wrap}.course-editor-page .course-editor-body{padding:18px 16px 0}.course-editor-page .course-editor-form{gap:18px}.course-editor-page .course-editor-materials{padding:14px}.course-editor-page .course-editor-message{margin:16px}.course-editor-page .course-editor-actions.course-editor-wide button{flex:1}}
