.admin-page { min-height: 100vh; background: #f1efe7; }
.admin-header { position: static; }
.admin-header-right { display: flex; align-items: center; gap: 18px; }
.admin-main { max-width: 1600px; min-height: 70vh; margin: 0 auto; padding: 37px 4.5vw 82px; }
.admin-login-panel { min-height: 475px; display: grid; grid-template-columns: 1fr .75fr; align-items: center; gap: 9vw; padding: 48px; background: #fffdf6; border: 1px solid #dedfd6; }
.admin-login-copy h1, .admin-title-row h1 { font-size: clamp(44px, 5vw, 67px); }
.admin-login-copy > p:not(.eyebrow) { max-width: 520px; color: #6c7772; font-size: 12px; line-height: 1.8; }
.admin-lock-note { display: flex; align-items: center; gap: 12px; margin-top: 29px; color: var(--green); font: 10px var(--mono); }
.admin-lock-note small { color: #7a8580; font: 9px var(--sans); }
.lock-glyph { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #c8d2c7; border-radius: 50%; }
.admin-login-form { padding: 25px; background: #e7eee6; }
.admin-login-form label { display: grid; gap: 7px; margin-bottom: 17px; color: #53615c; font-size: 10px; font-weight: 700; }
.admin-login-form input { min-height: 44px; padding: 10px; border: 1px solid #cbd5cc; background: #fffefa; color: var(--green); }
.admin-login-form .quiet-note { margin: 14px 0 0; }
.admin-title-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; padding: 7px 0 35px; }
.admin-title-row > p { max-width: 330px; margin: 0 0 7px; color: #6d7973; font-size: 11px; line-height: 1.8; }
.admin-stat-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 9px; margin-bottom: 18px; }
.admin-stat { padding: 15px; background: #fffdf6; border: 1px solid #e0e1d9; }
.admin-stat strong { display: block; color: var(--green); font: 500 27px var(--serif); }
.admin-stat span { color: #77827c; font: 8px var(--mono); text-transform: uppercase; letter-spacing: .06em; }
.admin-shell { display: grid; grid-template-columns: 220px minmax(0,1fr); align-items: start; gap: 14px; }
.admin-sidebar { position: sticky; top: 94px; padding: 19px 12px 14px; background: var(--green); color: #eaf0e9; }
.admin-sidebar > .eyebrow { padding: 0 8px; color: #e4a58f; }
.admin-sidebar nav { display: grid; gap: 2px; }
.admin-nav-item { width: 100%; padding: 9px 8px; border: 0; background: transparent; color: #c6d2ca; text-align: left; font-size: 10px; cursor: pointer; }
.admin-nav-item:hover, .admin-nav-item.is-active { background: #315650; color: white; }
.admin-sidebar-note { display: flex; gap: 9px; align-items: flex-start; margin: 20px 8px 5px; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.18); color: #d0ddd2; font: 8px var(--mono); line-height: 1.6; }
.admin-sidebar-note .status-dot { margin-top: 3px; background: #a8c99f; }
.admin-sidebar-note small { color: #9eb1a6; font: 8px var(--sans); }
.admin-workspace { min-width: 0; padding: 24px; background: #fffdf7; border: 1px solid #e0e1d9; }
.admin-pane[hidden], #admin-login-panel[hidden], #admin-dashboard[hidden] { display: none !important; }
.admin-pane-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 22px; padding-bottom: 14px; border-bottom: 1px solid #d8dbd3; }
.admin-pane-heading h2 { margin: 3px 0 0; color: var(--green); font: 500 29px var(--serif); }
.admin-pane-heading .eyebrow { margin-bottom: 5px; }
.admin-content-tools, .curriculum-controls { display: flex; justify-content: space-between; align-items: end; flex-wrap: wrap; gap: 12px; margin-bottom: 17px; }
.admin-content-tools label, .curriculum-controls label { min-width: 230px; display: grid; gap: 5px; color: #63716b; font-size: 10px; }
.admin-content-tools select, .curriculum-controls select { min-height: 40px; padding: 8px; border: 1px solid #d5d9d1; background: #fffefa; color: var(--green); }
#content-editor-fields { display: grid; grid-template-columns: repeat(2,1fr); gap: 13px; margin-bottom: 17px; }
.content-field { display: grid; gap: 6px; color: #53615c; font-size: 10px; font-weight: 700; }
.content-field.full-width { grid-column: 1 / -1; }
.content-field small { color: #859089; font-size: 8px; font-weight: 400; }
.content-field textarea { min-height: 80px; resize: vertical; }
.content-field textarea.json-editor { min-height: 180px; font: 10px/1.6 var(--mono); }
.admin-grid-two { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(290px,.9fr); gap: 18px; align-items: start; }
.admin-table-wrap { min-width: 0; overflow: auto; }
.admin-table { display: grid; gap: 8px; min-width: 0; }
.admin-table-card { padding: 13px; background: #f6f5ee; border: 1px solid #e0e1d9; }
.admin-table-card h3 { margin: 0 0 5px; color: var(--green); font: 500 16px var(--serif); }
.admin-table-card p { margin: 3px 0; color: #738079; font-size: 9px; overflow-wrap: anywhere; }
.admin-table-card .table-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 9px; }
.admin-table-card button, .table-actions button { padding: 6px 8px; border: 1px solid #c9d1c9; background: transparent; color: var(--green); font-size: 9px; cursor: pointer; }
.admin-table-card button:hover { background: var(--green); color: white; }
.admin-form { display: grid; gap: 10px; padding: 17px; background: #eef1e9; border: 1px solid #dce1d8; }
.admin-form h3 { margin: 0 0 3px; color: var(--green); font: 500 21px var(--serif); }
.admin-form label { display: grid; gap: 5px; color: #53615c; font-size: 9px; }
.admin-form label small { color: #89938d; font-size: 8px; }
.admin-form input, .admin-form textarea { min-height: 34px; padding: 7px; font-size: 10px; }
.admin-form textarea { resize: vertical; }
.admin-form-inline { max-width: 600px; margin-bottom: 20px; }
.checkbox-row { display: flex; gap: 18px; }
.checkbox-row label { display: flex; align-items: center; gap: 7px; }
.checkbox-row input { width: 14px; min-height: 14px; }
.curriculum-editor { display: grid; gap: 10px; margin: 14px 0 17px; }
.curriculum-module-card { padding: 15px; border: 1px solid #dfe1d8; background: #f7f6ef; }
.curriculum-module-card > h3 { margin: 0 0 8px; color: var(--green); font: 500 18px var(--serif); }
.curriculum-lesson-row { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid #e0e2d9; color: #6d7973; font-size: 9px; }
.curriculum-lesson-row small { display: block; color: #9a7d62; font: 8px var(--mono); }
.payment-settings { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin-bottom: 25px; }
.payment-setting-card { padding: 14px; background: #eff3eb; border: 1px solid #dbe2d7; }
.payment-setting-card h3 { margin: 0 0 4px; color: var(--green); font: 500 17px var(--serif); }
.payment-setting-card p { margin: 4px 0 9px; color: #718078; font-size: 9px; }
.payment-setting-card label { display: grid; gap: 6px; color: #63716b; font-size: 9px; }
.payment-setting-card textarea, .payment-setting-card input, .payment-setting-card select { width: 100%; min-height: 40px; padding: 8px; border: 1px solid #ccd6cb; background: #fffefa; color: var(--green); font-size: 9px; }
.payment-setting-card .payment-toggle { display: flex; align-items: center; gap: 7px; margin: 9px 0; }
.payment-setting-card .payment-toggle input { width: 14px; min-height: 14px; }
.admin-feedback { margin-top: 15px; color: #6c7b71; font-size: 10px; }
.admin-footer { margin-top: 0; }
@media (max-width: 1050px) {
  .admin-stat-grid { grid-template-columns: repeat(3,1fr); }
  .admin-shell { grid-template-columns: 190px minmax(0,1fr); }
  .admin-grid-two { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .admin-main { padding: 26px 14px 55px; }
  .admin-login-panel { grid-template-columns: 1fr; gap: 25px; padding: 24px 18px; }
  .admin-title-row { display: block; }
  .admin-title-row > p { margin-top: 15px; }
  .admin-stat-grid { grid-template-columns: repeat(2,1fr); }
  .admin-shell { grid-template-columns: 1fr; }
  .admin-sidebar { position: static; padding: 14px 10px; }
  .admin-sidebar nav { grid-template-columns: repeat(2,1fr); }
  .admin-workspace { padding: 15px 12px; }
  .admin-pane-heading { align-items: flex-start; }
  #content-editor-fields { grid-template-columns: 1fr; }
  .content-field.full-width { grid-column: auto; }
  .payment-settings { grid-template-columns: 1fr; }
  .admin-header-right .text-link { display: none; }
}


.curriculum-inline-form { display: grid; gap: 10px; padding: 13px; background: #fffefa; border: 1px solid #e0e2d9; }
.curriculum-children { display: grid; gap: 8px; margin-top: 12px; }
.curriculum-lesson-edit { background: #fffefa; border: 1px solid #dfe2d9; }
.curriculum-lesson-edit summary { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 11px; color: var(--green); font-size: 10px; cursor: pointer; }
.curriculum-lesson-edit summary small { color: #8a7762; font: 8px var(--mono); }
.curriculum-lesson-edit > form { margin: 0 11px 12px; }
.curriculum-quiz-list { display: grid; gap: 10px; margin-top: 19px; padding-top: 17px; border-top: 1px solid #d8dbd3; }
.curriculum-quiz-list > h3 { margin: 0; color: var(--green); font: 500 22px var(--serif); }
.checkbox-label { display: flex !important; align-items: center; gap: 8px; }
.checkbox-label input { width: 14px; min-height: 14px; }
.admin-record-dialog { width: min(94vw, 700px); max-height: 90vh; padding: 22px; border: 1px solid #d4ddd5; background: #fffdf7; color: var(--green); box-shadow: 0 25px 70px rgba(24,59,56,.24); overflow: auto; }
.admin-dialog-form { display: grid; gap: 13px; }
.admin-dialog-form .admin-pane-heading { margin-bottom: 2px; }
.admin-dialog-fields { display: grid; gap: 12px; }
.admin-dialog-fields label { display: grid; gap: 5px; color: #53615c; font-size: 10px; }
.admin-dialog-fields input, .admin-dialog-fields textarea, .admin-dialog-fields select { width: 100%; padding: 9px; border: 1px solid #d5d9d1; background: #fffefa; color: var(--green); font-size: 11px; }
.admin-dialog-actions { display: flex; justify-content: flex-end; gap: 9px; }
.bank-settings { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; padding: 10px; border: 1px solid #d4ddd5; background: #fffefa; }
.bank-settings summary { grid-column: 1/-1; color: var(--green); font-size: 10px; font-weight: 700; cursor: pointer; }
.bank-settings[open] summary { margin-bottom: 3px; }
.bank-settings label { display: grid; gap: 5px; color: #63716b; font-size: 9px; }
.bank-settings input { width: 100%; min-height: 34px; padding: 7px; border: 1px solid #ccd6cb; background: #fffefa; color: var(--green); font-size: 10px; }
.payment-setting-card .payment-toggle input { width: 14px; min-height: 14px; padding: 0; }
.owner-email-panel { margin: 18px 0 24px; padding: 16px; border: 1px solid #dbe2d7; background: #eff3eb; }
.owner-email-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 15px; }
.owner-email-head h3 { margin: 0 0 5px; color: var(--green); font: 500 22px var(--serif); }
.owner-email-head p { margin: 4px 0; color: #63716b; font-size: 10px; }
.owner-email-head .field-help { max-width: 660px; line-height: 1.6; }
.owner-email-head code { overflow-wrap: anywhere; font: 9px var(--mono); }
.owner-email-list { display: grid; gap: 7px; margin-top: 10px; }
.owner-email-row { padding: 9px 11px; background: #fffefa; border: 1px solid #e0e1d9; }
.owner-email-row strong { color: var(--green); font-size: 10px; }
.owner-email-row p, .owner-email-row small { display: block; margin: 4px 0; color: #738079; font-size: 9px; }
.owner-email-row small { color: #9b5d4d; }
@media (max-width: 760px) { .admin-record-dialog { padding: 14px; } .curriculum-inline-form .admin-grid-two { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .bank-settings { grid-template-columns: 1fr; } .owner-email-head { display: grid; } }

.certificate-dialog { width: min(96vw, 1100px); }
.certificate-dialog::backdrop { background: rgba(24, 59, 56, .38); }
.certificate-dialog-form { gap: 17px; }
.certificate-dialog-layout { display: grid; grid-template-columns: minmax(280px, .78fr) minmax(390px, 1.22fr); gap: 22px; align-items: start; }
.certificate-dialog-fields { display: grid; gap: 12px; }
.certificate-dialog-fields label { display: grid; gap: 5px; color: #53615c; font-size: 10px; }
.certificate-dialog-fields label small { color: #89938d; font-size: 8px; font-weight: 400; }
.certificate-dialog-fields input, .certificate-dialog-fields select { width: 100%; min-height: 39px; padding: 8px; border: 1px solid #d5d9d1; background: #fffefa; color: var(--green); font-size: 11px; }
.certificate-linked-record { display: grid; gap: 4px; padding: 11px; border: 1px solid #d6dfd5; background: #eef3ec; color: var(--green); }
.certificate-linked-record strong { font-size: 11px; }
.certificate-linked-record small { color: #748079; font-size: 9px; }
.certificate-approval-check { display: flex !important; grid-template-columns: auto 1fr; align-items: flex-start; gap: 8px !important; padding: 9px 10px; border: 1px solid #d6dfd5; background: #f2f5ef; line-height: 1.5; }
.certificate-approval-check input { width: 15px; min-height: 15px; margin-top: 1px; }
.certificate-preview-panel { min-width: 0; padding: 12px; border: 1px solid #d9dfd6; background: #eef1e9; }
.certificate-draft-banner { margin-bottom: 10px; padding: 8px 10px; border: 1px solid #e2b4a3; background: #fff1eb; color: #965640; font: 9px var(--mono); letter-spacing: .06em; text-align: center; }
.certificate-preview-stage { min-height: 330px; display: grid; place-items: center; padding: 15px; overflow: auto; background: #fffefa; border: 1px solid #dce2d9; }
.certificate-preview-stage > * { max-width: 100%; }
.certificate-preview-fallback { max-width: 320px; color: #748079; font-size: 10px; line-height: 1.6; text-align: center; }
.certificate-preview-panel > .field-help { display: block; margin-top: 9px; line-height: 1.5; }
.certificate-admin-card .table-actions { align-items: center; }
.certificate-admin-card .table-actions .field-help { margin-right: 4px; }
@media (max-width: 820px) {
  .certificate-dialog-layout { grid-template-columns: 1fr; }
  .certificate-preview-panel { order: -1; }
  .certificate-preview-stage { min-height: 250px; }
}
