/**
 * OWFR EDIA-R Toolkit — Public Styles
 *
 * Full styles for the multi-step guided wizard,
 * module renderer, dashboard, and resume screen.
 * Compatible with standard WordPress themes and Divi.
 */

/* ================================================
   Base / Resets
   ================================================ */
.owfr-ediar-toolkit,
.owfr-ediar-module,
.owfr-ediar-dashboard,
.owfr-ediar-resume {
    box-sizing: border-box;
    font-family: inherit;
    line-height: 1.6;
    max-width: 900px;
    margin: 0 auto;
    padding: 20px 0;
    color: #333;
}

.owfr-ediar-toolkit *,
.owfr-ediar-toolkit *::before,
.owfr-ediar-toolkit *::after {
    box-sizing: border-box;
}

/* ================================================
   Progress Bar
   ================================================ */
.owfr-ediar-progress {
    position: relative;
    width: 100%;
    height: 8px;
    background: #e0e0e0;
    border-radius: 4px;
    margin-bottom: 20px;
    overflow: hidden;
}

.owfr-ediar-progress__bar {
    height: 100%;
    background: #006B3F;
    border-radius: 4px;
    width: 0;
    transition: width 0.4s ease;
}

.owfr-ediar-progress__label {
    display: block;
    text-align: center;
    font-size: 0.85rem;
    color: #666;
    margin-top: 6px;
}

/* ================================================
   Step Indicators
   ================================================ */
.owfr-ediar-steps {
    margin-bottom: 40px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.owfr-ediar-steps__list {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 4px;
    min-width: max-content;
}

.owfr-ediar-steps__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    min-width: 70px;
    padding: 8px 4px;
    text-align: center;
    border-bottom: 3px solid transparent;
    cursor: default;
    opacity: 0.5;
    transition: opacity 0.3s, border-color 0.3s;
}

.owfr-ediar-steps__item--active {
    opacity: 1;
    border-bottom-color: #006B3F;
}

.owfr-ediar-steps__item--completed {
    opacity: 0.85;
    border-bottom-color: #93c5a4;
}

.owfr-ediar-steps__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #e0e0e0;
    color: #666;
    font-weight: 700;
    font-size: 0.8rem;
    margin-bottom: 4px;
}

.owfr-ediar-steps__item--active .owfr-ediar-steps__number {
    background: #006B3F;
    color: #fff;
}

.owfr-ediar-steps__item--completed .owfr-ediar-steps__number {
    background: #93c5a4;
    color: #fff;
}

.owfr-ediar-steps__label {
    font-size: 0.75rem;
    font-weight: 500;
    white-space: nowrap;
}

/* ================================================
   Panel / Step Containers
   ================================================ */
.owfr-ediar-panels {
    min-height: 300px;
}

.owfr-ediar-panel {
    animation: owfrEdiarFadeIn 0.3s ease-in;
}

.owfr-ediar-panel[hidden] {
    display: none;
}

@keyframes owfrEdiarFadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.owfr-ediar-panel h2 {
    font-size: 1.5rem;
    margin: 0 0 16px;
    color: #1a1a1a;
}

/* ================================================
   Notices
   ================================================ */
.owfr-ediar-notice {
    padding: 12px 16px;
    border-radius: 4px;
    margin-bottom: 16px;
    background: #f0f0f0;
    border-left: 4px solid #006B3F;
}

.owfr-ediar-notice--info {
    background: #eef6f1;
}

.owfr-ediar-notice--success {
    background: #eef6f1;
    border-left-color: #006B3F;
}

.owfr-ediar-error {
    padding: 12px 16px;
    border-radius: 4px;
    margin-bottom: 16px;
    background: #fef0f0;
    border-left: 4px solid #d63638;
    color: #d63638;
}

/* ================================================
   Content Blocks
   ================================================ */
.owfr-ediar-block {
    margin-bottom: 28px;
    padding: 24px 28px;
    background: #fff;
    border: 1px solid #dde5e1;
    border-radius: 12px;
    border-left: 4px solid #006B3F;
    transition: box-shadow 0.2s ease;
}

.owfr-ediar-block:hover {
    box-shadow: 0 2px 12px rgba(0, 107, 63, 0.06);
}

.owfr-ediar-block h3 {
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e8efe9;
    font-size: 1.25rem;
    font-weight: 700;
    color: #004d2e;
    line-height: 1.3;
}

/* ── Content block inner typography ── */
.owfr-ediar-block__content {
    font-size: 0.95rem;
    line-height: 1.85;
    color: #3a3a3a;
}

.owfr-ediar-block__content p {
    margin: 0 0 14px;
}

.owfr-ediar-block__content p:last-child {
    margin-bottom: 0;
}

.owfr-ediar-block__content strong,
.owfr-ediar-block__content b {
    color: #1a1a1a;
    font-weight: 600;
}

.owfr-ediar-block__content h4 {
    font-size: 1.05rem;
    font-weight: 600;
    color: #004d2e;
    margin: 20px 0 10px;
    line-height: 1.4;
}

.owfr-ediar-block__content h5 {
    font-size: 0.95rem;
    font-weight: 600;
    color: #2d6e4a;
    margin: 16px 0 8px;
    line-height: 1.4;
}

.owfr-ediar-block__content ul,
.owfr-ediar-block__content ol {
    margin: 12px 0 16px;
    padding-left: 24px;
}

.owfr-ediar-block__content li {
    margin-bottom: 8px;
    padding-left: 4px;
    line-height: 1.7;
}

.owfr-ediar-block__content li::marker {
    color: #006B3F;
}

.owfr-ediar-block__content a {
    color: #006B3F;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: 2px;
}

.owfr-ediar-block__content a:hover {
    color: #005430;
    text-decoration-style: solid;
}

.owfr-ediar-block__content blockquote {
    margin: 16px 0;
    padding: 14px 20px;
    background: #f6fbf8;
    border-left: 3px solid #93c5a4;
    border-radius: 0 8px 8px 0;
    font-style: italic;
    color: #2d6e4a;
}

.owfr-ediar-block__content table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
    font-size: 0.9rem;
}

.owfr-ediar-block__content th,
.owfr-ediar-block__content td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid #e0e0e0;
}

.owfr-ediar-block__content th {
    background: #f5f8f6;
    font-weight: 600;
    color: #004d2e;
}

/* ── Specific Learn tab block variants ── */
.owfr-ediar-block--definitions {
    border-left-color: #006B3F;
    background: linear-gradient(135deg, #ffffff 0%, #f9fcfa 100%);
}

.owfr-ediar-block--core-principles {
    border-left-color: #3fa879;
    background: linear-gradient(135deg, #ffffff 0%, #f6fbf8 100%);
}

.owfr-ediar-block--organizational-readiness {
    border-left-color: #93c5a4;
    background: linear-gradient(135deg, #ffffff 0%, #f4faf7 100%);
}

/* ── Learn tab intro heading ── */
.owfr-ediar-panel[data-step="4"] > h2 {
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 2px solid #e8efe9;
}

/* ================================================
   Learn Tab — Accordion sections
   ================================================ */
.owfr-ediar-learn-intro {
    font-size: 1rem;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0 0 8px;
}

.owfr-ediar-learn-direction {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.9rem;
    font-weight: 500;
    color: #006B3F;
    background: #f4faf7;
    border: 1px solid #d5e6dc;
    border-radius: 10px;
    padding: 12px 18px;
    margin: 16px 0 24px;
}

.owfr-ediar-learn-direction--next {
    margin-top: 32px;
}

.owfr-ediar-learn-direction__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #006B3F;
    color: #fff;
    font-size: 0.95rem;
    flex-shrink: 0;
}

.owfr-ediar-learn-accordions {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* ── Individual accordion ── */
.owfr-ediar-learn-accordion {
    border: 1px solid #dde5e1;
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow 0.2s ease;
}

.owfr-ediar-learn-accordion:hover {
    box-shadow: 0 2px 12px rgba(0, 107, 63, 0.08);
}

.owfr-ediar-learn-accordion[open] {
    box-shadow: 0 3px 16px rgba(0, 107, 63, 0.1);
}

/* Summary / header row */
.owfr-ediar-learn-accordion__header {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 22px;
    cursor: pointer;
    list-style: none;
    user-select: none;
    background: #fff;
    transition: background 0.15s ease;
}

.owfr-ediar-learn-accordion__header::-webkit-details-marker {
    display: none;
}

.owfr-ediar-learn-accordion__header::marker {
    display: none;
    content: '';
}

.owfr-ediar-learn-accordion__header:hover {
    background: #f6fbf8;
}

/* Number badge */
.owfr-ediar-learn-accordion__number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #006B3F;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    flex-shrink: 0;
}

/* Title + description */
.owfr-ediar-learn-accordion__label {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.owfr-ediar-learn-accordion__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #004d2e;
    line-height: 1.3;
}

.owfr-ediar-learn-accordion__desc {
    font-size: 0.85rem;
    font-weight: 400;
    color: #5c7a6a;
    line-height: 1.4;
}

/* Arrow indicator */
.owfr-ediar-learn-accordion__arrow {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-right: 2.5px solid #006B3F;
    border-bottom: 2.5px solid #006B3F;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
    flex-shrink: 0;
    margin-right: 4px;
}

.owfr-ediar-learn-accordion[open] .owfr-ediar-learn-accordion__arrow {
    transform: rotate(-135deg);
}

/* Body */
.owfr-ediar-learn-accordion__body {
    padding: 0 22px 22px;
    border-top: 1px solid #e8efe9;
    background: linear-gradient(135deg, #ffffff 0%, #f9fcfa 100%);
}

.owfr-ediar-learn-accordion__body .owfr-ediar-block__content {
    padding-top: 18px;
}

/* Variant body accents */
.owfr-ediar-learn-accordion--core-principles .owfr-ediar-learn-accordion__body {
    background: linear-gradient(135deg, #ffffff 0%, #f6fbf8 100%);
}

.owfr-ediar-learn-accordion--organizational-readiness .owfr-ediar-learn-accordion__body {
    background: linear-gradient(135deg, #ffffff 0%, #f4faf7 100%);
}

/* Responsive */
@media (max-width: 600px) {
    .owfr-ediar-learn-accordion__header {
        gap: 12px;
        padding: 14px 16px;
    }
    .owfr-ediar-learn-accordion__number {
        width: 30px;
        height: 30px;
        font-size: 0.85rem;
    }
    .owfr-ediar-learn-accordion__title {
        font-size: 1rem;
    }
    .owfr-ediar-learn-accordion__body {
        padding: 0 16px 16px;
    }
}

/* ================================================
   Learn Step — Key Definitions Cards
   ================================================ */
.owfr-def-intro {
    margin: 0 0 16px;
    font-size: 0.9rem;
    color: #555;
    line-height: 1.6;
}

.owfr-def-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin: 0 0 16px;
}

.owfr-def-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-left: 4px solid #006B3F;
    border-radius: 10px;
    padding: 16px;
}

.owfr-def-card--wide { grid-column: 1 / -1; }

.owfr-def-card__content { min-width: 0; }

.owfr-def-card__term {
    margin: 0 0 6px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #006B3F;
    line-height: 1.3;
}

.owfr-def-card__content p {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.65;
    color: #374151;
}

/* ================================================
   Learn Step — Core Principles Cards
   ================================================ */
.owfr-principles-intro {
    margin: 0 0 16px;
    font-size: 0.9rem;
    color: #555;
    line-height: 1.6;
}

.owfr-principles-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.owfr-principle-card {
    background: #f5faf7;
    border: 1px solid #c8e6d4;
    border-radius: 10px;
    padding: 14px 16px 16px;
}

.owfr-principle-card__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #006B3F;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    margin-bottom: 8px;
}

.owfr-principle-card__title {
    margin: 0 0 6px;
    font-size: 0.875rem;
    font-weight: 700;
    color: #1a3c2e;
    line-height: 1.3;
}

.owfr-principle-card__desc {
    margin: 0;
    font-size: 0.825rem;
    line-height: 1.65;
    color: #374151;
}

/* ================================================
   Learn Step — Organizational Readiness Stepper
   ================================================ */
.owfr-readiness-list {
    position: relative;
    display: flex;
    flex-direction: column;
    margin: 12px 0 16px;
}

.owfr-readiness-list::before {
    content: '';
    position: absolute;
    left: 19px;
    top: 30px;
    bottom: 30px;
    width: 2px;
    background: #c8e6d4;
    z-index: 0;
}

.owfr-readiness-item {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 8px 0;
    position: relative;
    z-index: 1;
}

.owfr-readiness-item__step {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 50%;
    background: #006B3F;
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
    flex-shrink: 0;
    box-shadow: 0 0 0 4px #f5faf7;
}

.owfr-readiness-item__body {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 12px 16px;
    flex: 1;
}

.owfr-readiness-item__body h4 {
    margin: 0 0 4px;
    font-size: 0.925rem;
    font-weight: 700;
    color: #006B3F;
}

.owfr-readiness-item__body p {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.65;
    color: #374151;
}

.owfr-readiness-caption {
    margin: 0;
    font-size: 0.875rem;
    color: #555;
    font-style: italic;
    line-height: 1.6;
}

@media (max-width: 600px) {
    .owfr-def-grid,
    .owfr-principles-grid {
        grid-template-columns: 1fr;
    }
    .owfr-def-card--wide {
        grid-column: 1;
    }
    .owfr-readiness-list::before {
        display: none;
    }
}

/* ================================================
   Tools & Checklists Step — Labeled groups
   ================================================ */
.owfr-ediar-tools-group {
    margin-bottom: 32px;
}

.owfr-ediar-tools-group__header {
    padding: 16px 20px;
    background: #f5faf7;
    border: 1px solid #c8e6d4;
    border-left: 4px solid #006B3F;
    border-radius: 10px 10px 0 0;
    margin-bottom: 0;
}

.owfr-ediar-tools-group__title {
    margin: 0 0 6px;
    font-size: 1rem;
    font-weight: 700;
    color: #006B3F;
}

.owfr-ediar-tools-group__desc {
    margin: 0 0 4px;
    font-size: 0.9rem;
    color: #374151;
}

.owfr-ediar-tools-group__list {
    margin: 8px 0 4px 18px;
    padding: 0;
    font-size: 0.875rem;
    color: #374151;
}

.owfr-ediar-tools-group__list li {
    margin-bottom: 4px;
}

.owfr-ediar-tools-group__note {
    margin: 8px 0 0;
    font-size: 0.85rem;
    color: #555;
    font-style: italic;
}

.owfr-ediar-tools-group .owfr-ediar-module-list {
    border: 1px solid #c8e6d4;
    border-top: none;
    border-radius: 0 0 10px 10px;
    padding: 8px 0;
    background: #fff;
}

/* ================================================
   Welcome Tab — Hero (image on top, text below)
   ================================================ */
.owfr-ediar-welcome-hero {
    display: flex;
    flex-direction: column;
    gap: 28px;
    background: linear-gradient(135deg, #f4faf7 0%, #eaf3ee 50%, #f7fbf9 100%);
    border: 1px solid #d5e6dc;
    border-radius: 14px;
    padding: 0 0 36px;
    margin-bottom: 36px;
    overflow: hidden;
}

.owfr-ediar-welcome-hero__content {
    padding: 0 36px;
    text-align: center;
}

.owfr-ediar-welcome-hero__heading {
    font-size: 1.75rem;
    font-weight: 700;
    color: #004d2e;
    line-height: 1.2;
    margin: 0 0 16px;
    letter-spacing: -0.01em;
}

.owfr-ediar-welcome-hero__lead {
    font-size: 0.95rem;
    color: #3a5c4a;
    line-height: 1.8;
    margin: 0 auto;
    max-width: 700px;
}

.owfr-ediar-welcome-hero__visual {
    width: 100%;
}

.owfr-ediar-welcome-hero__visual img {
    width: 100%;
    height: auto;
    display: block;
}

/* ================================================
   Welcome Tab — Orientation Cards
   ================================================ */
.owfr-ediar-welcome-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
    margin-bottom: 32px;
}

.owfr-ediar-welcome-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #dde5e1;
    border-radius: 12px;
    padding: 30px 28px 28px;
    overflow: hidden;
    transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.owfr-ediar-welcome-card:hover {
    border-color: #93c5a4;
    box-shadow: 0 6px 24px rgba(0, 107, 63, 0.09);
    transform: translateY(-2px);
}

.owfr-ediar-welcome-card__accent {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #006B3F 0%, #3fa879 100%);
    border-radius: 12px 12px 0 0;
}

.owfr-ediar-welcome-card__title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #004d2e;
    margin: 0 0 12px;
    line-height: 1.3;
}

.owfr-ediar-welcome-card__body {
    font-size: 0.9rem;
    color: #525f58;
    line-height: 1.7;
    margin: 0;
    flex: 1;
}

/* ================================================
   Welcome Tab — CTA / "What happens next" note
   ================================================ */
.owfr-ediar-welcome-cta {
    background: #f8fbf9;
    border: 1px dashed #b8d4c4;
    border-radius: 10px;
    padding: 16px 22px;
    margin-bottom: 24px;
    text-align: center;
}

.owfr-ediar-welcome-cta p {
    margin: 0;
    font-size: 0.92rem;
    color: #2d6e4a;
    font-weight: 500;
    line-height: 1.5;
}

/* ================================================
   Welcome Tab — Resume Notice
   ================================================ */
.owfr-ediar-notice--resume {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #eef6f1;
    border: 1px solid #93c5a4;
    border-left: 4px solid #006B3F;
    border-radius: 8px;
    padding: 16px 20px;
}

.owfr-ediar-notice__icon {
    flex-shrink: 0;
    margin-top: 2px;
}

.owfr-ediar-notice--resume p {
    margin: 0;
    font-size: 0.92rem;
    color: #2d4a39;
    line-height: 1.55;
}

/* ================================================
   Consent Checkbox
   ================================================ */
.owfr-ediar-consent {
    margin-top: 24px;
    padding: 16px;
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 6px;
}

.owfr-ediar-consent__label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    font-weight: 500;
}

.owfr-ediar-consent__input {
    margin-top: 3px;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

/* ================================================
   Pathway Cards
   ================================================ */
.owfr-ediar-pathway-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
    margin-top: 20px;
}

.owfr-ediar-pathway-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 20px;
    border: 2px solid #ddd;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s;
    text-align: left;
    font: inherit;
    color: inherit;
}

.owfr-ediar-pathway-card:hover,
.owfr-ediar-pathway-card:focus-visible {
    border-color: #006B3F;
    box-shadow: 0 2px 8px rgba(0, 107, 63, 0.15);
    outline: none;
}

.owfr-ediar-pathway-card[aria-checked="true"] {
    border-color: #006B3F;
    background: #eef6f1;
    box-shadow: 0 0 0 2px #006B3F;
}

.owfr-ediar-pathway-card__name {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 6px;
}

.owfr-ediar-pathway-card__desc {
    font-size: 0.9rem;
    color: #555;
    margin-bottom: 8px;
}

.owfr-ediar-pathway-card__count {
    font-size: 0.8rem;
    color: #888;
    margin-top: auto;
}

/* ================================================
   Self-Assessment (inline module – Step 3)
   ================================================ */
.owfr-ediar-self-assessment-container {
    margin-top: 20px;
}
.owfr-ediar-self-assessment-container__loading {
    text-align: center;
    padding: 40px 0;
    color: #666;
}
.owfr-ediar-self-assessment-actions {
    display: flex;
    gap: 12px;
    margin-top: 24px;
    flex-wrap: wrap;
}

/* ================================================
   Module Lists (within wizard steps)
   ================================================ */
.owfr-ediar-module-list {
    margin-top: 20px;
}

.owfr-ediar-module-list__item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    margin-bottom: 8px;
    background: #fafafa;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}

.owfr-ediar-module-list__item:hover {
    background: #eef6f1;
    border-color: #93c5a4;
}

.owfr-ediar-module-list__item--completed {
    border-color: #006B3F;
    background: #eef6f1;
}

.owfr-ediar-module-list__status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #e0e0e0;
    color: #666;
    font-size: 0.75rem;
    flex-shrink: 0;
    margin-top: 2px;
}

.owfr-ediar-module-list__item--completed .owfr-ediar-module-list__status {
    background: #006B3F;
    color: #fff;
}

/* Main column inside a module item */
.owfr-ediar-module-list__main {
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
    min-width: 0;
}

.owfr-ediar-module-list__title {
    font-weight: 600;
    font-size: 0.95rem;
}

/* Stage + type meta row */
.owfr-ediar-module-list__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    align-items: center;
}

/* Context trigger note under the title */
.owfr-ediar-module-list__context-trigger {
    font-size: 0.8rem;
    color: #555;
    font-style: italic;
}

/* Stage pill badges */
.owfr-ediar-stage-pill {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.owfr-ediar-stage-pill--exploring {
    background: #fff3cd;
    color: #7a5a00;
}

.owfr-ediar-stage-pill--developing {
    background: #d4edda;
    color: #155724;
}

.owfr-ediar-stage-pill--integrating {
    background: #cce5ff;
    color: #004085;
}

/* Tool-type badges */
.owfr-ediar-type-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.owfr-ediar-type-badge--assessment {
    background: #e8e0f7;
    color: #4a2080;
}

.owfr-ediar-type-badge--action {
    background: #fde8d0;
    color: #7a3000;
}

.owfr-ediar-type-badge--bridge {
    background: #e0f0f7;
    color: #003a5a;
}

/* Context-triggered group separator in module list */
.owfr-ediar-module-list__group-header {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 14px 0 8px;
    margin-top: 10px;
    border-top: 2px solid #e0e0e0;
}

.owfr-ediar-module-list__group-label {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #555;
}

.owfr-ediar-module-list__group-desc {
    font-size: 0.8rem;
    color: #777;
}

/* Checklists framing note */
.owfr-ediar-checklist-framing {
    background: #f5f5f5;
    border-left: 4px solid #aaa;
    border-radius: 0 6px 6px 0;
    padding: 16px 20px;
    margin-bottom: 22px;
    font-size: 0.92rem;
    color: #333;
}

.owfr-ediar-checklist-framing p {
    margin: 0 0 10px;
}

.owfr-ediar-checklist-framing p:last-child {
    margin-bottom: 0;
}

.owfr-ediar-checklist-framing ul {
    margin: 0 0 10px;
    padding-left: 20px;
}

.owfr-ediar-checklist-framing li {
    margin-bottom: 5px;
    line-height: 1.5;
}

/* ── Recommended module badges ── */
.owfr-ediar-module-list__item--recommended {
    border-left: 3px solid #006B3F;
}

.owfr-ediar-module-list__item--next {
    border-left: 3px solid #006B3F;
    background: #f0f9f4;
}

.owfr-ediar-rec-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    background: #eef6f1;
    color: #006B3F;
    align-self: flex-start;
    flex-shrink: 0;
}

.owfr-ediar-rec-badge--start {
    background: #006B3F;
    color: #fff;
}

.owfr-ediar-rec-badge--next {
    background: #006B3F;
    color: #fff;
    animation: owfrEdiarPulse 2s ease-in-out 2;
}

.owfr-ediar-rec-badge--assessment {
    background: #004d2e;
    color: #fff;
}

.owfr-ediar-module-list__item--sa-recommended {
    border-left: 3px solid #004d2e;
    background: #f0f9f4;
}

@keyframes owfrEdiarPulse {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.6; }
}

/* ── Module inline drawer (opens below the clicked list item) ── */
.owfr-ediar-module-overlay {
    background: #fff;
    border: 1px solid #93c5a4;
    border-top: none;
    border-radius: 0 0 8px 8px;
    margin-bottom: 10px;
    animation: owfrEdiarFadeIn 0.18s ease;
}

.owfr-ediar-module-list__item--open {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-color: #006B3F;
    border-bottom-color: #93c5a4;
    background: #eef6f1;
}

.owfr-ediar-module-overlay__loading {
    padding: 24px 20px;
    color: #555;
    font-size: 0.9rem;
    font-style: italic;
}

.owfr-ediar-module-overlay__header {
    display: flex;
    justify-content: flex-end;
    padding: 10px 14px 4px;
}

.owfr-ediar-module-overlay__body {
    padding: 0 20px 8px;
}

.owfr-ediar-module-overlay__footer {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1px solid #e0e0e0;
    background: #f9fafb;
    border-radius: 0 0 8px 8px;
}

/* ── Module overlay: stage info bar ── */
.owfr-ediar-overlay-info-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #f5f5f5;
    border-bottom: 1px solid #e0e0e0;
    font-size: 0.82rem;
}

.owfr-ediar-overlay-info-bar__label {
    font-weight: 600;
    color: #555;
    margin-right: 2px;
}

.owfr-ediar-overlay-info-bar__context {
    font-style: italic;
    color: #555;
    flex-basis: 100%;
    font-size: 0.8rem;
    padding-top: 4px;
}

/* ── Consider next section (inside overlay, above footer) ── */
.owfr-ediar-consider-next {
    padding: 18px 24px;
    background: #f8f8f8;
    border-top: 1px solid #e0e0e0;
}

.owfr-ediar-consider-next__heading {
    font-size: 0.9rem;
    font-weight: 700;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 10px;
}

.owfr-ediar-consider-next__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.owfr-ediar-consider-next__list li {
    font-size: 0.88rem;
    color: #333;
    line-height: 1.5;
    padding-left: 12px;
    border-left: 3px solid #006B3F;
}

/* ── Pathway card recommendation hint ── */
.owfr-ediar-pathway-card__rec {
    font-size: 0.8rem;
    color: #006B3F;
    margin-top: 4px;
    font-style: italic;
}

/* ── Pathway info panel (step 2 below cards) ── */
.owfr-ediar-pathway-info {
    margin-top: 24px;
    padding: 20px;
    border: 1px solid #d4e8d9;
    border-radius: 8px;
    background: #f6fbf8;
    animation: owfrEdiarFadeIn 0.3s ease-in;
}

.owfr-ediar-pathway-info[hidden] {
    display: none;
}

.owfr-ediar-pathway-info__desc {
    margin-bottom: 16px;
}

.owfr-ediar-pathway-info__rec h3 {
    font-size: 1.05rem;
    margin: 0 0 6px;
}

.owfr-ediar-pathway-info__hint {
    font-size: 0.85rem;
    color: #666;
    margin: 0 0 12px;
}

.owfr-ediar-pathway-info__list {
    list-style: decimal;
    margin: 0;
    padding: 0 0 0 20px;
}

.owfr-ediar-pathway-info__item {
    padding: 6px 0;
    font-size: 0.95rem;
}

.owfr-ediar-pathway-info__mod-title {
    font-weight: 500;
}

/* ── "Next recommended" prompt after module completion ── */
.owfr-ediar-next-rec-prompt {
    margin-top: 20px;
    padding: 16px 20px;
    border: 2px solid #006B3F;
    border-radius: 8px;
    background: #eef6f1;
    display: flex;
    flex-direction: column;
    gap: 12px;
    animation: owfrEdiarFadeIn 0.3s ease-in;
}

.owfr-ediar-next-rec-prompt__heading {
    margin: 0 0 4px;
    font-size: 1rem;
    font-weight: 600;
    color: #006B3F;
}

.owfr-ediar-next-rec-prompt__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.owfr-ediar-next-rec-prompt__item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    color: #444;
}

.owfr-ediar-next-rec-prompt__item--done {
    color: #006B3F;
    font-weight: 600;
}

.owfr-ediar-next-rec-prompt__icon {
    flex-shrink: 0;
    width: 20px;
    text-align: center;
    font-size: 1rem;
}

.owfr-ediar-next-rec-prompt__complete {
    margin: 0;
    font-weight: 600;
    color: #006B3F;
}

.owfr-ediar-next-rec-prompt p {
    margin: 0;
}

.owfr-ediar-next-rec-prompt .owfr-ediar-btn {
    align-self: flex-start;
}

.owfr-ediar-btn--sm {
    padding: 6px 14px;
    font-size: 0.85rem;
}

/* ================================================
   Questions / Form Inputs
   ================================================ */
.owfr-ediar-questions {
    margin-top: 24px;
}

.owfr-ediar-question {
    margin-bottom: 20px;
}

.owfr-ediar-question__label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
}

.owfr-ediar-required {
    color: #d63638;
}

.owfr-ediar-question__help {
    margin: 0 0 8px;
    font-size: 0.85rem;
    color: #666;
    font-style: italic;
}

.owfr-ediar-input,
.owfr-ediar-textarea,
.owfr-ediar-select {
    display: block;
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font: inherit;
    font-size: 0.95rem;
    color: #333;
    background: #fff;
    transition: border-color 0.2s;
}

.owfr-ediar-input:focus,
.owfr-ediar-textarea:focus,
.owfr-ediar-select:focus {
    border-color: #006B3F;
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 107, 63, 0.2);
}

.owfr-ediar-select {
    max-width: 240px;
}

/* ── 7-point response scale ── */
.owfr-ediar-scale {
    border: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.owfr-ediar-scale__option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}

.owfr-ediar-scale__option:hover {
    border-color: #006B3F;
    background: #f6fbf8;
}

.owfr-ediar-scale__option:has(input:checked) {
    background: #eef6f1;
    border-color: #006B3F;
}

.owfr-ediar-scale__radio {
    margin: 0;
    flex-shrink: 0;
}

.owfr-ediar-scale__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #e8e8e8;
    color: #444;
    font-weight: 700;
    font-size: 0.8rem;
    flex-shrink: 0;
}

.owfr-ediar-scale__option:has(input:checked) .owfr-ediar-scale__number {
    background: #006B3F;
    color: #fff;
}

.owfr-ediar-scale__label {
    font-size: 0.9rem;
}

/* ── Person input ── */
.owfr-ediar-person-input {
    display: flex;
    align-items: center;
    gap: 8px;
}

.owfr-ediar-person-input__icon {
    font-size: 1.3rem;
    flex-shrink: 0;
    opacity: 0.6;
}

.owfr-ediar-input--person {
    flex: 1;
}

.owfr-ediar-input--date {
    max-width: 220px;
}

/* ── Textarea long ── */
.owfr-ediar-textarea--long {
    min-height: 100px;
    resize: vertical;
}

/* Radio & checkbox groups */
.owfr-ediar-radio-group,
.owfr-ediar-checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    border: none;
    padding: 0;
    margin: 0;
}

.owfr-ediar-radio,
.owfr-ediar-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-weight: 400;
}

/* Likert scale */
.owfr-ediar-likert {
    border: none;
    padding: 0;
    margin: 0;
}

.owfr-ediar-likert__scale {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.owfr-ediar-likert__option {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
    text-align: center;
    min-width: 70px;
}

.owfr-ediar-likert__option:hover {
    border-color: #006B3F;
}

.owfr-ediar-likert__option:has(input:checked) {
    background: #eef6f1;
    border-color: #006B3F;
}

.owfr-ediar-likert__label {
    font-size: 0.8rem;
}

/* ── Question groups ── */
.owfr-ediar-qgroup {
    margin: 0 0 28px;
    padding: 16px 20px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background: #fafcfa;
}

.owfr-ediar-qgroup__label {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1a1a1a;
    padding: 0 4px;
    margin-bottom: 12px;
}

/* ── Optional comment toggle ── */
.owfr-ediar-comment-toggle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: none;
    border: none;
    padding: 4px 0;
    margin-top: 6px;
    font: inherit;
    font-size: 0.85rem;
    color: #006B3F;
    cursor: pointer;
    text-decoration: underline;
    text-decoration-style: dotted;
}

.owfr-ediar-comment-toggle:hover {
    color: #005430;
}

.owfr-ediar-comment-toggle__icon {
    font-size: 0.75rem;
    transition: transform 0.2s;
}

.owfr-ediar-comment-toggle[aria-expanded="true"] .owfr-ediar-comment-toggle__icon {
    transform: rotate(90deg);
}

.owfr-ediar-comment-field {
    margin-top: 6px;
}

.owfr-ediar-comment-field[hidden] {
    display: none;
}

.owfr-ediar-comment-field__input {
    width: 100%;
    min-height: 48px;
    font-size: 0.9rem;
    resize: vertical;
}

/* ── Child / follow-up questions ── */
.owfr-ediar-question__children {
    margin-top: 12px;
    margin-left: 20px;
    padding-left: 16px;
    border-left: 3px solid #e0e0e0;
}

/* ── Module summary / reflection ── */
.owfr-ediar-module-summary {
    margin-top: 32px;
    padding-top: 20px;
    border-top: 2px solid #e0e0e0;
}

.owfr-ediar-module-summary h3 {
    font-size: 1.1rem;
    margin-bottom: 6px;
}

.owfr-ediar-module-summary__hint {
    font-size: 0.85rem;
    color: #666;
    margin: 0 0 10px;
}

.owfr-ediar-module-summary__field {
    min-height: 80px;
    resize: vertical;
}

/* ── Module completed badge ── */
.owfr-ediar-module__completed-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
}

/* ================================================
   Action Plan Form
   ================================================ */
.owfr-ediar-summary {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.owfr-ediar-summary__modules {
    list-style: none;
    margin: 0;
    padding: 0;
}

.owfr-ediar-summary__modules li {
    padding: 8px 0;
    border-bottom: 1px solid #eee;
}

.owfr-ediar-action-form {
    background: #f9f9f9;
    padding: 16px;
    border-radius: 6px;
    border: 1px solid #e0e0e0;
    margin-bottom: 16px;
}

.owfr-ediar-action-form__row {
    margin-bottom: 12px;
}

.owfr-ediar-action-form__row:last-child {
    margin-bottom: 0;
}

.owfr-ediar-action-form__row label {
    display: block;
    font-weight: 600;
    margin-bottom: 4px;
    font-size: 0.9rem;
}

.owfr-ediar-action-form__row--inline {
    display: flex;
    gap: 12px;
    align-items: flex-end;
    flex-wrap: wrap;
}

.owfr-ediar-action-form__row--inline > div {
    flex: 1;
    min-width: 120px;
}

.owfr-ediar-action-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.owfr-ediar-action-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    margin-bottom: 8px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
}

.owfr-ediar-action-list__priority {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.owfr-ediar-action-list__priority--low {
    background: #e8f5e9;
    color: #2e7d32;
}

.owfr-ediar-action-list__priority--medium {
    background: #fff3e0;
    color: #e65100;
}

.owfr-ediar-action-list__priority--high {
    background: #fce4ec;
    color: #c62828;
}

/* ================================================
   Buttons
   ================================================ */
.owfr-ediar-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 24px;
    border: 2px solid transparent;
    border-radius: 6px;
    font: inherit;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
    text-decoration: none;
}

.owfr-ediar-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.owfr-ediar-btn--primary {
    background: #006B3F;
    color: #fff;
    border-color: #006B3F;
}

.owfr-ediar-btn--primary:hover:not(:disabled) {
    background: #005430;
    border-color: #005430;
}

.owfr-ediar-btn--secondary {
    background: #f0f0f0;
    color: #333;
    border-color: #ccc;
}

.owfr-ediar-btn--secondary:hover:not(:disabled) {
    background: #e0e0e0;
    border-color: #aaa;
}

.owfr-ediar-btn--outline {
    background: transparent;
    color: #006B3F;
    border-color: #006B3F;
}

.owfr-ediar-btn--outline:hover:not(:disabled) {
    background: #eef6f1;
}

.owfr-ediar-btn--danger {
    background: transparent;
    color: #006B3F;
    border-color: #006B3F;
}

.owfr-ediar-btn--danger:hover:not(:disabled) {
    background: #eef6f1;
}

.owfr-ediar-btn:focus-visible {
    outline: 3px solid #006B3F;
    outline-offset: 2px;
}

/* ================================================
   Divider
   ================================================ */
.owfr-ediar-divider {
    border: none;
    border-top: 1px solid #e0e0e0;
    margin: 28px 0;
}

/* ================================================
   Summary Detail (Step 7 — loaded via AJAX)
   ================================================ */
.owfr-ediar-summary__detail {
    margin-top: 20px;
}

.owfr-ediar-summary__actions-hint {
    font-size: 0.9rem;
    color: #555;
    margin-bottom: 16px;
}

.owfr-ediar-summary__module--done {
    color: #006B3F;
}

.owfr-ediar-loading {
    color: #666;
    font-style: italic;
}

/* ── Summary report (server-rendered) ── */
.owfr-ediar-summary-report {
    line-height: 1.6;
}

.owfr-ediar-summary-report__header {
    margin-bottom: 20px;
}

.owfr-ediar-summary-report__meta {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    font-size: 0.9rem;
    color: #555;
    margin-top: 4px;
}

/* Module accordion (details/summary) */
.owfr-ediar-summary-report__module {
    margin-top: 10px;
    border: 1px solid #c8e6d4;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.owfr-ediar-summary-report__module-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 18px;
    cursor: pointer;
    list-style: none;
    background: #f5faf7;
    border-left: 4px solid #006B3F;
    user-select: none;
    transition: background 0.15s;
}

.owfr-ediar-summary-report__module-summary::-webkit-details-marker { display: none; }
.owfr-ediar-summary-report__module-summary::marker { display: none; }

.owfr-ediar-summary-report__module[open] > .owfr-ediar-summary-report__module-summary {
    background: #eef6f1;
    border-bottom: 1px solid #c8e6d4;
}

.owfr-ediar-summary-report__module-summary:hover { background: #e6f3ec; }

.owfr-ediar-summary-report__module-title {
    flex: 1;
    font-weight: 700;
    color: #1a3a2a;
    font-size: 0.95rem;
}

.owfr-ediar-summary-report__module-body {
    padding: 16px 20px 20px;
}

.owfr-ediar-summary-report__status {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 12px;
}

.owfr-ediar-summary-report__status--completed {
    background: #d4edda;
    color: #155724;
}

.owfr-ediar-summary-report__status--in_progress {
    background: #fff3cd;
    color: #856404;
}

.owfr-ediar-summary-report__status-badge {
    display: inline-block;
    font-size: 0.8rem;
    padding: 2px 10px;
    border-radius: 12px;
}

.owfr-ediar-summary-report__status-badge--completed {
    background: #d4edda;
    color: #155724;
}

.owfr-ediar-summary-report__status-badge--in_progress {
    background: #fff3cd;
    color: #856404;
}

.owfr-ediar-summary-report__status-badge--not_started {
    background: #e2e3e5;
    color: #383d41;
}

.owfr-ediar-summary-report__empty {
    font-style: italic;
    color: #888;
}

/* ── Answers display ── */
.owfr-ediar-summary-report__answers {
    margin-top: 12px;
}

.owfr-ediar-summary-report__answer-row {
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}

.owfr-ediar-summary-report__answer-row:last-child {
    border-bottom: none;
}

.owfr-ediar-summary-report__question-text {
    font-weight: 600;
    font-size: 0.9rem;
    margin-bottom: 4px;
}

.owfr-ediar-summary-report__answer-value {
    margin-bottom: 4px;
}

.owfr-ediar-summary-report__comment {
    font-size: 0.85rem;
    color: #555;
    background: #f5f5f5;
    padding: 6px 10px;
    border-radius: 4px;
    margin-top: 4px;
}

/* ── Reflection ── */
.owfr-ediar-summary-report__reflection {
    margin-top: 14px;
    padding: 12px;
    background: #eef6f1;
    border-left: 3px solid #006B3F;
    border-radius: 4px;
}

.owfr-ediar-summary-report__reflection h4 {
    margin-top: 0;
    margin-bottom: 6px;
    color: #006B3F;
}

/* ── Sign-off display in summary ── */
.owfr-ediar-summary-report__signoff {
    margin-top: 12px;
    padding: 10px 14px;
    background: #f0f6f3;
    border-radius: 6px;
    font-size: 0.9rem;
}

.owfr-ediar-summary-report__signoff-done {
    color: #155724;
    margin: 0;
}

.owfr-ediar-summary-report__signoff-pending {
    color: #856404;
    font-style: italic;
    margin: 0;
}

/* ── Action items in summary ── */
.owfr-ediar-summary-report__actions {
    margin-top: 28px;
}

.owfr-ediar-summary-report__pri {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 4px;
    text-transform: capitalize;
}

.owfr-ediar-summary-report__pri--high {
    background: #f8d7da;
    color: #721c24;
}

.owfr-ediar-summary-report__pri--medium {
    background: #fff3cd;
    color: #856404;
}

.owfr-ediar-summary-report__pri--low {
    background: #d4edda;
    color: #155724;
}

/* ================================================
   Enhanced Action Form
   ================================================ */
.owfr-ediar-action-form__row--submit {
    margin-top: 8px;
}

.owfr-ediar-action-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
}

.owfr-ediar-action-list__body {
    flex: 1;
}

.owfr-ediar-action-delete {
    background: none;
    border: none;
    color: #999;
    font-size: 1.2rem;
    cursor: pointer;
    padding: 0 4px;
    line-height: 1;
    flex-shrink: 0;
}

.owfr-ediar-action-delete:hover {
    color: #d63638;
}

/* ================================================
   Sign-off Section (Step 8)
   ================================================ */
.owfr-ediar-signoff-section {
    margin-bottom: 20px;
}

.owfr-ediar-signoff-section__hint {
    font-size: 0.9rem;
    color: #555;
    margin-bottom: 16px;
}

.owfr-ediar-signoff-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.owfr-ediar-signoff-card {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 14px 18px;
    background: #fff;
}

.owfr-ediar-signoff-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.owfr-ediar-signoff-card__title {
    font-weight: 600;
}

.owfr-ediar-signoff-card__status {
    font-size: 0.8rem;
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 12px;
}

.owfr-ediar-signoff-card__status[data-signoff-status="pending"] {
    background: #fff3cd;
    color: #856404;
}

.owfr-ediar-signoff-card__status[data-signoff-status="signed"] {
    background: #d4edda;
    color: #155724;
}

.owfr-ediar-signoff-card__status[data-signoff-status="locked"] {
    background: #e2e3e5;
    color: #383d41;
}

.owfr-ediar-signoff-card__form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.owfr-ediar-signoff-card__row--inline {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.owfr-ediar-signoff-card__row--inline > div {
    flex: 1;
    min-width: 180px;
}

.owfr-ediar-signoff-card__form[hidden] {
    display: none;
}

.owfr-ediar-signoff-card__confirmed[hidden] {
    display: none;
}

.owfr-ediar-signoff-card__confirmed-text {
    margin: 0;
    color: #155724;
    font-size: 0.9rem;
}

/* ================================================
   Inline Module Sign-Off
   ================================================ */
.owfr-ediar-module-signoff {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 2px solid #e8e8e8;
}

.owfr-ediar-module-signoff__title {
    margin-bottom: 6px;
}

.owfr-ediar-module-signoff__hint {
    font-size: 0.9rem;
    color: #555;
    margin-bottom: 14px;
}

.owfr-ediar-module-signoff__badge {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #d4edda;
    color: #155724;
    border-radius: 6px;
    padding: 8px 14px;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 14px;
}

.owfr-ediar-module-signoff__row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: flex-end;
}

.owfr-ediar-module-signoff__name,
.owfr-ediar-module-signoff__role {
    flex: 1;
    min-width: 160px;
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 0.95rem;
}

.owfr-ediar-module-signoff__name:focus,
.owfr-ediar-module-signoff__role:focus {
    outline: none;
    border-color: #2271b1;
    box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.2);
}

.owfr-ediar-module-signoff__status {
    margin-top: 8px;
    font-size: 0.875rem;
    color: #155724;
}

.owfr-ediar-module-signoff__status[hidden] {
    display: none;
}

/* ================================================
   Print Section
   ================================================ */
.owfr-ediar-print-section {
    margin-bottom: 20px;
}

.owfr-ediar-print-section__actions {
    display: flex;
    gap: 12px;
    margin-top: 12px;
}

.owfr-ediar-printable-summary {
    margin-top: 20px;
    padding: 24px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
}

.owfr-ediar-printable-summary[hidden] {
    display: none;
}

/* ================================================
   Navigation
   ================================================ */
.owfr-ediar-nav {
    display: none; /* replaced by per-step Continue buttons */
}

/* Per-step Continue footer */
.owfr-ediar-step-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 48px;
    padding-top: 28px;
    border-top: 2px solid #e0e0e0;
}

.owfr-ediar-step-footer[hidden] {
    display: none;
}

.owfr-ediar-step-footer--centered {
    justify-content: center;
}
/* ================================================
   Finish / Export Actions
   ================================================ */
.owfr-ediar-finish-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 20px 0;
}

.owfr-ediar-finish-confirmation[hidden] {
    display: none;
}

/* ================================================
   Dashboard
   ================================================ */
.owfr-ediar-dashboard__active {
    margin-bottom: 30px;
}

.owfr-ediar-dashboard__meta {
    display: flex;
    gap: 16px;
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 12px;
}

.owfr-ediar-dashboard__modules {
    list-style: none;
    margin: 16px 0 0;
    padding: 0;
}

.owfr-ediar-dashboard__module {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
}

.owfr-ediar-dashboard__module-icon {
    font-size: 1rem;
}

.owfr-ediar-dashboard__module--completed {
    color: #006B3F;
}

.owfr-ediar-dashboard__module--not_started {
    color: #999;
}

/* ================================================
   Table
   ================================================ */
.owfr-ediar-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 12px;
}

.owfr-ediar-table th,
.owfr-ediar-table td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid #e0e0e0;
}

.owfr-ediar-table th {
    font-weight: 700;
    background: #f5f5f5;
}

/* ================================================
   Resume Card
   ================================================ */
.owfr-ediar-resume__card {
    padding: 24px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
}

.owfr-ediar-resume__card h2 {
    margin-top: 0;
}

.owfr-ediar-resume__actions {
    margin-top: 16px;
}

/* ================================================
   Responsive
   ================================================ */
@media (max-width: 768px) {
    .owfr-ediar-toolkit,
    .owfr-ediar-module,
    .owfr-ediar-dashboard,
    .owfr-ediar-resume {
        padding: 12px 8px;
    }

    /* Content blocks responsive */
    .owfr-ediar-block {
        padding: 18px 20px;
        border-radius: 10px;
    }

    .owfr-ediar-block h3 {
        font-size: 1.1rem;
    }

    .owfr-ediar-block__content {
        font-size: 0.92rem;
    }

    .owfr-ediar-steps__list {
        gap: 2px;
    }

    .owfr-ediar-steps__item {
        min-width: 50px;
        padding: 6px 2px;
    }

    .owfr-ediar-steps__label {
        font-size: 0.65rem;
    }

    .owfr-ediar-steps__number {
        width: 24px;
        height: 24px;
        font-size: 0.7rem;
    }

    .owfr-ediar-pathway-cards {
        grid-template-columns: 1fr;
    }

    /* Welcome tab responsive */
    .owfr-ediar-welcome-hero {
        gap: 20px;
        padding: 0 0 28px;
    }

    .owfr-ediar-welcome-hero__content {
        padding: 0 22px;
    }

    .owfr-ediar-welcome-hero__heading {
        font-size: 1.4rem;
    }

    .owfr-ediar-welcome-hero__lead {
        max-width: 100%;
    }

    .owfr-ediar-welcome-cards {
        grid-template-columns: 1fr;
    }

    .owfr-ediar-welcome-card {
        padding: 24px 22px 22px;
    }

    .owfr-ediar-welcome-card:hover {
        transform: none;
    }

    .owfr-ediar-action-form__row--inline {
        flex-direction: column;
    }

    .owfr-ediar-likert__scale {
        flex-direction: column;
    }

    .owfr-ediar-qgroup {
        padding: 12px 14px;
    }

    .owfr-ediar-question__children {
        margin-left: 10px;
        padding-left: 10px;
    }

    .owfr-ediar-nav {
        flex-direction: column;
        gap: 10px;
    }

    .owfr-ediar-nav .owfr-ediar-btn {
        width: 100%;
    }

    .owfr-ediar-dashboard__meta {
        flex-direction: column;
        gap: 4px;
    }

    .owfr-ediar-pathway-info {
        padding: 14px;
    }

    .owfr-ediar-pathway-info__rec {
        flex-direction: column;
    }

    .owfr-ediar-next-rec-prompt {
        flex-direction: column;
        align-items: flex-start;
    }

    .owfr-ediar-next-rec-prompt__actions {
        width: 100%;
    }

    .owfr-ediar-next-rec-prompt__actions .owfr-ediar-btn--sm {
        flex: 1;
    }

    .owfr-ediar-signoff-card__row--inline {
        flex-direction: column;
    }

    .owfr-ediar-print-section__actions {
        flex-direction: column;
    }

    .owfr-ediar-summary-report__meta {
        flex-direction: column;
        gap: 4px;
    }

    .owfr-ediar-summary-report__module {
        padding: 12px;
    }

    .owfr-ediar-summary-report__action-table {
        font-size: 0.85rem;
    }

    .owfr-ediar-action-list li {
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    .owfr-ediar-panel h2 {
        font-size: 1.25rem;
    }

    .owfr-ediar-steps__label {
        display: none;
    }

    .owfr-ediar-pathway-card {
        padding: 14px;
    }

    /* Content blocks small screen */
    .owfr-ediar-block {
        padding: 16px;
        margin-bottom: 20px;
        border-left-width: 3px;
    }

    .owfr-ediar-block h3 {
        font-size: 1.05rem;
        padding-bottom: 10px;
        margin-bottom: 12px;
    }

    .owfr-ediar-block__content {
        line-height: 1.75;
    }

    .owfr-ediar-rec-badge {
        font-size: 0.65rem;
        padding: 1px 6px;
    }

    .owfr-ediar-pathway-info__hint {
        font-size: 0.75rem;
    }

    .owfr-ediar-signoff-card {
        padding: 10px 12px;
    }

    .owfr-ediar-printable-summary {
        padding: 12px;
    }
}

/* ================================================
   Glossary Modal
   ================================================ */
.owfr-ediar-glossary-trigger,
.owfr-ediar-appendix-triggers {
    text-align: center;
    margin-top: 12px;
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.owfr-ediar-btn--sm {
    font-size: 0.85rem;
    padding: 6px 16px;
}

.owfr-ediar-glossary-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.owfr-ediar-glossary-modal[hidden] {
    display: none;
}

.owfr-ediar-glossary-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
}

.owfr-ediar-glossary-modal__container {
    position: relative;
    width: 94%;
    max-width: 760px;
    max-height: 85vh;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.owfr-ediar-glossary-modal__container--wide {
    max-width: 860px;
}

/* ── Disclaimer modal (narrower, no close ×) ── */
.owfr-ediar-disclaimer-modal__container {
    max-width: 580px;
}

.owfr-ediar-disclaimer-modal__footer {
    padding: 16px 28px 20px;
    border-top: 1px solid #e0e0e0;
    display: flex;
    justify-content: flex-end;
    flex-shrink: 0;
}

.owfr-ediar-glossary-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 28px 16px;
    border-bottom: 1px solid #e0e0e0;
    flex-shrink: 0;
}

.owfr-ediar-glossary-modal__title {
    font-size: 1.3rem;
    font-weight: 700;
    color: #004d2e;
    margin: 0;
}

.owfr-ediar-glossary-modal__close {
    background: none;
    border: none;
    font-size: 1.6rem;
    line-height: 1;
    color: #666;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    transition: background 0.15s;
}

.owfr-ediar-glossary-modal__close:hover {
    background: #f0f0f0;
    color: #333;
}

.owfr-ediar-glossary-modal__search {
    padding: 16px 28px 0;
    flex-shrink: 0;
}

.owfr-ediar-glossary-modal__input {
    display: block;
    width: 100%;
    padding: 10px 14px;
    font-size: 0.95rem;
    border: 1px solid #ccc;
    border-radius: 8px;
    outline: none;
    transition: border-color 0.2s;
    box-sizing: border-box;
}

.owfr-ediar-glossary-modal__input:focus {
    border-color: #006B3F;
    box-shadow: 0 0 0 3px rgba(0, 107, 63, 0.12);
}

.owfr-ediar-glossary-modal__body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 20px 28px 28px;
}

.owfr-ediar-glossary-modal__no-results {
    text-align: center;
    color: #888;
    font-style: italic;
    padding: 24px 0;
}

.owfr-ediar-glossary-modal__no-results[hidden] {
    display: none;
}

/* Definition list */
.owfr-ediar-glossary {
    margin: 0;
    padding: 0;
}

.owfr-ediar-glossary__entry {
    padding: 18px 0;
    border-bottom: 1px solid #eee;
}

.owfr-ediar-glossary__entry:last-child {
    border-bottom: none;
}

.owfr-ediar-glossary dt {
    font-size: 1.05rem;
    font-weight: 700;
    color: #004d2e;
    margin: 0 0 6px;
}

.owfr-ediar-glossary dd {
    font-size: 0.93rem;
    color: #333;
    line-height: 1.75;
    margin: 0;
    padding: 0;
}

/* ================================================
   Appendix B: Templates
   ================================================ */
.owfr-ediar-templates__intro {
    font-size: 0.95rem;
    color: #555;
    line-height: 1.7;
    margin-bottom: 20px;
}

.owfr-ediar-templates__section {
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    margin-bottom: 14px;
    background: #fff;
    overflow: hidden;
}

.owfr-ediar-templates__section[open] {
    border-color: #006B3F;
}

.owfr-ediar-templates__heading {
    font-size: 1rem;
    font-weight: 600;
    color: #004d2e;
    padding: 16px 20px;
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: background 0.15s;
}

.owfr-ediar-templates__heading::-webkit-details-marker {
    display: none;
}

.owfr-ediar-templates__heading::before {
    content: '\25B6';
    font-size: 0.7rem;
    color: #006B3F;
    transition: transform 0.2s;
    flex-shrink: 0;
}

.owfr-ediar-templates__section[open] > .owfr-ediar-templates__heading::before {
    transform: rotate(90deg);
}

.owfr-ediar-templates__heading:hover {
    background: #f4faf7;
}

.owfr-ediar-templates__content {
    padding: 4px 20px 20px;
    font-size: 0.93rem;
    line-height: 1.7;
    color: #333;
}

.owfr-ediar-templates__content p {
    margin: 0 0 12px;
}

.owfr-ediar-templates__content h4 {
    margin: 0 0 6px;
    color: #004d2e;
    font-size: 0.95rem;
}

.owfr-ediar-templates__content h5 {
    margin: 0 0 4px;
    color: #006B3F;
    font-size: 0.9rem;
}

.owfr-ediar-templates__step {
    padding: 12px 16px;
    margin-bottom: 10px;
    background: #f8fbf9;
    border-left: 3px solid #006B3F;
    border-radius: 0 8px 8px 0;
}

.owfr-ediar-templates__step h4 {
    margin: 0 0 4px;
}

.owfr-ediar-templates__step p {
    margin: 0 0 6px;
}

.owfr-ediar-templates__step p:last-child {
    margin-bottom: 0;
}

.owfr-ediar-templates__subheading {
    font-size: 0.95rem;
    font-weight: 700;
    color: #004d2e;
    margin: 20px 0 8px;
}

.owfr-ediar-templates__list {
    margin: 0 0 16px;
    padding-left: 22px;
    line-height: 1.8;
}

.owfr-ediar-templates__links {
    margin: 0 0 16px;
    padding-left: 22px;
}

.owfr-ediar-templates__links li {
    margin-bottom: 8px;
}

.owfr-ediar-templates__links a {
    color: #006B3F;
    text-decoration: underline;
    word-break: break-word;
}

.owfr-ediar-templates__links a:hover {
    color: #004d2e;
}

/* Tables */
.owfr-ediar-templates__table {
    width: 100%;
    border-collapse: collapse;
    margin: 12px 0 20px;
    font-size: 0.88rem;
}

.owfr-ediar-templates__table th,
.owfr-ediar-templates__table td {
    border: 1px solid #ddd;
    padding: 10px 12px;
    text-align: left;
    vertical-align: top;
}

.owfr-ediar-templates__table th {
    background: #eef6f1;
    color: #004d2e;
    font-weight: 600;
    white-space: nowrap;
}

.owfr-ediar-templates__table tbody tr:nth-child(even) {
    background: #fafafa;
}

/* Example blocks */
.owfr-ediar-templates__example {
    padding: 16px 20px;
    background: #f9fbfa;
    border: 1px solid #e8ede9;
    border-radius: 8px;
    margin-bottom: 16px;
}

/* Poster preview */
.owfr-ediar-templates__poster {
    padding: 28px 24px;
    background: linear-gradient(135deg, #f4faf7 0%, #eaf3ee 100%);
    border: 2px solid #006B3F;
    border-radius: 12px;
    text-align: center;
}

.owfr-ediar-templates__poster-title {
    font-size: 1.2rem;
    font-weight: 700;
    color: #004d2e;
    margin: 0 0 4px;
}

.owfr-ediar-templates__poster-subtitle {
    font-size: 1.05rem;
    color: #006B3F;
    font-weight: 600;
    margin: 0 0 24px;
}

.owfr-ediar-templates__poster-step {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    text-align: left;
    margin-bottom: 16px;
}

.owfr-ediar-templates__poster-num {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    line-height: 32px;
    text-align: center;
    background: #006B3F;
    color: #fff;
    font-weight: 700;
    border-radius: 50%;
    font-size: 0.9rem;
}

.owfr-ediar-templates__poster-step h5 {
    margin: 0 0 2px;
    color: #004d2e;
}

.owfr-ediar-templates__poster-step p {
    margin: 0;
}

.owfr-ediar-templates__poster-reassurance {
    margin-top: 20px;
    font-weight: 600;
    color: #004d2e;
}

.owfr-ediar-templates__poster-cta {
    font-size: 1.1rem;
    font-weight: 700;
    color: #006B3F;
    margin-bottom: 0;
}

/* ================================================
   Print Styles
   ================================================ */
@media print {
    /* Hide wizard chrome, nav, forms */
    .owfr-ediar-progress,
    .owfr-ediar-steps,
    .owfr-ediar-nav,
    .owfr-ediar-action-form,
    .owfr-ediar-signoff-card__form,
    .owfr-ediar-print-section__actions,
    .owfr-ediar-finish-actions,
    .owfr-ediar-module-overlay,
    .owfr-ediar-glossary-modal,
    .owfr-ediar-glossary-trigger,
    .owfr-ediar-appendix-triggers,
    .owfr-ediar-next-rec-prompt,
    .owfr-ediar-pathway-cards,
    .owfr-ediar-pathway-info,
    .owfr-ediar-consent,
    #owfr-ediar-prev,
    #owfr-ediar-next,
    .owfr-ediar-action-delete {
        display: none !important;
    }

    /* Show all panels for print */
    .owfr-ediar-panel {
        display: block !important;
    }

    .owfr-ediar-panel[hidden] {
        display: block !important;
    }

    .owfr-ediar-printable-summary {
        border: none;
        padding: 0;
        box-shadow: none;
    }

    .owfr-ediar-printable-summary[hidden] {
        display: block !important;
    }

    .owfr-ediar-summary-report__module {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .owfr-ediar-summary-report__actions {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .owfr-ediar-table th {
        background: #f0f0f0 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    body {
        font-size: 12pt;
        line-height: 1.4;
    }
}

/* ================================================
   Start Here — Sub-step Progress Nav
   ================================================ */
.owfr-sa-substep-nav {
    display: none;
}

.owfr-sa-substep-list {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0;
    counter-reset: substep;
}

.owfr-sa-substep {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.82rem;
    font-weight: 500;
    color: #9aafa5;
    flex: 1;
    position: relative;
    padding-bottom: 10px;
    border-bottom: 3px solid #dde5e1;
    transition: color 0.2s, border-color 0.2s;
    counter-increment: substep;
}

.owfr-sa-substep::before {
    content: counter(substep);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #dde5e1;
    color: #9aafa5;
    font-size: 0.78rem;
    font-weight: 700;
    flex-shrink: 0;
    transition: background 0.2s, color 0.2s;
}

.owfr-sa-substep--active {
    color: #004d2e;
    border-bottom-color: #006B3F;
}

.owfr-sa-substep--active::before {
    background: #006B3F;
    color: #fff;
}

.owfr-sa-substep--done {
    color: #3fa879;
    border-bottom-color: #3fa879;
}

.owfr-sa-substep--done::before {
    content: '\2713';
    background: #3fa879;
    color: #fff;
}

/* ================================================
   Start Here — Hero (About sub-step)
   ================================================ */
.owfr-ediar-sa-panel .owfr-ediar-welcome-hero {
    border-radius: 12px;
    margin-bottom: 28px;
}

.owfr-ediar-welcome-hero__eyebrow {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #3fa879;
    margin: 0 0 10px;
}

/* ================================================
   Start Here — About Section
   ================================================ */
.owfr-ediar-sa-about {
    background: #fff;
    border: 1px solid #dde5e1;
    border-radius: 12px;
    padding: 28px 32px;
    margin-bottom: 24px;
}

.owfr-ediar-sa-about h3 {
    font-size: 1.15rem;
    font-weight: 700;
    color: #004d2e;
    margin: 0 0 14px;
}

.owfr-ediar-sa-about p {
    font-size: 0.95rem;
    color: #333;
    line-height: 1.75;
    margin: 0 0 14px;
}

.owfr-ediar-sa-about__list {
    margin: 0 0 14px;
    padding-left: 22px;
}

.owfr-ediar-sa-about__list li {
    font-size: 0.95rem;
    color: #333;
    line-height: 1.75;
    margin-bottom: 6px;
}

/* ================================================
   Start Here — Action button rows
   ================================================ */
.owfr-ediar-sa-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 24px;
}

.owfr-ediar-sa-actions--results {
    justify-content: space-between;
    border-top: 1px solid #e8efeb;
    padding-top: 20px;
    margin-top: 20px;
}

/* ================================================
   Start Here — Assessment Questions
   ================================================ */
.owfr-ediar-sa-title {
    font-size: 1.4rem;
    font-weight: 700;
    color: #004d2e;
    margin: 0 0 16px;
    line-height: 1.3;
}

.owfr-ediar-sa-panel > p {
    font-size: 0.95rem;
    color: #333;
    line-height: 1.75;
    margin: 0 0 14px;
}

.owfr-ediar-sa-note {
    background: #eef6f1;
    border-left: 4px solid #006B3F;
    border-radius: 0 8px 8px 0;
    padding: 14px 18px;
    font-size: 0.92rem;
    color: #2d4a39;
    line-height: 1.65;
    margin: 0 0 28px !important;
}

.owfr-ediar-sa-form {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Individual question card */
.owfr-sa-question {
    background: #fff;
    border: 1px solid #dde5e1;
    border-radius: 12px;
    padding: 24px 28px;
    margin-bottom: 16px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.owfr-sa-question:focus-within {
    border-color: #006B3F;
    box-shadow: 0 0 0 3px rgba(0, 107, 63, 0.1);
}

.owfr-sa-question legend {
    font-size: 1rem;
    font-weight: 700;
    color: #004d2e;
    padding: 0;
    margin-bottom: 10px;
    float: left;
    width: 100%;
}

/* Clearfix for legend float */
.owfr-sa-question legend + * {
    clear: both;
}

.owfr-sa-question__scenario {
    font-size: 0.92rem;
    color: #4a6657;
    font-style: italic;
    background: #f4faf7;
    border-radius: 6px;
    padding: 10px 14px;
    margin: 0 0 16px;
    line-height: 1.65;
}

/* Radio option rows */
.owfr-sa-option {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 0.93rem;
    color: #333;
    line-height: 1.6;
    transition: background 0.15s, box-shadow 0.15s;
    border: 2px solid transparent;
    margin-bottom: 6px;
    -webkit-user-select: none;
    user-select: none;
}

.owfr-sa-option:last-of-type {
    margin-bottom: 0;
}

.owfr-sa-option:hover {
    background: #f4faf7;
}

.owfr-sa-option input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    min-width: 20px;
    border: 2px solid #c0cfc8;
    border-radius: 50%;
    margin-top: 2px;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
    position: relative;
}

.owfr-sa-option input[type="radio"]:checked {
    border-color: #006B3F;
    background: #006B3F;
    box-shadow: inset 0 0 0 4px #fff;
}

.owfr-sa-option input[type="radio"]:focus-visible {
    outline: 3px solid #006B3F;
    outline-offset: 2px;
}

.owfr-sa-option:has(input[type="radio"]:checked) {
    background: #eef6f1;
    border-color: #93c5a4;
}

/* Error message */
.owfr-ediar-sa-form__error {
    background: #fdf0f0;
    border: 1px solid #d63638;
    border-left: 4px solid #d63638;
    border-radius: 0 8px 8px 0;
    padding: 12px 16px;
    font-size: 0.92rem;
    color: #a00;
    margin: 8px 0 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.owfr-ediar-sa-form__error--hidden {
    display: none;
}

/* ================================================
   Start Here — Results
   ================================================ */
.owfr-sa-result {
    background: #fff;
    border: 1px solid #dde5e1;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 24px;
}

/* Stage illustration — full-bleed with overlay badge */
.owfr-sa-result__image {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.owfr-sa-result__image--exploring {
    background: linear-gradient(180deg, #fffbef 0%, #fff8e6 60%, #ffefc2 100%);
}

.owfr-sa-result__image--developing {
    background: linear-gradient(180deg, #f4faf7 0%, #e8f3ee 60%, #c5e3d0 100%);
}

.owfr-sa-result__image--integrating {
    background: linear-gradient(180deg, #f0f5ff 0%, #e6f0ff 60%, #c3d9ff 100%);
}

.owfr-sa-result__img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 420px;
    object-fit: contain;
    object-position: center bottom;
}

/* Stage badge — overlaid at the bottom of the image */
.owfr-sa-result__badge {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    justify-content: center;
    gap: 12px;
    padding: 20px 28px 24px;
    text-align: center;
}

.owfr-sa-result__image .owfr-sa-result__badge {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: transparent;
}

.owfr-sa-result__badge-label {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #666;
    flex-shrink: 0;
}

.owfr-sa-result__stage {
    font-size: 2.2rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.02em;
}

.owfr-sa-result__badge--exploring .owfr-sa-result__badge-label { color: #8a6800; }
.owfr-sa-result__badge--exploring .owfr-sa-result__stage { color: #7a5a00; }
.owfr-sa-result__badge--developing .owfr-sa-result__badge-label { color: #1a6040; }
.owfr-sa-result__badge--developing .owfr-sa-result__stage { color: #004d2e; }
.owfr-sa-result__badge--integrating .owfr-sa-result__badge-label { color: #2a4a90; }
.owfr-sa-result__badge--integrating .owfr-sa-result__stage { color: #1a3a7a; }

/* Body content of result */
.owfr-sa-result__summary,
.owfr-sa-result__score,
.owfr-sa-result__tools-heading,
.owfr-sa-result__tools {
    padding-left: 28px;
    padding-right: 28px;
}

.owfr-sa-result__summary {
    font-size: 0.95rem;
    color: #333;
    line-height: 1.75;
    padding-top: 22px;
    padding-bottom: 4px;
    margin: 0;
    border-bottom: 1px solid #e8efeb;
}

/* Score tally */
.owfr-sa-result__score {
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e8efeb;
}

.owfr-sa-result__score-label {
    font-size: 0.85rem;
    color: #666;
    margin: 0 0 10px;
}

.owfr-sa-result__tally {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.owfr-sa-result__tally li {
    font-size: 0.9rem;
    color: #444;
    background: #f5f5f5;
    border-radius: 6px;
    padding: 6px 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.owfr-sa-tally__stage {
    font-weight: 600;
    font-size: 0.85rem;
}

.owfr-sa-tally__stage--exploring { color: #7a5a00; }
.owfr-sa-tally__stage--developing { color: #006B3F; }
.owfr-sa-tally__stage--integrating { color: #1a3a7a; }

/* Size-specific guidance */
.owfr-sa-result__size-section {
    background: #f0f7f4;
    border-left: 4px solid #006B3F;
    border-radius: 0 6px 6px 0;
    padding: 22px 26px 26px;
    margin: 28px 0;
}

.owfr-sa-result__size-section-heading {
    font-size: 1.15rem;
    font-weight: 700;
    color: #004d2e;
    margin: 0 0 14px;
}

.owfr-sa-result__size-stage-text {
    font-weight: 600;
    color: #1a1a1a;
    margin: 0 0 14px;
    line-height: 1.6;
}

.owfr-sa-result__size-description {
    color: #333;
    line-height: 1.6;
    margin: 0 0 20px;
}

/* Case study block */
.owfr-sa-result__case-study {
    background: #fff;
    border: 1px solid #c8e0d4;
    border-radius: 6px;
    padding: 18px 20px;
    margin: 0 0 18px;
}

.owfr-sa-result__case-study-heading {
    font-size: 0.95rem;
    font-weight: 700;
    color: #006B3F;
    margin: 0 0 10px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.owfr-sa-result__case-study p {
    margin: 0 0 14px;
    line-height: 1.65;
    color: #333;
}

.owfr-sa-result__quote {
    margin: 14px 0 0;
    padding: 12px 18px;
    background: #f5faf7;
    border-left: 3px solid #006B3F;
    border-radius: 0 4px 4px 0;
}

.owfr-sa-result__quote p {
    font-style: italic;
    font-size: 1rem;
    color: #004d2e;
    margin: 0 0 6px !important;
}

.owfr-sa-result__quote footer {
    font-size: 0.85rem;
    color: #555;
}

/* Implications block */
.owfr-sa-result__implications {
    border-top: 1px solid #c8e0d4;
    padding-top: 16px;
}

.owfr-sa-result__implications-heading {
    font-size: 0.95rem;
    font-weight: 700;
    color: #004d2e;
    margin: 0 0 8px;
}

.owfr-sa-result__implications p {
    margin: 0;
    line-height: 1.6;
    color: #333;
}

/* Tools list */
.owfr-sa-result__tools-heading {
    font-size: 1.05rem;
    font-weight: 700;
    color: #004d2e;
    margin: 22px 0 14px;
}

.owfr-sa-result__tools {
    list-style: none;
    margin: 0;
    padding-bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.owfr-sa-result__tool {
    background: #f8fbf9;
    border: 1px solid #dde5e1;
    border-left: 4px solid #006B3F;
    border-radius: 0 8px 8px 0;
    padding: 14px 18px;
    font-size: 0.92rem;
    color: #333;
    line-height: 1.65;
    counter-increment: tool-num;
}

.owfr-sa-result__tool strong {
    color: #004d2e;
    display: block;
    margin-bottom: 4px;
    font-size: 0.95rem;
}

/* ================================================
   Start Here — Revisit & Commitment sections
   ================================================ */
.owfr-sa-result__revisit,
.owfr-sa-result__commitment {
    border-top: 1px solid #dde5e1;
    padding: 24px 28px;
}

.owfr-sa-result__revisit-heading,
.owfr-sa-result__cycle-heading,
.owfr-sa-result__commitment-heading {
    font-size: 1.05rem;
    font-weight: 700;
    color: #004d2e;
    margin: 0 0 12px;
}

.owfr-sa-result__revisit-heading {
    margin-top: 0;
}

.owfr-sa-result__cycle-heading {
    margin-top: 20px;
}

.owfr-sa-result__revisit p,
.owfr-sa-result__commitment p {
    font-size: 0.93rem;
    color: #333;
    line-height: 1.65;
    margin: 0 0 10px;
}

.owfr-sa-result__revisit ul,
.owfr-sa-result__commitment ul {
    margin: 0 0 14px;
    padding-left: 22px;
}

.owfr-sa-result__revisit li,
.owfr-sa-result__commitment li {
    font-size: 0.93rem;
    color: #333;
    line-height: 1.6;
    margin-bottom: 4px;
}

.owfr-sa-result__cycle {
    background: #f4faf7;
    border-left: 4px solid #006B3F;
    border-radius: 0 8px 8px 0;
    padding: 12px 16px;
    font-size: 0.95rem;
}

.owfr-sa-result__commitment-field {
    width: 100%;
    box-sizing: border-box;
    margin: 4px 0 16px;
    border: 1px solid #aecbbc;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 0.93rem;
    color: #333;
    background: #fff;
    resize: vertical;
}

.owfr-sa-result__commitment-field:focus {
    outline: 2px solid #006B3F;
    outline-offset: 0;
    border-color: #006B3F;
}

.owfr-sa-result__commitment-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.owfr-sa-result__commitment-status {
    font-size: 0.88rem;
    color: #006B3F;
}

/* Summary report — Commitment section */
.owfr-ediar-summary-report__commitment {
    margin-top: 28px;
    padding: 20px 24px;
    background: #f4faf7;
    border: 1px solid #c5e3d0;
    border-radius: 10px;
}

.owfr-ediar-summary-report__commitment h3 {
    font-size: 1rem;
    font-weight: 700;
    color: #004d2e;
    margin: 0 0 10px;
}

.owfr-ediar-summary-report__commitment-label {
    font-size: 0.9rem;
    font-weight: 600;
    color: #444;
    margin: 0 0 6px;
}

.owfr-ediar-summary-report__commitment-text {
    font-size: 0.93rem;
    color: #333;
    line-height: 1.65;
    border-left: 4px solid #006B3F;
    padding-left: 14px;
    margin: 0;
}

/* ================================================
   Start Here — Hide main progress bar + step nav on Step 0
   ================================================ */
.owfr-ediar-panel[data-step="0"].owfr-ediar-panel--active ~ * .owfr-ediar-progress,
.owfr-ediar-panel[data-step="0"].owfr-ediar-panel--active ~ * .owfr-ediar-steps {
    display: none;
}

/* Since panels are siblings of progress/steps, use JS class toggling approach instead */
.owfr-ediar-toolkit--start-here .owfr-ediar-progress,
.owfr-ediar-toolkit--start-here .owfr-ediar-steps {
    display: none;
}

/* ================================================
   Summary Step — Step 5
   ================================================ */
.owfr-ediar-sumstep-intro {
    color: #444;
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 24px;
}

/* Stats bar */
.owfr-ediar-sumstep-stats {
    display: flex;
    gap: 16px;
    margin-bottom: 28px;
    flex-wrap: wrap;
}

.owfr-ediar-sumstep-stat {
    flex: 1;
    min-width: 120px;
    background: #f5faf7;
    border: 1px solid #c8e6d4;
    border-top: 4px solid #006B3F;
    border-radius: 8px;
    padding: 16px 20px;
    text-align: center;
}

.owfr-ediar-sumstep-stat__num {
    display: block;
    font-size: 2rem;
    font-weight: 800;
    color: #006B3F;
    line-height: 1;
    margin-bottom: 4px;
}

.owfr-ediar-sumstep-stat__num--sm {
    font-size: 1.1rem;
    font-weight: 700;
    padding-top: 6px;
}

.owfr-ediar-sumstep-stat__label {
    display: block;
    font-size: 0.8rem;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Shared block wrapper (for details + plain divs) */
.owfr-ediar-sumstep-block {
    border: 1px solid #c8e6d4;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 16px;
    background: #fff;
}

/* Accordion (details) header */
.owfr-ediar-sumstep-block > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 20px;
    cursor: pointer;
    list-style: none;
    background: #f5faf7;
    border-left: 4px solid #006B3F;
    font-weight: 700;
    color: #006B3F;
    font-size: 0.95rem;
    user-select: none;
}

.owfr-ediar-sumstep-block > summary::-webkit-details-marker { display: none; }
.owfr-ediar-sumstep-block > summary::marker { display: none; }

.owfr-ediar-sumstep-block[open] > summary {
    background: #eef6f1;
    border-bottom: 1px solid #c8e6d4;
}

.owfr-ediar-sumstep-block__body {
    padding: 20px 24px 24px;
    font-size: 0.9rem;
    color: #333;
}

/* Plain block titles */
.owfr-ediar-sumstep-block__title {
    margin: 0 0 6px;
    font-size: 1rem;
    font-weight: 700;
    color: #006B3F;
}

.owfr-ediar-sumstep-block__desc {
    font-size: 0.88rem;
    color: #555;
    margin: 0 0 16px;
    line-height: 1.55;
}

/* Email block */
.owfr-ediar-sumstep-email {
    padding: 20px 24px;
}

/* Commitment block */
.owfr-ediar-sumstep-commitment {
    padding: 20px 24px;
    background: #f4faf7;
    border: 1px solid #c5e3d0;
    border-radius: 10px;
}

.owfr-ediar-sumstep-commitment__hint {
    font-size: 0.9rem;
    margin: 0 0 6px;
}

.owfr-ediar-sumstep-commitment__criteria {
    margin: 0 0 14px;
    padding-left: 22px;
    font-size: 0.9rem;
    color: #333;
}

.owfr-ediar-sumstep-commitment__criteria li {
    margin-bottom: 4px;
    line-height: 1.55;
}

.owfr-ediar-sumstep-commitment__label {
    display: block;
    font-size: 0.9rem;
    margin: 0 0 6px;
}

.owfr-ediar-sumstep-commitment__textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #aecbbc;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 0.93rem;
    color: #333;
    background: #fff;
    resize: vertical;
    margin-bottom: 12px;
}

.owfr-ediar-sumstep-commitment__textarea:focus {
    outline: 2px solid #006B3F;
    outline-offset: 0;
    border-color: #006B3F;
}

.owfr-ediar-sumstep-commitment__actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}



.owfr-ediar-sumstep-email__label {
    display: block;
    font-size: 0.88rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}

.owfr-ediar-sumstep-email__inputs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.owfr-ediar-sumstep-email__input {
    flex: 1;
    min-width: 200px;
    padding: 9px 14px;
    border: 1px solid #b0c8bc;
    border-radius: 6px;
    font-size: 0.9rem;
    color: #222;
    outline: none;
    transition: border-color 0.15s;
}

.owfr-ediar-sumstep-email__input:focus {
    border-color: #006B3F;
    box-shadow: 0 0 0 3px rgba(0, 107, 63, 0.15);
}

/* PDF download block */
.owfr-ediar-sumstep-pdf {
    padding: 20px 24px;
}

/* Feedback block */
.owfr-ediar-sumstep-feedback {
    padding: 20px 24px;
}

.owfr-ediar-sumstep-feedback__field {
    margin-bottom: 16px;
}

.owfr-ediar-sumstep-feedback__label {
    display: block;
    font-size: 0.88rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 6px;
}

.owfr-ediar-sumstep-feedback__select,
.owfr-ediar-sumstep-feedback__input {
    width: 100%;
    max-width: 380px;
    padding: 9px 14px;
    border: 1px solid #b0c8bc;
    border-radius: 6px;
    font-size: 0.9rem;
    color: #222;
    background: #fff;
    outline: none;
    transition: border-color 0.15s;
}

.owfr-ediar-sumstep-feedback__select:focus,
.owfr-ediar-sumstep-feedback__input:focus {
    border-color: #006B3F;
    box-shadow: 0 0 0 3px rgba(0, 107, 63, 0.15);
}

.owfr-ediar-sumstep-feedback__textarea {
    width: 100%;
    box-sizing: border-box;
}

/* Status messages */
.owfr-ediar-sumstep-status {
    margin-top: 10px;
    font-size: 0.88rem;
    padding: 8px 12px;
    border-radius: 6px;
}

.owfr-ediar-sumstep-status--success {
    background: #e8f5ee;
    color: #1a5c38;
    border: 1px solid #a8d8bc;
}

.owfr-ediar-sumstep-status--error {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}

/* Closing note */
.owfr-ediar-sumstep-close {
    margin-top: 24px;
    padding: 16px 20px;
    background: #f5faf7;
    border-radius: 8px;
    border-left: 4px solid #006B3F;
    font-size: 0.88rem;
    color: #2a4a38;
    line-height: 1.55;
}

.owfr-ediar-sumstep-close p { margin: 0; }

/* ================================================
   Resources Step — Accordion (Step 4)
   ================================================ */
.owfr-ediar-resources-intro {
    color: #555;
    font-size: 0.95rem;
    margin-bottom: 20px;
    line-height: 1.5;
}

.owfr-ediar-resources-accordion {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 32px;
}

.owfr-ediar-res-item {
    border: 1px solid #c8e6d4;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.owfr-ediar-res-item__header {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 20px;
    cursor: pointer;
    list-style: none;
    background: #f5faf7;
    border-left: 4px solid #006B3F;
    transition: background 0.15s;
    user-select: none;
}

.owfr-ediar-res-item__header::-webkit-details-marker { display: none; }
.owfr-ediar-res-item__header::marker { display: none; }

.owfr-ediar-res-item[open] > .owfr-ediar-res-item__header {
    background: #eef6f1;
    border-bottom: 1px solid #c8e6d4;
}

.owfr-ediar-res-item__header:hover {
    background: #e6f3ec;
}

.owfr-ediar-res-item__num {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    background: #006B3F;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.85rem;
    margin-top: 2px;
}

.owfr-ediar-res-item__text {
    flex: 1;
    min-width: 0;
}

.owfr-ediar-res-item__title {
    display: block;
    font-weight: 700;
    color: #006B3F;
    font-size: 1rem;
    line-height: 1.3;
    margin-bottom: 3px;
}

.owfr-ediar-res-item__desc {
    display: block;
    color: #555;
    font-size: 0.85rem;
    line-height: 1.4;
}

.owfr-ediar-res-item__chevron {
    flex-shrink: 0;
    width: 9px;
    height: 9px;
    border-right: 2px solid #006B3F;
    border-bottom: 2px solid #006B3F;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
    margin-top: 10px;
    margin-right: 4px;
}

.owfr-ediar-res-item[open] > .owfr-ediar-res-item__header .owfr-ediar-res-item__chevron {
    transform: rotate(-135deg);
    margin-top: 14px;
}

.owfr-ediar-res-item__body {
    padding: 20px 24px 28px;
}

/* Typography inside accordion body */
.owfr-ediar-res-item__body h3 {
    font-size: 1rem;
    color: #006B3F;
    margin-top: 24px;
    margin-bottom: 8px;
}

.owfr-ediar-res-item__body h4 {
    font-size: 0.92rem;
    color: #1a3a2a;
    font-weight: 700;
    margin-top: 16px;
    margin-bottom: 5px;
}

.owfr-ediar-res-item__body > h3:first-child,
.owfr-ediar-res-item__body > p:first-child {
    margin-top: 0;
}

.owfr-ediar-res-item__body p {
    font-size: 0.9rem;
    color: #333;
    line-height: 1.65;
    margin-bottom: 8px;
}

.owfr-ediar-res-item__body ul,
.owfr-ediar-res-item__body ol {
    padding-left: 20px;
    font-size: 0.9rem;
    color: #333;
    line-height: 1.6;
    margin-bottom: 10px;
}

.owfr-ediar-res-item__body blockquote {
    border-left: 3px solid #006B3F;
    margin: 14px 0;
    padding: 10px 16px;
    background: #f5faf7;
    border-radius: 0 6px 6px 0;
    font-style: italic;
    color: #2a4a38;
}

.owfr-ediar-res-item__body blockquote p { margin: 0; }

/* Glossary DL inside accordion */
.owfr-ediar-res-item__body dl { margin: 0; }

.owfr-ediar-res-item__body dl dt {
    font-weight: 700;
    color: #006B3F;
    margin-top: 14px;
    font-size: 0.9rem;
}

.owfr-ediar-res-item__body dl dt:first-child { margin-top: 0; }

.owfr-ediar-res-item__body dl dd {
    margin-left: 0;
    padding-left: 12px;
    border-left: 2px solid #c8e6d4;
    color: #444;
    font-size: 0.88rem;
    line-height: 1.55;
    margin-bottom: 4px;
}

/* ================================================
   Sustaining Your Work — Step 8
   ================================================ */
.owfr-ediar-sustain-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 18px;
    margin-bottom: 28px;
}

.owfr-ediar-sustain-card {
    background: #fff;
    border: 1px solid #dde5e1;
    border-radius: 12px;
    padding: 22px 24px;
    position: relative;
    overflow: hidden;
    transition: box-shadow 0.2s, border-color 0.2s;
}

.owfr-ediar-sustain-card::before {
    content: '';
    display: block;
    height: 4px;
    background: linear-gradient(90deg, #006B3F 0%, #3fa879 100%);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    border-radius: 12px 12px 0 0;
}

.owfr-ediar-sustain-card:hover {
    border-color: #93c5a4;
    box-shadow: 0 4px 18px rgba(0, 107, 63, 0.1);
}

.owfr-ediar-sustain-card h3 {
    font-size: 1rem;
    font-weight: 700;
    color: #004d2e;
    margin: 0 0 10px;
    line-height: 1.3;
}

.owfr-ediar-sustain-card p,
.owfr-ediar-sustain-card ul,
.owfr-ediar-sustain-card ol {
    font-size: 0.9rem;
    color: #444;
    line-height: 1.7;
    margin: 0;
}

.owfr-ediar-sustain-commitment {
    background: #f4faf7;
    border: 1px solid #c5e3d0;
    border-radius: 12px;
    padding: 24px 28px;
    margin-bottom: 24px;
}

.owfr-ediar-sustain-commitment__label {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    color: #004d2e;
    margin-bottom: 8px;
}

.owfr-ediar-sustain-commitment__note {
    font-size: 0.85rem;
    color: #666;
    margin: 0 0 14px;
}

.owfr-ediar-sustain-commitment textarea {
    width: 100%;
    min-height: 120px;
    padding: 12px 14px;
    border: 1px solid #c0cfc8;
    border-radius: 8px;
    font-size: 0.93rem;
    font-family: inherit;
    line-height: 1.65;
    color: #333;
    background: #fff;
    resize: vertical;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.owfr-ediar-sustain-commitment textarea:focus {
    border-color: #006B3F;
    box-shadow: 0 0 0 3px rgba(0, 107, 63, 0.12);
    outline: none;
}

.owfr-ediar-sustain-close {
    background: linear-gradient(135deg, #004d2e 0%, #006B3F 100%);
    border-radius: 14px;
    padding: 28px 32px;
    text-align: center;
    color: #fff;
}

.owfr-ediar-sustain-close h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 10px;
}

.owfr-ediar-sustain-close p {
    font-size: 0.95rem;
    color: rgba(255,255,255,0.88);
    line-height: 1.7;
    margin: 0;
}

/* ================================================
   Responsive — Start Here + Sustaining
   ================================================ */
@media (max-width: 640px) {
    .owfr-sa-substep-list {
        gap: 0;
    }

    .owfr-sa-substep {
        font-size: 0.75rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        padding-bottom: 8px;
    }

    .owfr-ediar-sa-about {
        padding: 18px 16px;
    }

    .owfr-sa-question {
        padding: 18px 16px;
    }

    .owfr-sa-option {
        padding: 10px 10px;
    }

    .owfr-sa-result__summary,
    .owfr-sa-result__score,
    .owfr-sa-result__tools-heading,
    .owfr-sa-result__tools {
        padding-left: 16px;
        padding-right: 16px;
    }

    .owfr-sa-result__tally {
        flex-direction: column;
    }

    .owfr-ediar-sa-actions {
        flex-direction: column;
    }

    .owfr-ediar-sa-actions .owfr-ediar-btn {
        width: 100%;
        justify-content: center;
    }

    .owfr-ediar-sustain-cards {
        grid-template-columns: 1fr;
    }

    .owfr-ediar-sustain-commitment {
        padding: 18px 16px;
    }

    .owfr-ediar-sustain-close {
        padding: 22px 20px;
    }
}
