.dfam-progress-bar {
    width: 0;
}

/* Public report preview gallery; kept local to the pre-email gallery. */
.dfam-public-report-gallery__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
}

.dfam-public-report-gallery__item {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--dfam-line, #d9dfe4);
    border-radius: .9rem;
    background: #fff;
}

.dfam-public-report-gallery__preview {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    padding: .3rem;
    background: #fff;
    cursor: zoom-in;
}

.dfam-public-report-gallery__preview img {
    display: block;
    position: absolute;
    top: .3rem;
    left: .3rem;
    width: calc(100% - .6rem);
    height: calc(100% - .6rem);
    object-fit: contain;
    border: 1px solid #e2e6e9;
    border-radius: .45rem;
}

.dfam-public-report-gallery__preview:focus-visible,
.dfam-public-report-gallery__close:focus-visible {
    outline: 3px solid var(--dfam-accent, #426b88);
    outline-offset: 3px;
}

.dfam-public-report-gallery__caption {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: .6rem .55rem .7rem;
}

.dfam-public-report-gallery__caption h3 {
    min-height: 2.5em;
    line-height: 1.25;
}

.dfam-public-report-gallery__caption p {
    flex: 1 1 auto;
    margin-top: .35rem;
}

@media (max-width: 639px) {
    .dfam-public-report-gallery__caption {
        padding: .55rem .45rem .65rem;
    }

    .dfam-public-report-gallery__caption h3 {
        min-height: 3.6em;
        font-size: .76rem;
        line-height: 1.2;
    }

    .dfam-public-report-gallery__caption p {
        display: -webkit-box;
        min-height: 5.2em;
        overflow: hidden;
        font-size: .67rem;
        line-height: 1.3;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
    }
}

.dfam-public-report-gallery__dialog {
    width: min(94vw, 76rem);
    max-width: none;
    max-height: 94dvh;
    padding: 1rem;
    overflow: auto;
    border: 1px solid var(--dfam-line, #d9dfe4);
    border-radius: 1rem;
    color: inherit;
    background: #fff;
    box-shadow: 0 1.5rem 5rem rgb(20 30 38 / 28%);
}

.dfam-public-report-gallery__dialog::backdrop {
    background: rgb(20 30 38 / 72%);
}

.dfam-public-report-gallery__dialog-header {
    margin-bottom: .85rem;
}

.dfam-public-report-gallery__dialog-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.dfam-public-report-gallery__dialog-title-row h2 {
    min-width: 0;
    flex: 1 1 auto;
}

.dfam-public-report-gallery__close {
    flex: 0 0 auto;
    border: 1px solid var(--dfam-line, #d9dfe4);
    border-radius: .55rem;
    padding: .45rem .75rem;
    color: var(--dfam-ink, #24333e);
    background: #fff;
    font: inherit;
    cursor: pointer;
}

.dfam-public-report-gallery__dialog-image {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: calc(94dvh - 7rem);
    margin-inline: auto;
    object-fit: contain;
}

@media (min-width: 640px) {
    .dfam-public-report-gallery__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.15rem;
    }

    .dfam-public-report-gallery__preview {
        padding: .65rem;
    }

    .dfam-public-report-gallery__preview img {
        top: .65rem;
        left: .65rem;
        width: calc(100% - 1.3rem);
        height: calc(100% - 1.3rem);
    }

    .dfam-public-report-gallery__caption {
        padding: .85rem 1rem 1rem;
    }

    .dfam-public-report-gallery__dialog {
        padding: 1.25rem;
    }
}

@media (min-width: 1024px) {
    .dfam-public-report-gallery__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.dfam-progress-bar.dfam-progress-0 { width: 0%; }
.dfam-progress-bar.dfam-progress-5 { width: 5%; }
.dfam-progress-bar.dfam-progress-10 { width: 10%; }
.dfam-progress-bar.dfam-progress-15 { width: 15%; }
.dfam-progress-bar.dfam-progress-20 { width: 20%; }
.dfam-progress-bar.dfam-progress-25 { width: 25%; }
.dfam-progress-bar.dfam-progress-30 { width: 30%; }
.dfam-progress-bar.dfam-progress-35 { width: 35%; }
.dfam-progress-bar.dfam-progress-40 { width: 40%; }
.dfam-progress-bar.dfam-progress-45 { width: 45%; }
.dfam-progress-bar.dfam-progress-50 { width: 50%; }
.dfam-progress-bar.dfam-progress-55 { width: 55%; }
.dfam-progress-bar.dfam-progress-60 { width: 60%; }
.dfam-progress-bar.dfam-progress-65 { width: 65%; }
.dfam-progress-bar.dfam-progress-70 { width: 70%; }
.dfam-progress-bar.dfam-progress-75 { width: 75%; }
.dfam-progress-bar.dfam-progress-80 { width: 80%; }
.dfam-progress-bar.dfam-progress-85 { width: 85%; }
.dfam-progress-bar.dfam-progress-90 { width: 90%; }
.dfam-progress-bar.dfam-progress-95 { width: 95%; }
.dfam-progress-bar.dfam-progress-100 { width: 100%; }

/* Keep the completed report inside its card on narrow screens. The detailed
   tables retain their readable column widths and scroll within the card. */
[data-dfam-upload-summary],
[data-dfam-visual-report],
[data-dfam-report-header],
[data-dfam-metric-cards],
[data-dfam-metric-card],
[data-dfam-wall-thickness-scale] {
    min-width: 0;
    max-width: 100%;
}

[data-dfam-upload-summary],
[data-dfam-visual-report],
[data-dfam-metric-card] {
    overflow-wrap: anywhere;
}

[data-dfam-report-title-row] {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

[data-dfam-report-title-row] > [data-dfam-report-control] {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
}

[data-dfam-table-scroll] {
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}

[data-dfam-table-scroll] table {
    min-width: 640px;
}

[data-dfam-wall-thickness-scale] svg {
    display: block;
    height: auto;
    max-width: 100%;
    width: 100%;
}

/* Shared Smart DFAM flow language */
[data-dfam-root].dfam-entry-root {
    --dfam-ink: #111418;
    --dfam-carbon: #323639;
    --dfam-panel: #ffffff;
    --dfam-line: #e3e6e9;
    --dfam-muted: #62686f;
    --dfam-accent: #0a6f92;
    --dfam-good: #2f8a5f;
    --dfam-info-soft: #eaf1f8;
    --dfam-neutral-soft: #f0f2f4;
    color: var(--dfam-ink);
}

[data-dfam-root].dfam-entry-root .dfam-section-kicker {
    color: var(--dfam-accent);
    font-family: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .18em;
    line-height: 1.3;
    margin: 0 0 .55rem;
    text-transform: uppercase;
}

.dfam-flow-header {
    align-items: end;
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    margin: .5rem 0 1.25rem;
}

.dfam-flow-header__title {
    color: var(--dfam-ink);
    font-family: inherit;
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 800;
    letter-spacing: -.06em;
    line-height: .98;
    margin: 0;
    max-width: 17ch;
}

.dfam-flow-header__note {
    color: var(--dfam-muted);
    font-size: .85rem;
    line-height: 1.6;
    margin: 0 0 .15rem;
    max-width: 34ch;
}

.dfam-flow-header--compact {
    align-items: center;
    gap: .75rem;
    margin: .25rem 0 .75rem;
}

.dfam-flow-header--compact .dfam-flow-header__title {
    font-size: clamp(1.35rem, 2.5vw, 1.8rem);
    letter-spacing: -.035em;
    line-height: 1.15;
    max-width: 48ch;
}

.dfam-flow-header__toggle {
    align-items: center;
    background: #fff;
    border: 1px solid var(--dfam-line);
    border-radius: 999px;
    color: var(--dfam-ink);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    font: inherit;
    font-size: .78rem;
    font-weight: 700;
    justify-content: center;
    padding: .5rem .75rem;
}

.dfam-flow-header__toggle:hover {
    background: var(--dfam-neutral-soft);
}

.dfam-flow-header__toggle:focus-visible {
    outline: 3px solid var(--dfam-accent);
    outline-offset: 3px;
}

[data-dfam-root] .dfam-flow-header__detail.hidden,
[data-dfam-root] .dfam-flow-header__toggle.hidden {
    display: none !important;
}

.dfam-flow-rail {
    align-items: center;
    display: flex;
    gap: .5rem;
    margin: 0 0 1.5rem;
    overflow-x: auto;
    padding: .25rem 0 .75rem;
}

.dfam-flow-rail__step {
    align-items: center;
    border: 1px solid var(--dfam-line);
    border-radius: 999px;
    color: var(--dfam-muted);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .74rem;
    font-weight: 700;
    gap: .45rem;
    min-height: 2.55rem;
    padding: .35rem .7rem .35rem .4rem;
    white-space: nowrap;
}

.dfam-flow-rail__step.is-active {
    background: var(--dfam-ink);
    border-color: var(--dfam-ink);
    color: #fff;
}

.dfam-flow-rail__number {
    align-items: center;
    background: var(--dfam-neutral-soft);
    border-radius: 50%;
    color: var(--dfam-muted);
    display: inline-flex;
    font-family: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-variant-numeric: tabular-nums;
    font-size: .62rem;
    height: 1.7rem;
    justify-content: center;
    width: 1.7rem;
}

.dfam-flow-rail__step.is-active .dfam-flow-rail__number {
    background: var(--dfam-accent);
    color: #fff;
}

.dfam-flow-rail__label {
    display: inline;
}

.dfam-flow-rail__connector {
    background: var(--dfam-line);
    flex: 0 0 1.25rem;
    height: 1px;
}

[data-dfam-upload-progress-bar] {
    accent-color: var(--dfam-accent);
    border: 0;
    border-radius: 999px;
    display: block;
    height: .65rem;
    overflow: hidden;
    width: 100%;
}

[data-dfam-upload-progress-bar]::-webkit-progress-bar {
    background: #e9edf0;
    border-radius: 999px;
}

[data-dfam-upload-progress-bar]::-webkit-progress-value {
    background: var(--dfam-accent);
    border-radius: 999px;
}

[data-dfam-upload-progress-bar]::-moz-progress-bar {
    background: var(--dfam-accent);
    border-radius: 999px;
}

.dfam-flow-stage.hidden,
[data-dfam-root] .dfam-flow-stage.hidden {
    display: none !important;
}

[data-dfam-root] [data-dfam-intake-context].dfam-flow-context-hidden {
    display: none !important;
}

.dfam-flow-stage {
    align-items: start;
    border: 1px solid var(--dfam-line);
    border-radius: 1.7rem;
    box-shadow: 0 18px 50px rgba(17, 19, 24, .08);
    display: grid;
    gap: 2rem;
    margin-bottom: 2rem;
    min-height: 31rem;
    overflow: hidden;
    padding: clamp(1.25rem, 4vw, 3.5rem);
}

.dfam-flow-stage__intro {
    align-self: start;
    max-width: 34rem;
}

.dfam-flow-stage__title {
    color: var(--dfam-ink);
    font-family: inherit;
    font-size: clamp(2.5rem, 6vw, 5.3rem);
    font-weight: 800;
    letter-spacing: -.07em;
    line-height: .9;
    margin: 0;
    max-width: 10ch;
}

.dfam-flow-stage__body {
    color: var(--dfam-muted);
    font-size: .98rem;
    line-height: 1.7;
    margin: 1.5rem 0 0;
    max-width: 48ch;
}

.dfam-flow-stage__signal {
    align-items: center;
    color: var(--dfam-good);
    display: inline-flex;
    font-size: .75rem;
    font-weight: 700;
    gap: .5rem;
    margin-top: 1.75rem;
}

/* Guided first-decision form */
[data-dfam-root].dfam-entry-root {
    max-width: var(--site-max-width) !important;
}

.dfam-entry-form-panel {
    border-top: 4px solid #111318 !important;
    box-shadow: 0 18px 44px rgba(17, 19, 24, .08);
    position: relative;
}

.dfam-entry-form-header {
    border-bottom: 1px solid #d9dee5;
    padding-bottom: 1.35rem;
}

.dfam-entry-form-panel {
    background: var(--dfam-panel) !important;
    border: 1px solid var(--dfam-line) !important;
    border-top: 4px solid var(--dfam-ink) !important;
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
}

.dfam-entry-form-header {
    align-self: start;
    border-bottom: 0;
    margin-bottom: 0 !important;
    padding-bottom: 0;
}

.dfam-entry-form {
    align-self: start;
    background: #f5f7fa;
    border: 1px solid var(--dfam-line);
    border-radius: 1.25rem;
    display: grid;
    gap: .9rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: clamp(1rem, 3vw, 1.5rem);
}

.dfam-intake-guide {
    background: #f5f7fa;
    border: 1px solid var(--dfam-line);
    border-radius: 1.1rem;
    margin-top: 2rem;
    padding: 1.25rem;
}

.dfam-intake-guide h3 {
    color: var(--dfam-ink);
    font-size: 1rem;
    font-weight: 700;
    margin: .45rem 0 1rem;
}

.dfam-intake-guide ul {
    color: var(--dfam-muted);
    display: grid;
    font-size: .86rem;
    gap: .65rem;
}

.dfam-intake-guide li {
    align-items: flex-start;
    display: flex;
    gap: .55rem;
}

.dfam-intake-guide li > span:first-child {
    color: var(--dfam-good);
    font-weight: 800;
}

.dfam-intake-guide > p:last-child {
    border-top: 1px solid var(--dfam-line);
    color: var(--dfam-muted);
    font-size: .78rem;
    line-height: 1.5;
    margin-top: 1rem;
    padding-top: 1rem;
}

.dfam-entry-form > * {
    margin-top: 0 !important;
}

.dfam-entry-form > div:not(.sr-only),
.dfam-entry-form > fieldset,
.dfam-entry-form > button {
    grid-column: 1 / -1;
}

.dfam-entry-form > div:not(.sr-only) {
    display: grid;
    gap: .9rem;
}

.dfam-entry-form > div:nth-of-type(2) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dfam-entry-form > div:nth-of-type(3) {
    display: block;
}

.dfam-entry-form fieldset {
    border-top-color: var(--dfam-line);
    padding-top: 1.25rem;
}

.dfam-entry-form fieldset legend {
    color: var(--dfam-ink);
}

.dfam-entry-form [data-dfam-start-submit] {
    justify-self: start;
}

.dfam-entry-form-kicker {
    align-items: center;
    color: #315f93;
    display: flex;
    flex-wrap: wrap;
    font-family: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: .67rem;
    font-weight: 700;
    gap: .65rem;
    letter-spacing: .14em;
    margin-bottom: 1.1rem;
    text-transform: uppercase;
}

.dfam-entry-form-index {
    align-items: center;
    background: #111318;
    border-radius: .55rem;
    color: #fff;
    display: inline-flex;
    height: 2rem;
    justify-content: center;
    letter-spacing: .04em;
    width: 2rem;
}

.dfam-entry-form-status {
    background: #eaf1f8;
    border: 1px solid #cbdbea;
    border-radius: 999px;
    color: #315f93;
    letter-spacing: .08em;
    margin-left: auto;
    padding: .42rem .7rem;
}

.dfam-entry-form [data-dfam-material-value],
.dfam-entry-form input:not([type="radio"]):not([type="checkbox"]),
.dfam-entry-form select {
    border-color: #d9dee5;
    border-radius: .7rem;
    min-height: 2.8rem;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.dfam-entry-form input[name="name"],
.dfam-entry-form input[name="company"],
.dfam-entry-form input[name="email"],
.dfam-entry-form input[name="phone"],
.dfam-entry-form select[name="material_class"] {
    background: #fff;
}

.dfam-entry-form input:not([type="radio"]):not([type="checkbox"]):focus,
.dfam-entry-form select:focus {
    border-color: #315f93 !important;
    box-shadow: 0 0 0 3px rgba(49, 95, 147, .13);
}

.dfam-entry-form fieldset {
    border-top: 1px solid #eef0f3;
    padding-top: 1.7rem;
}

.dfam-entry-form fieldset legend {
    max-width: 62ch;
}

.dfam-entry-option {
    background: #fff;
    min-height: 3.65rem;
    transition: background-color .18s ease, border-color .18s ease,
        box-shadow .18s ease, transform .18s ease;
}

.dfam-entry-option:hover {
    border-color: #9aa7b5 !important;
    transform: translateY(-1px);
}

.dfam-entry-option:has(input:checked) {
    background: #eaf1f8;
    border-color: #315f93 !important;
    box-shadow: inset 4px 0 0 #315f93, 0 5px 16px rgba(49, 95, 147, .08);
}

.dfam-entry-option input[type="radio"] {
    accent-color: #315f93;
    flex: 0 0 auto;
    margin-top: .2rem;
}

.dfam-entry-submit {
    box-shadow: 0 8px 18px rgba(17, 19, 24, .14);
    min-height: 3.1rem;
}

.dfam-entry-submit:hover {
    box-shadow: 0 10px 22px rgba(17, 19, 24, .2);
    transform: translateY(-1px);
}

/* Processing, conversation and geometry stages */
.dfam-result-panel[data-state="working"] {
    background: var(--dfam-ink) !important;
    border-color: var(--dfam-ink) !important;
    border-radius: 1.7rem;
    color: #fff;
    display: grid;
    gap: 1rem 2rem;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    min-height: 31rem;
    overflow: hidden;
    padding: clamp(1.25rem, 4vw, 3.5rem);
    position: relative;
}

.dfam-result-panel[data-state="working"]::before {
    background: var(--dfam-accent);
    border-radius: 50%;
    box-shadow: 0 0 0 1rem rgba(49, 95, 147, .12), 0 0 0 2rem rgba(49, 95, 147, .06);
    content: '';
    height: 5.5rem;
    position: absolute;
    right: 16%;
    top: 18%;
    width: 5.5rem;
}

.dfam-result-panel[data-state="working"] h2,
.dfam-result-panel[data-state="working"] p {
    position: relative;
    z-index: 1;
}

.dfam-result-panel[data-state="working"] h2 {
    align-self: start;
    font-size: clamp(2.5rem, 6vw, 5.3rem);
    letter-spacing: -.07em;
    line-height: .9;
    max-width: 10ch;
}

.dfam-result-panel[data-state="working"] p {
    align-self: start;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 1.25rem;
    color: #c8ced6;
    font-size: .95rem;
    line-height: 1.7;
    padding: 1.5rem;
}

.dfam-flow-stage--chat {
    background: var(--dfam-panel);
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
}

.dfam-chat-window {
    align-self: start;
    background: #f5f7fa;
    border: 1px solid var(--dfam-line);
    border-radius: 1.25rem;
    padding: 1rem;
}

.dfam-chat-window__header {
    align-items: center;
    border-bottom: 1px solid var(--dfam-line);
    display: flex;
    gap: .7rem;
    padding: .25rem .2rem 1rem;
}

.dfam-chat-avatar {
    align-items: center;
    background: var(--dfam-info-soft);
    border-radius: .7rem;
    color: var(--dfam-accent);
    display: flex;
    height: 2.1rem;
    justify-content: center;
    width: 2.1rem;
}

.dfam-chat-window__header strong,
.dfam-chat-window__header small {
    display: block;
}

.dfam-chat-window__header strong { font-size: .8rem; }
.dfam-chat-window__header small { color: var(--dfam-muted); font-size: .68rem; margin-top: .15rem; }
.dfam-chat-live {
    color: var(--dfam-good);
    font-family: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: .62rem;
    margin-left: auto;
    text-transform: uppercase;
}

.dfam-chat-live::before {
    background: var(--dfam-good);
    border-radius: 50%;
    content: '';
    display: inline-block;
    height: .4rem;
    margin-right: .35rem;
    width: .4rem;
}

.dfam-chat-pending {
    background: var(--dfam-info-soft);
    border: 1px solid var(--dfam-line);
    border-radius: 1rem;
    color: var(--dfam-ink);
    font-size: .84rem;
    line-height: 1.55;
    margin: 1rem 0;
    padding: .85rem 1rem;
}

.dfam-chat-pending::before {
    animation: dfam-chat-pending-spin 1s linear infinite;
    border: 2px solid var(--dfam-line);
    border-radius: 50%;
    border-top-color: var(--dfam-accent);
    content: '';
    display: inline-block;
    height: 1rem;
    margin-right: .55rem;
    vertical-align: -.2rem;
    width: 1rem;
}

@keyframes dfam-chat-pending-spin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .dfam-chat-pending::before {
        animation: none;
    }
}

.dfam-chat-compose {
    display: flex;
    gap: .65rem;
    margin-top: 1rem;
}

.dfam-chat-compose textarea {
    min-height: 3.2rem;
    resize: vertical;
}

.dfam-chat-compose .dfam-flow-primary {
    flex: 0 0 auto;
}

.dfam-chat-window [data-dfam-messages] {
    margin-bottom: 0 !important;
}

.dfam-chat-window [data-dfam-messages] > div > div {
    border-radius: 1rem;
    font-size: .84rem;
    line-height: 1.55;
    max-width: 82%;
    padding: .85rem 1rem;
}

.dfam-chat-window [data-dfam-messages] > div > div[class*="bg-dark"] {
    background: var(--dfam-ink);
}

.dfam-chat-window [data-dfam-messages] > div > div[class*="bg-gray-50"] {
    background: var(--dfam-info-soft);
    border: 0;
}

.dfam-flow-stage--upload {
    background: var(--dfam-panel);
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    grid-template-areas:
        "intro upload"
        "faq upload";
    grid-template-rows: auto auto;
}

.dfam-flow-stage--upload > .dfam-flow-stage__intro {
    align-self: start;
    grid-area: intro;
}

.dfam-flow-stage--upload > [data-dfam-upload-faq] {
    align-self: start;
    grid-area: faq;
}

.dfam-upload-grid {
    align-self: start;
    display: grid;
    grid-area: upload;
    gap: 1rem;
}

.dfam-upload-dropzone {
    align-items: stretch;
    background: #f5f7fa;
    border: 1px dashed var(--dfam-accent);
    border-radius: 1.25rem;
    display: flex;
    flex-direction: column;
    padding: 1rem;
}

.dfam-upload-card {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.dfam-upload-card > h2,
.dfam-upload-card > p:first-of-type {
    display: none;
}

.dfam-upload-card [data-dfam-upload-form] {
    background: #f5f7fa;
    display: grid;
    gap: .9rem;
}

.dfam-upload-card [data-dfam-upload-form] > p,
.dfam-upload-card [data-dfam-upload-form] > label,
.dfam-upload-card [data-dfam-upload-form] > button {
    margin: 0 !important;
}

.dfam-upload-card [data-dfam-upload-form] > p {
    background: #f5f7fa;
}

.dfam-upload-card [data-dfam-upload-form] input[type="file"] {
    background: #fff;
    border: 1px solid var(--dfam-line);
    border-radius: .7rem;
    color: var(--dfam-muted);
    min-height: 3rem;
    padding: .35rem;
}

.dfam-upload-card [data-dfam-upload-form] input[type="checkbox"] {
    accent-color: var(--dfam-accent);
}

.dfam-upload-card [data-dfam-upload-form] label:has(input[type="checkbox"]) {
    background: #f5f7fa;
    border-color: var(--dfam-line);
    border-radius: .7rem;
    padding: .85rem;
}

.dfam-upload-checks {
    align-self: start;
    background: var(--dfam-ink);
    border-radius: 1.25rem;
    color: #fff;
    padding: 1.2rem;
}

.dfam-upload-checks .dfam-section-kicker { color: #c8ced6; }
.dfam-upload-check {
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, .14);
    display: flex;
    font-size: .8rem;
    gap: .6rem;
    padding: .75rem 0;
}
.dfam-upload-check > span:first-child { color: var(--dfam-good); font-weight: 800; }

.dfam-status-loading {
    align-items: center;
    display: flex !important;
    gap: .65rem;
}

.dfam-status-loading::before {
    animation: dfam-status-spin .8s linear infinite;
    border: 2px solid #cbdbea;
    border-radius: 50%;
    border-top-color: var(--dfam-accent);
    content: '';
    flex: 0 0 .9rem;
    height: .9rem;
    width: .9rem;
}

@keyframes dfam-status-spin {
    to { transform: rotate(360deg); }
}

[data-dfam-root].dfam-result-mode [data-dfam-unlocked] {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0;
    box-shadow: none;
    display: block;
    min-height: 0;
    overflow: visible;
    padding: 0;
}

[data-dfam-root].dfam-result-mode [data-dfam-unlocked] .dfam-flow-stage__intro,
[data-dfam-root].dfam-result-mode [data-dfam-unlocked] [data-dfam-upload-success],
[data-dfam-root].dfam-result-mode [data-dfam-unlocked] .dfam-upload-checks,
[data-dfam-root].dfam-result-mode [data-dfam-unlocked] [data-dfam-upload-faq],
[data-dfam-root].dfam-result-mode [data-dfam-unlocked] [data-dfam-upload-form],
[data-dfam-root].dfam-result-mode [data-dfam-unlocked] [data-dfam-upload-status],
[data-dfam-root].dfam-result-mode [data-dfam-unlocked] [data-dfam-upload-progress],
[data-dfam-root].dfam-result-mode [data-dfam-unlocked] [data-dfam-analysis-progress],
[data-dfam-root].dfam-result-mode [data-dfam-unlocked] [data-dfam-analysis-retry] {
    display: none !important;
}

[data-dfam-root].dfam-result-mode [data-dfam-unlocked] .dfam-upload-grid,
[data-dfam-root].dfam-result-mode [data-dfam-unlocked] .dfam-upload-dropzone,
[data-dfam-root].dfam-result-mode [data-dfam-unlocked] .dfam-upload-card {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: block;
    margin: 0;
    max-width: none;
    padding: 0;
}

/* Smart DFAM result dashboard */
[data-dfam-root].dfam-result-mode {
    max-width: var(--site-max-width) !important;
}

[data-dfam-root].dfam-result-mode [data-dfam-upload-summary] {
    margin-top: 0;
}

[data-dfam-upload-summary].dfam-report {
    --dfam-ink: #111318;
    --dfam-carbon: #353b43;
    --dfam-paper: #ffffff;
    --dfam-panel: #ffffff;
    --dfam-line: #d9dee5;
    --dfam-muted: #5f6874;
    --dfam-accent: #315f93;
    --dfam-good: #2f8a5f;
    --dfam-good-soft: #e8f4ed;
    --dfam-watch: #c58a2d;
    --dfam-watch-soft: #fff4df;
    --dfam-info: #315f93;
    --dfam-info-soft: #eaf1f8;
    --dfam-neutral: #66707c;
    --dfam-neutral-soft: #f0f2f4;
    background: transparent;
    border-radius: 0;
    color: var(--dfam-ink);
    font-size: 1rem;
    line-height: 1.5;
    margin-top: 2rem;
    max-width: none;
    overflow-wrap: anywhere;
    padding: 0;
}

[data-dfam-upload-summary].dfam-report *,
[data-dfam-upload-summary].dfam-report *::before,
[data-dfam-upload-summary].dfam-report *::after {
    box-sizing: border-box;
}

[data-dfam-upload-summary].dfam-report button:focus-visible,
[data-dfam-upload-summary].dfam-report summary:focus-visible {
    outline: 3px solid var(--dfam-accent);
    outline-offset: 3px;
}

.dfam-section-kicker {
    color: var(--dfam-accent);
    font-family: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .18em;
    line-height: 1.3;
    margin: 0 0 .55rem;
    text-transform: uppercase;
}

.dfam-smart-hero {
    background: var(--dfam-panel);
    border: 1px solid var(--dfam-line);
    border-radius: 1.7rem;
    box-shadow: 0 12px 32px rgba(17, 19, 24, .07);
    color: var(--dfam-ink);
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr);
    margin-bottom: 2.5rem;
    min-height: 30rem;
    overflow: hidden;
}

.dfam-smart-hero__main {
    padding: 3.25rem clamp(1.5rem, 5vw, 4rem);
    position: relative;
}

.dfam-smart-hero__main::after {
    content: none;
}

.dfam-smart-hero__main > * {
    position: relative;
    z-index: 1;
}

.dfam-smart-hero__status-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-bottom: 2.75rem;
}

.dfam-status-pill,
.dfam-outline-pill,
.dfam-smart-evidence-status {
    align-items: center;
    display: inline-flex;
    gap: .45rem;
}

.dfam-status-pill {
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    padding: .48rem .8rem;
}

.dfam-status-pill--excellent {
    background: var(--dfam-good-soft);
    color: #236c49;
}

.dfam-status-pill--watch {
    background: var(--dfam-watch-soft);
    color: #76510f;
}

.dfam-status-pill--critical {
    background: #fbe8e6;
    color: #9b3028;
}

.dfam-hero-meta {
    color: var(--dfam-muted);
    font-family: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: .68rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dfam-smart-hero__eyebrow {
    color: var(--dfam-accent);
    margin-bottom: .8rem;
}

.dfam-smart-hero__title {
    color: var(--dfam-ink);
    font-family: inherit;
    font-size: clamp(2.8rem, 5vw, 5rem);
    font-weight: 800;
    letter-spacing: -.06em;
    line-height: .95;
    margin: 0;
    max-width: 17ch;
}

.dfam-smart-hero__body {
    color: var(--dfam-muted);
    font-size: .98rem;
    line-height: 1.7;
    margin: 2rem 0 0;
    max-width: 58ch;
}

.dfam-free-pro-legend {
    border-left: 3px solid var(--dfam-accent);
    color: var(--dfam-muted);
    font-size: .78rem;
    line-height: 1.6;
    margin: 1.25rem 0 0;
    max-width: 62ch;
    padding-left: .8rem;
}

.dfam-free-conclusion {
    background: var(--dfam-panel);
    border: 1px solid var(--dfam-line);
    border-radius: 1.35rem;
    margin-bottom: 2.5rem;
    padding: 1.5rem;
}

.dfam-free-conclusion-section {
    border-bottom: 1px solid var(--dfam-line);
    padding: 1.15rem 0;
}

.dfam-free-conclusion-section:first-child { padding-top: 0; }
.dfam-free-conclusion-section:last-of-type { border-bottom: 0; }

.dfam-free-conclusion-section__title {
    color: var(--dfam-ink);
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -.02em;
    margin: 0 0 .5rem;
}

.dfam-free-conclusion-section__body,
.dfam-free-conclusion-list__body {
    color: var(--dfam-muted);
    font-size: .9rem;
    line-height: 1.7;
    margin: 0;
}

.dfam-free-conclusion-list {
    display: grid;
    gap: .7rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.dfam-free-conclusion-list__item {
    align-items: flex-start;
    background: #f7f9fb;
    border: 1px solid var(--dfam-line);
    border-radius: .75rem;
    display: grid;
    gap: .7rem;
    grid-template-columns: 2rem minmax(0, 1fr);
    padding: .75rem .9rem;
}

.dfam-free-conclusion-list__index {
    color: var(--dfam-accent);
    font-family: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: .7rem;
    font-weight: 700;
    padding-top: .15rem;
}

.dfam-smart-hero__review {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.dfam-outline-pill {
    border: 1px solid var(--dfam-line);
    border-radius: 999px;
    color: var(--dfam-muted);
    font-size: .75rem;
    font-weight: 700;
    padding: .6rem .95rem;
}

.dfam-smart-hero__side {
    background: #f4f6f8;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 30rem;
    padding: 1.75rem 2.5rem 3rem;
    position: relative;
}

.dfam-hero-print {
    align-items: center;
    background: var(--dfam-panel);
    border: 1px solid var(--dfam-line);
    border-radius: .65rem;
    color: var(--dfam-ink);
    cursor: pointer;
    display: inline-flex;
    font-size: .75rem;
    font-weight: 700;
    gap: .5rem;
    padding: .65rem .85rem;
    position: absolute;
    right: 1.75rem;
    top: 1.75rem;
    transition: background-color .18s ease, border-color .18s ease;
}

.dfam-hero-print:hover {
    background: var(--dfam-accent);
    border-color: var(--dfam-accent);
    color: #fff;
}

.dfam-report-header-meta {
    align-self: end;
    display: grid;
    gap: .45rem 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 4.5rem;
    width: 100%;
}

.dfam-report-header-meta__label {
    color: var(--dfam-muted);
    font-size: .68rem;
    margin: 0;
    text-transform: uppercase;
}

.dfam-report-header-meta__value {
    color: var(--dfam-ink);
    display: block;
    font-size: .82rem;
    overflow-wrap: anywhere;
}

.dfam-report-header-meta__ami-band {
    font-size: .68rem;
    font-weight: 600;
    line-height: 1.35;
}

.dfam-ami-value--excellent,
.dfam-ami-value--good {
    color: #18794e;
}

.dfam-ami-value--conditional {
    color: #946200;
}

.dfam-ami-value--poor {
    color: #b42318;
}

.dfam-ami-summary {
    background: #fff;
    border: 1px solid #d1d5db;
    border-left-width: 4px;
    border-radius: .65rem;
    margin-top: 1rem;
    padding: .8rem 1rem;
}

.dfam-ami-summary--excellent {
    background: #f0fdf4;
    border-color: #18794e;
}

.dfam-ami-summary--watch {
    background: #fffbeb;
    border-color: #946200;
}

.dfam-ami-summary--critical {
    background: #fef2f2;
    border-color: #b42318;
}

.dfam-ami-summary__label {
    color: #374151;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .04em;
    margin: 0;
    text-transform: uppercase;
}

.dfam-ami-summary__value,
.dfam-ami-report-score__value {
    color: #111827;
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.25;
    margin-top: .25rem;
}

.dfam-ami-summary__value.dfam-ami-value--excellent,
.dfam-ami-summary__value.dfam-ami-value--good,
.dfam-ami-report-score__value.dfam-ami-value--excellent,
.dfam-ami-report-score__value.dfam-ami-value--good {
    color: #18794e;
}

.dfam-ami-summary__value.dfam-ami-value--conditional,
.dfam-ami-report-score__value.dfam-ami-value--conditional {
    color: #946200;
}

.dfam-ami-summary__value.dfam-ami-value--poor,
.dfam-ami-report-score__value.dfam-ami-value--poor {
    color: #b42318;
}

.dfam-ami-report-score {
    background: #f9fafb;
    border-left: 4px solid #9ca3af;
    border-radius: .35rem;
    margin: .75rem 0;
    padding: .65rem .85rem;
}

.dfam-ami-report-score--excellent {
    background: #f0fdf4;
    border-left-color: #18794e;
}

.dfam-ami-report-score--watch {
    background: #fffbeb;
    border-left-color: #946200;
}

.dfam-ami-report-score--critical {
    background: #fef2f2;
    border-left-color: #b42318;
}

.dfam-ami-band {
    display: block;
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.4;
    margin: .2rem 0 0;
}

.dfam-ami-band--excellent,
.dfam-ami-band--good {
    color: #18794e;
}

.dfam-ami-band--conditional {
    color: #946200;
}

.dfam-ami-band--poor {
    color: #b42318;
}

.dfam-active-risk-line {
    border-color: var(--dfam-line);
    color: var(--dfam-ink);
}

.dfam-smart-decision {
    position: relative;
}

.dfam-smart-decision__count {
    font-size: 4rem;
    font-weight: 800;
    letter-spacing: -.08em;
    line-height: 1;
    margin: 1.6rem 0 .5rem;
    font-variant-numeric: tabular-nums;
}

.dfam-smart-decision__count--good {
    color: var(--dfam-good);
}

.dfam-smart-decision__count--bad {
    color: #d4574c;
}

.dfam-smart-decision__label {
    color: #f2f5f8;
    font-size: .9rem;
    line-height: 1.35;
    margin: 0;
    max-width: 16ch;
}

.dfam-smart-decision__icon {
    bottom: 0;
    color: var(--dfam-good);
    height: 4.5rem;
    opacity: .9;
    position: absolute;
    right: 0;
    width: 4.5rem;
}

.dfam-smart-section {
    margin-bottom: 2.8rem;
}

.dfam-smart-section__header,
.dfam-smart-card-heading {
    align-items: flex-end;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.dfam-smart-section__title,
.dfam-smart-card-title,
.dfam-smart-boundary__title {
    color: var(--dfam-ink);
    font-family: inherit;
    font-size: 1.65rem;
    font-weight: 800;
    letter-spacing: -.045em;
    line-height: 1.05;
    margin: 0;
}

.dfam-smart-section__hint {
    color: var(--dfam-muted);
    font-size: .85rem;
    line-height: 1.55;
    margin: 0;
    max-width: 32ch;
    text-align: right;
}

.dfam-smart-metric-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 1.25rem;
}

.dfam-metric-card {
    background: var(--dfam-panel);
    border: 1px solid var(--dfam-line);
    border-radius: 1.25rem;
    border-top-width: 4px;
    box-shadow: 0 12px 28px rgba(17, 19, 24, .06);
    min-width: 0;
    padding: 1.2rem;
}

.dfam-metric-card--excellent { border-top-color: var(--dfam-good); }
.dfam-metric-card--watch { border-top-color: var(--dfam-watch); }
.dfam-metric-card--critical { border-top-color: #c94d43; }
.dfam-metric-card--info { border-top-color: var(--dfam-info); }
.dfam-metric-card--neutral { border-top-color: var(--dfam-neutral); }

.dfam-metric-card__top {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    margin-bottom: 1.6rem;
}

.dfam-metric-card__icon {
    align-items: center;
    background: var(--dfam-neutral-soft);
    border-radius: .7rem;
    color: var(--dfam-neutral);
    display: inline-flex;
    height: 2.5rem;
    justify-content: center;
    width: 2.5rem;
}

.dfam-metric-card--excellent .dfam-metric-card__icon {
    background: var(--dfam-good-soft);
    color: var(--dfam-good);
}

.dfam-metric-card--watch .dfam-metric-card__icon {
    background: var(--dfam-watch-soft);
    color: var(--dfam-watch);
}

.dfam-metric-card--info .dfam-metric-card__icon {
    background: var(--dfam-info-soft);
    color: var(--dfam-info);
}

.dfam-metric-card__eyebrow {
    color: var(--dfam-muted);
    font-family: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: .6rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.dfam-metric-card__label,
.dfam-smart-stat-label {
    color: var(--dfam-muted);
    font-size: .8rem;
    font-weight: 700;
    margin: 0 0 .35rem;
}

.dfam-metric-card__value {
    font-size: 2.1rem;
    font-weight: 800;
    letter-spacing: -.06em;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    margin: 0;
}

.dfam-metric-card__note {
    color: var(--dfam-muted);
    font-size: .74rem;
    line-height: 1.55;
    margin: .8rem 0 0;
}

.dfam-metric-card__reference {
    color: var(--dfam-muted);
    font-size: .74rem;
    line-height: 1.45;
    margin: .65rem 0 0;
}

.dfam-metric-card__status {
    border-radius: 999px;
    display: inline-flex;
    font-size: .68rem;
    font-weight: 800;
    margin-top: .85rem;
    padding: .3rem .55rem;
}

.dfam-metric-card--excellent .dfam-metric-card__status {
    background: var(--dfam-good-soft);
    color: #236c49;
}

.dfam-metric-card--watch .dfam-metric-card__status {
    background: var(--dfam-watch-soft);
    color: #76510f;
}

.dfam-metric-card--critical .dfam-metric-card__status {
    background: #fbe8e6;
    color: #9b3028;
}

.dfam-metric-card--neutral .dfam-metric-card__status,
.dfam-metric-card--info .dfam-metric-card__status {
    background: var(--dfam-neutral-soft);
    color: var(--dfam-muted);
}

.dfam-smart-context-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    margin-bottom: 2.5rem;
}

.dfam-smart-context-card {
    background: var(--dfam-panel);
    border: 1px solid var(--dfam-line);
    border-radius: 1.35rem;
    min-width: 0;
    overflow: hidden;
}

.dfam-smart-card-heading {
    padding: 1.35rem 1.5rem;
}

.dfam-smart-card-heading > svg {
    color: var(--dfam-muted);
    height: 1.2rem;
    width: 1.2rem;
}

.dfam-smart-geometry-visual {
    align-items: center;
    background: #f4f6f8;
    display: flex;
    justify-content: center;
    min-height: 15rem;
    overflow: hidden;
    position: relative;
}

.dfam-smart-geometry-visual--data {
    align-items: flex-start;
    background: #f4f6f8;
    flex-direction: column;
    justify-content: center;
    padding: 2rem 1.5rem;
}

.dfam-smart-geometry-visual--views {
    align-items: stretch;
    background: #f4f6f8;
    display: block;
    min-height: 0;
    padding: 1.25rem;
}

.dfam-smart-geometry-visual--views::before {
    display: none;
}

.dfam-smart-geometry-view-header {
    margin-bottom: 1rem;
}

.dfam-smart-geometry-view-header .dfam-smart-geometry-data-value {
    display: block;
    font-size: clamp(1.4rem, 3vw, 2.25rem);
}

.dfam-smart-geometry-view-header .dfam-smart-geometry-axis {
    display: block;
    margin-top: .55rem;
}

.dfam-smart-geometry-views {
    display: grid;
    gap: .8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
}

.dfam-smart-geometry-view {
    background: #fff;
    border: 1px solid #e1e5e9;
    border-radius: .55rem;
    margin: 0;
    min-width: 0;
    overflow: hidden;
    padding: .4rem;
}

.dfam-smart-geometry-view img {
    aspect-ratio: 1 / 1;
    background: #fff;
    border-radius: .3rem;
    display: block;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.dfam-smart-geometry-view-caption {
    color: var(--dfam-muted);
    font-size: .78rem;
    line-height: 1.35;
    padding: .55rem .25rem .2rem;
    text-align: center;
}

.dfam-smart-orientation-card {
    margin-top: 1.25rem;
    padding-bottom: 1.25rem;
}

.dfam-smart-orientation-card > .dfam-smart-evidence-copy {
    margin: 0 1.5rem 1rem;
}

.dfam-smart-orientation-card__figure {
    background: #f4f6f8;
    border: 1px solid var(--dfam-line);
    border-radius: .8rem;
    margin: 0 1.5rem 1rem;
    overflow: hidden;
    padding: .5rem;
}

.dfam-smart-orientation-card__image {
    aspect-ratio: 1 / 1;
    background: #fff;
    border-radius: .45rem;
    display: block;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.dfam-smart-orientation-card__figure figcaption {
    color: var(--dfam-muted);
    font-size: .78rem;
    line-height: 1.35;
    padding: .55rem .25rem .2rem;
    text-align: center;
}

.dfam-smart-orientation-card__disclaimer {
    font-size: .9rem;
}

.dfam-smart-geometry-visual--views > .dfam-smart-geometry-format {
    display: block;
    margin-top: .85rem;
}

.dfam-smart-geometry-visual--views .dfam-smart-geometry-axis,
.dfam-smart-geometry-visual--views > .dfam-smart-geometry-format {
    bottom: auto;
    left: auto;
    position: static;
    right: auto;
    z-index: auto;
}

.dfam-smart-geometry-data-label {
    color: var(--dfam-muted);
    font-size: .72rem;
    margin: 0 0 .45rem;
    text-transform: uppercase;
}

.dfam-smart-geometry-data-value {
    color: var(--dfam-ink);
    font-size: clamp(1.8rem, 4vw, 3rem);
    letter-spacing: -.06em;
    line-height: 1;
}

.dfam-smart-geometry-visual::before {
    background-image: radial-gradient(#aab2bd 1px, transparent 1px);
    background-size: 15px 15px;
    content: '';
    inset: 0;
    opacity: .45;
    position: absolute;
}

.dfam-smart-part-shape {
    background: var(--dfam-accent);
    border: 3px solid var(--dfam-ink);
    box-shadow: 14px 14px 0 var(--dfam-good);
    height: 10rem;
    position: relative;
    transform: rotate(-8deg);
    width: 6rem;
    z-index: 1;
}

.dfam-smart-part-shape::before {
    background: #5689e4;
    border: 3px solid var(--dfam-ink);
    border-bottom: 0;
    content: '';
    height: 1rem;
    position: absolute;
    right: -3px;
    top: -1.1rem;
    transform: skewX(-45deg);
    width: calc(100% + 3px);
}

.dfam-smart-part-shape::after {
    background: #315f93;
    border: 3px solid var(--dfam-ink);
    border-left: 0;
    content: '';
    height: calc(100% + 3px);
    position: absolute;
    right: -1.2rem;
    top: -2px;
    transform: skewY(-45deg);
    width: 1rem;
}

.dfam-smart-geometry-axis,
.dfam-smart-geometry-format {
    bottom: 1rem;
    color: var(--dfam-muted);
    font-family: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: .64rem;
    font-variant-numeric: tabular-nums;
    position: absolute;
    z-index: 1;
}

.dfam-smart-geometry-axis { left: 1.5rem; }
.dfam-smart-geometry-format { right: 1.5rem; text-transform: uppercase; }

.dfam-smart-context-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dfam-smart-context-stats > div {
    border-top: 1px solid var(--dfam-line);
    padding: 1.1rem 1.35rem;
}

.dfam-smart-stat-value {
    font-family: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: .8rem;
    font-variant-numeric: tabular-nums;
    margin: .45rem 0 0;
}

.dfam-smart-stat-value--inline {
    align-items: center;
    display: flex;
    gap: .4rem;
    font-family: inherit;
    font-weight: 700;
}

.dfam-smart-stat-value--inline svg {
    color: var(--dfam-good);
    height: 1rem;
    width: 1rem;
}

.dfam-smart-stat-note {
    color: var(--dfam-muted);
    font-size: .72rem;
    margin: .3rem 0 0;
}

.dfam-smart-evidence-card {
    padding: 1.5rem;
}

.dfam-smart-evidence-copy {
    color: var(--dfam-muted);
    font-size: .9rem;
    line-height: 1.65;
    margin: 1.2rem 0;
    max-width: 46ch;
}

.dfam-smart-evidence-status {
    background: var(--dfam-info-soft);
    color: var(--dfam-info);
    font-size: .78rem;
    font-weight: 700;
    margin-bottom: 1.1rem;
    padding: .8rem .9rem;
}

.dfam-smart-detail-row {
    border-bottom: 1px solid var(--dfam-line);
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(9rem, .55fr) 1fr;
    padding: 1rem 0;
}

.dfam-smart-detail-row:last-child { border-bottom: 0; }

.dfam-smart-detail-row__label {
    align-items: flex-start;
    display: flex;
    gap: .65rem;
}

.dfam-smart-detail-row__label > p {
    font-size: .82rem;
    font-weight: 700;
    margin: .2rem 0 0;
}

.dfam-smart-detail-row__value {
    font-family: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: .8rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    margin: .2rem 0 0;
}

.dfam-smart-detail-row__note {
    color: var(--dfam-muted);
    font-size: .78rem;
    line-height: 1.55;
    margin: .3rem 0 0;
}

.dfam-detail-icon {
    align-items: center;
    border-radius: .55rem;
    display: inline-flex;
    flex: 0 0 auto;
    height: 2rem;
    justify-content: center;
    width: 2rem;
}

.dfam-detail-icon--info {
    background: var(--dfam-info-soft);
    color: var(--dfam-info);
}

.dfam-detail-icon--watch {
    background: var(--dfam-watch-soft);
    color: var(--dfam-watch);
}

.dfam-detail-icon--excellent {
    background: var(--dfam-good-soft);
    color: var(--dfam-good);
}

.dfam-smart-source-stats {
    border-top: 1px solid var(--dfam-line);
    display: grid;
    gap: .35rem 1rem;
    grid-template-columns: 1fr 1fr;
    margin-top: .4rem;
    padding-top: 1rem;
}

.dfam-smart-source-stats > p { margin-bottom: 0; }
.dfam-smart-source-stats > p:nth-child(3) { grid-column: 2; grid-row: 1; }
.dfam-smart-source-stats > p:nth-child(4) { grid-column: 2; grid-row: 2; }

.dfam-smart-technical {
    border: 1px solid var(--dfam-line);
    border-radius: 1.35rem;
    margin-bottom: 2.5rem;
}

.dfam-smart-technical__summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    list-style: none;
    padding: 1.45rem 1.5rem;
}

.dfam-smart-technical__summary::-webkit-details-marker { display: none; }
.dfam-smart-technical__summary strong { display: block; font-size: 1.35rem; letter-spacing: -.04em; }
.dfam-smart-technical__summary small { color: var(--dfam-muted); display: block; font-size: .78rem; font-weight: 400; margin-top: .35rem; }
.dfam-smart-chevron { color: var(--dfam-muted); transform: rotate(0); transition: transform .2s ease; }
.dfam-smart-technical[open] .dfam-smart-chevron { transform: rotate(180deg); }
.dfam-smart-technical__content { border-top: 1px solid var(--dfam-line); padding: 1.5rem; }
.dfam-smart-detail-list { margin-bottom: 1rem; }
.dfam-smart-technical__content > [data-dfam-report-section] { background: #fff; }
.dfam-smart-technical__content [data-dfam-report-section] { border-color: var(--dfam-line); }
.dfam-smart-technical__content [data-dfam-report-section] summary { color: var(--dfam-ink); }
.dfam-smart-technical__content [data-dfam-report-section] [data-dfam-metric-card] { box-shadow: none; }

.dfam-smart-boundary {
    border-top: 1px solid var(--dfam-line);
    display: grid;
    gap: 1rem 2rem;
    grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr);
    padding-top: 1.75rem;
}

.dfam-smart-boundary__copy {
    color: var(--dfam-muted);
    font-size: .88rem;
    line-height: 1.65;
    margin: .6rem 0 0;
    max-width: 62ch;
}

.dfam-smart-boundary__note {
    align-items: flex-start;
    background: var(--dfam-watch-soft);
    border-left: 4px solid var(--dfam-watch);
    color: #6d4b11;
    display: flex;
    font-size: .82rem;
    gap: .6rem;
    line-height: 1.6;
    padding: 1rem;
}

.dfam-smart-boundary__note svg {
    flex: 0 0 auto;
    margin-top: .15rem;
}

[data-dfam-upload-summary].dfam-report [data-dfam-print-footer] {
    color: var(--dfam-muted);
    margin-top: 2rem;
}

@media (max-width: 900px) {
    .dfam-smart-hero {
        grid-template-columns: 1fr;
    }

    .dfam-smart-hero__side {
        min-height: 17rem;
    }

    .dfam-smart-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dfam-smart-context-grid,
    .dfam-smart-boundary {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .dfam-flow-rail {
        display: grid;
        gap: .1rem;
        grid-template-columns: repeat(7, minmax(0, 1fr));
        overflow: visible;
        padding: .25rem 0 .5rem;
    }

    .dfam-flow-rail__step {
        border-radius: 50%;
        flex: initial;
        height: 2rem;
        justify-content: center;
        min-height: 2rem;
        min-width: 0;
        padding: .15rem;
        width: 100%;
    }

    .dfam-flow-rail__number {
        flex: 0 0 1.45rem;
        font-size: .62rem;
        height: 1.45rem;
        width: 1.45rem;
    }

    .dfam-flow-rail__label {
        clip: rect(0, 0, 0, 0);
        clip-path: inset(50%);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        position: absolute;
        white-space: nowrap;
        width: 1px;
    }

    .dfam-flow-rail__connector {
        flex: initial;
        min-width: 0;
        width: 100%;
    }

    .dfam-entry-form-status {
        margin-left: 0;
    }

    .dfam-entry-form-panel {
        padding: 1.25rem !important;
    }

    [data-dfam-upload-summary].dfam-report {
        margin-top: 1.25rem;
    }

    .dfam-smart-hero {
        border-radius: 1.15rem;
        margin-bottom: 2rem;
    }

    .dfam-smart-hero__main {
        padding: 2rem 1.25rem 2.5rem;
    }

    .dfam-smart-hero__main::after {
        height: 7rem;
        width: 7rem;
    }

    .dfam-smart-hero__title {
        font-size: clamp(2.8rem, 15vw, 4.8rem);
    }

    .dfam-smart-hero__side {
        min-height: 14rem;
        padding: 1.25rem 1.25rem 2rem;
    }

    .dfam-hero-print {
        right: 1rem;
        top: 1rem;
    }

    .dfam-smart-metric-grid {
        grid-template-columns: 1fr;
    }

    .dfam-smart-section__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .dfam-smart-section__hint {
        text-align: left;
    }

    .dfam-smart-card-heading,
    .dfam-smart-evidence-card {
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }

    .dfam-smart-detail-row {
        grid-template-columns: 1fr;
    }

    .dfam-smart-source-stats {
        grid-template-columns: 1fr;
    }

    .dfam-smart-source-stats > p:nth-child(3),
    .dfam-smart-source-stats > p:nth-child(4) {
        grid-column: auto;
        grid-row: auto;
    }

    .dfam-smart-technical__summary,
    .dfam-smart-technical__content {
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }
}

@media (max-width: 800px) {
    .dfam-flow-header {
        align-items: flex-start;
        flex-direction: column;
        gap: .75rem;
    }

    .dfam-entry-form-panel,
    .dfam-flow-stage--chat,
    .dfam-flow-stage--upload,
    .dfam-result-panel[data-state="working"] {
        grid-template-columns: 1fr;
    }

    .dfam-flow-stage--upload {
        grid-template-areas:
            "intro"
            "upload"
            "faq";
        grid-template-rows: auto;
    }

    .dfam-flow-stage--upload > .dfam-flow-stage__intro,
    .dfam-flow-stage--upload > [data-dfam-upload-faq],
    .dfam-flow-stage--upload > .dfam-upload-grid {
        grid-area: auto;
    }

    .dfam-result-panel[data-state="working"]::before {
        display: none;
    }
}

@media (max-width: 520px) {
    .dfam-flow-stage {
        border-radius: 1.15rem;
        padding: 1.15rem;
    }

    .dfam-entry-form {
        grid-template-columns: 1fr;
    }

    .dfam-entry-form > div:nth-of-type(2) {
        grid-template-columns: 1fr;
    }

    .dfam-entry-form > div:not(.sr-only),
    .dfam-entry-form > fieldset,
    .dfam-entry-form > button {
        grid-column: auto;
    }

    .dfam-flow-stage__title,
    .dfam-result-panel[data-state="working"] h2 {
        font-size: clamp(2.45rem, 14vw, 4rem);
    }

    .dfam-chat-compose {
        align-items: stretch;
        flex-direction: column;
    }

    .dfam-chat-compose .dfam-flow-primary {
        width: 100%;
    }

    .dfam-smart-geometry-views {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media print {
    .dfam-smart-geometry-views {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dfam-smart-geometry-view {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .dfam-smart-geometry-view img {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}

/* Reference-led DFAM report hierarchy */
.dfam-smart-hero {
    border-radius: .9rem;
    box-shadow: none;
    grid-template-columns: minmax(0, 1fr) minmax(22rem, 448px);
    min-height: 0;
}

.dfam-smart-hero__main {
    padding: clamp(1.5rem, 5vw, 4rem);
}

.dfam-smart-hero__status-row {
    margin-bottom: 1.25rem;
}

.dfam-smart-hero__title {
    font-size: clamp(2rem, 3.4vw, 2.65rem);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.14;
    max-width: 23ch;
}

.dfam-smart-hero__body {
    font-size: .98rem;
    line-height: 1.62;
    margin-top: 1rem;
}

.dfam-smart-hero__review {
    gap: .65rem;
    margin-top: 1.25rem;
}

.dfam-smart-hero__side {
    background: #fff;
    justify-content: flex-start;
    min-height: 0;
    padding: 1.25rem;
}

.dfam-report-masthead {
    align-items: center;
    border-bottom: 1px solid var(--dfam-line);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin: 0 0 1.5rem;
    padding: 0 0 1rem;
}

.dfam-report-masthead__identity {
    align-items: center;
    display: flex;
    gap: 1rem;
    min-width: 0;
}

.dfam-report-masthead__brand {
    color: var(--dfam-carbon);
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: -.02em;
}

.dfam-report-masthead__divider {
    background: #d5d9dd;
    flex: 0 0 1px;
    height: 1.4rem;
}

.dfam-report-masthead__product {
    color: var(--dfam-muted);
    font-size: 1rem;
    font-weight: 500;
}

.dfam-report-masthead__actions {
    align-items: center;
    display: flex;
    justify-content: flex-end;
}

.dfam-hero-print {
    position: static;
}

.dfam-report-header-meta {
    align-self: stretch;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 1.75rem;
}

.dfam-report-header-meta__item {
    border-top: 2px solid var(--dfam-ink);
    min-width: 0;
    padding-top: .55rem;
}

.dfam-report-header-meta__label {
    color: var(--dfam-muted);
    font-size: .78rem;
    font-weight: 600;
    margin: 0 0 .25rem;
}

.dfam-report-header-meta__value {
    color: var(--dfam-ink);
    font-size: .9rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.dfam-report-header-meta__ami-band {
    font-size: .72rem;
}

.dfam-smart-hero__side .dfam-smart-geometry-card {
    background: transparent;
    border: 0;
    border-radius: 0;
    margin: 0;
    overflow: visible;
    width: 100%;
}

.dfam-smart-hero__side .dfam-smart-card-heading {
    padding: 0 0 .75rem;
}

.dfam-smart-hero__side .dfam-smart-card-title {
    font-size: 1.05rem;
    letter-spacing: -.02em;
}

.dfam-smart-geometry-visual--views {
    background: transparent;
    padding: 0;
}

.dfam-smart-geometry-view-header {
    margin-bottom: .65rem;
}

.dfam-smart-geometry-view-header .dfam-smart-geometry-data-label {
    font-size: .72rem;
    margin-bottom: .1rem;
}

.dfam-smart-geometry-view-header .dfam-smart-geometry-data-value {
    font-size: 1rem;
    letter-spacing: -.02em;
}

.dfam-smart-geometry-view-header .dfam-smart-geometry-axis {
    font-size: .72rem;
    margin-top: .15rem;
}

.dfam-smart-geometry-featured {
    aspect-ratio: 1;
    background: #d2d2d2;
    border-radius: .875rem;
    margin: 0;
    overflow: hidden;
    position: relative;
}

.dfam-smart-geometry-featured img {
    background: #d2d2d2;
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.dfam-smart-geometry-featured-caption {
    background: rgba(255, 255, 255, .94);
    border-radius: .4rem;
    bottom: .85rem;
    color: #3a4047;
    font-size: .8rem;
    font-weight: 600;
    left: .85rem;
    padding: .35rem .6rem;
    position: absolute;
}

.dfam-smart-geometry-thumbnails {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: .7rem;
}

.dfam-smart-geometry-thumbnail {
    aspect-ratio: 1;
    background: #fff;
    border: 2px solid transparent;
    border-radius: .55rem;
    cursor: pointer;
    min-width: 0;
    overflow: hidden;
    padding: 2px;
    transition: border-color .16s ease, transform .16s ease;
}

.dfam-smart-geometry-thumbnail:hover {
    border-color: #9ab7c7;
    transform: translateY(-1px);
}

.dfam-smart-geometry-thumbnail.is-active {
    border-color: var(--dfam-accent);
}

.dfam-smart-geometry-thumbnail:focus-visible {
    outline: 3px solid var(--dfam-accent);
    outline-offset: 2px;
}

.dfam-smart-geometry-thumbnail img {
    aspect-ratio: 1;
    background: #d2d2d2;
    border-radius: .35rem;
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.dfam-smart-geometry-format {
    color: var(--dfam-muted);
    display: block;
    font-size: .65rem;
    letter-spacing: .1em;
    margin-top: .55rem;
    text-align: right;
    text-transform: uppercase;
}

.dfam-smart-context-stats {
    background: #fff;
    border-top: 1px solid var(--dfam-line);
    margin-top: .6rem;
    padding-top: .7rem;
}

.dfam-three-axis-summary,
.dfam-smart-actions {
    margin-bottom: 3.25rem;
}

.dfam-smart-section__header {
    align-items: baseline;
    border-bottom: 1px solid var(--dfam-line);
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
}

.dfam-smart-section__title,
.dfam-smart-card-title,
.dfam-smart-boundary__title {
    font-size: clamp(1.45rem, 2.4vw, 1.9rem);
    letter-spacing: -.02em;
    line-height: 1.2;
}

.dfam-smart-section__hint {
    font-size: .9rem;
    text-align: left;
}

.dfam-three-axis-summary .dfam-smart-detail-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dfam-three-axis-card {
    background: #fff;
    border: 1px solid var(--dfam-line);
    border-radius: .875rem;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    min-width: 0;
    padding: 1.35rem;
}

.dfam-three-axis-card .dfam-smart-detail-row__label {
    display: block;
}

.dfam-three-axis-card .dfam-smart-detail-row__label > p {
    margin: 0 0 .55rem;
}

.dfam-three-axis-card .dfam-smart-detail-row__value {
    color: var(--dfam-ink);
    font-size: 1.15rem;
    line-height: 1.3;
    margin: 0;
}

.dfam-three-axis-card .dfam-smart-detail-row__note {
    font-size: .86rem;
    line-height: 1.55;
    margin: 0;
}

.dfam-smart-actions__intro {
    color: var(--dfam-muted);
    font-size: .95rem;
    margin: -.35rem 0 1rem;
}

.dfam-smart-actions__list {
    border-top: 1px solid var(--dfam-line);
    display: grid;
    gap: 0;
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
}

.dfam-smart-actions__item {
    align-items: flex-start;
    border-bottom: 1px solid var(--dfam-line);
    display: grid;
    gap: 1rem;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    padding: 1.2rem .25rem;
}

.dfam-smart-actions__number {
    color: var(--dfam-accent);
    font-size: .95rem;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    padding-top: .1rem;
}

.dfam-smart-actions__title {
    color: var(--dfam-ink);
    font-size: 1rem;
    font-weight: 700;
    margin: 0;
}

.dfam-smart-actions__item p {
    color: var(--dfam-muted);
    font-size: .9rem;
    line-height: 1.6;
    margin: .35rem 0 0;
}

.dfam-smart-assessment {
    background: transparent;
    border: 0;
    border-radius: 0;
    margin: 0 0 3rem;
    padding: 0;
}

.dfam-smart-assessment__header {
    margin-bottom: .5rem;
}

.dfam-smart-assessment .dfam-free-conclusion-section {
    padding: 1.35rem 0;
}

.dfam-smart-assessment
    .dfam-free-conclusion-section[data-dfam-free-conclusion-section="title"],
.dfam-smart-assessment
    .dfam-free-conclusion-section[data-dfam-free-conclusion-section="summary"],
.dfam-smart-assessment
    .dfam-free-conclusion-section[data-dfam-free-conclusion-section="recommendations"] {
    display: none;
}

.dfam-smart-assessment .dfam-free-conclusion-section__title {
    font-size: 1.15rem;
    letter-spacing: -.01em;
}

.dfam-smart-assessment .dfam-free-conclusion-section__body,
.dfam-smart-assessment .dfam-free-conclusion-list__body {
    color: var(--dfam-carbon);
    font-size: .94rem;
}

.dfam-smart-assessment .dfam-free-conclusion-list {
    gap: 0;
}

.dfam-smart-assessment .dfam-free-conclusion-list__item {
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--dfam-line);
    border-radius: 0;
    padding: .9rem 0;
}

.dfam-smart-assessment > [data-dfam-report-section="ai-details"] {
    background: #fff;
    border: 1px solid var(--dfam-line);
    border-radius: .875rem;
    margin: .75rem 0 0;
    padding: 1rem 1.25rem;
}

.dfam-smart-assessment
    > [data-dfam-report-section="ai-details"] > summary {
    color: var(--dfam-ink);
    cursor: pointer;
    font-weight: 700;
}

.dfam-copy-questions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1rem;
}

.dfam-copy-questions__button {
    background: #fff;
    border: 1px solid var(--dfam-line);
    border-radius: .45rem;
    color: var(--dfam-ink);
    cursor: pointer;
    font: inherit;
    font-size: .82rem;
    font-weight: 700;
    padding: .55rem .8rem;
}

.dfam-copy-questions__button:hover {
    border-color: var(--dfam-accent);
    color: var(--dfam-accent);
}

.dfam-copy-questions__status {
    color: var(--dfam-muted);
    font-size: .8rem;
}

.dfam-smart-evidence-card {
    background: #f7f9fa;
    border-radius: .875rem;
    margin: 0 0 2rem;
    padding: 1.5rem;
}

[data-dfam-root].dfam-result-mode .dfam-flow-rail {
    display: none;
}

[data-dfam-upload-summary].dfam-report [data-dfam-print-footer] {
    border-color: var(--dfam-line);
}

@media (max-width: 900px) {
    .dfam-smart-hero {
        grid-template-columns: minmax(0, 1fr);
    }

    .dfam-smart-hero__side {
        padding: 1.25rem clamp(1.25rem, 5vw, 3rem) 2rem;
    }

    .dfam-smart-hero__side .dfam-smart-geometry-card {
        margin: 0 auto;
        max-width: 32rem;
    }

    .dfam-three-axis-summary .dfam-smart-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .dfam-report-masthead {
        align-items: flex-start;
        flex-direction: column;
    }

    .dfam-report-masthead__brand {
        font-size: 1.1rem;
    }

    .dfam-report-masthead__product {
        font-size: .9rem;
    }

    .dfam-report-masthead__actions,
    .dfam-hero-print {
        width: 100%;
    }

    .dfam-hero-print {
        justify-content: center;
    }

    .dfam-smart-hero {
        border-radius: .7rem;
    }

    .dfam-smart-hero__main {
        padding: 1.5rem 1.1rem;
    }

    .dfam-smart-hero__title {
        font-size: clamp(1.85rem, 8vw, 2.4rem);
    }

    .dfam-smart-hero__side {
        padding: .75rem 1.1rem 1.25rem;
    }

    .dfam-smart-hero__side .dfam-smart-geometry-card {
        margin-top: 0;
    }

    .dfam-report-header-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dfam-three-axis-summary .dfam-smart-detail-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .dfam-smart-section__header {
        align-items: flex-start;
    }

    .dfam-smart-actions__item {
        gap: .6rem;
        grid-template-columns: 2rem minmax(0, 1fr);
        padding: 1rem 0;
    }

    .dfam-smart-assessment > [data-dfam-report-section="ai-details"] {
        padding: .9rem;
    }

    .dfam-smart-evidence-card {
        padding: 1.1rem;
    }
}

@media print {
    [data-dfam-upload-summary].dfam-report {
        overflow-wrap: break-word;
        word-break: normal;
    }

    .dfam-smart-hero {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
        min-height: 0;
        overflow: visible;
    }

    .dfam-smart-hero__main,
    .dfam-smart-hero__side {
        min-width: 0;
        padding: 1.2rem;
    }

    .dfam-smart-context-stats {
        grid-template-columns: minmax(0, 1fr);
    }

    .dfam-smart-context-stats > div {
        padding: .65rem .8rem;
    }

    .dfam-report-header-meta {
        gap: .75rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dfam-smart-hero__side .dfam-smart-geometry-card {
        margin-top: 0;
    }

    .dfam-smart-geometry-thumbnails {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .dfam-smart-geometry-thumbnail {
        border-color: var(--dfam-line);
        break-inside: avoid;
    }

    .dfam-smart-geometry-thumbnail.is-active {
        border-color: var(--dfam-accent);
    }
}