/* Net debt: GLOBAL stylesheet. Surroundings only.
   No grid, cell, numeric input, disabled-state or generic .ff-refined rules. */
.ff-net-debt {
    --ff-nd-text: #203c40;
    --ff-nd-muted: #607579;
    --ff-nd-border: #dfe8e5;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 460px;
    padding: 26px;
    border: 1px solid var(--ff-nd-border);
    border-radius: 10px;
    background: #fff;
    container: ff-net-debt / inline-size;
    /* Do not set inherited font, color or line-height: preserve grid defaults. */
}
.ff-net-debt > .ff-nd-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    padding: 22px;
    margin-bottom: 20px;
    border: 1px solid var(--ff-nd-border);
    border-radius: 7px;
    background: #fafbfc;
    color: var(--ff-nd-text);
    box-sizing: border-box;
}
.ff-nd-summary .ff-nd-summary-context { min-width: 0; }
.ff-nd-summary .ff-nd-heading {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 9px;
}
.ff-nd-summary .ff-nd-section-number {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 23px;
    height: 23px;
    border: 1px solid #ccdfd2;
    border-radius: 4px;
    color: #557566;
    font-size: 10px;
    box-sizing: border-box;
}
.ff-nd-summary .ff-nd-heading h3 {
    margin: 0;
    color: var(--ff-nd-text);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.6;
}
.ff-nd-summary .ff-nd-summary-context > p {
    margin: 0;
    color: var(--ff-nd-muted);
    font-size: 12px;
    line-height: 1.8;
}
.ff-nd-summary .ff-nd-result {
    min-width: 240px;
    max-width: 100%;
    padding-left: 26px;
    border-left: 1px solid #d8e3df;
    text-align: right;
    box-sizing: border-box;
}
.ff-nd-summary .ff-nd-result-label {
    display: block;
    margin-bottom: 5px;
    color: var(--ff-nd-muted);
    font-size: 11px;
    line-height: 1.6;
}
.ff-nd-summary .ff-nd-result-value {
    display: flex;
    justify-content: flex-end;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px 9px;
}
/* Summary text only, never a numeric input. */
.ff-nd-summary .ff-nd-amount {
    color: #235c61;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -.5px;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
    min-width: 0;
    max-width: 100%;
}
.ff-nd-summary .ff-nd-unit {
    color: var(--ff-nd-muted);
    font-size: 11px;
    font-weight: 400;
    line-height: 1.6;
}
/* Keep the user's shared alert design; reset its colors on this light surface. */
.ff-net-debt > .ff-nd-notices {
    --notice-text: #465264;
    --notice-title: #253241;
    --notice-info: #116471;
    --notice-info-bg: #f5f8f9;
    --notice-warning: #905411;
    --notice-warning-bg: #fff7eb;
    --notice-danger: #a93650;
    --notice-danger-bg: #fff1f4;
    --notice-success: #276d47;
    --notice-success-bg: #eff7f2;
    --notice-focus: #116471;
}
.ff-net-debt > .ff-nd-notices:has(> .rz-alert) { margin-bottom: 24px; }
/* No surrounding grid borders or separators. Native grid scrolling remains
   responsible for its own overflow, virtualization and column presentation. */
.ff-net-debt > .ff-nd-grid-slot { min-width: 0; }
.ff-net-debt > .ff-nd-grid-slot + .ff-nd-grid-slot { margin-top: 30px; }
@container ff-net-debt (max-width: 650px) {
    .ff-net-debt > .ff-nd-summary { align-items: stretch; flex-direction: column; gap: 17px; }
    .ff-nd-summary .ff-nd-result {
        min-width: 0;
        padding: 15px 0 0;
        border-left: 0;
        border-top: 1px solid #d8e3df;
        text-align: left;
    }
    .ff-nd-summary .ff-nd-result-value { justify-content: flex-start; }
}
@media (max-width: 650px) {
    .ff-net-debt { padding: 15px 12px; }
    .ff-net-debt > .ff-nd-summary { padding: 18px; align-items: stretch; flex-direction: column; gap: 17px; }
    .ff-nd-summary .ff-nd-result { min-width: 0; padding: 15px 0 0; border-left: 0; border-top: 1px solid #d8e3df; text-align: left; }
    .ff-nd-summary .ff-nd-result-value { justify-content: flex-start; }
    .ff-nd-summary .ff-nd-amount { font-size: 23px; }
}
