/* Keep native XAF editors, actions, validation and tab keyboard behavior. */
.contract-management-workspace, .contract-management-details, .contract-management-documents, .contract-management-sections {
    --cm-accent: var(--dxds-primary-90, #27809b);
    --cm-ink: var(--dxds-secondary-160, #20313a);
    --cm-border: var(--dxds-secondary-50, #d8e0e4);
    --cm-surface: var(--dxds-secondary-20, #fff);
    --cm-canvas: var(--dxds-secondary-30, #f6f8f9);
    color: var(--cm-ink);
    background: var(--cm-canvas);
    min-width: 0;
    padding: .75em;
}

.contract-management-workspace.dxbl-group, .contract-management-workspace > .dxbl-group {
    border: 0;
    background: var(--cm-canvas);
    color: var(--cm-ink);
}

.contract-management-workspace > .dxbl-group-header, .contract-management-workspace > .dxbl-group > .dxbl-group-header {
    background: var(--cm-surface);
    border-radius: .75em;
    color: var(--cm-ink);
    min-height: 3em;
    padding: 1em 1.25em;
    margin-bottom: 1em;
    font-size: inherit;
    font-weight: 650;
}

.contract-management-details.dxbl-group, .contract-management-documents.dxbl-group,
.contract-management-details > .dxbl-group,
.contract-management-documents > .dxbl-group {
    background: var(--cm-surface);
    border: 1px solid var(--cm-border);
    border-radius: .75em;
    color: var(--cm-ink);
    padding: .75em;
    box-shadow: 0 3px 12px rgba(18, 52, 65, .04);
}

.contract-management-workspace [role="tab"] {
    border-radius: .5em;
    min-height: 2em;
    font-weight: 600;
}

.contract-management-workspace [role="tab"][aria-selected="true"] {
    color: var(--cm-accent);
    box-shadow: inset 0 -3px var(--cm-accent);
}

.contract-management-workspace :is(button, a, input, select, textarea):focus-visible {
    outline: 2px solid var(--cm-accent);
    outline-offset: 2px;
}

/* Scope sizing to the contract dialog; nested lookup dialogs remain native. */
.dxbl-modal-content:has(.contract-management-workspace) {
    width: 98vw !important;
    max-width: 100vw !important;
    max-height: 100vh;
    max-height: 100dvh;
}

@media (max-width: 1000px) {
    .contract-management-columns > .dxbl-group > .dxbl-group-body > .dxbl-group-body-content > .dxbl-row,
    .contract-management-columns > .dxbl-row {
        flex-direction: column;
    }

    .contract-management-details,
    .contract-management-documents {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0;
    }

    .contract-management-workspace, .contract-management-details, .contract-management-documents, .contract-management-sections {
        padding: 4px;
    }

    .contract-management-workspace > .dxbl-group-header, .contract-management-workspace > .dxbl-group > .dxbl-group-header {
        padding: .75em;
        min-height: 3em;
    }
}

/* Mirror the supported appearance selectors used by Jemi. Define the palette on
   every styled section because XAF can flatten captionless layout groups. */
:is(body.dxbl-theme-dark, html.anydata-dark-mode, body.anydata-dark-mode,
    html[data-theme="dark"], body[data-theme="dark"], html[data-theme-mode="dark"],
    body[data-theme-mode="dark"], html[data-bs-theme="dark"], body[data-bs-theme="dark"])
:is(.contract-management-workspace, .contract-management-details, .contract-management-documents, .contract-management-sections) {
    --cm-accent: var(--dxds-primary-70, #66c7d0);
    --cm-ink: var(--dxds-secondary-20, #f2f5f6);
    --cm-border: var(--dxds-secondary-130, #4d5b62);
    --cm-surface: var(--dxds-secondary-150, #252f34);
    --cm-canvas: var(--dxds-secondary-140, #303b40);
}
.contract-management-details, .contract-management-documents {
    background: var(--cm-surface);
    border: 1px solid var(--cm-border);
    border-radius: .75em;
    box-shadow: 0 .2em .8em color-mix(in srgb, var(--cm-ink) 6%, transparent);
}
.contract-management-details > .dxbl-group, .contract-management-documents > .dxbl-group { border: 0; box-shadow: none; padding: 0; background: transparent; }
.contract-management-sections { padding: 0; background: transparent; }
.contract-management-sections [role="tab"] { font: inherit; font-weight: 600; border-radius: .5em; }
.contract-management-sections [role="tab"][aria-selected="true"] {
    color: var(--cm-accent);
    box-shadow: inset 0 -.2em var(--cm-accent);
}
/* Contract comparison follows the questions modal's card and progress pattern. */
.contract-ai-review .dxbl-modal-body {
    background-image: radial-gradient(circle at 95% 0, color-mix(in srgb, var(--adh-modal-accent) 5%, transparent), transparent 40%);
}
.contract-ai-source { display: flex; align-items: center; gap: .85em; padding: 1em; margin-bottom: 1.25em; border: 1px solid var(--dxbl-popup-border-color); border-radius: .65em; }
.contract-ai-source strong { display: block; margin-top: .3em; font-weight: 550; overflow-wrap: anywhere; }
.contract-ai-document-icon { font-size: 1.8em; color: var(--adh-modal-accent); }
.contract-ai-review :is(h3, h4) { color: inherit; margin: 0; font-size: 1em; font-weight: 650; }
.contract-ai-review p { margin: .5em 0 0; }
.contract-ai-review-intro, .contract-ai-review-tools { display: flex; align-items: center; flex-wrap: wrap; gap: .75em; margin-bottom: 1em; }
.contract-ai-review-intro > div { flex: 1 1 25em; }
.contract-ai-count { background: color-mix(in srgb, var(--adh-modal-accent) 12%, transparent); border-radius: 2em; padding: .45em .8em; font-weight: 650; white-space: nowrap; }
.contract-ai-review-tools > span { font-size: .85em; margin-inline-start: auto; }
.contract-ai-findings { display: grid; gap: 1em; }
.contract-ai-finding { border: 1px solid var(--dxbl-popup-border-color); border-radius: .7em; overflow: hidden; box-shadow: 0 .15em .5em rgba(0,0,0,.035); }
.contract-ai-finding > header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1em; padding: .85em 1em; background: color-mix(in srgb, var(--adh-modal-accent) 5%, var(--dxbl-popup-body-bg)); border-bottom: 1px solid var(--dxbl-popup-border-color); }
.contract-ai-finding.is-accepted { border-color: var(--adh-modal-accent); }
.contract-ai-field-status { font-size: .8em; display: block; margin-top: .25em; }
.contract-ai-comparison { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.contract-ai-comparison > section { padding: 1em; min-width: 0; }
.contract-ai-comparison h4 { font-size: .78em; letter-spacing: .025em; margin-bottom: .6em; }
.contract-ai-proposed { background: color-mix(in srgb, var(--adh-modal-accent) 3%, var(--dxbl-popup-body-bg)); border-inline-start: 1px solid var(--dxbl-popup-border-color); }
.contract-ai-value { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; }
.contract-ai-value p { margin: 0; }
.contract-ai-value ul { margin: 0; padding-inline-start: 1.2em; }
.contract-ai-value li + li { margin-top: .4em; }
.contract-ai-review .contract-ai-issue { margin: 0; padding: .75em 1em; border-top: 1px solid var(--dxbl-popup-border-color); font-size: .88em; background: color-mix(in srgb, var(--adh-modal-accent) 6%, var(--dxbl-popup-body-bg)); }
.contract-ai-footer-note { margin-inline-end: auto; font-size: .85em; }
.contract-ai-loading, .contract-ai-empty { text-align: center; padding: 2.5em 1em; }
.contract-ai-loading h3 { margin: 1em 0 .5em; font-size: 1.2em; }
.contract-ai-loading small { display: block; margin-top: 1.5em; }
.contract-ai-spinner { display: inline-block; width: 2.75em; height: 2.75em; border: .2em solid color-mix(in srgb,var(--adh-modal-accent) 20%, transparent); border-top-color: var(--adh-modal-accent); border-radius: 50%; animation: contract-ai-spin 1s linear infinite; }
.contract-ai-progress { max-width: 32em; height: .25em; overflow: hidden; background: color-mix(in srgb,var(--adh-modal-accent) 15%, transparent); border-radius: 1em; margin: 1.75em auto; }
.contract-ai-progress > span { display: block; width: 35%; height: 100%; background: var(--adh-modal-accent); border-radius: inherit; animation: contract-ai-sweep 1.8s ease-in-out infinite; }
.contract-ai-steps { display: flex; justify-content: center; flex-wrap: wrap; gap: 1.5em; padding: 0; list-style: none; margin: 1em 0; font-size: .85em; }
.contract-ai-steps li { display: flex; align-items: center; gap: .5em; }
.contract-ai-steps span { display: inline-grid; place-items: center; width: 1.8em; height: 1.8em; border: 1px solid var(--dxbl-popup-border-color); border-radius: 50%; }
.contract-ai-steps .active { font-weight: 650; }
.contract-ai-steps .active span { border-color: var(--adh-modal-accent); }
@keyframes contract-ai-spin { to { transform: rotate(360deg); } }
@keyframes contract-ai-sweep { from { transform: translateX(-110%); } to { transform: translateX(390%); } }
@media (prefers-reduced-motion: reduce) { .contract-ai-spinner, .contract-ai-progress > span { animation: none; } }
@media (max-width: 700px) {
    .contract-ai-comparison { grid-template-columns: 1fr; }
    .contract-ai-proposed { border-inline-start: 0; border-top: 1px solid var(--dxbl-popup-border-color); }
    .contract-ai-footer-note { flex-basis: 100%; }
    .contract-ai-review-tools > span { margin-inline-start: 0; }
}

/* Reuse Jemi's appearance palette and branding within the native XAF-aware popup. */
.adh-themed-modal.jemi-contract-modal {
    --adh-modal-accent: var(--jemi-accent);
    --dxbl-popup-body-bg: var(--jemi-surface-strong);
    --dxbl-popup-body-color: var(--jemi-text);
    --dxbl-popup-border-color: var(--jemi-surface-border);
}
.adh-themed-modal.jemi-contract-modal .contract-jemi-header {
    --dxbl-popup-header-color: var(--jemi-text);
    --dxbl-popup-header-btn-color: var(--jemi-text);
    --dxbl-popup-header-btn-hover-color: var(--jemi-text);
    --dxbl-popup-header-btn-hover-bg: var(--jemi-accent-soft);
    --dxbl-popup-header-btn-outline-color: var(--jemi-accent);
    color: var(--jemi-text);
    background: var(--jemi-header-bg);
    border-bottom: 1px solid var(--jemi-surface-border);
}
.jemi-contract-modal .jemi-brand { gap: 1em; }
.jemi-contract-modal .jemi-avatar { width: 3.5em; height: 3.5em; }
.jemi-contract-modal .jemi-title { font-size: 1.35em; color: var(--jemi-text); }
.jemi-contract-modal .jemi-subtitle { font-size: .85em; color: var(--jemi-text-muted); }
.adh-themed-modal.jemi-contract-modal .dxbl-modal-body { background: var(--jemi-modal-bg); }
.jemi-contract-modal .dxbl-modal-footer { background: var(--jemi-surface-strong); color: var(--jemi-text); }
.contract-jemi-welcome { padding: 1.5em 1em; }
.contract-jemi-welcome .jemi-suggestions { padding: 1.25em 0; }
.contract-jemi-welcome .jemi-suggestions button { font-size: inherit; padding: .65em 1em; }




/* Contract version of the AutoClass overview: native read-only XAF fields keep
   security, formatting and live ObjectSpace updates intact. */
.contract-overview { border: 1px solid var(--cm-border); border-radius: .8em; overflow: hidden; padding: 0; margin-bottom: 1em; }
.contract-overview > .dxbl-group { background: color-mix(in srgb, var(--cm-accent) 7%, var(--cm-surface)); }
.contract-overview-metrics > .dxbl-group > .dxbl-group-body > .dxbl-group-body-content > .dxbl-row,
.contract-overview-metrics > .dxbl-row { display: grid; grid-template-columns: minmax(14em,2fr) repeat(5,minmax(7em,1fr)); }
.contract-overview-metrics .dxbl-fl-item { width: auto; max-width: none; padding: .85em; border-inline-end: 1px solid var(--cm-border); }
.contract-overview-metrics .dxbl-fl-cpt { font-size: .8em; font-weight: 650; }
.contract-overview-narrative { padding: 1em; background: color-mix(in srgb,var(--cm-accent) 12%,var(--cm-canvas)); }
.contract-overview-narrative > .dxbl-group { border: 1px solid var(--cm-border); border-radius: .6em; background: var(--cm-surface); color: var(--cm-ink); }
@media(max-width:1100px) {
    .contract-overview-metrics > .dxbl-group > .dxbl-group-body > .dxbl-group-body-content > .dxbl-row,
    .contract-overview-metrics > .dxbl-row { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media(max-width:650px) {
    .contract-overview-metrics > .dxbl-group > .dxbl-group-body > .dxbl-group-body-content > .dxbl-row,
    .contract-overview-metrics > .dxbl-row { grid-template-columns: 1fr; }
}

/* Display-only overview follows the AutoClass summary-strip/card composition. */
.contract-autoclass-overview.contract-management-workspace { padding: 0; margin-bottom: 1em; border: 1px solid var(--cm-border); border-radius: .85em; overflow: hidden; background: color-mix(in srgb,var(--cm-accent) 14%,var(--cm-canvas)); box-shadow: 0 .35em 1em color-mix(in srgb,var(--cm-ink) 7%,transparent); }
.contract-overview-strip { display: grid; grid-template-columns: minmax(16em,2.2fr) repeat(5,minmax(8em,1fr)); background: color-mix(in srgb,var(--cm-accent) 5%,var(--cm-surface)); }
.contract-overview-identity, .contract-overview-stat { display: flex; flex-direction: column; justify-content: center; gap: .35em; padding: 1em; min-width: 0; border-inline-end: 1px solid var(--cm-border); }
.contract-overview-identity strong { font-size: 1.05em; line-height: 1.3; overflow-wrap: anywhere; }
.contract-overview-label { font-size: .72em; font-weight: 700; letter-spacing: .05em; }
.contract-overview-identity > .contract-overview-label { color: var(--cm-accent); }
.contract-overview-stat strong { font-size: 1em; overflow-wrap: anywhere; }
.contract-overview-identity small, .contract-overview-tools small { font-size: .8em; opacity: .75; }
.contract-overview-insights { padding: 0; }
.contract-overview-insights > summary { cursor: pointer; font-size: .8em; font-weight: 650; line-height: 1.5; padding: 1em 1.25em; margin: 0; }
.contract-overview-tools { display: flex; justify-content: flex-end; align-items: center; gap: 1em; padding: .75em 0; }
.contract-overview-tools button { border: 1px solid var(--cm-accent); border-radius: .4em; background: var(--cm-surface); color: var(--cm-accent); padding: .55em .8em; font: inherit; font-size: .8em; font-weight: 650; }
.contract-overview-cards { margin: 0 1em 1em; display: grid; grid-template-columns: 1.35fr 1.35fr 1fr; gap: .6em; align-items: stretch; }
.contract-overview-card { background: var(--cm-surface); border: 1px solid var(--cm-border); border-radius: .4em; padding: .75em; min-width: 0; }
.contract-overview-card h3 { font-size: .88em; font-weight: 650; margin: 0 0 .5em; }
.contract-overview-card p { font-size: .85em; line-height: 1.5; margin: 0; overflow-wrap: anywhere; }
.contract-overview-narrative-text { white-space: pre-line; }
.contract-overview-card-stack { display: grid; gap: .6em; grid-template-rows: auto 1fr; align-content: stretch; }
.contract-overview-card dl { margin: 0; }
.contract-overview-card dl > div { padding: .45em 0; border-bottom: 1px solid var(--cm-border); }
.contract-overview-card dt { font-size: .7em; text-transform: uppercase; opacity: .7; }
.contract-overview-card dd { font-size: .85em; font-weight: 600; margin: .2em 0 0; overflow-wrap: anywhere; }
@media(max-width:1100px) { .contract-overview-strip { grid-template-columns: repeat(3,minmax(0,1fr)); } .contract-overview-cards { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .contract-overview-strip, .contract-overview-cards { grid-template-columns: 1fr; } .contract-overview-tools { flex-wrap: wrap; } }

@media(min-width:1001px) {
    .contract-workspace-split { display: grid !important; grid-template-columns: minmax(0,var(--contract-left,60fr)) .75em minmax(0,var(--contract-right,40fr)); gap: 0; align-items: stretch; }
    .contract-workspace-split > .contract-split-left, .contract-workspace-split > .contract-split-right { width: 100% !important; max-width: 100% !important; min-width: 0; }
    .contract-workspace-divider { cursor: col-resize; touch-action: none; position: relative; min-height: 10em; }
    .contract-workspace-divider::after { content: ''; position: absolute; inset: 1em .25em; border-radius: .4em; background: var(--cm-border,var(--dxds-secondary-50,#d8e0e4)); }
    .contract-workspace-divider:hover::after, .contract-workspace-divider:focus-visible::after { background: var(--cm-accent,var(--dxds-primary-90,#27809b)); }
    .contract-workspace-divider:focus-visible { outline: 2px solid var(--cm-accent,var(--dxds-primary-90,#27809b)); outline-offset: 0; }
    .contract-workspace-split.is-resizing { user-select: none; }
    .contract-workspace-split.is-resizing iframe { pointer-events: none; }
}
@media(max-width:1000px) { .contract-workspace-divider { display: none; } }

/* The native page header already identifies the contract. */
.contract-overview-strip { grid-template-columns: repeat(5,minmax(0,1fr)); }
@media(max-width:1100px) { .contract-overview-strip { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:650px) { .contract-overview-strip { grid-template-columns: 1fr; } }

.contract-overview-compliance { margin-top: .85em; padding: 0; border: 0; border-radius: 0; background: transparent; }

/* Keep the surrounding page neutral and avoid stacking layout/overview spacing. */
.contract-management-workspace:not(.contract-autoclass-overview),
.contract-management-workspace:not(.contract-autoclass-overview) > .dxbl-group {
    background: transparent;
    padding: 0;
}
.contract-overview-host,
.contract-overview-host > .dxbl-group,
.contract-overview-host > .dxbl-group > .dxbl-group-body > .dxbl-group-body-content {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding-block: 0;
    margin-block: 0;
}
.contract-autoclass-overview.contract-management-workspace {
    margin-bottom: .25em;
    box-shadow: none;
}


/* Align only the lower workspace; keep the overview's established treatment. */
.contract-management-workspace.contract-workspace-lower {
    box-sizing: border-box;
    padding-inline: calc(var(--dxbl-row-item-spacing-x, .75rem) / 2);
    padding-block: .25em 0;
    min-width: 0;
    max-width: 100%;
}
.contract-workspace-lower > .dxbl-group > .dxbl-group-body > .dxbl-group-body-content {
    padding-inline: 0;
}
.contract-workspace-lower .contract-workspace-split {
    box-sizing: border-box;
    margin-inline: 0 !important;
    width: 100%;
    min-width: 0;
    max-width: 100%;
}
.contract-workspace-lower :is(.contract-split-left, .contract-split-right,
    .contract-management-details, .contract-management-documents) {
    box-sizing: border-box;
    min-width: 0;
    border-radius: .85em;
    box-shadow: none;
}
.contract-workspace-lower :is(.contract-management-details, .contract-management-documents) {
    border: 1px solid var(--cm-border);
    padding: .75em;
    background: var(--cm-surface);
}
.contract-workspace-lower :is(.contract-management-details, .contract-management-documents) > .dxbl-group {
    border: 0;
    border-radius: inherit;
    box-shadow: none;
}
.contract-workspace-lower .contract-workspace-divider::after {
    inset-block: 1em;
    opacity: .65;
}
@media(max-width:1000px) {
    .contract-management-workspace.contract-workspace-lower { padding-inline: calc(var(--dxbl-row-item-spacing-x, .75rem) / 2); }
    .contract-workspace-lower .contract-management-documents { margin-top: .75em; }
}

/* Distinct card header bars; inline Compliance remains part of the summary. */
.contract-overview-card > h3:first-child {
    margin: 0 0 .6em;
    padding: .65em .852273em;
    border-radius: .3em;
    border: 1px solid var(--cm-border);
    background: var(--cm-canvas);
    background: color-mix(in srgb, var(--cm-accent) 5%, var(--cm-surface));
    color: var(--cm-ink);
    font-weight: 700;
}



/* Expanded document retains the existing embedded viewer and toolbar. */
.contract-management-documents.contract-document-expanded {
    position: fixed !important;
    inset: 0 !important;
    z-index: 10000;
    width: 100vw !important;
    height: 100vh !important;
    max-width: none !important;
    overflow: auto;
    padding: 3em 1em 1em !important;
    background: var(--cm-surface, var(--bs-body-bg));
    color: var(--cm-ink, var(--bs-body-color));
    box-sizing: border-box;
}
.contract-document-expanded .contract-pdf-surface {
    height: calc(100vh - 9em) !important;
}
.contract-fullscreen-close {
    position: absolute;
    top: .5em;
    right: 1em;
    padding: .35em .75em;
    border: 1px solid var(--cm-border, currentColor);
    border-radius: .3em;
    background: var(--cm-surface, var(--bs-body-bg));
    color: inherit;
    font: inherit;
    cursor: pointer;
}
.contract-fullscreen-close:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

.contract-date-days { display: block; font-size: .85em; margin-top: .2em; }





/* Use the popup's explicit header class across extraction and review states. */
.adh-themed-modal.jemi-contract-modal .contract-jemi-header {
    padding: 1.125em 1.5em;
    background: var(--jemi-header-bg) !important;
    color: var(--jemi-text);
    border-bottom: 1px solid var(--jemi-surface-border);
}
.contract-jemi-header .jemi-subtitle { color: var(--jemi-text-soft); font-weight: 400; }
.contract-jemi-header button {
    width: 2.625em;
    height: 2.625em;
    flex-shrink: 0;
    border: 0;
    border-radius: 50%;
    background: var(--jemi-surface);
    color: var(--jemi-text);
}
.contract-jemi-header button:hover { background: var(--jemi-surface-strong); }
.contract-jemi-header button:focus-visible { outline: 2px solid var(--jemi-accent); outline-offset: 2px; }

/* Native popup header/footer stay outside the scrolling body. */
.adh-themed-modal.jemi-contract-modal .dxbl-modal-header,
.adh-themed-modal.jemi-contract-modal .contract-jemi-header {
    background: var(--jemi-header-bg) !important;
    color: var(--jemi-text) !important;
    --dxbl-popup-header-color: var(--jemi-text);
    --dxbl-popup-header-btn-color: var(--jemi-text);
    flex-shrink: 0;
}
.adh-themed-modal.jemi-contract-modal .dxbl-modal-header .jemi-title { color: var(--jemi-text); }
.adh-themed-modal.jemi-contract-modal .dxbl-modal-header .jemi-subtitle { color: var(--jemi-text-soft); }
.adh-themed-modal.jemi-contract-modal .dxbl-modal-header button {
    background: var(--jemi-surface);
    color: var(--jemi-text);
    border-radius: 50%;
}
.adh-themed-modal.jemi-contract-modal .dxbl-modal-footer { flex-shrink: 0; }

.contract-ai-difference { display: block; color: var(--jemi-accent-strong); font-size: .85em; margin-block: .3em; }

.contract-document-question {
    display: flex; gap: .65em; align-items: center; margin-bottom: .75em;
    padding: .5em .8em; border: 1px solid var(--dxds-secondary-70, #89969c);
    border-radius: .6em; background: var(--dxbl-editor-bg, var(--bs-body-bg));
    color: var(--dxbl-editor-color, var(--bs-body-color));
}
.contract-document-question:focus-within {
    border-color: var(--dxds-primary-90, #27809b);
    outline: none;
    box-shadow: 0 0 0 1px var(--dxds-primary-90, #27809b);
}
.contract-document-question img { width: 1.9em; height: 1.9em; object-fit: contain; }
.contract-document-question input {
    flex: 1; min-width: 0; width: 100%; padding: .3em 0; border: 0;
    outline: none; background: transparent; color: inherit; font: inherit;
}
.contract-document-question input::placeholder { color: inherit; opacity: .65; }
/* The enclosing field supplies the keyboard focus indicator. */
.contract-document-question input:focus,
.contract-document-question input:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    border: 0 !important;
}
.contract-document-question span { white-space: nowrap; font-size: .8em; opacity: .65; }
.contract-document-question:has(input:disabled) { opacity: .6; }
.contract-document-question-label { display: block; font-weight: 600; margin-bottom: .4em; cursor: text; }
.contract-document-question-hint { display: block; margin-top: -.4em; margin-bottom: .9em; opacity: .8; }
.contract-document-question input { cursor: text; }

/* Preserve DxComboBox's native flex layout and editor sizing. */
.contract-ai-review .contract-ai-date-select {
    width: min(100%, 28em);
    margin-top: .5em;
    --dxbl-editor-bg: var(--jemi-surface-strong);
    --dxbl-editor-color: var(--jemi-text);
    --dxbl-editor-border-color: var(--jemi-surface-border);
    --dxbl-editor-focused-border-color: var(--adh-modal-accent);
}
.contract-ai-review .contract-ai-warning {
    border-inline-start: .3em solid #d99000;
    background: color-mix(in srgb, #d99000 17%, var(--jemi-surface-strong));
    color: var(--jemi-text);
}
.contract-ai-warning strong { display: block; font-size: 1.08em; margin-bottom: .35em; }
.contract-ai-warning p { margin: 0; }
.contract-ai-date-choice > p { margin: .6em 0 0; }
/* Keep the transient analysis state compact; findings retain the wider comparison layout. */
.adh-themed-modal.contract-ai-compact .contract-jemi-header { padding: .75em 1em; }
.contract-ai-compact .jemi-avatar { width: 2.5em; height: 2.5em; }
.contract-ai-compact .jemi-title { font-size: 1.15em; }
.contract-ai-compact .contract-ai-source { padding: .65em .8em; margin-bottom: .5em; gap: .6em; }
.contract-ai-compact .contract-ai-source strong { font-size: .9em; overflow-wrap: anywhere; }
.contract-ai-compact .contract-ai-loading { padding: 1em .5em; }
.contract-ai-compact .contract-ai-spinner { width: 1.8em; height: 1.8em; }
.contract-ai-compact .contract-ai-loading h3 { margin: .5em 0; font-size: 1.05em; }
.contract-ai-compact .contract-ai-loading p { margin: .5em 0; font-size: .9em; }
.contract-ai-compact .contract-ai-progress { margin: 1em auto; }
.contract-ai-compact .contract-ai-steps { gap: .75em; margin: .75em 0; }
.contract-ai-compact .contract-ai-loading small { margin-top: .75em; font-size: .8em; }
@media (min-width: 1001px) {
    .contract-workspace-split .contract-management-details,
    .contract-workspace-split .contract-management-documents { min-height: 100%; }
}
.contract-management-details .contract-tabs-icons [role="tab"] { font-size: 0; gap: 0; }
.contract-management-details .contract-tabs-icons .contract-tab-caption { display: none; }
.contract-management-details .contract-tabs-icons [role="tab"] svg,
.contract-management-details .contract-tabs-icons [role="tab"] img,
.contract-management-details .contract-tabs-icons [role="tab"] [class*="icon"] { font-size: 1rem; }
