/* MITHAQ / Product UI. Presentation only. Loaded after domain styles. */

/* 01 — Tokens and typography */
:root {
 --product-paper:#f6f5f0; --product-white:#fff; --product-ink:#183b45;
 --product-muted:#597075; --product-line:#dce3df; --product-wash:#eaf1ed;
 --product-brand:var(--navy,#122d3c); --product-accent:var(--teal,#147d76);
 --product-gold:#bd9554; --product-gold-light:#f1e5cd;
 --product-success:#21634d; --product-warning:#795716; --product-danger:#973d3b;
 --product-radius:14px; --product-radius-small:8px; --product-radius-large:22px;
 --product-shadow:0 4px 18px #173b4510; --product-shadow-raised:0 14px 35px #173b4520;
 --product-space-1:6px; --product-space-2:12px; --product-space-3:20px;
 --product-space-4:28px; --product-space-5:40px; --product-space-6:56px;
 --product-caption:12px; --product-meta:13px; --product-body:16px;
 --product-card:20px; --product-section:24px; --product-title:34px; --product-display:48px;
 --product-leading:1.75; --product-motion:160ms; --product-z-header:30; --product-z-sticky:20;
 --surface-sunken:var(--product-paper); --line-soft:var(--product-line);
 --radius-md:var(--product-radius); --ink-2:var(--product-muted);
}
body {color:var(--product-ink);line-height:var(--product-leading)}
body [hidden] {display:none!important}
.product-icon {display:inline-block;vertical-align:middle;flex:none;width:20px;height:20px;pointer-events:none}
h1,h2,h3 {text-wrap:balance;letter-spacing:-.35px}
p,small,label {text-wrap:pretty}
input,select,textarea,button {font:inherit}
time,.numeric,.value-ltr,bdi,.metric strong,.summary-tile strong {font-variant-numeric:tabular-nums}
time,.value-ltr,input[type=email],input[type=tel],input[type=date],input[type=datetime-local],.hash-text {direction:ltr;unicode-bidi:isolate}
.eyebrow,.families-eyebrow {font-size:var(--product-meta);font-weight:700;color:var(--product-accent);letter-spacing:0}
:focus-visible,.admin-body :focus-visible {outline:3px solid var(--product-gold);outline-offset:4px}
html {scroll-padding-top:90px}

/* 02 — Administration shell and navigation */
.admin-body {background:var(--product-paper)}
.admin-shell {grid-template-columns:264px minmax(0,1fr);align-items:start}
.admin-sidebar {padding:28px 17px 18px;background:var(--product-brand);color:#f2f6f3;scrollbar-width:thin;scrollbar-color:#7f9995 transparent}
.sidebar-brand {padding:0 10px}
.admin-sidebar .brand {margin:0 0 18px;padding:0;gap:15px}
.admin-sidebar .brand-name {font-size:38px;line-height:1.2}
.admin-sidebar .brand small {font-size:12px;margin-top:8px;color:#bdcfca}
.school-label {background:#ffffff09;border:1px solid #ffffff1c;border-radius:var(--product-radius-small);padding:12px;margin:0 8px 22px;color:#c6d7d2;display:flex;gap:10px;align-items:center;font-size:12px}
.admin-sidebar nav {gap:13px;margin-bottom:22px}
.admin-sidebar .nav-overview {padding:11px 14px;margin:0;font-size:14px;font-weight:700;min-height:46px}
.nav-group {margin:0}
.nav-group-toggle {min-height:32px;padding:5px 12px;font-size:11px;letter-spacing:.25px;color:#a4bdb9;font-weight:500;border-radius:0}
.nav-group-toggle:hover,.nav-group-toggle.active {background:transparent;color:#e7d1a3}
.nav-group-toggle .product-icon {width:14px;height:14px;transition:transform var(--product-motion)}
.nav-group-toggle[aria-expanded=true]>.product-icon {transform:rotate(90deg)}
.nav-group-items {margin:3px 0 0;padding:0;border:0}
.admin-sidebar .nav-group-items a {position:relative;gap:12px;min-height:44px;font-size:13px;padding:9px 14px;margin:2px 0;color:#cbdbd5;border-radius:var(--product-radius-small)}
.admin-sidebar nav a:hover {background:#ffffff0b;color:white}
.admin-sidebar nav a.active {background:#2d5357;color:#fff;box-shadow:inset -3px 0 var(--product-gold)}
.admin-sidebar nav a.active .product-icon {color:#ead09e}
.admin-sidebar .sidebar-bottom {gap:4px;margin-top:auto;border-color:#ffffff1c;padding:14px 8px 0}
.sidebar-bottom a {display:flex;gap:10px;align-items:center;min-height:44px;font-size:12px}
.admin-topbar {height:76px;padding:12px 36px;background:var(--product-paper);border-color:var(--product-line);gap:18px}
.admin-topbar small {font-size:11px;color:var(--product-muted)}
.admin-topbar strong {font-size:15px}
.product-top-context {display:flex;align-items:center;gap:12px}
.product-top-context>.product-icon {color:var(--product-accent)}
.admin-account {gap:12px;font-size:13px}
.product-avatar {display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--product-gold-light);color:var(--product-brand)}
.admin-account .text-button {display:flex;gap:7px;align-items:center;font-size:12px;min-height:44px;text-decoration:none}
.admin-main {max-width:1540px;margin-inline:auto;padding:24px 36px 64px}
.admin-breadcrumbs {font-size:12px;margin-bottom:16px}
.admin-demo {display:flex;gap:8px;align-items:center;background:transparent;color:#7a6948;border-inline-start:2px solid var(--product-gold);border-radius:0;padding:2px 12px;margin-bottom:22px;font-size:12px}

/* 03 — Page headers, overview and analytical hubs */
.admin-page-heading,.executive-heading,.admin-main .page-heading {gap:20px;margin-bottom:28px;align-items:center}
.admin-page-heading h1,.admin-main .page-heading h1 {font-size:var(--product-title);line-height:1.4;letter-spacing:-.7px;margin-bottom:9px}
.admin-page-heading>div>p {font-size:15px;max-width:68ch;color:var(--product-muted)}
.admin-page-heading .eyebrow {display:flex;align-items:center;gap:8px;margin-bottom:10px}
.page-actions {gap:8px}
.page-actions>a:not(.button) {padding:10px;font-size:13px}
.product-overview {position:relative;isolation:isolate;overflow:hidden;background:var(--product-brand);color:white;border-radius:var(--product-radius-large);padding:34px 36px;margin-bottom:0;min-height:240px;align-items:flex-start}
.product-overview:after {content:'';position:absolute;z-index:-1;inset-inline-end:0;bottom:-60px;width:310px;height:300px;border:1px solid #d7bb7833;border-radius:120px 120px 0 0;box-shadow:0 0 0 25px #d7bb7809,0 0 0 65px #d7bb7808;transform:rotate(-23deg)}
.product-overview h1 {font-size:36px;color:white;max-width:18ch}
.product-overview .eyebrow {color:#e3c994}
.product-overview>div>p,.product-overview .metric-note {color:#c1d5ce}
.product-overview .page-actions {align-self:flex-end;justify-content:flex-end;max-width:360px}
.product-overview .button.primary {background:#e7d0a0;border-color:#e7d0a0;color:var(--product-brand)}
.product-overview .button.secondary {background:#ffffff0c;border-color:#ffffff40;color:white}
.product-overview .under-link {color:#e7d0a0}
.executive-metrics {border-radius:0 0 var(--product-radius-large) var(--product-radius-large);border:1px solid var(--product-line);border-top:0;margin:0 12px 32px;background:var(--product-line);box-shadow:var(--product-shadow)}
.metric-card {padding:21px 20px}
.metric-card span {font-size:12px;color:var(--product-muted)}
.metric-card strong {font-weight:700;font-size:36px;line-height:1.5;color:var(--product-brand)}
.metric-card .product-icon {width:16px;height:16px;margin-inline-end:5px;color:var(--product-accent)}
.product-section-label {display:flex;align-items:center;gap:12px;margin:28px 0 16px;font-size:19px}
.product-section-label small {font-size:13px;color:var(--product-muted);font-weight:400}
.module-grid {gap:18px}
.module-card {border:1px solid var(--product-line);border-radius:var(--product-radius);padding:24px;box-shadow:none}
.module-heading .product-icon,.product-module-icon {box-sizing:content-box;padding:11px;background:var(--product-wash);color:var(--product-accent);border-radius:12px;width:24px;height:24px}
.module-card h2 {font-size:22px;margin:18px 0 4px}
.module-card h3 {font-size:17px;margin-block:16px 8px}
.module-description {font-size:13px;padding-bottom:16px;margin:0;border-bottom:1px solid var(--product-line)}
.module-link {min-height:44px;font-size:14px;font-weight:700;border-top:1px solid var(--product-line);margin-top:18px;padding-top:16px}
.dashboard-bottom {grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}
.attention-panel {background:#eeeee5}
.attention-count {background:var(--product-white);border:1px solid #e4d9c0}
.attention-item strong {font-size:15px}
.activity-entry {position:relative;padding-inline-start:20px;border-inline-start:1px solid var(--product-line);border-bottom:0}
.activity-entry:before {content:'';position:absolute;inset-inline-start:-4px;top:23px;width:7px;height:7px;border-radius:50%;background:var(--product-gold)}
.report-hub {grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.report-hub-card {display:flex;flex-direction:column;padding:28px;border-radius:var(--product-radius);box-shadow:none}
.report-hub-card h2 {font-size:23px;margin-block:20px 6px}
.report-hub-card p {font-size:15px}
.report-hub-card.report-overview {order:-1;grid-column:1/-1;background:var(--product-brand);color:white;display:grid;grid-template-columns:64px 1fr auto;align-items:center;column-gap:24px}
.report-overview .product-module-icon {grid-row:1/3;background:#ffffff12;color:#e6c88e}
.report-overview h2 {margin:0}
.report-overview p {grid-column:2;color:#c9d8d2;margin:0}
.report-overview .module-link {grid-column:3;grid-row:1/3;color:#e6c88e;border:0;margin:0;gap:15px}
.summary-tiles,.metrics {gap:14px}
.summary-tile,.metric {padding:22px;border:1px solid var(--product-line);border-top:0;border-radius:var(--product-radius);box-shadow:none;background:white}
.summary-tile strong,.metric strong {font-size:36px;line-height:1.4;font-weight:700}
.summary-tile.is-success,.metric.highlight {background:var(--product-brand);color:white}
.summary-tile.is-success strong {color:#fff}
.summary-tile.is-success span,.metric.highlight small {color:#cfdfd5}
.completion-line strong {font-weight:700;font-size:32px}
.progress-bar {height:8px}
.dist-track {height:13px;border-radius:4px;background:var(--product-wash)}
.dist-fill {border-radius:4px;background:var(--product-accent)}
.dist-row {padding-block:12px;border-bottom:1px solid var(--product-line)}
.question-result {border-inline-start:3px solid var(--product-accent)}

/* 04 — Buttons, cards and states */
.button,.admin-panel .button,.table-scroll .button {min-height:44px;border-radius:var(--product-radius-small);font-size:14px;padding:10px 17px;gap:8px;font-weight:700;line-height:1.5}
.button.primary {background:var(--product-accent);border-color:var(--product-accent);box-shadow:0 3px 7px #147d761a}
.button.secondary {background:white;border-color:#cedbd4;color:var(--product-brand);box-shadow:none}
.button.ghost {background:transparent;border-color:transparent}
.button.danger,.danger-button {color:var(--product-danger);background:#fff9f8;border-color:#edd2cf}
.button.small {font-size:13px;min-height:44px;padding:8px 12px}
.button:hover {transform:translateY(-1px)}
.button:disabled {transform:none;opacity:.5}
.admin-panel {border:1px solid var(--product-line);border-radius:var(--product-radius);padding:26px;margin-bottom:22px;box-shadow:none}
.admin-panel>h2 {font-size:22px}
.section-heading h2 {font-size:22px}
.report-record {position:relative;border-inline-start:3px solid var(--product-accent)}
.report-record h2 a {text-decoration:none}
.report-record .page-actions {padding-top:16px;border-top:1px solid var(--product-line)}
.status-chip,.families-badge {display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:500;line-height:1.6;border-radius:6px}
.status-chip:before,.families-badge:before {content:'';width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}
.chip-row {gap:8px}
.empty-state,.families-empty {display:block;text-align:center;padding:30px 20px;border:1px dashed #c8d5ce;border-radius:var(--product-radius);background:#f8faf7;color:var(--product-muted);font-size:15px}
.empty-state>.product-icon,.families-empty>.product-icon {display:block;width:32px;height:32px;margin:0 auto 12px;color:var(--product-accent)}
.empty-state strong {display:block;color:var(--product-brand);font-size:17px}
.empty-state p {font-size:14px;margin:5px 0 0}
.empty-state .button {margin-top:14px}
.notice,.error-box {border-radius:var(--product-radius-small);padding:18px 22px}
.error-box {border-inline-start:4px solid var(--product-danger)}
.record-card {border-radius:var(--product-radius-small);border-color:var(--product-line);padding:18px;background:#f9faf7}
.record-head {gap:10px}

/* 05 — Forms and structured editors */
input:not([type=checkbox],[type=radio],[type=hidden]),select,textarea {border:1px solid #c8d5cf;border-radius:var(--product-radius-small);background:#fff;min-height:46px;padding:11px 13px;font-size:15px;color:var(--product-ink);max-width:100%}
input::placeholder,textarea::placeholder {color:#6e8583;opacity:1}
input:not([type=checkbox],[type=radio]):focus,select:focus,textarea:focus {box-shadow:0 0 0 3px #147d7618;border-color:var(--product-accent)}
input[type=checkbox],input[type=radio] {accent-color:var(--product-accent);width:19px;height:19px;flex:none;cursor:pointer}
.checkbox-label {min-height:44px;align-items:center}
.choice-grid>.checkbox-label {padding:14px;border:1px solid var(--product-line);border-radius:var(--product-radius-small);background:white;gap:10px;margin:0}
.choice-grid>.checkbox-label:has(input:checked) {background:var(--product-wash);border-color:var(--product-accent);box-shadow:inset 0 0 0 1px var(--product-accent)}
label {font-weight:500;font-size:14px}
form small,.field-help,.microcopy {font-size:13px;line-height:1.8;color:var(--product-muted)}
.form-grid {gap:0 20px}
.product-editor {counter-reset:product-section}
.product-editor .product-form-section {display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px;padding:28px;counter-increment:product-section;scroll-margin-top:110px}
.product-section-copy:before {content:counter(product-section,decimal-leading-zero);display:block;font-size:13px;font-variant-numeric:tabular-nums;color:var(--product-gold);font-weight:700;margin-bottom:10px}
.product-section-copy h2 {font-size:21px;line-height:1.5;margin:0 0 9px}
.product-section-copy p {font-size:13px;line-height:1.9;color:var(--product-muted);margin:0}
.product-section-body {min-width:0}
.product-section-body>:first-child {margin-top:0}
.product-section-body>label:first-child {margin-top:0}
.product-editor [data-form-builder] {display:block;background:#e9f0eb;padding:28px}
.product-editor [data-form-builder]>.product-section-copy {max-width:65ch;margin-bottom:24px}
.product-editor [data-form-builder]>.product-section-copy:before {display:inline-block;margin-inline-end:10px}
.product-section-nav {display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:12px 0;border-block:1px solid var(--product-line)}
.product-section-nav a {display:flex;align-items:center;gap:8px;min-height:44px;text-decoration:none;padding:8px 12px;font-size:13px;border-radius:6px;color:var(--product-muted)}
.product-section-nav a:hover,.product-section-nav a:focus-visible {background:var(--product-wash);color:var(--product-accent)}
.product-section-nav b {font-size:11px;color:var(--product-accent)}
.product-editor>.form-actions:last-child {position:sticky;bottom:12px;z-index:var(--product-z-sticky);padding:16px 20px;background:#fff;border:1px solid var(--product-line);border-radius:var(--product-radius);box-shadow:var(--product-shadow-raised);margin-top:24px}
.product-editor>.form-actions:last-child:before {content:'مسودة قابلة للمراجعة قبل النشر';font-size:13px;color:var(--product-muted);margin-inline-end:auto;align-self:center}
.form-question {background:white;border:1px solid #bdd1c6;border-radius:var(--product-radius);padding:24px;margin:18px 0 24px;box-shadow:var(--product-shadow)}
.form-question legend {padding:7px 16px;background:var(--product-brand);color:white;border-radius:7px;font-weight:700;font-size:13px}
.form-question>.form-actions {margin:10px 0 20px;justify-content:flex-end;border-bottom:1px solid var(--product-line);padding-bottom:16px;gap:6px}
.form-question>.form-actions .button {background:transparent;border-color:transparent;font-size:12px;padding:8px 10px;min-height:44px;color:var(--product-muted)}
.form-question>.form-actions [data-remove] {color:var(--product-danger)}
.form-question [data-name=label] {font-size:18px;font-weight:500;min-height:54px}
.q-head {gap:8px}
.q-badge {border-radius:5px;font-size:12px;padding:5px 9px}
.q-preview {position:relative;background:#f8faf6;border:1px solid #dce6dc;border-inline-start:3px solid var(--product-accent);border-radius:10px;padding:23px;margin-top:20px;grid-column:1/-1}
.q-preview:before {content:'معاينة تجربة المشارك';display:block;font-size:12px;font-weight:700;color:var(--product-accent);margin-bottom:14px}
.qp-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.qp-option {background:white;border:1px solid #d5e1d8;border-radius:7px;padding:12px 15px;min-height:46px;font-size:14px}
.qp-box {background:white;min-height:48px}
.qp-rating span {border-radius:7px;width:44px;height:44px}
.option-editor {border-top:1px solid var(--product-line);padding-top:20px}
.option-row,.survey-section-editor {border:1px solid var(--product-line);border-radius:9px;background:#f7f9f5;padding:14px}
.survey-section-editor {margin-bottom:10px}
.survey-section-editor input {background:white}
[data-add-field] {width:100%;border:1px dashed var(--product-accent)!important;background:#ffffff80!important;color:var(--product-accent)!important;min-height:52px!important}
input[type=file] {padding:24px;border-style:dashed;background:#f8faf7;cursor:pointer}
input[type=file]::file-selector-button {font:inherit;border:0;background:var(--product-wash);padding:10px 15px;border-radius:6px;color:var(--product-accent);margin-inline-end:12px;cursor:pointer}
.flow-steps {background:white;border:1px solid var(--product-line);border-radius:var(--product-radius);padding:22px;margin:24px 0}
.flow-steps li.is-current span {background:var(--product-brand);color:#ead09f}
.picker-toolbar,.picker-bar {border-radius:var(--product-radius-small)}
[data-picker-item].is-selected {background:#e5f1e9;box-shadow:inset -3px 0 var(--product-accent)}
.setting-row {border:1px solid var(--product-line);margin-bottom:12px;border-radius:var(--product-radius-small);padding:12px 18px!important}
.setting-body {border-top:1px solid var(--product-line);margin-top:12px;padding-top:18px}
.permissions {gap:10px}
.permissions .checkbox-label {background:var(--product-wash);padding:8px 12px;border-radius:6px}

/* 06 — Filters, tables and record directories */
.filters,.filter-bar,.families-filters {background:#edeee7;border:1px solid #dce2d9;border-radius:var(--product-radius);padding:18px;gap:12px;align-items:flex-end}
.filters>div:has([name=q]),.filter-bar>label:has([name=q]),.families-search {flex:2;min-width:190px}
.filters input,.filters select,.filter-bar select,.families-filters input,.families-filters select {background:white;min-height:46px}
.product-filter-toggle {display:none}
.product-filter-count {display:inline-grid;place-items:center;min-width:23px;height:23px;background:var(--product-accent);color:white;border-radius:50%;font-size:11px;margin-inline-start:5px}
.table-scroll {border:0;border-radius:0}
table {border-collapse:separate;border-spacing:0;text-align:start}
th {font-size:12px;font-weight:700;background:var(--product-wash);color:#46615a;padding:13px 16px;border-bottom:1px solid #d6e1d8}
td {padding:18px 16px;border-bottom:1px solid var(--product-line);font-size:14px;vertical-align:middle}
td small {font-size:12px;color:var(--product-muted);margin-top:5px}
tbody tr:hover>td {background:#f8faf5}
.cell-main,tbody td:first-child {font-weight:500;color:var(--product-brand)}
.cell-main {font-size:16px}
.table-scroll details>summary {min-height:44px;display:flex;align-items:center;gap:7px;font-size:13px;color:var(--product-accent)}
.table-scroll details[open] {background:#f3f6ef;border:1px solid var(--product-line);padding:12px;border-radius:10px;min-width:230px}
.table-scroll details form {min-width:0}
.cell-actions {gap:8px;align-items:center}
.product-action-menu {position:relative}
.product-action-menu>summary {cursor:pointer;min-height:44px;padding:8px;display:flex;align-items:center;color:var(--product-accent);font-size:13px}
.product-action-menu[open]>.product-menu-items {display:flex;flex-wrap:wrap;gap:10px;background:#f2f6ee;padding:12px;border:1px solid var(--product-line);border-radius:8px;margin-top:6px}
.families-card {border-radius:var(--product-radius);border:1px solid var(--product-line);box-shadow:none;padding:24px}
.families-card h3 {font-size:22px}
.families-card-top {font-size:12px}
.families-stats {gap:12px}
.families-stat {border:1px solid var(--product-line);border-radius:10px;padding:18px}
.families-stat strong {font-size:30px;font-weight:700}
.families-stat-focus {background:var(--product-brand)}
.families-actions {padding-top:16px;border-top:1px solid var(--product-line)}
.families-actions .button.primary {background:white;color:var(--product-accent);border-color:#bad0c5;box-shadow:none}
.families-tabs,.topic-tabs {gap:6px;border-bottom:1px solid var(--product-line);padding-bottom:12px}
.families-tabs a,.topic-tabs a {min-height:44px;border-radius:7px;padding:10px 15px}
.families-notice {background:#ecf2ed;border-color:#c9ddd1;border-radius:10px}
.families-dialog {max-width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;border-radius:var(--product-radius)}
.audit-list {padding-inline-start:20px}
.audit-row {position:relative;grid-template-columns:1.4fr 1fr 1fr auto;padding:22px 16px;border-inline-start:1px solid #cbd8ce;gap:12px;border-bottom:0;margin:0}
.audit-row:before {content:'';width:9px;height:9px;border:3px solid white;background:var(--product-gold);border-radius:50%;position:absolute;inset-inline-start:-8px;top:30px}
.audit-row>strong {font-size:14px}
.audit-row time {font-size:12px}
.audit-row details {grid-column:1/-1;background:#f5f7f2;padding:8px 14px!important;border:0;border-radius:8px}
.audit-row pre {font-size:12px;color:var(--product-muted)}
.knowledge-card {border-radius:var(--product-radius);border-top:0;border-inline-start:3px solid var(--product-gold);padding:28px;background:white}
.knowledge-card h2 {font-size:25px}
.knowledge-card p {font-size:16px}
.source-details,.reference-row {border-color:var(--product-line)}
.share-card {background:#eef3eb;border:1px solid #ccddcd;border-radius:var(--product-radius);padding:26px}
.share-qr {background:white;padding:15px;border-radius:12px}
.share-secondary {background:transparent;border-style:dashed}

/* 07 — Guardian, staff and public participation */
.guardian-body,.survey-body {background:var(--product-paper)}
.site-header {padding-block:26px;border-bottom-color:var(--product-line)}
.site-header .brand-name {font-size:36px}
.site-header .quiet-link {font-size:13px;display:flex;align-items:center;gap:8px;min-height:44px}
.site-header .school-name {font-size:13px}
.site-footer {font-size:12px;padding-block:28px;margin-top:40px}
.site-footer nav a,.site-footer button {min-height:44px;display:inline-flex;align-items:center}
.demo-strip {font-size:11px;background:#ece5d2;padding:4px 10px}
.product-auth {max-width:1080px;margin:52px auto;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--product-line);border-radius:var(--product-radius-large);overflow:hidden;background:white;box-shadow:var(--product-shadow)}
.product-auth-story {position:relative;overflow:hidden;isolation:isolate;background:var(--product-brand);color:white;padding:54px 42px;display:flex;flex-direction:column;justify-content:space-between;gap:48px}
.product-auth-story:after {content:'';position:absolute;z-index:-1;inset-inline-end:-40px;bottom:-150px;width:360px;height:420px;border:1px solid #dac08033;border-radius:170px 170px 0 0;transform:rotate(-24deg);box-shadow:0 0 0 35px #ffffff03,0 0 0 70px #ffffff03}
.product-auth-story .eyebrow {color:#dfc28f}
.product-auth-story h2 {font-size:40px;line-height:1.45;color:white;max-width:none;margin:14px 0}
.product-auth-story p {color:#c7d7d1;font-size:16px;max-width:28ch}
.product-auth-points {display:grid;gap:20px}
.product-auth-points>span {display:flex;gap:12px;align-items:center;font-size:14px;color:#e0e9e1}
.product-auth-points .product-icon {color:#dbc18e}
.product-auth .form-sheet {border:0;border-radius:0;box-shadow:none;padding:50px 40px;max-width:none;margin:0;align-self:center;width:100%}
.product-auth .page-title {font-size:30px;line-height:1.5;margin:10px 0 16px}
.product-auth .form-sheet>p {font-size:14px;color:var(--product-muted)}
.split-form {gap:40px;align-items:center}
.split-form>aside {border-inline-start:3px solid var(--product-gold);padding:16px 30px}
.split-form>aside .page-title {font-size:42px;line-height:1.4}
.split-form .form-sheet {border-radius:var(--product-radius-large);padding:38px;box-shadow:var(--product-shadow);border-color:var(--product-line)}
.split-form .side-note {background:#e9eee5;border-radius:10px;padding:20px;font-size:14px}
.split-form .lead {font-size:18px}
.hero {padding-block:52px;gap:48px}
.hero h1 {font-size:72px;letter-spacing:-1.5px;line-height:1.25}
.hero-lead {font-size:22px;color:var(--product-muted)}
.partnership-art {background:var(--product-brand);color:white;border-radius:120px 18px 18px 18px;border-color:transparent;box-shadow:none}
.partnership-art .art-center {background:#1d494e;color:white;border-color:#739b8960}
.partnership-art .art-center strong {color:#f1deaf}
.partnership-art .art-label {background:#f8f6ee;color:var(--product-brand);border:1px solid #dfddc8}
.partnership-art .art-bottom {color:#d7e2d4}
.partnership-art .art-orbit {border-color:#c6d2b32a}
.principles {border-top:1px solid var(--product-line);padding-block:40px}
.principles article {border-inline-start:1px solid var(--product-line);padding-inline-start:24px}
.product-staff-hero {display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--product-brand);color:white;padding:32px;border-radius:var(--product-radius-large);margin-bottom:24px}
.product-staff-hero .page-title {font-size:36px;color:white;margin:10px 0}
.product-staff-hero .eyebrow {color:#e1c799}
.product-staff-hero p {color:#c6d9d1;margin:6px 0;font-size:14px}
.product-staff-hero .under-link {color:#e7d2a4;min-height:44px;display:inline-flex;align-items:center;gap:8px}
.product-workspace-nav {display:flex;flex-wrap:wrap;gap:8px;padding:10px 0 24px}
.product-workspace-nav a {text-decoration:none;min-height:44px;padding:9px 16px;background:white;border:1px solid var(--product-line);border-radius:8px;font-size:14px;display:flex;align-items:center;gap:8px}
.staff-workspace>h2,.staff-workspace>section>h2 {font-size:24px;margin-top:36px}
.staff-workspace .receipt-documents {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.staff-workspace .receipt-row {margin:0;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;padding:24px;border-radius:var(--product-radius);border:1px solid var(--product-line);box-shadow:none;gap:18px}
.staff-workspace .receipt-row h3,.staff-workspace .receipt-row h2 {font-size:21px;margin:0 0 10px}
.staff-workspace .receipt-row>div:last-child {display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--product-line);padding-top:16px}
.staff-workspace .receipt-row small {font-size:13px}
.staff-workspace .receipt-row p {font-size:14px;color:var(--product-muted)}
.staff-workspace .receipt-row .status-chip {background:var(--product-wash)}
.survey-header {background:var(--product-brand);color:#fff;padding:25px max(24px,calc((100% - 900px)/2));border-bottom:3px solid var(--product-gold)}
.survey-header strong {font-size:26px;display:flex;align-items:center;gap:12px}
.survey-header strong span,.survey-header small {color:#c7d9d1;font-size:13px}
.survey-main {max-width:920px;padding:36px 24px;margin:auto}
.survey-main .form-sheet,.survey-card {border:1px solid var(--product-line);border-radius:var(--product-radius-large);box-shadow:var(--product-shadow);padding:36px;background:white}
.survey-main h1 {font-size:32px;line-height:1.45}
.survey-main h2 {font-size:24px}
.survey-panel {background:white;border:1px solid var(--product-line);padding:28px;border-radius:var(--product-radius);box-shadow:none}
.survey-panel fieldset {border:0;border-top:1px solid var(--product-line);padding:22px 0;margin:20px 0}
.survey-panel fieldset legend {font-weight:700;font-size:17px;padding-inline:10px}
.survey-panel fieldset:first-of-type {margin-top:28px}
.survey-buttons {gap:10px;flex-wrap:wrap}
.survey-buttons [data-next],.survey-buttons [data-final] {background:var(--product-accent);color:white;border-color:var(--product-accent)}
.product-overview .page-actions>a.under-link {color:#ead09f}
.survey-main .page-title {font-size:36px}
.privacy-note {background:#edf2e9;border-inline-start:3px solid var(--product-accent);border-radius:8px;padding:18px;font-size:14px}
.survey-footer {color:var(--product-muted);padding:28px;font-size:13px}
.child-card,.student-card {border-radius:var(--product-radius);border-color:var(--product-line);box-shadow:none}
.child-card:has(input:checked),.student-card:has(input:checked) {background:#edf4eb;border-color:var(--product-accent)}
.signature-sheet,.signature-card {border-radius:var(--product-radius);border-color:var(--product-line)}
.reading-page {max-width:900px}
.reading-page .page-title {font-size:40px}
.declaration-text {line-height:2.1}
.form-content>fieldset {border:0;padding:0;margin:28px 0}
.form-content>fieldset>legend {font-size:20px;font-weight:700;margin-bottom:8px}
.form-content .form-field {border:0;border-top:1px solid var(--product-line);padding:22px 0;margin:26px 0}
.form-content .form-field legend {font-size:18px;padding-inline:8px}
.form-content .form-field .checkbox-label {border:1px solid var(--product-line);border-radius:8px;padding:12px;background:var(--product-wash);min-height:48px}
.form-content .form-field .checkbox-label:has(input:checked) {border-color:var(--product-accent);background:#edf4eb}
.form-content .form-field small {font-size:13px;margin-top:5px}
.admin-panel.form-content {max-width:900px;margin-inline:auto}

/* 08 — Responsive layout and mobile records */
@media (min-width:761px) {
 .admin-sidebar {height:100dvh;min-height:100dvh;position:sticky;top:0;overflow-y:auto}
 .product-directory tbody td:first-child {position:relative;padding-inline-start:48px}
 .product-directory tbody td:first-child:before {content:'';position:absolute;inset-inline-start:15px;top:24px;width:22px;height:26px;border-radius:10px 10px 7px 7px;background:linear-gradient(var(--product-accent),var(--product-accent)) center 4px/8px 8px no-repeat,linear-gradient(var(--product-wash),var(--product-wash));opacity:.7}
}
@media (max-width:1279px) {
 .admin-shell {grid-template-columns:230px minmax(0,1fr)}
 .admin-main {padding:24px}
 .admin-topbar {padding-inline:24px}
 .admin-page-heading h1 {font-size:30px}
 .product-overview {padding:28px;min-height:0}
 .product-overview .page-actions {max-width:none;justify-content:flex-start}
 .module-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
 .module-card {padding:18px}
 .module-card h2 {font-size:20px}
 .product-editor .product-form-section {grid-template-columns:155px minmax(0,1fr);gap:20px;padding:24px}
 .report-hub {grid-template-columns:repeat(2,minmax(0,1fr))}
 .audit-row {grid-template-columns:1fr 1fr}
}
@media (max-width:1023px) {
 .module-grid,.dashboard-bottom {grid-template-columns:1fr}
 .executive-metrics {grid-template-columns:repeat(3,minmax(0,1fr))}
 .product-editor .product-form-section {display:block}
 .product-section-copy {margin-bottom:24px}
 .product-section-copy:before {float:inline-start;margin-inline-end:10px;margin-top:5px}
 .product-auth-story {padding:36px 26px}
 .product-auth .form-sheet {padding:36px 26px}
 .report-hub-card.report-overview {grid-template-columns:50px 1fr}
 .report-overview .module-link {grid-column:2;grid-row:auto}
 .staff-workspace .receipt-documents {grid-template-columns:1fr}
}
@media (max-width:760px) {
 :root {--product-title:28px;--product-display:36px}
 .admin-shell {display:block}
 .admin-topbar {position:sticky;top:0;z-index:var(--product-z-header);height:68px;padding:10px 16px;background:var(--product-paper);gap:10px}
 .admin-topbar>[data-menu] {display:grid;place-items:center;min-width:44px;height:44px;border:1px solid var(--product-line);border-radius:8px;padding:0}
 .admin-topbar .product-top-context {flex:1;gap:0}
 .product-top-context>.product-icon {display:none}
 .admin-topbar strong {font-size:14px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .admin-account>span:not(.product-avatar),.admin-account .product-avatar {display:none}
 .admin-account .text-button {font-size:12px;gap:5px}
 .admin-sidebar {width:min(320px,88vw);padding:24px 16px;min-height:0;max-height:100dvh}
 .drawer-close {margin:0 0 18px;display:grid;place-items:center;background:#ffffff0c;border-color:#ffffff32}
 .admin-sidebar .brand-name {font-size:34px}
 .admin-sidebar .sidebar-brand {position:sticky;top:-24px;z-index:2;background:var(--product-brand);padding-block:14px}
 .admin-main {padding:20px 16px 42px}
 .admin-breadcrumbs {font-size:11px;margin-bottom:12px}
 .admin-demo {margin-bottom:18px;font-size:11px}
 .admin-page-heading,.admin-main .page-heading {display:flex;align-items:stretch;gap:16px;margin-bottom:22px}
 .admin-page-heading>div:first-child {flex-basis:auto}
 .admin-page-heading h1,.executive-heading h1 {font-size:27px;line-height:1.45}
 .admin-page-heading>div>p {font-size:14px;line-height:1.8}
 .admin-page-heading .eyebrow {font-size:12px;margin-bottom:8px}
 .page-actions {gap:8px}
 .page-actions .button {flex:0 1 auto;font-size:13px}
 .product-overview {padding:24px 20px;min-height:0;border-radius:16px;gap:18px}
 .product-overview h1 {font-size:29px;max-width:17ch}
 .product-overview>div>p {font-size:14px}
 .product-overview .page-actions {align-self:stretch;gap:8px;justify-content:flex-start}
 .product-overview .page-actions .button {font-size:12px;padding:9px 12px;gap:5px}
 .product-overview .metric-note {font-size:11px}
 .executive-metrics {margin:0 8px 24px;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:0 0 12px 12px}
 .metric-card {padding:16px 13px}
 .metric-card strong {font-size:30px}
 .metric-card span {font-size:12px}
 .metric-card:last-child {grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}
 .module-grid,.report-grid,.report-hub,.admin-grid {grid-template-columns:1fr;gap:16px}
 .module-card,.admin-panel,.report-hub-card {padding:21px 18px}
 .module-card h2 {font-size:22px}
 .module-card .module-description {padding-bottom:12px}
 .module-card .empty-state {padding:20px 12px}
 .section-heading {gap:12px}
 .section-heading h2,.admin-panel>h2 {font-size:21px}
 .section-heading .status-chip {width:auto}
 .summary-tiles,.metrics {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .summary-tile,.metric {padding:16px}
 .summary-tile strong {font-size:29px}
 .report-hub-card.report-overview {padding:24px 20px;grid-template-columns:46px 1fr;gap:12px}
 .report-overview h2 {font-size:25px}
 .report-overview p {font-size:14px}
 .product-form-section {padding:22px 18px!important}
 .product-section-nav {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:8px;background:#e9eee6;border-radius:10px;border:0}
 .product-section-nav a {font-size:12px;min-height:44px;padding:7px;line-height:1.5}
 .product-section-copy h2 {font-size:21px}
 .product-section-copy p {font-size:13px}
 .product-editor [data-form-builder] {padding:20px 12px!important}
 .form-question {padding:18px 14px}
 .form-question>.form-actions {justify-content:flex-start;gap:2px}
 .form-question>.form-actions .button {padding:7px;font-size:12px}
 .form-question [data-name=label] {font-size:16px}
 .form-grid {grid-template-columns:minmax(0,1fr)}
 .form-grid .span-2 {grid-column:1}
 .q-preview {padding:18px 14px}
 .qp-options {grid-template-columns:1fr}
 .product-editor>.form-actions:last-child {position:static;padding:16px;gap:8px;box-shadow:none}
 .product-editor>.form-actions:last-child:before {flex-basis:100%;margin:0 0 4px;font-size:12px}
 .filters,.filter-bar,.families-filters {padding:14px;gap:10px}
 .product-filter-toggle {display:flex;align-items:center;gap:8px;min-height:44px;justify-content:space-between;width:100%;border:0;background:transparent;color:var(--product-brand);padding:4px 0;font-size:14px}
 .product-filter-toggle .product-icon {color:var(--product-accent)}
 .product-filters-collapsed>.product-filter-secondary {display:none!important}
 .filters>div,.filters>label,.filter-bar>label,.families-filters>label {min-width:0;flex-basis:100%;width:100%;margin:0}
 .filters label,.families-filters label {font-size:13px}
 .filters .button,.filter-bar .button,.families-filters .button {width:auto;min-width:110px}
 .product-records[data-stacked] {overflow:visible;border:0}
 .product-records[data-stacked] table,.product-records[data-stacked] tbody {display:block;width:100%}
 .product-records[data-stacked] thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .product-records[data-stacked] tr {display:grid;grid-template-columns:minmax(0,1fr);background:white;border:1px solid var(--product-line);border-radius:12px;margin:0 0 14px;padding:15px;box-shadow:0 2px 0 #173b4505}
 .product-records[data-stacked] td {display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;border:0;padding:8px 0;min-width:0;font-size:14px;align-items:start;background:transparent;overflow-wrap:anywhere}
 .product-records[data-stacked] td:before {content:attr(data-label);font-size:12px;font-weight:400;color:var(--product-muted);line-height:1.8}
 .product-records[data-stacked] td:first-child {display:block;font-size:18px;font-weight:700;padding:0 0 12px;margin-bottom:6px;border-bottom:1px solid var(--product-line)}
 .product-records[data-stacked] td:first-child:before {display:none}
 .product-records[data-stacked] td>small {grid-column:2;margin-top:0}
 .product-records[data-stacked] td:last-child:not(:first-child) {display:block;padding-top:12px;margin-top:7px;border-top:1px solid var(--product-line)}
 .product-records[data-stacked] td:last-child:before {display:block;margin-bottom:8px}
 .product-records[data-stacked] td[colspan] {display:block}
 .product-records[data-stacked] td[colspan]:before {display:none}
 .product-records[data-stacked] .cell-actions {flex-wrap:wrap}
 .product-records[data-stacked] details[open] {min-width:0}
 .table-scroll .button {min-height:44px}
 .families-card {padding:20px}
 .families-stat {padding:14px}
 .families-stat strong {font-size:27px}
 .families-stats {gap:8px}
 .families-tabs {gap:6px}
 .families-tabs a {font-size:12px;min-height:44px}
 .families-card h3 {font-size:21px}
 .families-actions {gap:8px}
 .audit-list {padding-inline-start:8px}
 .audit-row {display:grid;grid-template-columns:1fr;padding:18px 14px;gap:6px}
 .audit-row>strong {font-size:15px;overflow-wrap:anywhere}
 .audit-row details {grid-column:1}
 .share-card {padding:18px;display:flex;flex-direction:column;gap:20px}
 .share-link {flex-wrap:wrap}
 .share-link input {width:100%;min-width:0;flex-basis:100%}
 .share-qr {align-self:center}
 .dist-row {grid-template-columns:minmax(0,1fr) auto;gap:8px}
 .dist-track {grid-column:1/-1;grid-row:2}
 .site-header {padding-block:20px;gap:14px}
 .site-header .brand-name {font-size:31px}
 .site-header .school-name {font-size:12px}
 .product-auth {margin:24px 16px;display:flex;flex-direction:column;border-radius:18px}
 .product-auth-story {padding:26px;gap:18px}
 .product-auth-story h2 {font-size:30px;max-width:none;margin:8px 0}
 .product-auth-story p {font-size:14px;max-width:none;margin:0}
 .product-auth-points {display:none}
 .product-auth .form-sheet {padding:26px}
 .product-auth .page-title {font-size:25px}
 .split-form {display:flex;flex-direction:column;gap:24px}
 .split-form>aside {padding:8px 18px;width:100%}
 .split-form>aside .page-title {font-size:32px}
 .split-form .lead {font-size:16px}
 .split-form .side-note {padding:14px;font-size:13px;margin-top:16px}
 .split-form .form-sheet {padding:26px 22px;width:100%}
 .hero {padding-block:28px;gap:28px}
 .hero h1 {font-size:48px}
 .hero-lead {font-size:19px}
 .partnership-art {border-radius:70px 14px 14px 14px}
 .principles article {border-inline-start:0;padding-inline-start:0}
 .product-staff-hero {padding:26px 22px;display:block}
 .product-staff-hero .page-title {font-size:29px}
 .product-staff-hero p {font-size:13px}
 .product-workspace-nav {gap:7px;padding-bottom:12px}
 .product-workspace-nav a {font-size:13px;padding:8px 12px}
 .staff-workspace .receipt-row {padding:22px}
 .staff-workspace .receipt-row h3 {font-size:20px}
 .staff-workspace .receipt-row .button {width:100%}
 .survey-header {padding:20px;gap:10px}
 .survey-header strong {font-size:24px}
 .survey-header strong span {font-size:12px}
 .survey-main {padding:26px 16px}
 .survey-main .form-sheet,.survey-card {padding:24px 20px;border-radius:14px}
 .survey-main h1,.survey-main .page-title {font-size:28px}
 .survey-main h2 {font-size:22px}
 .survey-panel {padding:22px 18px}
 .reading-page .page-title {font-size:32px}
 .site-footer {margin-top:28px}
 .flow-steps {padding:16px 12px;gap:10px}
}

/* 09 — Motion, print and enhancement fallbacks */
@media (hover:hover) {
 .module-card,.report-hub-card,.families-card {transition:border-color var(--product-motion),box-shadow var(--product-motion)}
 .module-card:hover,.families-card:hover {border-color:#afc6b8;box-shadow:var(--product-shadow)}
}
@media (prefers-reduced-motion:reduce) {
 *,*:before,*:after {scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
@media print {
 .product-section-nav,.product-workspace-nav,.product-filter-toggle {display:none!important}
 .product-editor>.form-actions:last-child {position:static;box-shadow:none}
 .product-filters-collapsed>.product-filter-secondary {display:block!important}
}
