:root {
    --admin-green-950: #102c19;
    --admin-green-900: #173f22;
    --admin-green-800: #245c2c;
    --admin-green-700: #317a32;
    --admin-orange: #eea510;
    --admin-bg: #f4f7f3;
    --admin-card: #ffffff;
    --admin-text: #172019;
    --admin-muted: #5e695f;
    --admin-line: #dfe6df;
    --admin-danger: #b63d3d;
    --sidebar-width: 272px;
    --admin-shadow: 0 18px 50px rgba(20, 48, 27, .08);
}

*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: light; }
body { margin: 0; color: var(--admin-text); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
button:disabled, input:disabled, select:disabled, textarea:disabled { cursor: not-allowed; opacity: .72; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.admin-body { min-height: 100vh; background: var(--admin-bg); }
.admin-sidebar { position: fixed; z-index: 50; inset: 0 auto 0 0; width: var(--sidebar-width); display: flex; flex-direction: column; color: rgba(255,255,255,.72); background: var(--admin-green-950); }
.admin-brand { min-height: 102px; padding: 14px 24px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid rgba(255,255,255,.09); }
.admin-brand img { width: 96px; min-width: 64px; flex-shrink: 1; height: auto; margin: -18px 0; filter: brightness(1.2); }
.admin-brand span { min-width: 0; flex-shrink: 0; white-space: nowrap; overflow-wrap: normal; padding-left: 10px; border-left: 1px solid rgba(255,255,255,.18); font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.admin-navigation { flex: 1; padding: 22px 14px; overflow-y: auto; }
.admin-nav-group { margin-top: 8px; border-top: 1px solid rgba(255,255,255,.09); padding-top: 6px; }
.admin-nav-group > summary { min-height: 44px; padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-radius: 10px; color: rgba(255,255,255,.85); cursor: pointer; list-style: none; font-size: 12px; font-weight: 800; }
.admin-nav-group > summary::-webkit-details-marker { display: none; }
.admin-nav-group > summary:hover { color: #fff; background: rgba(255,255,255,.06); }
.admin-nav-group > summary:focus-visible { outline: 2px solid #ffc343; outline-offset: -2px; }
.admin-nav-group[open] > summary { color: #ffc343; }
.admin-nav-chevron { font-size: 22px; line-height: 1; }
.admin-nav-group[open] > summary .admin-nav-chevron { transform: rotate(90deg); }
.admin-nav-group-links { padding: 2px 0 6px 6px; }
.admin-navigation a { min-height: 44px; padding: 7px 12px; display: flex; align-items: center; gap: 12px; border-radius: 10px; font-size: 13px; font-weight: 650; transition: background .18s ease, color .18s ease; }
.admin-navigation a:hover { color: #fff; background: rgba(255,255,255,.06); }
.admin-navigation a.is-active { color: #fff; background: rgba(238,165,16,.14); }
.nav-icon { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; color: #ffc343; font-size: 11px; font-weight: 900; }
.admin-sidebar-footer { padding: 18px 24px 22px; display: grid; gap: 11px; border-top: 1px solid rgba(255,255,255,.09); font-size: 12px; }
.admin-sidebar-footer a:hover { color: #fff; }
.admin-sidebar-footer form, .admin-sidebar-footer button { width: 100%; }
.admin-sidebar-footer button { padding: 10px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 9px; color: #fff; background: transparent; text-align: left; }
.admin-workspace { min-height: 100vh; margin-left: var(--sidebar-width); }
.admin-topbar { position: sticky; z-index: 30; top: 0; min-height: 78px; padding: 0 34px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--admin-line); background: rgba(255,255,255,.94); backdrop-filter: blur(12px); }
.breadcrumbs { display: flex; align-items: center; gap: 9px; color: var(--admin-muted); font-size: 12px; }
.breadcrumbs a:hover { color: var(--admin-green-700); }
.admin-user { display: flex; align-items: center; gap: 10px; }
.admin-user > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #e5efe3; color: var(--admin-green-800); font-size: 13px; font-weight: 900; }
.admin-user div { display: grid; }
.admin-user strong { font-size: 12px; }
.admin-user small { color: var(--admin-muted); font-size: 10px; }
.admin-menu-button { display: none; align-items: center; gap: 4px; border: 0; background: transparent; }
.admin-menu-button span { width: 18px; height: 2px; display: block; background: var(--admin-green-900); }
.admin-menu-button b { margin-left: 8px; font-size: 12px; }
.admin-overlay { display: none; }
.admin-content { width: min(100%, 1480px); margin-inline: auto; padding: 38px 38px 70px; }
.admin-alert { margin-bottom: 20px; padding: 14px 18px; border: 1px solid #c9ddc7; border-radius: 12px; background: #edf7eb; color: var(--admin-green-900); font-size: 13px; }
.admin-page-heading { margin-bottom: 30px; display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; }
.admin-page-heading h1 { margin: 4px 0 8px; font-size: clamp(30px, 3vw, 43px); line-height: 1.1; letter-spacing: -.04em; }
.admin-page-heading > div > p:last-child { max-width: 670px; margin: 0; color: var(--admin-muted); font-size: 14px; line-height: 1.65; }
.admin-kicker { margin: 0; color: var(--admin-green-700); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.admin-primary-button, .admin-secondary-button { min-height: 43px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; font-size: 12px; font-weight: 850; }
.admin-primary-button { border: 1px solid var(--admin-green-800); color: #fff; background: var(--admin-green-800); }
.admin-secondary-button { border: 1px solid #cbd5cc; color: var(--admin-green-900); background: #fff; }
.admin-metrics { margin-bottom: 24px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.metric-card { min-height: 126px; padding: 20px; display: block; border: 1px solid var(--admin-line); border-radius: 16px; color: inherit; background: #fff; box-shadow: 0 8px 24px rgba(20,48,27,.04); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.metric-card:hover { border-color: #a9beab; box-shadow: 0 12px 30px rgba(20,48,27,.09); transform: translateY(-2px); }
.metric-card:focus-visible { outline: 3px solid rgba(64,146,73,.32); outline-offset: 3px; }
.metric-card > span { display: block; margin-bottom: 20px; font-size: 31px; font-weight: 820; letter-spacing: -.04em; }
.metric-card p { margin: 0; color: var(--admin-muted); font-size: 11px; font-weight: 700; line-height: 1.4; }
.metric-card small { display: block; margin-top: 8px; color: var(--admin-green-700); font-size: 10px; font-weight: 800; }
.metric-green { border-top: 3px solid #409249; }.metric-orange { border-top: 3px solid #eea510; }.metric-blue { border-top: 3px solid #4c79b9; }.metric-gray { border-top: 3px solid #87928a; }.metric-purple { border-top: 3px solid #8069a8; }.metric-red { border-top: 3px solid #c75454; }
.dashboard-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; }
.admin-panel { border: 1px solid var(--admin-line); border-radius: 17px; background: var(--admin-card); box-shadow: 0 8px 25px rgba(20,48,27,.035); }
.admin-panel-heading { padding: 24px 25px 18px; border-bottom: 1px solid #edf1ed; }
.admin-panel-heading h2, .admin-panel > h2 { margin: 4px 0 0; font-size: 18px; }
.quick-actions { padding: 18px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.quick-actions a { min-height: 58px; padding: 12px 14px; display: flex; align-items: center; gap: 11px; border: 1px solid #e3e9e3; border-radius: 11px; font-size: 12px; font-weight: 750; }
.quick-actions a:hover { border-color: #bcd1bd; background: #f8fbf7; }
.quick-actions span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; background: #e8f2e5; color: var(--admin-green-700); font-size: 17px; }
.activity-row { margin: 0 24px; padding: 16px 0; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid #edf1ed; }
.activity-row > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: #f1f5f0; color: var(--admin-green-700); font-size: 11px; font-weight: 900; }
.activity-row div { display: grid; }.activity-row strong { font-size: 12px; }.activity-row small { color: var(--admin-muted); font-size: 10px; }
.admin-toolbar { padding: 17px 20px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--admin-line); }
.admin-toolbar input, .admin-toolbar select { min-height: 39px; padding: 0 12px; border: 1px solid #d8e0d8; border-radius: 9px; background: #fff; color: var(--admin-text); font-size: 12px; }
.admin-search { flex: 1; }.admin-search input { width: 100%; }
.status-badge { padding: 6px 10px; border-radius: 999px; font-size: 9px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.status-foundation { background: #fff1cf; color: #805600; }
.admin-table-wrap { overflow-x: auto; }
.admin-table-wrap table { width: 100%; border-collapse: collapse; }
.admin-table-wrap th { padding: 13px 20px; color: var(--admin-muted); background: #fafcfa; font-size: 10px; font-weight: 850; text-align: left; text-transform: uppercase; }
.admin-table-wrap td { padding: 20px; border-top: 1px solid #edf1ed; font-size: 12px; }.align-right { text-align: right !important; }
.admin-empty { padding: 72px 20px; display: grid; justify-items: center; text-align: center; }
.admin-empty.compact { padding: 55px 24px; }
.admin-empty > span { margin-bottom: 12px; color: #9fb0a1; font-size: 38px; }
.admin-empty strong { font-size: 14px; }.admin-empty p { max-width: 440px; margin: 7px 0 16px; color: var(--admin-muted); font-size: 12px; line-height: 1.6; }.admin-empty a { color: var(--admin-green-700); font-size: 11px; font-weight: 850; }
.form-heading { align-items: center; }.form-actions { display: flex; gap: 8px; }
.admin-form-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; align-items: start; }
.admin-form-card { padding: 25px; display: grid; gap: 20px; }
.admin-form-card label, .admin-form-aside label { display: grid; gap: 7px; }
.admin-form-card label > span, .admin-form-aside label > span { font-size: 11px; font-weight: 800; }
.admin-form-card input, .admin-form-card textarea, .admin-form-aside select { width: 100%; padding: 11px 12px; border: 1px solid #d9e1d9; border-radius: 9px; color: var(--admin-text); background: #fbfcfb; font-size: 12px; resize: vertical; }
.admin-form-aside { display: grid; gap: 14px; }.admin-form-aside .admin-panel { padding: 22px; }.admin-form-aside h2 { margin: 0 0 17px; font-size: 15px; }
.consent-guard { margin-top: 18px; padding: 14px; border: 1px solid #ead7a9; border-radius: 10px; background: #fff9e9; }.consent-guard span { color: #875e08; font-size: 9px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }.consent-guard p { margin: 6px 0 0; color: #6c6047; font-size: 11px; line-height: 1.6; }
.danger-panel { border-color: #efd6d6; }.danger-panel p { color: var(--admin-muted); font-size: 11px; line-height: 1.6; }.danger-panel button { padding: 9px 12px; border: 1px solid #e4baba; border-radius: 8px; color: var(--admin-danger); background: #fff7f7; font-size: 11px; font-weight: 800; }

.admin-alert-error { border-color: #eccaca; color: #8c2f2f; background: #fff4f4; }
.admin-alert-error ul { margin: 8px 0 0; padding-left: 18px; }
.homepage-heading { align-items: center; }
.homepage-section-nav { position: sticky; z-index: 20; top: 78px; margin: -10px 0 20px; padding: 12px; display: flex; gap: 7px; overflow-x: auto; border: 1px solid var(--admin-line); border-radius: 14px; background: rgba(255,255,255,.96); box-shadow: 0 8px 25px rgba(20,48,27,.04); }
.homepage-section-nav a { flex: 0 0 auto; padding: 8px 11px; border-radius: 8px; color: var(--admin-muted); background: #f4f7f3; font-size: 11px; font-weight: 750; }
.homepage-section-nav a:hover { color: var(--admin-green-800); background: #eaf3e8; }
.homepage-editor { display: grid; gap: 12px; }
.homepage-section-card { scroll-margin-top: 155px; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 16px; background: #fff; box-shadow: 0 8px 25px rgba(20,48,27,.035); }
.homepage-section-card > summary { min-height: 76px; padding: 15px 20px; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 14px; cursor: pointer; list-style: none; }
.homepage-section-card > summary::-webkit-details-marker { display: none; }
.homepage-section-card > summary:hover { background: #fafcfa; }
.homepage-section-card > summary > span:nth-child(2) { display: grid; gap: 4px; }
.homepage-section-card > summary strong { font-size: 14px; }
.homepage-section-card > summary small { color: var(--admin-muted); font-size: 10px; font-weight: 500; }
.section-order { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; color: var(--admin-green-800); background: #eaf3e8; font-size: 10px; font-weight: 900; }
.status-published { color: #23692c; background: #e4f4e3; }.status-draft { color: #805600; background: #fff1cf; }.status-hidden { color: #59635c; background: #e9eeea; }
.homepage-section-body { padding: 24px; border-top: 1px solid #edf1ed; }
.homepage-section-form { display: grid; gap: 22px; }
.homepage-fields-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.homepage-fields-grid label, .repeatable-row label { display: grid; align-content: start; gap: 7px; }
.homepage-fields-grid label > span, .repeatable-row label > span { font-size: 11px; font-weight: 800; }
.homepage-fields-grid input, .homepage-fields-grid textarea, .homepage-fields-grid select, .repeatable-row input, .repeatable-row textarea, .repeatable-row select { width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid #d9e1d9; border-radius: 9px; color: var(--admin-text); background: #fbfcfb; font-size: 12px; resize: vertical; }
.homepage-fields-grid select[multiple] { min-height: 125px; }
.homepage-fields-grid small { color: var(--admin-muted); font-size: 10px; line-height: 1.5; }
.field-wide { grid-column: 1 / -1; }.field-grow { min-width: 260px; }.field-order { max-width: 85px; }
.repeatable-items { display: grid; gap: 10px; }
.repeatable-heading { display: flex; justify-content: space-between; align-items: center; gap:14px; }.repeatable-heading>div{min-width:0;display:grid;gap:4px}.repeatable-heading strong { font-size: 13px; }.repeatable-heading small { color: var(--admin-muted); font-size: 10px; line-height:1.5; }
.repeatable-row { margin: 0; padding: 15px; display: flex; align-items: end; gap: 12px; border: 1px solid #e2e9e2; border-radius: 12px; background: #fafcfa; }
.repeatable-row legend { padding: 0 7px; color: var(--admin-green-700); font-size: 10px; font-weight: 900; }
.inline-check { min-width: 84px; padding-bottom: 11px; display: flex !important; grid-auto-flow: column; align-items: center !important; gap: 7px !important; }
.inline-check input, .section-visibility input { width: 16px; height: 16px; min-height: 0; }
.homepage-form-footer, .homepage-publish-row { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.homepage-form-footer { padding-top: 18px; border-top: 1px solid #edf1ed; }
.section-visibility { margin-right: auto; display: flex; align-items: center; gap: 9px; color: var(--admin-muted); font-size: 11px; font-weight: 750; }
.homepage-publish-row { margin-top: 16px; padding-top: 16px; border-top: 1px dashed #dfe6df; }
.homepage-publish-row p { margin: 0 auto 0 0; color: var(--admin-muted); font-size: 10px; }
.homepage-publish-row form { margin: 0; }
.media-library-grid { padding-top: 18px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.media-library-card { min-width: 0; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 15px; background: #fff; box-shadow: 0 8px 22px rgba(20,48,27,.035); }
.media-thumbnail { aspect-ratio: 4/3; display: grid; place-items: center; overflow: hidden; color: var(--admin-muted); background: #edf2ec; font-weight: 900; }.media-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.media-card-copy { padding: 14px; display: grid; gap: 7px; }.media-card-copy .status-badge { margin-bottom: 2px; }.media-card-copy strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.media-card-copy p { min-height: 32px; margin: 0; color: var(--admin-muted); font-size: 11px; line-height: 1.45; }.media-card-copy small { color: var(--admin-muted); font-size: 9px; }
.media-edit-link { padding: 11px 14px; display: block; border-top: 1px solid #edf1ed; color: var(--admin-green-700); font-size: 10px; font-weight: 850; }
.admin-pagination { margin-top: 20px; }.media-upload-zone { min-height: 190px; padding: 22px; display: grid; place-items: center; align-content: center; gap: 9px; border: 2px dashed #b8c9b8; border-radius: 14px; background: #f7faf6; text-align: center; transition: border-color .15s ease,background .15s ease; }.media-upload-zone.is-dragging { border-color: var(--admin-green-700); background: #edf7eb; }.media-upload-zone span { font-size: 14px !important; }.media-upload-zone input { max-width: 100%; }.media-upload-zone small { color: var(--admin-muted); font-size: 10px; }.media-upload-zone strong { max-width: 100%; overflow: hidden; color: var(--admin-green-800); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.media-upload-status { margin: 10px 0 0; color: var(--admin-muted); font-size: 10px; text-align: center; }
.media-large-preview { min-height: 320px; display: grid; place-items: center; overflow: hidden; border-radius: 14px; background: #eef3ed; }.media-large-preview img { width: 100%; max-height: 580px; object-fit: contain; }.media-large-preview div { color: var(--admin-muted); font-size: 12px; }
.focal-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.media-consent-check { margin: 17px 0; display: grid !important; grid-template-columns: 18px 1fr; }.media-meta { color: var(--admin-muted); font-size: 11px; line-height: 1.75; }.media-archive-form { margin: 15px 0 0 auto; width: 320px; }.media-archive-form button { width: 100%; padding: 10px; border: 1px solid #e4baba; border-radius: 9px; color: var(--admin-danger); background: #fff7f7; font-size: 11px; font-weight: 800; }
.field-label { font-size: 11px; font-weight: 800; }.visual-media-picker { display: grid; gap: 10px; }.visual-media-picker [hidden], .media-picker-dialog [hidden] { display: none !important; }.selected-media-preview, .selected-gallery-item { padding: 10px; display: flex; align-items: center; gap: 12px; border: 1px solid #dce5dc; border-radius: 12px; background: #f8fbf7; }.selected-media-preview img, .selected-gallery-item img { width: 86px; height: 64px; flex: 0 0 auto; object-fit: cover; border-radius: 8px; }.selected-media-preview div, .selected-gallery-item > div { min-width: 0; display: grid; gap: 3px; }.selected-media-preview strong, .selected-gallery-item strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.selected-media-preview small, .selected-gallery-item small { color: var(--admin-muted); font-size: 9px; }.media-picker-actions { display: flex; gap: 8px; }.media-remove-button { border: 0; color: var(--admin-danger); background: transparent; font-size: 11px; font-weight: 800; }
.selected-gallery-media { display: grid; gap: 8px; }.gallery-order-actions { margin-left: auto; display: flex; gap: 5px; }.gallery-order-actions button { padding: 7px 9px; border: 1px solid #d6dfd6; border-radius: 7px; color: var(--admin-green-800); background: #fff; font-size: 10px; }.gallery-order-actions button:last-child { color: var(--admin-danger); }
.media-picker-dialog { width: min(1040px,calc(100% - 32px)); max-height: 86vh; padding: 0; border: 0; border-radius: 20px; box-shadow: 0 30px 100px rgba(5,24,11,.28); }.media-picker-dialog::backdrop { background: rgba(7,24,12,.65); }.media-picker-heading { position: sticky; z-index: 2; top: 0; padding: 20px 22px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--admin-line); background: #fff; }.media-picker-heading h2 { margin: 4px 0 0; }.media-picker-heading > button { width: 36px; height: 36px; border: 1px solid var(--admin-line); border-radius: 50%; background: #fff; font-size: 20px; }.media-picker-grid { padding: 18px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }.media-picker-option { min-width: 0; padding: 0; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 12px; color: inherit; background: #fff; text-align: left; }.media-picker-option:hover { border-color: var(--admin-green-700); box-shadow: 0 0 0 2px rgba(49,122,50,.1); }.media-picker-option.is-selected { border-color: var(--admin-green-700); box-shadow: 0 0 0 3px rgba(49,122,50,.22); }.media-picker-option.is-selected::after { content: 'Избрано'; position: absolute; top: 8px; right: 8px; padding: 5px 8px; border-radius: 999px; color: #fff; background: var(--admin-green-700); font-size: 9px; font-weight: 850; }.media-picker-option { position: relative; }.media-picker-option img { width: 100%; aspect-ratio: 4/3; display: block; object-fit: cover; }.media-picker-option > span { padding: 10px; display: grid; gap: 3px; }.media-picker-option strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.media-picker-option small { overflow: hidden; color: var(--admin-muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.media-picker-footer { position: sticky; bottom: 0; padding: 14px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid var(--admin-line); background: #fff; }.media-picker-footer a { color: var(--admin-green-700); font-size: 11px; font-weight: 850; }.media-picker-footer-actions { display: flex; align-items: center; gap: 9px; }.media-picker-footer-actions button:disabled { cursor: not-allowed; opacity: .5; }
.cta-editor-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }.cta-editor-card { margin: 0; padding: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; border: 1px solid #e0e7e0; border-radius: 13px; background: #fafcfa; }.cta-editor-card legend { padding: 0 7px; color: var(--admin-green-800); font-size: 11px; font-weight: 900; }.cta-editor-card label { display: grid; gap: 6px; }.cta-editor-card label > span { font-size: 10px; font-weight: 800; }.cta-editor-card input[type=text] { width: 100%; padding: 10px 11px; border: 1px solid #d9e1d9; border-radius: 8px; font-size: 11px; }.cta-checks { grid-column: 1/-1; display: flex; gap: 18px; }.cta-checks label { display: flex; align-items: center; grid-auto-flow: column; gap: 7px; }.cta-checks input { width: 15px; height: 15px; }

.admin-login-body { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: #eff4ed; }
.admin-login-shell { width: min(100%, 1020px); min-height: 650px; display: grid; grid-template-columns: 1fr .85fr; overflow: hidden; border: 1px solid #d9e3d8; border-radius: 30px; background: #fff; box-shadow: var(--admin-shadow); }
.admin-login-panel { padding: 62px clamp(34px, 6vw, 76px); display: flex; flex-direction: column; justify-content: center; }
.login-brand img { width: 154px; height: auto; margin: -35px 0 -15px; }
.admin-login-panel h1 { max-width: 410px; margin: 8px 0 13px; font-size: clamp(34px, 4vw, 48px); line-height: 1.08; letter-spacing: -.045em; }
.login-intro { max-width: 410px; margin: 0 0 28px; color: var(--admin-muted); font-size: 13px; line-height: 1.65; }
.admin-login-form { display: grid; gap: 17px; }.admin-login-form label { display: grid; gap: 7px; }.admin-login-form label span { font-size: 11px; font-weight: 800; }
.admin-login-form input { min-height: 48px; padding: 0 14px; border: 1px solid #cfdbcf; border-radius: 10px; background: #fbfcfb; outline: none; }.admin-login-form input:focus { border-color: var(--admin-green-700); box-shadow: 0 0 0 3px rgba(49,122,50,.1); }
.admin-login-form .admin-primary-button { width: 100%; min-height: 49px; margin-top: 4px; }
.form-error { margin: -5px 0 0; color: var(--admin-danger); font-size: 11px; }
.login-foundation-status { margin: 18px 0 0; padding: 11px 13px; border: 1px solid #ead7a9; border-radius: 9px; color: #6c6047; background: #fff9e9; font-size: 10px; line-height: 1.55; }
.login-security { margin: 20px 0 0; color: var(--admin-muted); font-size: 10px; }
.admin-login-aside { position: relative; padding: 52px; display: flex; align-items: flex-end; overflow: hidden; color: #fff; background: var(--admin-green-900); }
.admin-login-aside::before { position: absolute; width: 520px; height: 520px; top: -290px; right: -260px; content: ""; border: 60px solid rgba(238,165,16,.22); border-radius: 50%; }
.login-aside-mark { position: absolute; top: 70px; left: 50%; color: rgba(255,255,255,.06); font-size: 240px; font-weight: 900; transform: translateX(-50%); }
.admin-login-aside div { position: relative; }.admin-login-aside p { margin: 0 0 12px; color: #ffc343; font-size: 11px; font-weight: 900; letter-spacing: .12em; }.admin-login-aside h2 { margin: 0 0 20px; font-size: 32px; line-height: 1.2; letter-spacing: -.035em; }.admin-login-aside div > span { color: rgba(255,255,255,.55); font-size: 11px; }

@media (max-width: 1180px) { .admin-metrics { grid-template-columns: repeat(3, 1fr); }.dashboard-grid { grid-template-columns: 1fr; } }
@media (max-width: 900px) {
    .admin-sidebar { transform: translateX(-100%); transition: transform .24s ease; }.admin-menu-open .admin-sidebar { transform: translateX(0); }
    .admin-workspace { margin-left: 0; }.admin-menu-button { display: flex; flex-direction: column; align-items: flex-start; }.admin-topbar { padding-inline: 20px; }
    .admin-overlay { position: fixed; z-index: 40; inset: 0; width: 100%; border: 0; background: rgba(8,25,13,.5); }.admin-menu-open .admin-overlay { display: block; }
    .breadcrumbs { display: none; }.admin-content { padding: 28px 22px 60px; }.admin-form-grid { grid-template-columns: 1fr; }
    .admin-login-shell { grid-template-columns: 1fr; min-height: 0; }.admin-login-aside { min-height: 290px; }.admin-login-panel { padding-block: 48px; }
    .homepage-section-nav { top: 78px; }.homepage-fields-grid { grid-template-columns: 1fr; }.field-wide { grid-column: auto; }
    .repeatable-row { display: grid; grid-template-columns: 1fr 90px; }.repeatable-row .field-grow { grid-column: 1 / -1; }.inline-check { padding-bottom: 0; }
    .media-library-grid, .media-picker-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }.cta-editor-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .admin-user div { display: none; }.admin-content { padding-inline: 15px; }.admin-page-heading { align-items: stretch; flex-direction: column; }.admin-page-heading > a { width: 100%; }
    .admin-metrics { grid-template-columns: repeat(2, 1fr); }.metric-card { min-height: 112px; }.quick-actions { grid-template-columns: 1fr; }
    .admin-toolbar { align-items: stretch; flex-direction: column; }.admin-toolbar select { width: 100%; }.status-badge { width: fit-content; }
    .form-actions { display: grid; grid-template-columns: 1fr 1fr; }.form-actions .admin-primary-button { grid-column: 1 / -1; }.admin-login-body { padding: 0; }.admin-login-shell { min-height: 100vh; border: 0; border-radius: 0; }.admin-login-aside { display: none; }
    .homepage-section-card > summary { grid-template-columns: 34px 1fr; }.homepage-section-card > summary .status-badge { grid-column: 2; }.homepage-section-body { padding: 17px; }
    .repeatable-row { grid-template-columns: 1fr; }.repeatable-row .field-grow { grid-column: auto; }.field-order { max-width: none; }
    .homepage-form-footer, .homepage-publish-row { align-items: stretch; flex-direction: column; }.section-visibility, .homepage-publish-row p { margin-right: 0; }.homepage-publish-row a, .homepage-publish-row form, .homepage-publish-row button { width: 100%; }
    .media-library-grid, .media-picker-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.media-toolbar { display: grid; }.media-picker-toolbar { position: static; grid-template-columns: 1fr; }.media-picker-toolbar .admin-primary-button { width: 100%; }.media-picker-footer { align-items: stretch; flex-direction: column; gap: 9px; }.media-picker-footer-actions { display: grid; }.media-picker-footer button { width: 100%; }.media-picker-actions { align-items: stretch; flex-direction: column; }.media-picker-actions > * { width: 100%; text-align: center; }.selected-gallery-item { align-items: flex-start; flex-wrap: wrap; }.gallery-order-actions { width: 100%; margin-left: 98px; }.cta-editor-card { grid-template-columns: 1fr; }.cta-checks { grid-column: auto; }.media-archive-form { width: 100%; }.focal-fields { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; } }

.content-actions { display:flex; justify-content:flex-end; align-items:center; gap:6px; }
.content-actions form { margin:0; }.content-actions button,.content-actions a { padding:7px 9px; border:1px solid var(--admin-line); border-radius:7px; color:var(--admin-green-800); background:#fff; font-size:10px; font-weight:800; }
.workflow-actions { margin-top:14px; padding:20px; display:grid; gap:10px; }.workflow-actions form,.workflow-actions p { margin:0; }.workflow-actions button { width:100%; }
.preview-record { max-width:800px; margin:auto; padding:48px; border:1px solid var(--admin-line); border-radius:20px; background:#fff; box-shadow:var(--admin-shadow); }.preview-record h1 { font-size:42px; }.preview-record p { color:var(--admin-muted); line-height:1.7; }
.repeatable-heading > span { display:flex; align-items:center; gap:10px; }

.content-editor-stack { display:grid; gap:16px; }
.content-editor-section { padding:24px; display:grid; gap:17px; }
.content-editor-section > header { padding-bottom:14px; border-bottom:1px solid var(--admin-line); }
.content-editor-section > header h2 { margin:2px 0 5px; font-size:19px; }
.content-editor-section > header p:last-child { margin:0; color:var(--admin-muted); font-size:11px; line-height:1.55; }
.content-editor-section label,.publication-panel label { display:grid; gap:7px; }
.content-editor-section label > span,.publication-panel label > span { font-size:11px; font-weight:800; }
.content-editor-section input,.content-editor-section textarea,.content-editor-section select,.publication-panel input,.publication-panel select { width:100%; }
.field-help,.content-editor-section label small,.publication-panel label small { color:var(--admin-muted); font-size:9px; line-height:1.5; }
.subject-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.subject-choice { padding:12px; display:flex !important; grid-template-columns:18px 1fr; align-items:center; gap:10px !important; border:1px solid var(--admin-line); border-radius:10px; background:#fbfcfb; cursor:pointer; }
.subject-choice:has(input:checked) { border-color:var(--admin-green-700); background:#f1f7ef; box-shadow:0 0 0 2px rgba(49,122,50,.08); }
.subject-choice input { width:16px; height:16px; min-height:0; }
.subject-choice span { display:grid; gap:2px; }.subject-choice strong { font-size:11px; }.subject-choice small { font-size:9px; }
.inline-create-link { width:fit-content; }
.admin-table-thumb { width:54px; height:44px; object-fit:cover; border-radius:8px; }
.admin-table-placeholder { width:70px; min-height:44px; padding:5px; display:grid; place-items:center; border:1px dashed #cbd6cb; border-radius:8px; color:var(--admin-muted); background:#f7faf6; font-size:8px; text-align:center; }
.subject-tags { display:flex; flex-wrap:wrap; gap:5px; }.subject-tags span { padding:4px 7px; border-radius:999px; color:var(--admin-green-800); background:#edf5eb; font-size:9px; font-weight:800; }
.featured-choice-grid { margin-top:9px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.featured-choice { min-width:0; padding:10px; display:grid !important; grid-template-columns:18px 72px 1fr; align-items:center; gap:10px !important; border:1px solid var(--admin-line); border-radius:12px; background:#fff; cursor:pointer; }
.featured-choice:has(input:checked) { border-color:var(--admin-green-700); background:#f4f8f2; box-shadow:0 0 0 2px rgba(49,122,50,.08); }
.featured-choice > input { width:16px; height:16px; min-height:0; }.featured-choice-thumb { width:72px; height:54px; display:grid; place-items:center; overflow:hidden; border-radius:8px; color:var(--admin-muted); background:#edf2ec; font-size:8px; text-align:center; }.featured-choice-thumb img { width:100%; height:100%; object-fit:cover; }.featured-choice > span:last-child { min-width:0; display:grid; gap:4px; }.featured-choice strong { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.featured-choice small { overflow:hidden; color:var(--admin-muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.featured-choice em { font-style:normal; }
.media-picker-toolbar { position:sticky; z-index:2; top:91px; padding:12px 18px; display:grid; grid-template-columns:minmax(220px,1fr) 190px auto; gap:9px; border-bottom:1px solid var(--admin-line); background:#f8faf7; }
.media-picker-toolbar input,.media-picker-toolbar select { width:100%; min-height:40px; }.media-picker-toolbar .admin-primary-button { white-space:nowrap; }
.media-empty-state { min-height:104px; padding:20px; display:grid; place-items:center; align-content:center; gap:5px; border:2px dashed #cdd8cd; border-radius:12px; color:var(--admin-muted); background:#f8faf7; text-align:center; }.media-empty-state strong { color:var(--admin-green-900); font-size:13px; }.media-empty-state span { font-size:10px; }
.media-alt-readonly { display:grid; gap:7px; }.media-alt-readonly input { background:#f4f7f3; }
.teacher-image-section { border:2px solid rgba(49,122,50,.18); box-shadow:0 12px 34px rgba(20,70,30,.07); }
.subject-inline-actions,.publication-primary-actions { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }.publication-primary-actions > * { flex:1; text-align:center; }.publish-now-button { border-color:var(--admin-green-700); color:var(--admin-green-800); }.admin-cancel-link { padding:10px 12px; color:var(--admin-muted); font-size:11px; font-weight:800; }
.media-upload-complete { width:min(520px,calc(100% - 30px)); padding:32px; text-align:center; }.media-upload-complete img { width:100%; max-height:340px; object-fit:contain; border-radius:14px; background:#eef3ed; }.media-upload-complete h1 { font-size:28px; }
.module-primary-action-strip { margin:-10px 0 22px; padding:15px 18px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid #cfe0cd; border-radius:13px; background:#f3f8f1; }.module-primary-action-strip div { display:grid; gap:3px; }.module-primary-action-strip strong { color:var(--admin-green-900); font-size:12px; }.module-primary-action-strip span { color:var(--admin-muted); font-size:10px; }
@media(max-width:760px){.media-picker-toolbar{position:static;grid-template-columns:1fr}.media-picker-toolbar .admin-primary-button{width:100%}}
@media(max-width:620px){.subject-choice-grid,.featured-choice-grid{grid-template-columns:1fr}.content-editor-section{padding:18px}.featured-choice{grid-template-columns:18px 64px 1fr}.media-picker-actions,.subject-inline-actions,.publication-primary-actions,.module-primary-action-strip{align-items:stretch;flex-direction:column}.media-picker-actions button,.subject-inline-actions>*,.publication-primary-actions>*,.module-primary-action-strip>a{width:100%}}
.learning-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.learning-form-grid label,.learning-inline-form label { display:grid; gap:7px; }.learning-form-grid label>span,.learning-inline-form label>span { font-size:11px; font-weight:800; }
.learning-form-grid input,.learning-form-grid select,.learning-form-grid textarea,.learning-inline-form input,.learning-inline-form select { width:100%; padding:11px 12px; border:1px solid #d9e1d9; border-radius:9px; background:#fbfcfb; }
.learning-two-columns { margin-top:18px; display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start; }.learning-section { overflow:hidden; }
.learning-row { padding:15px 22px; display:flex; align-items:center; justify-content:space-between; gap:15px; border-top:1px solid #edf1ed; }.learning-row div { display:grid; gap:4px; }.learning-row small { color:var(--admin-muted); }
.learning-inline-form { margin:18px; padding:18px; display:grid; gap:14px; border:1px solid #dfe6df; border-radius:12px; background:#fafcfa; }.learning-inline-form h3 { margin:0; font-size:14px; }.learning-inline-form>a { color:var(--admin-green-700); font-size:11px; font-weight:800; }
.check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.check-grid label,.check-label { display:flex!important; flex-direction:row!important; align-items:center; gap:7px!important; font-size:11px; }.check-grid input,.check-label input { width:auto; }
.link-danger { padding:8px 11px; border:1px solid #e4baba; border-radius:8px; color:var(--admin-danger); background:#fff7f7; font-size:11px; font-weight:800; }.archive-line,.reference-actions { margin-top:18px; display:flex; justify-content:flex-end; gap:10px; }
@media(max-width:900px){.learning-two-columns,.learning-form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}}

/* Learning platform Phase 2A.2 */
.group-filter-grid { margin-bottom:18px; padding:18px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.group-filter-grid label { display:grid; gap:6px; }.group-filter-grid label span { font-size:10px; font-weight:800; }.group-filter-grid input,.group-filter-grid select { width:100%; }
.group-filter-actions { display:flex; align-items:end; gap:8px; }.table-scroll { overflow-x:auto; }.admin-table td small { margin-top:4px; display:block; color:var(--admin-muted); font-size:9px; }
.teacher-selector { margin-top:20px; padding:20px; border:1px solid var(--admin-line); border-radius:13px; background:#f8faf7; }.teacher-selector>div:first-child { margin-bottom:12px; display:grid; gap:4px; }.teacher-selector small { color:var(--admin-muted); }
.teacher-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.group-tabs { margin:0 0 18px; padding:6px; display:flex; gap:5px; overflow-x:auto; border:1px solid var(--admin-line); border-radius:12px; background:#fff; }.group-tabs a { padding:10px 15px; border-radius:8px; color:var(--admin-muted); font-size:11px; font-weight:800; white-space:nowrap; }.group-tabs a.is-active { color:#fff; background:var(--admin-green-800); }
.group-summary-grid { display:grid; grid-template-columns:280px 1fr; gap:18px; }.group-capacity-card { padding:26px; display:grid; align-content:center; gap:7px; }.group-capacity-card strong { color:var(--admin-green-900); font-size:38px; }.group-capacity-card span { color:var(--admin-muted); font-size:11px; }.group-facts { padding:22px; }.group-facts dl { margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.group-facts dl div { display:grid; gap:5px; }.group-facts dt { color:var(--admin-muted); font-size:9px; font-weight:900; text-transform:uppercase; }.group-facts dd { margin:0; font-size:12px; font-weight:700; }
.future-modules { margin-top:18px; padding:24px; }.future-modules h2 { margin:5px 0 7px; font-size:18px; }.future-modules p:last-child { margin:0; color:var(--admin-muted); font-size:11px; }.enrollment-row { padding:15px 22px; display:flex; justify-content:space-between; gap:15px; border-top:1px solid #edf1ed; }.enrollment-row>div:first-child { display:grid; gap:4px; }.enrollment-row small { color:var(--admin-muted); }.enrollment-actions { display:flex; flex-wrap:wrap; gap:5px; }.enrollment-actions form { margin:0; }.enrollment-actions button { padding:6px 8px; border:1px solid var(--admin-line); border-radius:7px; color:var(--admin-green-800); background:#fff; font-size:9px; font-weight:800; }.enrollment-form textarea { width:100%; padding:11px 12px; border:1px solid #d9e1d9; border-radius:9px; }.group-edit-shortcut { padding:20px; display:flex; justify-content:flex-end; }.student-enrollment-history { margin-top:18px; }
@media(max-width:1050px){.group-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-summary-grid{grid-template-columns:1fr}}
@media(max-width:620px){.group-filter-grid,.teacher-choice-grid,.group-facts dl{grid-template-columns:1fr}.group-filter-actions,.enrollment-row{align-items:stretch;flex-direction:column}.group-filter-actions>*{flex:1}.enrollment-actions{display:grid;grid-template-columns:repeat(2,1fr)}.enrollment-actions button{width:100%}.group-tabs a{flex:1;text-align:center}.group-capacity-card strong{font-size:32px}}

/* Teaching operations Phase 2B */
.schedule-rule-list { display:grid; gap:13px; }.schedule-rule-card { padding:20px; }.schedule-rule-summary { display:flex; align-items:center; justify-content:space-between; gap:20px; }.schedule-rule-summary h2 { margin:4px 0; font-size:23px; }.schedule-rule-summary p:last-child { margin:0; color:var(--admin-muted); font-size:11px; }.schedule-rule-actions,.session-action-bar,.lesson-quick-filters { margin-top:14px; display:flex; flex-wrap:wrap; gap:8px; }.schedule-rule-actions form { margin:0; }.schedule-rule-form { margin-top:18px; }.schedule-rule-form>h2 { margin-top:0; }.capacity-warning { margin:12px 0; padding:11px 13px; border:1px solid #e9ca83; border-radius:9px; color:#79520b; background:#fff8e7; font-size:11px; font-weight:700; }
.schedule-rule-editor { margin-top:14px; padding-top:13px; border-top:1px solid var(--admin-line); }.schedule-rule-editor summary { color:var(--admin-green-800); font-size:10px; font-weight:900; cursor:pointer; }.schedule-rule-editor form { margin-top:14px; }.schedule-rule-editor input,.schedule-rule-editor select { width:100%; }
.lesson-quick-filters { margin:-8px 0 16px; }.lesson-quick-filters a { padding:9px 13px; border:1px solid var(--admin-line); border-radius:999px; color:var(--admin-green-800); background:#fff; font-size:10px; font-weight:800; }.lesson-mobile-cards { display:none; }.lesson-card { padding:18px; display:grid; gap:8px; }.lesson-card h2,.workflow-box h2 { margin:0; font-size:17px; }.lesson-card p { margin:0; color:var(--admin-muted); font-size:11px; }.lesson-card>div { display:flex; justify-content:space-between; align-items:center; gap:10px; }.session-summary { padding:24px; }.session-summary dl { margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }.session-summary dt { color:var(--admin-muted); font-size:9px; font-weight:900; text-transform:uppercase; }.session-summary dd { margin:5px 0 0; font-size:12px; font-weight:700; }.session-workflow-grid { margin-top:18px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }.workflow-box { padding:18px; display:grid; gap:10px; }.workflow-box input,.workflow-box select,.workflow-box textarea { width:100%; }
.attendance-toolbar { position:sticky; z-index:10; top:76px; margin-bottom:13px; padding:12px; display:flex; align-items:center; flex-wrap:wrap; gap:8px; border:1px solid var(--admin-line); border-radius:12px; background:rgba(255,255,255,.96); box-shadow:var(--admin-shadow); }.attendance-toolbar span { margin-left:auto; color:var(--admin-muted); font-size:9px; }.attendance-list { display:grid; gap:12px; }.attendance-card { padding:17px; }.attendance-card header { margin-bottom:12px; }.attendance-card header div { display:grid; gap:3px; }.attendance-card small { color:var(--admin-muted); }.attendance-status-options { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }.attendance-status-options label { cursor:pointer; }.attendance-status-options input { position:absolute; opacity:0; pointer-events:none; }.attendance-status-options span { min-height:42px; padding:9px 6px; display:grid; place-items:center; border:1px solid var(--admin-line); border-radius:9px; color:var(--admin-muted); font-size:10px; font-weight:800; text-align:center; }.attendance-status-options input:checked+span { border-color:var(--admin-green-700); color:#fff; background:var(--admin-green-800); }.attendance-details { margin-top:12px; display:grid; grid-template-columns:1fr 1fr; gap:10px; }.attendance-details label,.correction-field { display:grid; gap:6px; }.attendance-details label span,.correction-field>span { font-size:10px; font-weight:800; }.attendance-details input,.attendance-details select,.attendance-details textarea,.correction-field textarea { width:100%; }.attendance-save-bar { position:sticky; z-index:11; bottom:0; margin-top:16px; padding:12px 16px; display:flex; align-items:center; justify-content:flex-end; gap:14px; border:1px solid var(--admin-line); border-radius:12px 12px 0 0; background:#fff; box-shadow:0 -10px 30px rgba(18,62,29,.1); }.attendance-save-bar a { color:var(--admin-muted); font-size:11px; font-weight:800; }.correction-field { margin-top:15px; padding:18px; border-color:#e5c87f; background:#fffaf0; }.teacher-today-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
@media(max-width:1000px){.session-workflow-grid,.session-summary dl,.teacher-today-list{grid-template-columns:1fr 1fr}.attendance-status-options{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.lesson-desktop-table,.journal-desktop{display:none}.lesson-mobile-cards{display:grid;gap:11px}.session-workflow-grid,.session-summary dl,.teacher-today-list{grid-template-columns:1fr}.attendance-toolbar{top:68px}.attendance-toolbar>*{flex:1}.attendance-toolbar span{flex-basis:100%;margin:0;text-align:center}.attendance-status-options{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-details{grid-template-columns:1fr}.attendance-save-bar{margin-inline:-15px;padding-inline:15px}.attendance-save-bar .admin-primary-button{flex:1}.schedule-rule-summary{align-items:flex-start;flex-direction:column}.schedule-rule-actions{display:grid}.schedule-rule-actions form,.schedule-rule-actions button{width:100%}}

/* Phase 2C — private homework, submissions and grading */
.assignment-list-card,.review-card,.submission-row,.educational-file-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.assignment-list-card{margin-top:12px;padding:18px 20px}.assignment-list-card h2,.review-card h2{margin:7px 0 4px;font-size:18px}.assignment-list-card p,.assignment-list-card small,.review-card p,.review-card small,.submission-row small,.muted{color:var(--admin-muted)}.assignment-list-card>div:last-child{display:grid;gap:5px;text-align:right}.assignment-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.assignment-section{margin-top:16px;padding:22px}.assignment-section h2{margin-top:0}.assignment-section h3{margin-top:24px}.prose-content{max-width:850px;line-height:1.75}.educational-file-row{margin-top:8px;padding:12px 14px;border:1px solid var(--admin-line);border-radius:10px;background:#f8fbf7}.educational-file-row form{margin:0}.private-upload{margin-top:14px;padding:16px;display:grid;gap:10px;border:1px dashed #adc4ad;border-radius:12px;background:#f7faf6}.private-upload label{display:grid;gap:7px}.recipient-choice-grid{margin:14px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.recipient-choice-grid label{padding:10px;border:1px solid var(--admin-line);border-radius:9px}.submission-row{padding:14px 0;border-bottom:1px solid var(--admin-line)}.submission-row>div{display:grid;gap:4px}.review-card{margin-top:12px;padding:20px}.review-detail,.review-form{margin-top:16px;padding:22px}.review-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.review-detail dl div{padding:12px;border-radius:10px;background:#f5f8f4}.review-detail dt{color:var(--admin-muted);font-size:10px;font-weight:800;text-transform:uppercase}.review-detail dd{margin:5px 0 0;font-weight:800}.review-form label{display:grid;gap:7px}.review-form textarea,.review-form input,.private-upload input{width:100%}.sticky-review-actions{position:sticky;bottom:12px;margin-top:18px;padding:12px;display:flex;justify-content:flex-end;gap:10px;border:1px solid var(--admin-line);border-radius:13px;background:rgba(255,255,255,.96);box-shadow:0 12px 35px rgba(12,45,21,.12)}.admin-warning{margin-top:16px;padding:15px;display:grid;gap:10px;border:1px solid #e8c46d;border-radius:11px;background:#fff9e9}.student-operational-body{margin:0;padding:20px;color:var(--admin-text);background:#f3f6f2;font-family:Arial,sans-serif}.student-operational-shell{width:min(760px,100%);margin:auto;padding:28px}.student-operational-shell textarea{width:100%}
@media(max-width:760px){.assignment-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-list-card,.review-card,.submission-row{align-items:stretch;flex-direction:column}.assignment-list-card>div:last-child{text-align:left}.recipient-choice-grid,.review-detail dl{grid-template-columns:1fr}.review-card .admin-primary-button,.submission-row .admin-secondary-button{width:100%;text-align:center}.sticky-review-actions{bottom:6px;display:grid;grid-template-columns:1fr 1fr}.sticky-review-actions button{min-height:48px}.educational-file-row{align-items:flex-start;flex-wrap:wrap}.student-operational-shell{padding:10px}}

/* Phase 2D.2 — Question Bank */
.question-filter-grid{margin-bottom:18px;padding:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.question-filter-grid label,.question-editor-section label{display:grid;gap:7px}.question-filter-grid input,.question-filter-grid select,.question-editor-section input,.question-editor-section select,.question-editor-section textarea{width:100%}.question-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.question-card{padding:20px;display:grid;gap:9px}.question-card h2{margin:0;font-size:18px}.question-card p,.question-card small{margin:0;color:var(--admin-muted)}.question-editor{display:grid;gap:16px}.question-editor-section{padding:22px}.question-editor-section h2{margin-top:0}.question-section-heading,.question-heading-actions,.version-list article,.question-save-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.question-heading-actions,.version-list article>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.question-option-row{margin-top:9px;padding:12px;display:grid;grid-template-columns:minmax(180px,2fr) 90px 110px minmax(150px,1fr) auto;align-items:center;gap:9px;border:1px solid var(--admin-line);border-radius:10px;background:#f8faf7}.question-option-row label{display:flex;grid-auto-flow:column;align-items:center}.question-option-row label input{width:auto}.question-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.question-media-grid>label{padding:10px;border:1px solid var(--admin-line);border-radius:10px}.question-save-bar{position:sticky;z-index:10;bottom:0;padding:13px 16px;border:1px solid var(--admin-line);border-radius:12px 12px 0 0;background:rgba(255,255,255,.97);box-shadow:0 -8px 28px rgba(18,62,29,.1)}.version-list{display:grid;gap:10px}.version-list article{padding:14px;border:1px solid var(--admin-line);border-radius:10px}.version-list article>div:first-child{display:grid;gap:5px}.student-question-preview{position:relative;padding:30px}.student-question-preview img{max-width:100%;max-height:380px;object-fit:contain}.question-points{position:absolute;top:15px;right:18px;font-weight:900}.student-option-list{margin-top:20px;display:grid;gap:9px}.student-option-list label{padding:13px;border:1px solid var(--admin-line);border-radius:10px}.student-question-preview textarea,.student-question-preview>input{margin-top:18px;width:100%}
@media(max-width:1000px){.question-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.question-option-row{grid-template-columns:1fr 90px 100px}.question-option-row input:nth-of-type(4){grid-column:1/-1}.question-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.question-filter-grid,.question-card-grid,.question-media-grid{grid-template-columns:1fr}.question-option-row{grid-template-columns:1fr}.question-section-heading,.question-heading-actions,.version-list article,.question-save-bar{align-items:stretch;flex-direction:column}.question-save-bar>*{width:100%;text-align:center}.question-heading-actions form,.question-heading-actions button,.version-list article>div:last-child>*{width:100%}}

/* Phase 2D.3 — Assessment Builder */
.assessment-section-row{margin:10px 0;padding:12px;border:1px solid var(--admin-line);border-radius:10px;background:#f8faf7}.assessment-sticky-actions{position:sticky;top:92px;display:grid;gap:11px}.assessment-sticky-actions>*{width:100%;text-align:center}.assessment-sticky-actions p{text-align:left}.question-card[data-question-card]:has(input[name="question_version_ids[]"]:checked){border-color:var(--admin-green-700);box-shadow:0 0 0 2px rgba(49,122,50,.09)}
@media(max-width:760px){.assessment-sticky-actions{position:sticky;z-index:12;bottom:0;top:auto;margin-inline:-15px;border-radius:12px 12px 0 0}.assessment-section-row{grid-template-columns:1fr}.assessment-section-row .group-filter-actions{display:grid;grid-template-columns:1fr 1fr}.question-card[data-question-card] .homepage-fields-grid{grid-template-columns:1fr}.question-card[data-question-card] .group-filter-actions{display:grid;grid-template-columns:1fr 1fr}}

/* ADMIN UX 6C.1 — readable Structured Page CMS editor. */
.page-cms-form>.homepage-section-body{display:grid;gap:24px}
.page-cms-form :is(label){min-width:0;display:grid;align-content:start;gap:7px}
.page-cms-form label>span{font-size:11px;font-weight:800}
.page-cms-form :is(input:not([type="checkbox"]):not([type="hidden"]),textarea,select){width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #d9e1d9;border-radius:9px;color:var(--admin-text);background:#fbfcfb;font-size:12px}
.page-cms-form textarea{resize:vertical;line-height:1.55}
.page-cms-form :is(input,textarea,select):focus{border-color:var(--admin-green-700);outline:0;box-shadow:0 0 0 3px rgba(49,122,50,.1)}
.page-cms-form :is(small,.page-settings-intro){color:var(--admin-muted);font-size:10px;line-height:1.55}
.page-cms-form output{color:var(--admin-green-800);font-weight:850}
.page-settings-panel{min-width:0;margin:0;padding:22px;display:grid;gap:18px;border:1px solid var(--admin-line);border-radius:14px;background:#fbfcfb}
.page-settings-panel legend{padding:0 8px;color:var(--admin-green-800);font-size:13px;font-weight:900}
.page-settings-heading{display:flex;justify-content:space-between;align-items:start;gap:18px}
.page-settings-heading h2{margin:2px 0 4px;font-size:17px}.page-settings-heading p{margin:0}.page-settings-heading .admin-kicker{color:var(--admin-green-700);font-size:10px;font-weight:900;letter-spacing:.12em}
.page-seo-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px}.page-seo-grid .field-wide{grid-column:1/-1}.page-layout-field{grid-column:1}
.page-navigation-editor{background:#fff}.page-settings-intro{margin:0}.page-navigation-grid{display:grid;grid-template-columns:minmax(240px,1.5fr) 130px minmax(170px,.8fr);gap:16px;align-items:end}.page-navigation-grid .field-order{max-width:none}.page-navigation-grid .inline-check{min-height:44px;padding:0}.page-visibility-note{margin:0;padding-top:14px;border-top:1px solid var(--admin-line);font-size:11px}
.page-sections-heading{margin-top:2px}.page-sections-heading h2{margin:2px 0 4px;font-size:18px}.page-sections-heading p{margin:0;color:var(--admin-muted);font-size:10px}
.page-section-editor{min-width:0;margin:0;padding:20px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px;border:1px solid #dce5dc;border-radius:15px;background:#fff;box-shadow:0 7px 22px rgba(20,48,27,.035)}
.page-section-editor>legend{padding:0 8px;color:var(--admin-green-700);font-size:11px;font-weight:900}
.section-editor-header{grid-column:1/-1;padding-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--admin-line)}
.section-editor-header>div{display:grid;gap:3px}.section-editor-header strong{font-size:15px}.section-editor-header small{color:var(--admin-muted);font-size:10px}
.section-editor-block{min-width:0;padding:17px;display:grid;align-content:start;gap:14px;border:1px solid #e4eae4;border-radius:12px;background:#fafcfa}
.section-block-heading{display:grid;gap:3px}.section-block-heading strong{font-size:12px}.section-block-heading small{color:var(--admin-muted);font-size:9px;line-height:1.5}
.section-content-block,.section-presentation-block{grid-column:1/-1}.section-content-block{background:#fff}
.section-content-grid{display:grid;grid-template-columns:minmax(150px,.32fr) minmax(0,1fr);gap:14px}.section-body-field{grid-column:1/-1}.page-cms-form .section-content-block .section-body-field textarea{min-height:148px}.page-cms-form .section-content-block .section-body-field textarea[rows="4"]{min-height:112px}
.section-media-block .visual-media-picker{min-width:0}.section-media-block .selected-media-preview{min-height:88px}.section-media-block .media-picker-actions{flex-wrap:wrap}.section-media-block .media-picker-actions>*{min-height:42px;display:inline-flex;align-items:center;justify-content:center}.section-media-position-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.section-cta-grid{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(0,1.35fr);gap:12px}
.section-presentation-block{background:#f5f8f4}.section-presentation-grid{display:grid;grid-template-columns:minmax(180px,1fr) 120px minmax(210px,1fr);gap:14px;align-items:end}.section-presentation-grid .field-order{max-width:none}.section-presentation-grid .inline-check{min-height:44px;padding:0}
.page-cms-form .homepage-form-footer{position:sticky;z-index:8;bottom:0;margin:0 -24px -24px;padding:16px 24px;border-top:1px solid var(--admin-line);background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
@media(max-width:900px){.page-navigation-grid{grid-template-columns:minmax(0,1fr) 120px}.page-navigation-grid .inline-check{min-height:auto}.page-section-editor{grid-template-columns:1fr}.section-content-block,.section-presentation-block{grid-column:auto}}
@media(max-width:620px){.page-settings-panel,.page-section-editor{padding:16px}.page-seo-grid,.page-navigation-grid,.section-content-grid,.section-media-position-grid,.section-cta-grid,.section-presentation-grid{grid-template-columns:1fr}.page-seo-grid .field-wide,.page-layout-field,.section-body-field{grid-column:auto}.section-editor-header{align-items:flex-start}.section-editor-block{padding:14px}.section-media-block .media-picker-actions>*{width:100%}.page-cms-form .homepage-form-footer{margin:0 -17px -17px;padding:14px 17px}.page-cms-form :is(input:not([type="checkbox"]):not([type="hidden"]),textarea,select){font-size:16px}.page-cms-form .section-content-block .section-body-field textarea{min-height:156px}.page-cms-form .section-content-block .section-body-field textarea[rows="4"]{min-height:124px}}

/* Phase 2D.4 */
.status-active{color:#1e6f2d;background:#e8f5e9}.status-disabled{color:#9b2c2c;background:#fff0f0}.status-pending_invitation{color:#8a6100;background:#fff6db}.user-security-actions{margin-top:20px;padding:24px}.user-security-actions>div,.role-checkboxes{display:flex;gap:10px;flex-wrap:wrap}.student-operational-body,.student-attempt-body{min-height:100vh;background:#f4f7f3;color:#172019;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.student-portal-header{min-height:68px;padding:0 max(20px,calc((100vw - 1100px)/2));display:flex;align-items:center;justify-content:space-between;background:#173f22;color:#fff}.student-portal-header button{border:0;background:transparent;color:#fff}.student-operational-shell{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:56px 0 80px}.student-login-shell,.student-confirmation{min-height:100vh;display:grid;place-items:center;padding:20px}.student-login-card,.student-confirmation>.admin-panel{width:min(520px,100%);padding:36px}.student-login-card form{display:grid;gap:18px}.student-login-card label{display:grid;gap:7px}.student-login-card input{min-height:46px;padding:0 13px;border:1px solid #cad5cb;border-radius:10px}.student-assessment-section{margin-top:38px}.student-assessment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.student-assessment-card{padding:24px}.confirmation-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#e6f4e5;color:#317a32;font-size:30px}.attempt-header{min-height:78px;padding:12px 28px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:28px;background:#173f22;color:#fff}.attempt-header div:first-child{display:grid}.attempt-save{color:#d8e9d6;font-size:13px}.attempt-save button{border:0;color:#ffc343;background:transparent}.attempt-timer{min-width:84px;padding:10px 14px;border-radius:10px;background:rgba(255,255,255,.1);font-weight:800;text-align:center}.attempt-progress{height:4px;background:#dbe4da}.attempt-progress span{height:100%;display:block;background:#eea510;transition:width .2s}.attempt-layout{width:min(1440px,100%);margin:auto;padding:28px;display:grid;grid-template-columns:220px minmax(0,1fr) 220px;gap:22px}.attempt-navigator,.attempt-summary,.attempt-question-shell{border:1px solid #dfe6df;border-radius:16px;background:#fff}.attempt-navigator,.attempt-summary{align-self:start;padding:20px;position:sticky;top:20px}.attempt-navigator>div{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:16px 0}.attempt-navigator button{aspect-ratio:1;border:1px solid #d9e2da;border-radius:8px;background:#fff}.attempt-navigator button.is-current{border-color:#317a32;box-shadow:0 0 0 2px #cce0ca}.attempt-navigator button.is-answered{background:#e8f3e6}.attempt-question-shell{min-height:560px;padding:42px;display:flex;flex-direction:column}.attempt-question-shell>[data-question]{flex:1}.attempt-question-shell h1{margin:8px 0 18px;font-size:clamp(26px,3vw,40px)}.attempt-prompt{font-size:18px;line-height:1.7;white-space:pre-wrap}.attempt-media{max-width:100%;height:auto;border-radius:14px}.attempt-options{margin-top:28px;display:grid;gap:12px}.attempt-option{padding:16px;display:flex;gap:12px;align-items:flex-start;border:1px solid #dfe6df;border-radius:12px}.attempt-option:has(input:checked){border-color:#317a32;background:#f0f8ee}.attempt-options input[type=text]{width:100%;min-height:48px;padding:0 14px;border:1px solid #cbd7cc;border-radius:10px}.attempt-actions{padding-top:28px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf1ed}.attempt-summary strong{font-size:30px}.attempt-dialog{width:min(500px,calc(100% - 32px));padding:28px;border:0;border-radius:16px;box-shadow:0 25px 80px rgba(0,0,0,.2)}.attempt-dialog::backdrop{background:rgba(10,28,15,.65)}
@media(max-width:900px){.attempt-layout{grid-template-columns:1fr;padding:16px}.attempt-navigator,.attempt-summary{position:static}.attempt-navigator{order:2}.attempt-summary{order:3}.attempt-question-shell{min-height:auto;padding:28px}.student-assessment-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.attempt-header{padding:10px 14px;grid-template-columns:1fr auto}.attempt-save{grid-column:1/-1;grid-row:2}.attempt-layout{padding:10px}.attempt-question-shell{padding:22px 16px}.attempt-navigator>div{grid-template-columns:repeat(6,1fr)}.student-assessment-grid{grid-template-columns:1fr}.student-operational-shell{padding-top:34px}.admin-table td{overflow-wrap:anywhere}}
/* Phase 2D.5 grading and result release */
.assessment-review-card,.review-actions,.result-question{margin-bottom:1rem}.review-question-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.review-answer{padding:1rem;margin:1rem 0;background:#f6f8f3;border-radius:.75rem}.review-form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(180px,1fr);gap:1rem;align-items:end}.review-form .review-wide{grid-column:1/-1}.review-form textarea,.review-form input,.review-form select,.review-actions input{width:100%}.review-actions{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.review-actions form{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap}.student-results{width:min(980px,calc(100% - 2rem));margin:2rem auto}.result-score{font-size:1.15rem}.result-score strong{font-size:1.65rem}.result-correct,.result-feedback{padding:1rem;border-radius:.75rem;margin-top:1rem}.result-correct{background:#eef8ef}.result-feedback{background:#fff7e7}.preserve-lines{white-space:pre-wrap}.admin-danger-button{background:#8d2525;color:#fff;border:0;border-radius:.55rem;padding:.7rem 1rem;cursor:pointer}
@media(max-width:640px){.review-form{grid-template-columns:1fr}.review-question-heading{display:block}.review-actions,.review-actions form{display:grid;width:100%}.student-results{margin:1rem auto}.result-question pre{white-space:pre-wrap;overflow-wrap:anywhere}}

/* Phase 2E.1 role dashboards */
.portal-body{min-height:100vh;background:#f4f7f3}.portal-topbar{position:sticky;z-index:40;top:0;min-height:70px;padding:0 clamp(16px,3vw,38px);display:flex;align-items:center;gap:20px;color:#fff;background:#173f22}.portal-brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.04em}.portal-brand small{padding-left:12px;border-left:1px solid rgba(255,255,255,.25);font-size:10px;text-transform:uppercase}.portal-topbar form{margin-left:auto}.portal-logout,.portal-menu-toggle{padding:9px 12px;border:1px solid rgba(255,255,255,.25);border-radius:9px;color:#fff;background:transparent}.portal-menu-toggle{display:none}.portal-frame{min-height:calc(100vh - 70px);display:grid;grid-template-columns:230px minmax(0,1fr)}.portal-sidebar{padding:26px 15px;border-right:1px solid var(--admin-line);background:#fff}.portal-sidebar nav{display:grid;gap:5px}.portal-sidebar nav a{min-height:43px;padding:11px 13px;border-radius:10px;color:#445048;font-size:13px;font-weight:750}.portal-sidebar nav a:hover,.portal-sidebar nav a[aria-current=page]{color:#173f22;background:#eaf3e8}.child-switcher{margin-bottom:20px;display:grid;gap:7px;color:var(--admin-muted);font-size:10px;font-weight:850;text-transform:uppercase}.child-switcher select{width:100%;padding:10px;border:1px solid var(--admin-line);border-radius:9px;background:#fff}.portal-content{width:min(1180px,100%);margin:0 auto;padding:42px clamp(18px,4vw,54px) 80px;min-width:0}.portal-heading{margin-bottom:28px}.portal-heading h1{margin:5px 0 9px;font-size:clamp(30px,4vw,46px);letter-spacing:-.04em}.portal-heading p:last-child{max-width:680px;color:var(--admin-muted);line-height:1.65}.portal-metrics{margin-bottom:24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.portal-metrics article{padding:20px;border:1px solid var(--admin-line);border-radius:15px;background:#fff}.portal-metrics strong{display:block;font-size:30px}.portal-metrics span{color:var(--admin-muted);font-size:11px;font-weight:700}.portal-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:18px}.portal-card{min-width:0;padding:22px;border:1px solid var(--admin-line);border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(20,48,27,.035)}.portal-card h2,.portal-card h3{margin:5px 0 8px}.portal-card p{color:var(--admin-muted);line-height:1.55}.portal-feature{border-top:4px solid var(--admin-orange)}.portal-actions{display:grid;gap:8px}.portal-actions a,.portal-person{padding:11px 12px;display:block;border:1px solid var(--admin-line);border-radius:9px;color:var(--admin-green-800);font-size:12px;font-weight:800}.portal-list{display:grid;gap:12px}.portal-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.portal-row time{min-width:105px;color:var(--admin-green-800);font-weight:850}.portal-row>div{min-width:0;flex:1}.portal-row form{margin:0}.portal-empty{padding:46px 24px;border:1px dashed #c9d5ca;border-radius:15px;color:var(--admin-muted);background:#fff;text-align:center}.profile-card dl{display:grid;grid-template-columns:180px 1fr;gap:12px}.profile-card dt{color:var(--admin-muted);font-size:11px;font-weight:800}.profile-card dd{margin:0}.portal-teacher .portal-topbar{background:#173f3b}.portal-parent .portal-topbar{background:#3d4f21}
@media(max-width:850px){.portal-frame{grid-template-columns:1fr}.portal-menu-toggle{display:block;margin-left:auto}.portal-topbar form{margin-left:0}.portal-sidebar{display:none;position:fixed;z-index:35;inset:70px 0 auto 0;max-height:calc(100vh - 70px);overflow:auto;border-bottom:1px solid var(--admin-line);box-shadow:0 18px 35px rgba(10,30,15,.15)}.portal-sidebar.is-open{display:block}.portal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-grid{grid-template-columns:1fr}.portal-content{padding-top:28px}}
@media(max-width:520px){.portal-brand small{display:none}.portal-content{padding-inline:15px}.portal-metrics{grid-template-columns:1fr 1fr}.portal-row{align-items:stretch;flex-direction:column}.portal-row>*{width:100%}.portal-row .admin-primary-button,.portal-row .admin-secondary-button{width:100%;text-align:center}.profile-card dl{grid-template-columns:1fr;gap:5px}.profile-card dd{margin-bottom:12px}}
.activation-banner{margin-bottom:18px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.activation-banner p{margin:5px 0 0;color:var(--admin-muted);font-size:11px}@media(max-width:600px){.activation-banner{align-items:stretch;flex-direction:column}.activation-banner .admin-primary-button{width:100%}}

/* Homepage and CMS UX completion */
.homepage-control-center{margin:0 0 24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.homepage-control-card{min-width:0;padding:18px;display:grid;align-content:start;gap:10px;border:1px solid var(--admin-line);border-radius:14px;background:#fff;box-shadow:0 8px 25px rgba(20,48,27,.035)}.homepage-control-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.homepage-control-card-heading strong{font-size:14px}.homepage-control-card p{margin:0;color:var(--admin-muted);font-size:11px;line-height:1.6}.homepage-control-card>small{color:var(--admin-green-800);font-size:9px;font-weight:800}.homepage-control-actions{margin-top:auto;display:flex;align-items:stretch;flex-wrap:wrap;gap:7px}.homepage-control-actions a{flex:1 1 145px;text-align:center}.gallery-caption{margin-top:6px;display:grid!important;gap:4px!important}.gallery-caption span{font-size:9px!important}.gallery-caption input{min-width:200px;padding:7px 8px!important;font-size:10px!important}.selected-gallery-item>div{flex:1}.content-editor-section>.visual-media-picker{min-width:0}.publication-panel{border-top:4px solid var(--admin-green-700)}
@media(max-width:1180px){.homepage-control-center{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.homepage-control-center{grid-template-columns:1fr}.homepage-control-actions{display:grid}.homepage-control-actions a{width:100%}.gallery-caption input{min-width:0}.selected-media-preview img,.selected-gallery-item img{width:76px;height:58px}.gallery-order-actions{margin-left:88px}}
.content-actions{min-width:250px}.content-actions form{display:inline-flex;margin:2px}.content-actions button,.content-actions a{min-height:36px;display:inline-flex;align-items:center;justify-content:center}.review-stars{color:#a96e00;letter-spacing:.08em}.preview-record blockquote{max-width:760px;margin:18px 0;padding:18px;border-left:4px solid var(--admin-orange);background:#fff9ea;line-height:1.7}.homepage-media-shortcut{border-color:#c8d8c7;background:#f6faf5}
@media(max-width:760px){.content-actions{min-width:210px}.admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.content-editor-section .homepage-fields-grid{grid-template-columns:1fr}}

/* PUBLIC 4 — private lead workflow */
.admin-filter-bar{margin-bottom:18px;padding:16px;display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto auto;align-items:end;gap:10px;border:1px solid var(--admin-line);border-radius:13px;background:#fff}.admin-filter-bar label,.lead-workflow label{display:grid;gap:7px;color:var(--admin-muted);font-size:10px;font-weight:850}.admin-filter-bar select,.lead-workflow select,.lead-workflow textarea{width:100%}.lead-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.lead-detail-grid>.admin-panel{padding:22px}.lead-workflow{grid-column:1/-1}.lead-workflow form{display:grid;grid-template-columns:minmax(180px,.35fr) minmax(300px,1fr);gap:14px;align-items:end}.lead-workflow button{width:fit-content}.lead-details{margin:18px 0 0;display:grid;gap:12px}.lead-details div{padding-bottom:11px;border-bottom:1px solid var(--admin-line)}.lead-details dt{color:var(--admin-muted);font-size:9px;font-weight:900;text-transform:uppercase}.lead-details dd{margin:5px 0 0;overflow-wrap:anywhere;font-size:12px}.lead-message{white-space:pre-wrap}.admin-status{display:inline-flex;padding:5px 8px;border-radius:999px;color:#245c2c;background:#edf5eb;font-size:9px;font-weight:850}.admin-text-link{color:var(--admin-green-700);font-size:11px;font-weight:850}
@media(max-width:760px){.admin-filter-bar,.lead-detail-grid,.lead-workflow form{grid-template-columns:1fr}.admin-filter-bar>*{width:100%}.lead-workflow{grid-column:auto}.lead-workflow button{width:100%}.admin-table-wrap{max-width:100%;overflow-x:auto}}
/* PUBLIC 1 — structured hero slider editor */
.hero-slides-editor { display:grid; gap:14px; padding:18px; border:1px solid var(--admin-line); border-radius:16px; background:#f8faf8; }
.hero-slides-editor .repeatable-heading > div { display:grid; gap:4px; }
.hero-slide-list { display:grid; gap:12px; }
.hero-slide-row { min-width:0; margin:0; padding:16px; display:grid; gap:14px; border:1px solid var(--admin-line); border-radius:14px; background:#fff; }
.hero-slide-row legend { padding-inline:7px; color:var(--admin-green-700); font-weight:850; }
.hero-slide-fields { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr); gap:12px; }
.hero-slide-fields label { display:grid; gap:7px; }
.hero-slide-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.hero-slide-controls > span { display:flex; flex-wrap:wrap; gap:7px; }
.hero-slide-controls .admin-secondary-button { min-width:38px; padding-inline:11px; }
@media(max-width:760px){.hero-slides-editor{padding:12px}.hero-slide-fields{grid-template-columns:1fr}.hero-slide-controls{align-items:stretch;flex-direction:column}.hero-slide-controls>span{display:grid;grid-template-columns:repeat(2,1fr)}.hero-slide-controls>span .media-remove-button{grid-column:1/-1}.hero-slides-editor .repeatable-heading{align-items:stretch;flex-direction:column}.hero-slides-editor .repeatable-heading button{width:100%}}
.media-picker-catalog-note{margin:.75rem 0;color:var(--admin-muted,#5f6f66);font-size:.9rem}.media-picker-entry{min-width:0}.media-picker-entry.is-unavailable{opacity:.76}.media-picker-entry.is-unavailable .media-picker-option{cursor:not-allowed}.media-picker-unavailable{color:#9b2c2c!important;font-weight:700}.media-picker-entry a{display:inline-block;margin:.4rem .25rem 0;font-size:.82rem}.media-picker-pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1rem}.media-picker-pagination span{font-size:.9rem;font-weight:700}@media(max-width:520px){.media-picker-pagination{justify-content:space-between}.media-picker-pagination .admin-secondary-button{padding:.65rem .8rem}}
/* Canonical Header/Footer Menu Manager */
.navigation-manager{display:grid;min-width:0;grid-template-columns:minmax(0,1fr);gap:1rem}.navigation-manager-toolbar,.navigation-item-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.navigation-manager-toolbar{padding:1rem;background:#fff;border:1px solid #dfe7df;border-radius:14px}.navigation-manager-toolbar small{display:block;color:#627067;margin-top:.25rem}.navigation-item{background:#fff;border:1px solid #dfe7df;border-radius:16px;padding:1rem;display:grid;gap:1rem}.navigation-item fieldset{min-width:0;border:1px solid #e6ece6;border-radius:12px;padding:1rem}.navigation-item legend{font-weight:700;color:#173f22;padding:0 .4rem}.navigation-fields-grid,.navigation-placement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.navigation-placement-grid fieldset{display:grid;gap:.8rem}.navigation-item [data-navigation-custom][hidden],.navigation-item [data-navigation-cms][hidden]{display:none}.admin-danger-link{border:0;background:transparent;color:#a12b2b;text-decoration:underline;cursor:pointer}.icon-button{min-width:2.25rem;min-height:2.25rem;border:1px solid #cfdacf;background:#fff;border-radius:8px;cursor:pointer}@media(max-width:720px){.navigation-manager-toolbar,.navigation-item-heading{align-items:flex-start;flex-direction:column}.navigation-fields-grid,.navigation-placement-grid{grid-template-columns:1fr}.navigation-item-heading>div{display:flex;gap:.4rem}.navigation-item{padding:.75rem}}

/* Privacy-first Analytics Phase 1 */
.analytics-gate{margin-bottom:18px}.analytics-gate p{margin:5px 0 0}.analytics-periods{margin-bottom:18px;padding:15px;display:grid;grid-template-columns:minmax(180px,1fr) repeat(2,minmax(145px,.55fr)) auto;align-items:end;gap:10px;border:1px solid var(--admin-line);border-radius:14px;background:#fff}.analytics-periods label{display:grid;gap:7px;color:var(--admin-muted);font-size:10px;font-weight:850}.analytics-periods select,.analytics-periods input{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d9e1d9;border-radius:9px;background:#fbfcfb}.analytics-tabs a.is-active{color:#fff;background:var(--admin-green-700)}.analytics-summary{margin-bottom:18px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.analytics-summary article,.dashboard-analytics-cards a{min-width:0;padding:18px;border:1px solid var(--admin-line);border-radius:14px;background:#fff;box-shadow:0 8px 25px rgba(20,48,27,.035)}.analytics-summary span,.dashboard-analytics-cards span{display:block;color:var(--admin-muted);font-size:10px;font-weight:800}.analytics-summary strong,.dashboard-analytics-cards strong{margin:7px 0;display:block;color:var(--admin-green-800);font-size:clamp(22px,3vw,32px)}.analytics-summary small,.dashboard-analytics-cards small{color:var(--admin-muted);font-size:9px}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.analytics-table{min-width:0;overflow:hidden}.analytics-methodology{margin:20px 0 0;padding:14px;border-radius:10px;color:var(--admin-muted);background:#eef4ed;font-size:10px;line-height:1.6}.dashboard-analytics{margin:0 0 20px}.dashboard-analytics>.admin-panel-heading{margin-bottom:10px}.dashboard-analytics-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.dashboard-analytics-cards a:focus-visible{outline:3px solid var(--admin-orange);outline-offset:2px}
@media(max-width:1050px){.analytics-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.analytics-periods,.analytics-grid{grid-template-columns:1fr}.analytics-periods button{width:100%}.analytics-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-analytics-cards{grid-template-columns:1fr}.analytics-table{max-width:100%}}
@media(max-width:440px){.analytics-summary{grid-template-columns:1fr}}
.analytics-filters{grid-template-columns:repeat(4,minmax(145px,1fr));align-items:end}.analytics-filters button{min-height:42px}.analytics-chart{min-width:0}.analytics-bars{display:grid;gap:11px}.analytics-bar-row{display:grid;grid-template-columns:minmax(100px,.45fr) minmax(120px,1fr) auto;gap:10px;align-items:center}.analytics-bar-row>div{display:flex;justify-content:space-between;gap:8px}.analytics-bar-row span,.analytics-bar-row small{color:var(--admin-muted);font-size:10px}.analytics-bar-row progress{width:100%;height:12px;accent-color:var(--admin-green-700)}.analytics-seen{display:block;margin-top:3px;color:var(--admin-muted)}.analytics-status dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.analytics-status dl>div{padding:12px;border:1px solid var(--admin-line);border-radius:10px}.analytics-status dt{color:var(--admin-muted);font-size:10px;font-weight:800}.analytics-status dd{margin:5px 0 0;font-weight:800}.analytics-table .admin-table-wrap{overflow-x:auto}.analytics-table table{min-width:620px}
@media(max-width:1050px){.analytics-filters{grid-template-columns:repeat(3,minmax(145px,1fr))}}
@media(max-width:760px){.analytics-filters{grid-template-columns:1fr 1fr}.analytics-bar-row{grid-template-columns:90px minmax(100px,1fr)}.analytics-bar-row small{grid-column:2}.analytics-status dl{grid-template-columns:1fr}}
.analytics-export-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}.analytics-analysis-legend{margin:0 0 16px;display:flex;flex-wrap:wrap;gap:8px}.analytics-analysis-legend span,.analytics-confidence{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.02em}.is-measured{color:#185c36;background:#def4e7}.is-estimated{color:#74500b;background:#fff0c7}.is-classified,.is-derived{color:#275979;background:#e4f1fa}.is-unavailable{color:#7b3030;background:#f9e2e2}.analytics-insights,.analytics-analysis-section,.analytics-unavailable{margin-bottom:16px}.analytics-insights ul{margin:0;padding:0;display:grid;gap:9px;list-style:none}.analytics-insights li{padding:12px;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;border:1px solid var(--admin-line);border-radius:10px;background:#fbfcfb}.analytics-insights li p{margin:2px 0 0;line-height:1.5}.analytics-analysis-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.analytics-analysis-kpis article{padding:16px;border:1px solid var(--admin-line);border-radius:12px;background:#fbfcfb}.analytics-analysis-kpis article>span,.analytics-analysis-kpis small{color:var(--admin-muted);font-size:9px;font-weight:800}.analytics-analysis-kpis h3{margin:6px 0 4px;font-size:13px}.analytics-analysis-kpis article>strong{display:block;margin-bottom:10px;color:var(--admin-green-800);font-size:28px}.analytics-analysis-kpis dl{margin:0 0 10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.analytics-analysis-kpis dl div{min-width:0;padding:8px;border-radius:8px;background:#eef4ed}.analytics-analysis-kpis dt{color:var(--admin-muted);font-size:8px}.analytics-analysis-kpis dd{margin:3px 0 0;font-size:11px;font-weight:850}.analytics-analysis-table .admin-panel-heading p{max-width:760px}.analytics-unavailable{display:grid;grid-template-columns:minmax(170px,.35fr) 1fr;gap:18px;align-items:center;border-color:#eed0d0;background:#fffafa}.analytics-unavailable h2{margin:8px 0 0}.analytics-unavailable p{margin:0;line-height:1.65}
@media(max-width:900px){.analytics-analysis-kpis{grid-template-columns:1fr}.analytics-analysis-kpis dl{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.analytics-export-actions{width:100%;justify-content:stretch}.analytics-export-actions a{flex:1;text-align:center}.analytics-insights li{grid-template-columns:1fr}.analytics-unavailable{grid-template-columns:1fr}.analytics-analysis-kpis dl{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:440px){.analytics-analysis-kpis dl{grid-template-columns:1fr}.analytics-export-actions a{flex-basis:100%}}
@media(max-width:440px){.analytics-filters{grid-template-columns:1fr}.analytics-bar-row{grid-template-columns:1fr}.analytics-bar-row small{grid-column:auto}}

/* Keyboard access to horizontally scrolling tables and the mobile navigation. */
.admin-table-wrap:focus-visible{outline:2px solid var(--admin-green-700);outline-offset:3px}
@media(max-width:900px){.admin-body.admin-menu-open{overflow:hidden}}

.navigation-manager-toolbar>div,.navigation-fields-grid>*,.navigation-placement-grid>*{min-width:0;max-width:100%}

.navigation-manager label,.navigation-manager fieldset{min-width:0;max-width:100%}
.navigation-manager input:not([type=checkbox]):not([type=radio]),.navigation-manager select,.navigation-manager textarea{width:100%;min-width:0;max-width:100%}

.enrollment-actions form { max-width: 300px; min-width: 0; display: grid; align-self: start; align-content: start; gap: 8px; }
.enrollment-actions label { display: grid; gap: 5px; color: var(--admin-muted); font-size: 11px; }
.enrollment-actions textarea { width: 100%; min-width: 0; padding: 9px; border: 1px solid var(--admin-line); border-radius: 8px; font: inherit; }
.enrollment-actions .check-label { display: flex; align-items: flex-start; }
.enrollment-actions button { min-height: 40px; }
@media(max-width:620px) { .enrollment-actions .enrollment-admission-form { grid-column: 1 / -1; width: 100%; max-width: none; } }

.attendance-fields { min-width: 0; margin: 0; padding: 0; border: 0; }
.attendance-fields[disabled] .attendance-toolbar { display: none; }
