/*
 * «نماء» — الخطة العلاجية.
 * هدوء تحريري مؤسسي: عاجي دافئ، حبر ليلي، وأخضر نمو.
 */

.ath.nma {
    --ath-accent: #176b58;
    --ath-accent-soft: #edf5f0;
    --ath-accent-line: #a9c9bc;
    --ath-gold: #7c4605;
    --ath-gold-soft: #fbf1df;
    --nma-ivory: #f7f3e9;
    --nma-paper: #fffdf8;
    --nma-ink: #122522;
    --nma-ink-2: #314741;
    --nma-sage: #456b5b;
    --nma-emerald: #176b58;
    --nma-amber: #7c4605;
    --nma-red: #a33d36;
    --nma-line: #ced9d3;
    --nma-line-dark: #9cadA4;
    color: var(--nma-ink);
}

.nma :focus-visible {
    outline: 3px solid rgba(23, 107, 88, .28);
    outline-offset: 2px;
}

.nma .btn--primary {
    background: var(--nma-emerald);
    border-color: var(--nma-emerald);
}

.nma .btn--primary:hover {
    background: #0e5948;
    border-color: #0e5948;
}

.nma .ath-kicker { color: var(--nma-amber); }
.nma .ath-kicker::before { background: var(--nma-amber); }

/* صفحة المنتج */
.nma-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr);
    gap: clamp(34px, 6vw, 74px);
    align-items: center;
    padding: 38px 0 16px;
}

.nma-hero__content h1 {
    max-width: 690px;
    margin: 10px 0 0;
    font-size: clamp(34px, 4.6vw, 56px);
    line-height: 1.22;
    letter-spacing: -.025em;
    font-weight: 900;
}

.nma-hero__content h1 span { color: var(--nma-emerald); }

.nma-hero__content > p {
    max-width: 62ch;
    margin: 18px 0 0;
    color: var(--nma-ink-2);
    font-size: 16.5px;
    line-height: 1.9;
}

.nma-hero__proof {
    display: grid;
    gap: 7px;
    margin-top: 20px;
    color: var(--nma-ink-2);
    font-size: 13px;
}

.nma-hero__proof span::before {
    content: '—';
    margin-inline-end: 8px;
    color: var(--nma-sage);
    font-weight: 900;
}

.nma-hero__visual {
    position: relative;
    min-height: 440px;
    padding: 25px 0 0 24px;
}

.nma-hero__visual::before {
    content: '';
    position: absolute;
    inset: 0 24px 28px 0;
    background: var(--nma-ivory);
    border: 1px solid #e3dac8;
}

.nma-hero__visual::after {
    content: 'EVIDENCE / RESPONSE';
    position: absolute;
    inset-inline-end: -44px;
    top: 190px;
    transform: rotate(-90deg);
    color: #655d4f;
    font: 700 10.5px/1 'Alexandria', sans-serif;
    letter-spacing: .18em;
}

.nma-hero__folio {
    position: relative;
    z-index: 1;
    min-height: 385px;
    padding: 22px;
    background: var(--nma-paper);
    border: 1px solid var(--nma-line-dark);
    box-shadow: 18px 20px 0 rgba(18, 37, 34, .07);
}

.nma-folio__top,
.nma-folio__student,
.nma-folio__metrics {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.nma-folio__top {
    padding-bottom: 13px;
    border-bottom: 2px solid var(--nma-ink);
    font-size: 10.5px;
    font-weight: 700;
    color: var(--nma-ink-2);
}

.nma-folio__student {
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 17px 0 6px;
}

.nma-folio__student small {
    width: 100%;
    color: #455c53;
}

.nma-folio__student strong {
    font: 800 16px/1.4 'Alexandria', sans-serif;
}

.nma-chart { margin: 6px 0 0; }
.nma-chart svg { display: block; width: 100%; height: auto; }
.nma-chart__grid { stroke: #dae3de; stroke-width: 1; }
.nma-chart__aim { fill: none; stroke: #a07c46; stroke-width: 2; stroke-dasharray: 7 5; }
.nma-chart__actual { fill: none; stroke: var(--nma-emerald); stroke-width: 4; }
.nma-chart__dots circle { fill: var(--nma-paper); stroke: var(--nma-emerald); stroke-width: 3; }

.nma-progress-rail {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    gap: 9px;
    align-items: center;
    padding: 9px 0 13px;
    border-bottom: 1px solid var(--nma-line);
}

.nma-progress-rail > span { display: grid; gap: 1px; }
.nma-progress-rail > span i { font-style: normal; font-weight: 900; color: var(--nma-ink); }
.nma-progress-rail > span small { font-size: 11px; color: #43594f; }
.nma-progress-rail > b { height: 4px; background: #d8e3de; position: relative; }
.nma-progress-rail > b i { display: block; height: 100%; background: var(--nma-emerald); }

.nma-folio__metrics {
    align-items: stretch;
    margin-top: 13px;
}

.nma-folio__metrics span {
    flex: 1;
    padding-inline-start: 8px;
    border-inline-start: 1px solid var(--nma-line);
    color: #40574e;
    font-size: 11px;
}

.nma-folio__metrics b { display: block; color: var(--nma-ink); font-size: 17px; }

.nma-loop {
    padding: 24px;
    background: var(--nma-ink);
    color: #fff;
}

.nma-loop .ath-kicker { color: #d6a85e; }
.nma-loop .ath-section__title { color: #fff; }
.nma-loop ol {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 25px 0 0;
    padding: 0;
    list-style: none;
}

.nma-loop li {
    position: relative;
    display: grid;
    gap: 4px;
    padding: 0 18px;
    border-inline-start: 1px solid rgba(255, 255, 255, .18);
}

.nma-loop li:first-child { padding-inline-start: 0; }
.nma-loop li:last-child { border: 0; }
.nma-loop li b { color: #d6a85e; font: 700 10px/1 'Alexandria', sans-serif; }
.nma-loop li strong { font: 800 16px/1.5 'Alexandria', sans-serif; }
.nma-loop li span { color: #aec0ba; font-size: 11.5px; }

.nma-decision-section {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: 36px;
    align-items: start;
}

.nma-decision-copy > p { line-height: 1.9; }
.nma-fidelity { display: grid; gap: 6px; margin-top: 22px; padding: 15px; background: var(--ath-gold-soft); border: 1px solid #dec391; }
.nma-fidelity strong { font-family: 'Alexandria', sans-serif; }
.nma-fidelity span { font-size: 12.5px; color: #70501f; }
.nma-fidelity b { display: block; height: 5px; background: #ead7b1; }
.nma-fidelity b i { display: block; height: 100%; background: var(--nma-amber); }

.nma-decision-list { border-top: 1px solid var(--nma-line); }
.nma-decision-list > div { display: grid; grid-template-columns: 150px 1fr; gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--nma-line); }
.nma-decision-list p { margin: 0; color: var(--nma-ink-2); font-size: 13px; }

.nma-decision {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    padding: 4px 8px;
    border: 1px solid var(--nma-line-dark);
    background: #f3f5f3;
    color: var(--nma-ink-2);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
}

.nma-decision--good { color: #084a3a; background: #e7f4ed; border-color: #76aa94; }
.nma-decision--warn { color: #663900; background: #fff3df; border-color: #ce9d46; }
.nma-decision--bad { color: #70231f; background: #fbedeb; border-color: #c98680; }
.nma-decision--info { color: #174e57; background: #edf7f7; border-color: #87b7ba; }
.nma-decision--neutral { color: #344a41; background: #f2f4f2; border-color: #a6b7ad; }

.nma-outputs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--nma-line-dark); }
.nma-output { min-height: 210px; padding: 22px; color: inherit; text-decoration: none; background: var(--nma-paper); border-inline-start: 1px solid var(--nma-line); transition: background .16s ease, transform .16s ease; }
.nma-output:last-child { border-inline-start: 0; }
.nma-output:hover { background: var(--ath-accent-soft); transform: translateY(-3px); }
.nma-output > span { color: var(--nma-sage); font: 800 11.5px/1 'Alexandria', sans-serif; letter-spacing: .06em; }
.nma-output h3 { margin: 42px 0 8px; font-size: 18px; }
.nma-output p { min-height: 55px; margin: 0; color: var(--nma-ink-2); line-height: 1.7; }
.nma-output b { display: block; margin-top: 16px; color: var(--nma-emerald); font-size: 12px; }

.nma-handoff { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 24px; background: var(--nma-ivory); border-inline-start: 4px solid var(--nma-sage); }
.nma-handoff h2 { margin: 5px 0 7px; font-size: 21px; }
.nma-handoff p { max-width: 72ch; margin: 0; color: var(--nma-ink-2); line-height: 1.8; }

/* البداية */
.nma-start { max-width: 960px; margin: 0 auto; }
.nma-start__head { padding: 26px 0 22px; }
.nma-start__head h1 { margin: 7px 0 5px; font-size: clamp(28px, 4vw, 40px); }
.nma-start__head p { margin: 0; color: var(--nma-ink-2); font-size: 15px; }
.nma-launch { display: grid; grid-template-columns: 80px 1fr; border: 1px solid var(--nma-line-dark); background: var(--nma-paper); margin-bottom: 18px; }
.nma-launch__number { display: grid; place-items: start center; padding-top: 24px; background: var(--nma-ink); color: #dfba79; font: 800 22px/1 'Alexandria', sans-serif; }
.nma-launch--tahseel .nma-launch__number { background: var(--nma-emerald); color: #fff; }
.nma-launch__content { padding: 22px; }
.nma-launch__heading { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 16px; margin-bottom: 18px; border-bottom: 1px solid var(--nma-line); }
.nma-launch__heading span { color: var(--nma-amber); font-size: 11px; font-weight: 800; }
.nma-launch__heading h2 { margin: 3px 0 0; font-size: 21px; }
.nma-launch__heading p { max-width: 320px; margin: 0; color: var(--nma-ink-2); font-size: 13px; }
.nma-start-form { display: grid; gap: 18px; }
.nma-scope-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.nma-scope-options label { position: relative; }
.nma-scope-options input { position: absolute; opacity: 0; }
.nma-scope-options label > span { display: block; height: 100%; padding: 13px 14px; border: 1px solid var(--nma-line); background: #fff; cursor: pointer; }
.nma-scope-options strong, .nma-scope-options small { display: block; }
.nma-scope-options small { margin-top: 2px; color: #40574e; font-size: 12px; font-weight: 500; }
.nma-scope-options input:checked + span { border-color: var(--nma-emerald); box-shadow: inset 4px 0 0 var(--nma-emerald); background: var(--ath-accent-soft); }
.nma-scope-options input:focus-visible + span { outline: 3px solid rgba(23, 107, 88, .25); outline-offset: 2px; }
.nma-launch__action { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-top: 4px; }
.nma-launch__action span { color: #40574e; font-size: 12.5px; }
.nma-tahseel-list { display: grid; gap: 8px; }
.nma-tahseel-item { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 14px; border: 1px solid var(--nma-line); background: #fff; }
.nma-tahseel-item h3 { margin: 2px 0; font-size: 14px; }
.nma-tahseel-item small { color: #40574e; font-size: 11.5px; }
.nma-tahseel-item__subject { color: var(--nma-emerald); font-size: 11px; font-weight: 800; }
.nma-inline-empty { display: grid; gap: 4px; padding: 22px; border: 1px dashed var(--nma-line-dark); text-align: center; }
.nma-inline-empty span { color: #40574e; font-size: 13px; }
.nma-start__back { margin: 4px 0; color: #40574e; font-size: 13px; font-weight: 600; }

/* المكتبة */
.nma-library-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 16px 0 20px; }
.nma-library-head h1 { margin: 4px 0; font-size: 30px; }
.nma-library-head p { margin: 0; color: #5f716a; }
.nma-library-head > div:last-child { display: flex; gap: 8px; flex-wrap: wrap; }
.nma-empty { max-width: 700px; margin: 28px auto; padding: 55px 30px; background: var(--nma-paper); border: 1px solid var(--nma-line-dark); text-align: center; }
.nma-empty__rail { display: flex; align-items: center; justify-content: center; width: 220px; margin: 0 auto 24px; }
.nma-empty__rail::before, .nma-empty__rail::after { content: ''; flex: 1; height: 2px; background: var(--nma-line); }
.nma-empty__rail i { width: 9px; height: 9px; margin: 0 8px; background: var(--nma-sage); transform: rotate(45deg); }
.nma-empty__rail i:first-child { background: var(--nma-ink); }
.nma-empty__rail i:last-child { background: var(--nma-emerald); }
.nma-empty h2 { margin: 6px 0; font-size: 23px; }
.nma-empty p { max-width: 54ch; margin: 0 auto 18px; color: var(--nma-ink-2); }
.nma-library-list { display: grid; border-top: 2px solid var(--nma-ink); }
.nma-plan-row { display: grid; grid-template-columns: 170px minmax(220px, 1.25fr) minmax(260px, .9fr) auto; gap: 18px; align-items: center; padding: 17px 0; border-bottom: 1px solid var(--nma-line); }
.nma-plan-row__status { display: grid; gap: 6px; }
.nma-plan-row__status small { color: #40574e; font-size: 11.5px; }
.nma-plan-row__meta { display: flex; gap: 10px; color: #40574e; font-size: 11.5px; }
.nma-plan-row__meta span { color: var(--nma-emerald); font-weight: 800; }
.nma-plan-row__main h2 { margin: 3px 0; font-size: 16px; }
.nma-plan-row__main p { margin: 0; color: #5b6e66; font-size: 12.5px; }
.nma-plan-row__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.nma-plan-row__facts div { padding-inline: 10px; border-inline-start: 1px solid var(--nma-line); }
.nma-plan-row__facts dt { color: #40574e; font-size: 11px; font-weight: 600; }
.nma-plan-row__facts dd { margin: 2px 0 0; font-weight: 800; font-size: 13px; }
.nma-plan-row__actions { display: flex; justify-content: flex-end; gap: 5px; flex-wrap: wrap; }
.nma-plan-row__actions form { margin: 0; }
.nma-delete { border: 0; background: none; color: var(--nma-red); font: inherit; font-size: 11px; cursor: pointer; padding: 6px; }

/* الاستوديو */
.nma-studio { --nma-studio-bg: #f5f3ed; }
.nma-studio-bar { position: sticky; top: 48px; z-index: 30; display: flex; align-items: center; gap: 11px; min-height: 62px; margin-bottom: 14px; padding: 8px 10px; background: rgba(255, 253, 248, .96); border-bottom: 2px solid var(--nma-ink); box-shadow: 0 4px 12px rgba(18, 37, 34, .06); }
.nma-studio-bar__back { color: var(--nma-emerald); font-size: 12px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.nma-studio-bar__identity { flex: 1; min-width: 180px; }
.nma-studio-bar__identity span { display: block; color: #40574e; font-size: 11px; font-weight: 600; }
.nma-studio-bar__identity h1 { overflow: hidden; margin: 1px 0 0; font-size: 16px; white-space: nowrap; text-overflow: ellipsis; }
.nma-plan-state { padding: 3px 7px; border: 1px solid var(--nma-line-dark); color: #354d44; font-size: 11px; font-weight: 800; }
.nma-plan-state.is-issued { color: var(--nma-emerald); background: var(--ath-accent-soft); border-color: var(--ath-accent-line); }
.nma-save-state { color: #40574e; font-size: 12px; font-weight: 700; white-space: nowrap; }
.nma-save-state[data-mode="saving"], .nma-save-state[data-mode="dirty"] { color: var(--nma-amber); }
.nma-save-state[data-mode="error"] { color: var(--nma-red); font-weight: 800; }
.nma-studio-bar__actions { display: flex; gap: 6px; }
.nma-mobile-steps { display: none; }
.nma-studio-layout { display: grid; grid-template-columns: 205px minmax(0, 1fr) 245px; gap: 16px; align-items: start; }

.nma-step-rail { position: sticky; top: 124px; display: grid; gap: 1px; padding-inline-start: 22px; }
.nma-step-rail__line { position: absolute; inset-inline-start: 12px; top: 19px; bottom: 54px; width: 2px; background: #d4ded8; }
.nma-step-rail__line i { display: block; width: 100%; height: 0; background: var(--nma-emerald); transition: height .25s ease; }
.nma-step-rail button { position: relative; display: grid; grid-template-columns: 29px 1fr; gap: 8px; padding: 10px 8px; border: 0; border-inline-start: 3px solid transparent; background: transparent; color: #40574e; font: inherit; text-align: start; cursor: pointer; }
.nma-step-rail button:hover { background: #fff; }
.nma-step-rail button.is-active { color: var(--nma-ink); background: var(--nma-paper); border-inline-start-color: var(--nma-emerald); box-shadow: 0 3px 12px rgba(18, 37, 34, .06); }
.nma-step-rail button > span { position: relative; z-index: 2; grid-row: span 2; display: grid; place-items: center; width: 27px; height: 27px; background: var(--nma-studio-bg); border: 1px solid var(--nma-line-dark); font-size: 10px; font-weight: 900; }
.nma-step-rail button.is-active > span { color: #fff; background: var(--nma-emerald); border-color: var(--nma-emerald); }
.nma-step-rail button.is-done > span { color: var(--nma-emerald); border-color: var(--nma-emerald); }
.nma-step-rail button strong { font-size: 13px; align-self: end; }
.nma-step-rail button small { grid-column: 2; font-size: 11px; color: #455c53; font-weight: 500; }

.nma-panel { background: var(--nma-paper); border: 1px solid var(--nma-line-dark); box-shadow: 0 8px 26px rgba(18, 37, 34, .055); }
.nma-panel__head { padding: 23px 24px 18px; border-bottom: 1px solid var(--nma-line); background: linear-gradient(to left, var(--nma-paper), #f9f5ea); }
.nma-panel__head > span { color: var(--nma-amber); font: 800 11.5px/1 'Alexandria', sans-serif; letter-spacing: .06em; }
.nma-decision-hero > div > span { color: #efc77f; font: 800 11.5px/1 'Alexandria', sans-serif; letter-spacing: .06em; }
.nma-panel__head h2 { margin: 7px 0 4px; font-size: 23px; }
.nma-panel__head p { max-width: 76ch; margin: 0; color: #566a62; line-height: 1.7; }
.nma-panel__head--monitor { display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.nma-panel__body { display: grid; gap: 17px; padding: 20px 24px 24px; }
.nma-panel__foot { display: flex; justify-content: space-between; gap: 10px; padding: 13px 24px; background: #f6f3eb; border-top: 1px solid var(--nma-line); }

.nma-block { display: grid; gap: 13px; padding: 18px; border: 1px solid var(--nma-line); background: #fff; }
.nma-block__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.nma-block__head > div > span, .nma-block__head > span { display: block; color: #0d5847; font-size: 11.5px; font-weight: 800; }
.nma-block__head h3 { margin: 2px 0 0; font-size: 16px; }
.nma-block__head > small, .nma-block__head > b { color: #40574e; font-size: 11.5px; font-weight: 700; }
.nma-count { padding: 4px 7px; background: var(--ath-accent-soft); border: 1px solid var(--ath-accent-line); }
.nma-diagnosis { border-inline-start: 4px solid var(--nma-sage); }
.nma-add { width: 100%; padding: 9px 12px; border: 1px dashed var(--nma-line-dark); background: #f8faf8; color: var(--nma-emerald); font: inherit; font-weight: 800; cursor: pointer; }
.nma-add:hover { background: var(--ath-accent-soft); border-color: var(--nma-emerald); }
.nma-add:disabled { opacity: .45; cursor: not-allowed; }
.nma-add--small { width: auto; justify-self: start; padding: 6px 12px; }
.nma-icon-button { display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 1px solid var(--nma-line); background: #fff; color: #6f7f78; font: 500 18px/1 sans-serif; cursor: pointer; }
.nma-icon-button:hover { color: var(--nma-red); border-color: #d8a29d; background: #fff5f4; }
.nma-dynamic-field { display: grid; gap: 4px; color: #354d44; font-size: 12px; font-weight: 700; }
.nma-dynamic-field .ath-input { font-size: 13px; font-weight: 400; }

.nma-students { display: grid; gap: 10px; }
.nma-student-card { display: grid; gap: 10px; padding: 14px; border: 1px solid var(--nma-line); border-inline-start: 3px solid var(--nma-emerald); background: var(--nma-paper); }
.nma-student-card > header { display: grid; grid-template-columns: 28px 1fr 28px; gap: 8px; align-items: center; }
.nma-student-card > header > span { color: var(--nma-sage); font: 800 11.5px/1 'Alexandria', sans-serif; }
.nma-student-card > header > strong { font-size: 13px; }
.nma-student-card__grid { display: grid; grid-template-columns: 1.2fr .8fr repeat(4, minmax(90px, .65fr)); gap: 7px; }
.nma-student-rail { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 9px; align-items: center; padding: 8px 10px; background: #f3f7f4; }
.nma-student-rail span { display: grid; min-width: 62px; }
.nma-student-rail span b { font-size: 13px; }
.nma-student-rail span small { color: #40574e; font-size: 11px; }
.nma-student-rail > i { position: relative; display: block; height: 3px; background: #d2ded8; }
.nma-student-rail > i::before, .nma-student-rail > i::after { content: ''; position: absolute; top: -3px; width: 9px; height: 9px; background: var(--nma-ink); transform: rotate(45deg); }
.nma-student-rail > i::before { inset-inline-start: 0; }
.nma-student-rail > i::after { inset-inline-end: 0; background: var(--nma-emerald); }
.nma-student-rail > i b { display: block; height: 3px; background: var(--nma-emerald); }
.nma-student-rail em { grid-column: 1 / -1; color: var(--nma-red); font-size: 10.5px; font-style: normal; }
.nma-student-rail.is-invalid { background: #fff1ef; }
.nma-student-rail.is-invalid > i::after { background: var(--nma-red); }

.nma-strategies { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.nma-strategy { display: grid; gap: 5px; padding: 13px; border: 1px solid var(--nma-line); background: #fff; color: inherit; font: inherit; text-align: start; cursor: pointer; }
.nma-strategy:hover, .nma-strategy.is-selected { border-color: var(--nma-emerald); background: var(--ath-accent-soft); }
.nma-strategy > span { color: #40574e; font-size: 11px; font-weight: 600; }
.nma-strategy strong { font-family: 'Alexandria', sans-serif; font-size: 13px; }
.nma-strategy p { margin: 0; color: #53675f; font-size: 11.5px; line-height: 1.6; }
.nma-strategy b { margin-top: 4px; color: #0d5847; font-size: 11.5px; }
.nma-intervention-steps { display: grid; gap: 6px; }
.nma-step-row { display: grid; grid-template-columns: 25px 1fr 28px; gap: 6px; align-items: center; }
.nma-step-row > span { display: grid; place-items: center; width: 25px; height: 25px; color: #fff; background: var(--nma-emerald); font-size: 10px; font-weight: 900; }
.nma-dose-block { grid-template-columns: 180px 1fr; padding: 0; overflow: hidden; }
.nma-dose { display: grid; align-content: center; gap: 5px; padding: 25px; color: #fff; background: var(--nma-ink); }
.nma-dose small { color: #b9c9c2; }
.nma-dose strong { font: 900 28px/1.3 'Alexandria', sans-serif; color: #e3bc78; }
.nma-dose span { font-size: 11px; }
.nma-dose-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; padding: 18px; }

.nma-monitor-note { display: flex; gap: 15px; padding: 12px 14px; background: var(--nma-ivory); border-inline-start: 3px solid var(--nma-amber); }
.nma-monitor-note span { color: #665d4c; font-size: 12px; }
.nma-checkpoints { display: grid; gap: 12px; }
.nma-checkpoint { border: 1px solid var(--nma-line-dark); background: #fff; }
.nma-checkpoint > header { display: grid; grid-template-columns: 185px 1fr 28px; gap: 10px; align-items: end; padding: 11px 13px; background: #f3f6f3; border-bottom: 1px solid var(--nma-line); }
.nma-checkpoint__week { display: grid; align-self: center; }
.nma-checkpoint__week span { color: #40574e; font-size: 11px; font-weight: 600; }
.nma-checkpoint__week strong { font-size: 12px; }
.nma-checkpoint__values { display: grid; grid-template-columns: repeat(auto-fit, minmax(125px, 1fr)); gap: 8px; padding: 14px; }
.nma-checkpoint__delivery { display: grid; grid-template-columns: 120px 120px 120px minmax(180px, 1fr); gap: 8px; padding: 11px 14px; background: var(--nma-ivory); border-top: 1px solid #e1d8c8; }
.nma-empty-inline { display: grid; gap: 3px; padding: 18px; border: 1px dashed var(--nma-line-dark); background: #fbfcfa; text-align: center; }
.nma-empty-inline span { color: #0d5847; font-size: 11.5px; font-weight: 800; }
.nma-empty-inline strong { font-size: 12.5px; }

.nma-panel--decision { background: #f8f5ed; }
.nma-decision-hero { display: grid; grid-template-columns: 1fr 250px; gap: 20px; align-items: center; padding: 25px; color: #fff; background: var(--nma-ink); border-bottom: 4px solid #d4a153; }
.nma-decision-hero h2 { margin: 7px 0 5px; color: #fff; font-size: clamp(22px, 3vw, 31px); }
.nma-decision-hero p { max-width: 70ch; margin: 0; color: #d0ddd7; line-height: 1.7; }
.nma-decision-hero__signal { display: grid; gap: 8px; padding-inline-start: 18px; border-inline-start: 1px solid rgba(255,255,255,.2); }
.nma-decision-hero__signal small { color: #d0ddd7; font-size: 11.5px; }
.nma-decision-hero__signal .nma-decision { font-size: 12px; }
.nma-decision-hero__signal > div span { display: block; padding: 6px 8px; border: 1px solid rgba(255,255,255,.32); color: #e1ebe6; font-size: 11px; font-weight: 600; }
.nma-decision-hero__signal > div span.is-warning { color: #ffd896; border-color: #9f7838; }
.nma-decision-dashboard { display: grid; grid-template-columns: minmax(0, 1fr) 235px; gap: 14px; align-items: start; }
.nma-decision-onboarding {
    grid-column: 1;
    display: grid;
    gap: 16px;
    padding: 20px;
    background: #fff;
    border: 1px solid var(--nma-line-dark);
    border-top: 3px solid var(--nma-amber);
}
.nma-decision-onboarding header > span { color: var(--nma-amber); font-size: 11.5px; font-weight: 800; }
.nma-decision-onboarding h3 { margin: 4px 0; font-size: 18px; }
.nma-decision-onboarding p { max-width: 68ch; margin: 0; color: #40574e; font-size: 13px; line-height: 1.8; }
.nma-decision-onboarding .btn { justify-self: start; }
.nma-onboarding-rail { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; padding: 20px 0 4px; }
.nma-onboarding-rail::before { content: ''; position: absolute; inset-inline: 8%; top: 29px; height: 3px; background: linear-gradient(to left, var(--nma-emerald), #9bb7aa 52%, var(--nma-ink)); }
.nma-onboarding-rail span { position: relative; z-index: 1; display: grid; justify-items: center; gap: 7px; color: #354d44; font-size: 11.5px; }
.nma-onboarding-rail i { order: -1; display: block; width: 19px; height: 19px; background: #fff; border: 4px solid var(--nma-ink); transform: rotate(45deg); }
.nma-onboarding-rail span:nth-child(2) i { border-color: var(--nma-sage); }
.nma-onboarding-rail span:last-child i { border-color: var(--nma-emerald); }
.nma-student-progress { grid-column: 1; display: grid; gap: 12px; }
.nma-progress-card { display: grid; gap: 10px; padding: 14px; background: #fff; border: 1px solid var(--nma-line-dark); border-top: 3px solid var(--nma-emerald); }
.nma-progress-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.nma-progress-card header span:first-child { color: #40574e; font-size: 11px; font-weight: 600; }
.nma-progress-card h3 { margin: 2px 0 0; font-size: 15px; }
.nma-mini-chart { height: 150px; background: #fbfcfa; border: 1px solid #e3e9e5; }
.nma-mini-chart svg { display: block; width: 100%; height: 100%; }
.nma-mini-chart__grid { stroke: #e2e9e5; stroke-width: 1; }
.nma-mini-chart__aim { fill: none; stroke: #ad8240; stroke-width: 2; stroke-dasharray: 6 5; }
.nma-mini-chart__actual { fill: none; stroke: var(--nma-emerald); stroke-width: 4; }
.nma-mini-chart__dot { fill: #fff; stroke: var(--nma-emerald); stroke-width: 3; }
.nma-progress-card dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--nma-line); border-bottom: 1px solid var(--nma-line); }
.nma-progress-card dl div { padding: 8px; border-inline-start: 1px solid var(--nma-line); }
.nma-progress-card dl div:last-child { border: 0; }
.nma-progress-card dt { color: #40574e; font-size: 11px; font-weight: 600; }
.nma-progress-card dd { margin: 2px 0 0; font: 800 15px/1.3 'Alexandria', sans-serif; }
.nma-progress-card > p { margin: 0; color: #53675f; font-size: 11.5px; line-height: 1.7; }
.nma-next-actions { grid-column: 2; grid-row: 1 / span 2; position: sticky; top: 126px; padding: 16px; background: #fff; border: 1px solid var(--nma-line-dark); }
.nma-next-actions ol { display: grid; gap: 10px; margin: 15px 0 0; padding: 0 21px 0 0; }
.nma-next-actions li { padding-inline-start: 4px; color: #435850; font-size: 12px; line-height: 1.7; }
.nma-next-actions li::marker { color: var(--nma-emerald); font-weight: 900; }
.nma-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nma-readiness-list { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.nma-readiness-list li { display: grid; grid-template-columns: 20px 1fr; gap: 7px; align-items: start; padding: 7px 0; border-bottom: 1px solid #e5ebe7; }
.nma-readiness-list li > span { color: var(--nma-amber); font-weight: 900; }
.nma-readiness-list li.is-done > span { color: var(--nma-emerald); }
.nma-readiness-list li strong { font-size: 12px; }
.nma-readiness-list li button { grid-column: 2; padding: 0; border: 0; background: none; color: #0d5847; font: inherit; font-size: 11.5px; font-weight: 700; text-align: start; cursor: pointer; }
.nma-approval { border: 1px solid var(--nma-line); background: #fff; }
.nma-approval summary { padding: 12px 15px; cursor: pointer; font-weight: 800; }
.nma-approval__body { display: grid; gap: 14px; padding: 15px; border-top: 1px solid var(--nma-line); }
.nma-approval__body .nma-block__head p { margin: 0; color: #40574e; }
.nma-check { display: flex; gap: 7px; align-items: center; font-size: 12px; font-weight: 700; }
.nma-accent-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 8px; border-top: 1px solid var(--nma-line); }
.nma-accent-row > span { font-weight: 800; font-size: 12px; }
.nma-swatches { display: flex; gap: 7px; }
.nma-swatch { width: 28px; height: 28px; border: 3px solid #fff; box-shadow: 0 0 0 1px var(--nma-line-dark); cursor: pointer; }
.nma-swatch.is-selected { box-shadow: 0 0 0 2px var(--nma-ink); }
.nma-swatch--emerald { background: #176b58; }
.nma-swatch--teal { background: #0f6570; }
.nma-swatch--navy { background: #29476b; }
.nma-swatch--burgundy { background: #7b3a45; }
.nma-swatch--gold { background: #9a701f; }

.nma-output-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--nma-line-dark); background: #fff; }
.nma-output-actions a { display: grid; grid-template-columns: 26px 1fr; gap: 6px; padding: 14px; color: inherit; text-decoration: none; border-inline-start: 1px solid var(--nma-line); }
.nma-output-actions a:last-child { border: 0; }
.nma-output-actions a:hover { background: var(--ath-accent-soft); }
.nma-output-actions a > span { grid-row: span 2; color: var(--nma-sage); font: 800 11.5px/1.4 'Alexandria', sans-serif; }
.nma-output-actions strong { font-size: 12.5px; }
.nma-output-actions small { color: #40574e; font-size: 11px; font-weight: 600; }
.nma-issue { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 18px; background: var(--ath-gold-soft); border: 1px solid #d8ba80; border-inline-start: 5px solid var(--nma-amber); }
.nma-issue.is-purchase { box-shadow: 0 0 0 3px rgba(181,109,17,.2); }
.nma-issue--done { background: var(--ath-accent-soft); border-color: var(--ath-accent-line); border-inline-start-color: var(--nma-emerald); }
.nma-issue > div > span { color: var(--nma-amber); font-size: 11.5px; font-weight: 800; }
.nma-issue--done > div > span { color: var(--nma-emerald); }
.nma-issue h3 { margin: 2px 0 3px; font-size: 17px; }
.nma-issue p { max-width: 67ch; margin: 0; color: #4d4639; font-size: 12.5px; }
.nma-issue__action, .nma-share-actions { display: flex; gap: 7px; align-items: center; flex-wrap: wrap; }
.nma-issue__action form, .nma-share-actions form { margin: 0; }
.nma-share-actions input { width: min(300px, 100%); direction: ltr; font-size: 11px; }
.nma-issue-blocked { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 17px 18px; background: #f2f4f1; border: 1px solid var(--nma-line-dark); border-inline-start: 5px solid #65776f; }
.nma-issue-blocked > div > span { color: #40574e; font-size: 11.5px; font-weight: 800; }
.nma-issue-blocked h3 { margin: 2px 0 3px; font-size: 16px; }
.nma-issue-blocked p { max-width: 68ch; margin: 0; color: #40574e; font-size: 12.5px; }
.nma-purchase { padding: 18px; background: #fff; border: 1px solid var(--nma-line-dark); }
.nma-purchase__offers { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: 8px; margin-top: 12px; }
.nma-purchase__offers a { display: grid; gap: 4px; padding: 12px; border: 1px solid var(--nma-line); color: inherit; text-decoration: none; }
.nma-purchase__offers a:hover { border-color: var(--nma-emerald); background: var(--ath-accent-soft); }
.nma-purchase__offers span { font: 900 21px/1.3 'Alexandria', sans-serif; }
.nma-purchase__offers b { color: #40574e; font-size: 11.5px; }

.nma-live { position: sticky; top: 124px; display: grid; gap: 10px; }
.nma-live > * { background: #fff; border: 1px solid var(--nma-line); }
.nma-live__score { display: grid; grid-template-columns: 68px 1fr; gap: 12px; align-items: center; padding: 13px; }
.nma-live__score > div { display: grid; place-items: center; width: 64px; height: 64px; background: conic-gradient(var(--nma-emerald) var(--score, 0deg), #dfe7e2 0); color: var(--nma-ink); font: 900 14px/1 'Alexandria', sans-serif; position: relative; }
.nma-live__score > div::before { content: ''; position: absolute; inset: 7px; background: #fff; }
.nma-live__score > div { isolation: isolate; }
.nma-live__score > div::before { z-index: -1; }
.nma-live__score p { display: grid; gap: 2px; margin: 0; }
.nma-live__score strong { font-size: 12px; }
.nma-live__score span { color: #40574e; font-size: 11px; }
.nma-live__next { display: grid; gap: 5px; padding: 13px; border-inline-start: 3px solid var(--nma-amber); }
.nma-live__next:empty { display: none; }
.nma-live__next > span { color: var(--nma-amber); font-size: 11px; font-weight: 800; }
.nma-live__next strong { font-size: 11.5px; line-height: 1.6; }
.nma-live__next button { justify-self: start; padding: 0; border: 0; background: none; color: #0d5847; font: inherit; font-size: 11.5px; font-weight: 800; cursor: pointer; }
.nma-live__facts { display: grid; grid-template-columns: repeat(3, 1fr); }
.nma-live__facts div { padding: 10px 6px; text-align: center; border-inline-start: 1px solid var(--nma-line); }
.nma-live__facts div:last-child { border: 0; }
.nma-live__facts span { display: block; color: #40574e; font-size: 10.5px; font-weight: 600; }
.nma-live__facts strong { font: 800 13px/1.5 'Alexandria', sans-serif; }
.nma-live__principle { margin: 0; padding: 12px; color: #354d44; font-size: 11.5px; line-height: 1.7; }

@media (prefers-reduced-motion: no-preference) {
    .nma-hero__content, .nma-hero__visual { animation: nma-rise .5s ease both; }
    .nma-hero__visual { animation-delay: .08s; }
    @keyframes nma-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
}

@media (max-width: 1180px) {
    .nma-studio-layout { grid-template-columns: 185px minmax(0, 1fr); }
    .nma-live { grid-column: 1 / -1; position: static; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .nma-live__principle { display: grid; align-items: center; }
    .nma-student-card__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 920px) {
    .nma-hero { grid-template-columns: 1fr; }
    .nma-hero__visual { max-width: 620px; width: 100%; margin-inline: auto; }
    .nma-loop ol { grid-template-columns: repeat(5, 180px); overflow-x: auto; padding-bottom: 8px; }
    .nma-decision-section { grid-template-columns: 1fr; }
    .nma-outputs { grid-template-columns: 1fr; }
    .nma-output { min-height: 160px; border: 0; border-bottom: 1px solid var(--nma-line); }
    .nma-output h3 { margin-top: 22px; }
    .nma-plan-row { grid-template-columns: 150px 1fr; }
    .nma-plan-row__facts, .nma-plan-row__actions { grid-column: 2; }
    .nma-studio-layout { grid-template-columns: 1fr; }
    .nma-step-rail { display: none; }
    .nma-mobile-steps { display: flex; gap: 6px; overflow-x: auto; margin-bottom: 10px; padding-bottom: 4px; }
    .nma-mobile-steps button { display: flex; align-items: center; gap: 6px; flex: none; padding: 7px 10px; border: 1px solid var(--nma-line); background: #fff; color: #5d7068; font: inherit; font-size: 11px; font-weight: 800; }
    .nma-mobile-steps button b { display: grid; place-items: center; width: 19px; height: 19px; border: 1px solid var(--nma-line-dark); }
    .nma-mobile-steps button.is-active { color: #fff; background: var(--nma-emerald); border-color: var(--nma-emerald); }
    .nma-decision-dashboard { grid-template-columns: 1fr; }
    .nma-next-actions { grid-column: 1; grid-row: auto; position: static; }
    .nma-live { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nma-live__principle { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
    .nma-hero { padding-top: 20px; }
    .nma-hero__content h1 { font-size: 32px; }
    .nma-hero__visual { min-height: 0; padding: 10px 0 0 8px; }
    .nma-hero__visual::before { inset: 0 8px 12px 0; }
    .nma-hero__visual::after { display: none; }
    .nma-hero__folio { min-height: 0; padding: 14px; box-shadow: 8px 9px 0 rgba(18,37,34,.06); }
    .nma-folio__metrics { display: grid; grid-template-columns: repeat(3, 1fr); }
    .nma-handoff, .nma-library-head, .nma-launch__heading, .nma-launch__action, .nma-issue, .nma-issue-blocked { align-items: stretch; flex-direction: column; }
    .nma-launch { grid-template-columns: 42px 1fr; }
    .nma-launch__content { padding: 15px; }
    .nma-launch__heading { display: grid; }
    .nma-scope-options { grid-template-columns: 1fr; }
    .nma-tahseel-item { align-items: stretch; flex-direction: column; }
    .nma-plan-row { grid-template-columns: 1fr; gap: 10px; }
    .nma-plan-row__facts, .nma-plan-row__actions { grid-column: 1; }
    .nma-plan-row__actions { justify-content: flex-start; }
    .nma-studio-bar { top: 48px; gap: 7px; }
    .nma-studio-bar__back { font-size: 0; }
    .nma-studio-bar__back::after { content: '→'; font-size: 16px; }
    .nma-studio-bar__actions .btn--ghost, .nma-plan-state { display: none; }
    .nma-panel__head, .nma-panel__body, .nma-panel__foot { padding-inline: 14px; }
    .nma-panel__head--monitor { display: grid; align-items: start; }
    .nma-block { padding: 13px; }
    .nma-student-card__grid, .nma-strategies, .nma-dose-fields, .nma-review-grid { grid-template-columns: 1fr; }
    .nma-dose-block { grid-template-columns: 1fr; }
    .nma-checkpoint > header { grid-template-columns: 1fr 28px; }
    .nma-checkpoint__week { display: none; }
    .nma-checkpoint__delivery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nma-checkpoint__delivery > :last-child { grid-column: 1 / -1; }
    .nma-decision-hero { grid-template-columns: 1fr; padding: 18px 14px; }
    .nma-decision-hero__signal { padding: 12px 0 0; border: 0; border-top: 1px solid rgba(255,255,255,.2); }
    .nma-progress-card > header { display: grid; }
    .nma-progress-card dl { grid-template-columns: 1fr; }
    .nma-progress-card dl div { display: flex; justify-content: space-between; border: 0; border-bottom: 1px solid var(--nma-line); }
    .nma-output-actions { grid-template-columns: 1fr; }
    .nma-output-actions a { border: 0; border-bottom: 1px solid var(--nma-line); }
    .nma-live { grid-template-columns: 1fr; }
    .nma-live__principle { grid-column: 1; }

    body.storefront .site-header__inner { gap: 8px; }
    body.storefront .site-nav { margin-inline-start: auto; }
    body.storefront .site-nav > a:not(.site-nav__cta) { display: none; }
    body.storefront .site-nav__cta { padding-inline: 8px; font-size: 11.5px; }
    body.storefront .brand__sub { display: none; }

    .nma-decision-list > div { grid-template-columns: 125px 1fr; }
    .nma-decision-list p,
    .nma-output p,
    .nma .ath-offer p { font-size: 13px; }
}

/* ================================================================== */
/* استوديو «نماء» الإصدار 2: ثلاث مراحل، ودليل «ما المطلوب الآن»       */
/* ================================================================== */

.nmx-journey { display: grid; grid-template-columns: 3fr 2fr 1fr; gap: 10px; margin: 6px 0 18px; }
.nmx-journey__phase { background: var(--nma-paper); border: 1px solid var(--nma-line); padding: 10px 10px 8px; }
.nmx-journey__label { display: block; font-size: 12px; font-weight: 800; color: var(--nma-amber); margin-bottom: 8px; letter-spacing: .02em; }
.nmx-journey__steps { display: flex; gap: 6px; }
.nmx-journey__steps button { flex: 1; text-align: start; background: #fff; border: 1px solid var(--nma-line); padding: 8px 10px; cursor: pointer; font: inherit; color: var(--nma-ink); position: relative; }
.nmx-journey__steps button strong { display: block; font-size: 14px; }
.nmx-journey__steps button small { display: block; font-size: 11.5px; color: var(--nma-ink-2); opacity: .8; }
.nmx-journey__steps button.is-active { border-color: var(--nma-emerald); box-shadow: inset 0 -3px 0 var(--nma-emerald); background: var(--ath-accent-soft); }
.nmx-journey__steps button.is-done::after { content: '✓'; position: absolute; top: 6px; inset-inline-end: 8px; color: var(--nma-emerald); font-weight: 800; font-size: 12px; }

.nmx-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 20px; align-items: start; }
.nmx-guide { position: sticky; top: 14px; display: grid; gap: 12px; }
.nmx-now { border-inline-start: 4px solid var(--nma-emerald); }
.nmx-now p { margin: 6px 0 10px; font-size: 15px; font-weight: 600; line-height: 1.7; }
.nmx-readiness { margin-top: 12px; font-size: 12.5px; color: var(--nma-ink-2); }
.nmx-bar { height: 7px; background: #e8eee9; margin: 6px 0 4px; overflow: hidden; }
.nmx-bar i { display: block; height: 100%; background: var(--nma-emerald); transition: width .3s; }

.nmx-glossary summary { cursor: pointer; font-weight: 700; font-size: 13.5px; }
.nmx-glossary dl { margin: 10px 0 0; font-size: 13px; }
.nmx-glossary dt { font-weight: 800; color: var(--nma-emerald); margin-top: 8px; }
.nmx-glossary dd { margin: 2px 0 0; color: var(--nma-ink-2); line-height: 1.6; }

.nmx-students, .nmx-list { display: grid; gap: 8px; margin-bottom: 10px; }
.nmx-student { display: grid; grid-template-columns: 26px 1.3fr 1fr 32px; gap: 8px; align-items: center; }
.nmx-list__row { display: grid; grid-template-columns: 26px 1fr 32px; gap: 8px; align-items: center; }
.nmx-inline-actions { display: flex; gap: 10px; align-items: flex-start; flex-wrap: wrap; }
.nmx-paste summary { cursor: pointer; font-size: 13.5px; color: var(--nma-emerald); padding: 6px 0; }
.nmx-paste textarea { min-height: 110px; margin: 6px 0; }

.nmx-goals { display: grid; gap: 10px; }
.nmx-goal { display: grid; grid-template-columns: 1.3fr 1fr 1fr auto; gap: 10px; align-items: end; padding: 10px; background: var(--nma-paper); border: 1px solid var(--nma-line); }
.nmx-goal label span { display: block; font-size: 12px; color: var(--nma-ink-2); margin-bottom: 4px; }
.nmx-goal__name strong { display: block; }
.nmx-warn { display: block; color: var(--nma-red); font-size: 12px; margin-top: 4px; }
.nmx-goal-statement { margin-top: 14px; padding: 12px 14px; background: var(--ath-accent-soft); border-inline-start: 4px solid var(--nma-emerald); }
.nmx-goal-statement p { margin: 6px 0 0; line-height: 1.85; font-weight: 600; }

.nmx-strategies { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 8px; margin-bottom: 12px; }
.nmx-strategy { text-align: start; background: #fff; border: 1px solid var(--nma-line); padding: 10px 12px; cursor: pointer; font: inherit; color: var(--nma-ink); }
.nmx-strategy strong { display: block; font-size: 14px; margin-bottom: 4px; }
.nmx-strategy span { display: block; font-size: 12.5px; color: var(--nma-ink-2); line-height: 1.6; }
.nmx-strategy.is-on { border-color: var(--nma-emerald); box-shadow: inset 0 0 0 1px var(--nma-emerald); background: var(--ath-accent-soft); }

.nmx-fidelity { padding: 12px 14px; border: 1px solid var(--nma-line); background: var(--nma-paper); margin-bottom: 12px; }
.nmx-fidelity.is-low { border-color: #e7c98a; background: #fffaf0; }
.nmx-fidelity.is-low .nmx-bar i { background: #b7791f; }
.nmx-fidelity__text strong { display: block; }
.nmx-fidelity__text span { font-size: 13px; color: var(--nma-ink-2); }

.nmx-sessions { display: grid; gap: 8px; margin-bottom: 10px; }
.nmx-session { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; padding: 10px 12px; border: 1px solid var(--nma-line); background: #fff; }
.nmx-session.is-held { border-inline-start: 4px solid var(--nma-emerald); }
.nmx-session.is-missed { border-inline-start: 4px solid var(--nma-red); background: #fdf7f6; }
.nmx-session.is-future { opacity: .6; }
.nmx-session__date { min-width: 118px; }
.nmx-session__date small { display: block; font-size: 11.5px; color: var(--nma-ink-2); }
.nmx-attendance { display: flex; flex-wrap: wrap; gap: 6px; }
.nmx-attendance .ath-chip:not(.is-on) { color: var(--nma-red); border-color: #e7b3ad; background: #fdf2f1; }
.nmx-session__note { flex: 1; min-width: 160px; }

.nmx-next-measure { padding: 10px 14px; background: var(--ath-accent-soft); border-inline-start: 4px solid var(--nma-emerald); margin-bottom: 12px; font-size: 14px; }
.nmx-next-measure.is-late { background: #fffaf0; border-color: #b7791f; }
.nmx-measurements { display: grid; gap: 10px; margin-bottom: 10px; }
.nmx-measure { border: 1px solid var(--nma-line); background: #fff; padding: 12px; display: grid; gap: 10px; }
.nmx-measure__head { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.nmx-measure__date { max-width: 200px; }
.nmx-measure__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.nmx-measure__grid label span { display: block; font-size: 12px; color: var(--nma-ink-2); margin-bottom: 4px; }

.nmx-curves { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; margin-top: 16px; }
.nmx-curve { border: 1px solid var(--nma-line); background: #fff; padding: 10px 12px; }
.nmx-curve__head { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.nmx-chart { display: block; width: 100%; height: auto; direction: ltr; margin: 6px 0; }
.nmx-chart .grid { stroke: #e8edf2; stroke-width: 1; }
.nmx-chart .target { stroke: #15803d; stroke-width: 1.2; stroke-dasharray: 2 3; }
.nmx-chart .target-label { fill: #15803d; font-size: 10px; font-weight: 700; }
.nmx-chart .aim { stroke: #b08d3c; stroke-width: 1.6; stroke-dasharray: 6 4; }
.nmx-chart .actual { fill: none; stroke: var(--nma-emerald); stroke-width: 2.4; stroke-linejoin: round; stroke-linecap: round; }
.nmx-chart .dot { fill: #fff; stroke: var(--nma-emerald); stroke-width: 2; }
.nmx-chart .dot.is-baseline { fill: var(--nma-emerald); }
.nmx-chart .value { font-size: 10px; font-weight: 700; fill: var(--nma-ink); }
.nmx-chart .date { font-size: 9px; fill: #64748b; }

.nmx-badge { display: inline-block; padding: 2px 10px; font-size: 12px; font-weight: 700; border: 1px solid currentColor; white-space: nowrap; }
.nmx-badge.tone-good { color: #166534; background: #f0fdf4; }
.nmx-badge.tone-warn { color: #92400e; background: #fffbeb; }
.nmx-badge.tone-bad { color: #991b1b; background: #fef2f2; }
.nmx-badge.tone-info, .nmx-badge.tone-neutral { color: #334155; background: #f8fafc; }

.nmx-decision__list { display: grid; gap: 8px; margin: 10px 0; }
.nmx-decision__row { display: grid; grid-template-columns: 150px auto 1fr; gap: 6px 12px; align-items: center; padding: 8px 10px; border: 1px solid var(--nma-line); background: #fff; }
.nmx-decision__row small { grid-column: 1 / -1; color: var(--nma-ink-2); font-size: 12.5px; line-height: 1.6; }
.nmx-subtitle { margin: 14px 0 6px; font-size: 14px; }

.nmx-message { border: 1px solid var(--nma-line); background: #fff; padding: 10px 12px; margin-bottom: 8px; }
.nmx-message__head { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 6px; }
.nmx-message__head strong { margin-inline-end: auto; }
.nmx-message__text { white-space: pre-wrap; font-family: inherit; font-size: 13.5px; line-height: 1.8; margin: 0; background: var(--nma-paper); padding: 8px 10px; }

.nmx-next-cycle { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-top: 12px; padding: 12px; border: 1px dashed var(--nma-emerald); background: var(--ath-accent-soft); }
.nmx-next-cycle strong { display: block; }
.nmx-window { padding: 10px 14px; border: 1px solid #e7c98a; background: #fffaf0; color: #5f3b06; margin-bottom: 12px; font-size: 13.5px; line-height: 1.8; }
.nmx-proposal { display: grid; grid-template-columns: 110px 1fr; gap: 6px 10px; margin: 8px 0; font-size: 13.5px; }
.nmx-proposal dt { color: var(--nma-ink-2); }
.nmx-proposal dd { margin: 0; font-weight: 600; }
.nmx-proposals { display: grid; gap: 8px; margin: 8px 0; }
.nmx-proposal-card { border: 1px solid var(--nma-line); background: #fff; padding: 10px 12px; }
.nmx-proposal-card p { margin: 4px 0 8px; font-size: 13px; color: var(--nma-ink-2); }
.nmx-diagnose textarea { min-height: 90px; }

@media (max-width: 1080px) {
    .nmx-layout { grid-template-columns: 1fr; }
    .nmx-guide { position: static; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
}

@media (max-width: 760px) {
    .nmx-journey { grid-template-columns: 1fr; }
    .nmx-journey__steps { overflow-x: auto; }
    .nmx-journey__steps button { min-width: 130px; }
    .nmx-goal { grid-template-columns: 1fr 1fr; }
    .nmx-goal__name { grid-column: 1 / -1; }
    .nmx-student { grid-template-columns: 26px 1fr 32px; }
    .nmx-student input:nth-of-type(2) { grid-column: 2 / 3; }
    .nmx-decision__row { grid-template-columns: 1fr auto; }
    .nmx-next-cycle { flex-direction: column; align-items: stretch; }
}

.nma-outputs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 980px) { .nma-outputs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .nma-outputs { grid-template-columns: 1fr; } }

.nma-board-group { margin-top: 22px; }
.nma-board-group__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; border-bottom: 1px solid var(--nma-line); padding-bottom: 6px; }
.nma-board-group__head h2 { margin: 0; font-size: 18px; }
.nma-board-group__head h2 small { font-size: 13px; color: var(--nma-ink-2); font-weight: 600; }
.nma-board-group__head p { margin: 0; font-size: 13px; color: var(--nma-ink-2); }
.nma-board-group--attention .nma-board-group__head { border-bottom-color: #b7791f; }
.nma-board-group--attention .nma-board-group__head h2 { color: #8a5a12; }
