:root {
    color-scheme: light;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #17201b;
    background: #f3f6f4;
}

* { box-sizing: border-box; }
body { margin: 0; background: #f3f6f4; color: #17201b; }
a { color: #177b45; }
button, input, select, textarea { font: inherit; }
input, select, textarea { width: 100%; border: 1px solid #cbd5ce; border-radius: 5px; padding: 10px 12px; background: #fff; color: #17201b; }
textarea { resize: vertical; line-height: 1.5; }
label { display: grid; gap: 7px; font-size: 14px; font-weight: 650; }
button, .admin-button { border: 0; border-radius: 5px; padding: 10px 16px; background: #177b45; color: #fff; font-weight: 700; cursor: pointer; text-decoration: none; }
button:hover, .admin-button:hover { background: #0d6536; }

.admin-header { min-height: 62px; padding: 0 28px; display: flex; align-items: center; justify-content: space-between; gap: 24px; background: #14251b; color: #fff; }
.admin-brand { color: #fff; font-size: 18px; font-weight: 800; text-decoration: none; }
.admin-header nav { display: flex; align-items: center; gap: 22px; }
.admin-header nav a { color: #e7f3eb; text-decoration: none; font-size: 14px; }
.admin-shell { width: min(1440px, calc(100% - 40px)); margin: 34px auto 70px; }
.admin-title { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.admin-title h1 { margin: 0; font-size: 30px; }
.admin-title p { margin: 5px 0 0; color: #647068; }
.admin-alert { margin: 0 0 20px; padding: 12px 15px; border-radius: 5px; background: #dff3e7; color: #12572f; }
.admin-alert.error { background: #fbe2e2; color: #8c2020; }

.admin-table-wrap { overflow-x: auto; background: #fff; border: 1px solid #dce3de; border-radius: 8px; }
.admin-table { width: 100%; border-collapse: collapse; }
.admin-table th, .admin-table td { padding: 13px 15px; border-bottom: 1px solid #e6ebe7; text-align: left; vertical-align: middle; }
.admin-table th { background: #f8faf8; color: #5d6961; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.admin-table tr:last-child td { border-bottom: 0; }
.admin-table td small { display: block; margin-top: 4px; color: #7a857e; }
.admin-table input, .admin-table select { min-width: 130px; padding: 7px 8px; }
.admin-table .admin-order { min-width: 70px; width: 70px; }
.admin-actions { display: flex; align-items: center; gap: 12px; white-space: nowrap; }
.admin-actions form { display: inline; }
.admin-actions button { padding: 7px 10px; }
.admin-actions .danger, .admin-delete button { background: #a72e2e; }
.admin-pagination { display: flex; gap: 7px; margin-top: 22px; }
.admin-pagination a, .admin-pagination strong { min-width: 34px; padding: 7px; border-radius: 4px; text-align: center; text-decoration: none; background: #fff; border: 1px solid #d3dbd5; }
.admin-pagination strong { background: #177b45; color: #fff; border-color: #177b45; }

.admin-post-form { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 28px; align-items: start; }
.admin-editor-main, .admin-editor-side { display: grid; gap: 20px; padding: 24px; background: #fff; border: 1px solid #dce3de; border-radius: 8px; }
.admin-editor-side { position: sticky; top: 20px; }
.admin-editor-side fieldset { margin: 0; border: 1px solid #dce3de; border-radius: 5px; padding: 12px; }
.admin-editor-side legend { padding: 0 5px; font-size: 14px; font-weight: 700; }
.admin-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 18px; }
.admin-category-options { display: grid; gap: 9px; }
.admin-category-options label { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.admin-category-options input { width: auto; }
.editor-toolbar { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: -14px; }
.editor-toolbar button { padding: 7px 11px; background: #e8eee9; color: #28342c; font-size: 13px; }
.editor-toolbar button:hover { background: #d6e0d8; }
#post-content { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 14px; }
.admin-delete { margin-top: 22px; text-align: right; }
.admin-card { display: grid; gap: 20px; padding: 24px; background: #fff; border: 1px solid #dce3de; border-radius: 8px; }
.admin-course-form { max-width: 1000px; }
.admin-lesson-form { max-width: 1000px; }
.admin-course-lessons { margin-top: 38px; }
.admin-course-lessons h2 { margin: 0; font-size: 24px; }
.admin-check { display: flex; align-items: center; gap: 9px; font-weight: 600; }
.admin-check input { width: auto; margin: 0; }
.admin-form-actions { display: flex; justify-content: flex-end; }
.admin-code-editor { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 14px; }
label small { color: #6d7871; font-weight: 400; line-height: 1.35; }

.admin-category-new { display: grid; grid-template-columns: 2fr 2fr 1fr 110px auto; gap: 12px; margin-bottom: 22px; padding: 18px; background: #fff; border: 1px solid #dce3de; border-radius: 8px; }
.admin-login { min-height: 100vh; display: grid; place-items: center; padding: 25px; }
.admin-login form { width: min(420px, 100%); display: grid; gap: 18px; padding: 34px; background: #fff; border: 1px solid #dce3de; border-radius: 10px; box-shadow: 0 16px 45px rgba(20, 37, 27, .08); }
.admin-login h1 { margin: 0 0 8px; }
.admin-login a { text-align: center; font-size: 14px; }

@media (max-width: 900px) {
    .admin-header { padding: 15px 20px; align-items: flex-start; }
    .admin-header nav { flex-wrap: wrap; gap: 10px 16px; justify-content: flex-end; }
    .admin-post-form { grid-template-columns: 1fr; }
    .admin-editor-side { position: static; }
    .admin-category-new { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
    .admin-header { display: block; }
    .admin-header nav { margin-top: 12px; justify-content: flex-start; }
    .admin-shell { width: min(100% - 24px, 1440px); margin-top: 22px; }
    .admin-title { align-items: flex-start; }
    .admin-grid, .admin-category-new { grid-template-columns: 1fr; }
    .admin-editor-main, .admin-editor-side, .admin-card { padding: 16px; }
}
