.er-ds {
    color: var(--er-ds-color-brand-ink);
    font-family: var(--er-ds-font-family-body);
}

.er-ds,
.er-ds * {
    box-sizing: border-box;
}

.er-ds h1,
.er-ds h2,
.er-ds h3,
.er-ds h4,
.er-ds h5,
.er-ds h6 {
    margin: 0;
    color: var(--er-ds-color-brand-ink);
    font-family: var(--er-ds-font-family-heading);
    line-height: var(--er-ds-line-height-tight);
}

.er-ds h1 {
    font-size: clamp(1.75rem, 2vw, 2.35rem);
}

.er-ds h2 {
    font-size: clamp(1.25rem, 1.45vw, 1.55rem);
}

.er-ds h3 {
    font-size: clamp(1.05rem, 1.2vw, 1.2rem);
}

.er-ds p,
.er-ds li,
.er-ds label {
    margin: 0;
    font-size: var(--er-ds-font-size-md);
    line-height: var(--er-ds-line-height-body);
}

.er-ds small {
    font-size: var(--er-ds-font-size-sm);
}

.er-ds a {
    color: var(--er-ds-color-brand-secondary);
}

.er-ds input,
.er-ds select,
.er-ds textarea {
    font: inherit;
}

.er-ds code {
    color: var(--er-color-action-accent);
    font-family: Consolas, "Courier New", monospace;
    font-size: 0.92em;
}

.er-ds .er-section {
    display: flex;
    flex-direction: column;
    gap: var(--er-space-4);
    padding: var(--er-space-5);
    border: 1px solid var(--er-color-border-soft);
    border-radius: calc(var(--er-radius-card) + 0.25rem);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(214, 229, 244, 0.08));
}

.er-ds .er-section--soft {
    background: linear-gradient(180deg, rgba(214, 229, 244, 0.28), rgba(255, 255, 255, 0.98));
}

.er-ds .er-section__header {
    display: flex;
    flex-direction: column;
    gap: var(--er-space-2);
}

.er-ds .er-section__eyebrow {
    color: var(--er-color-action-secondary);
    font-family: var(--er-font-family-action);
    font-size: var(--er-font-size-caption);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.er-ds .er-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--er-space-2);
}

.er-ds .er-field {
    display: flex;
    flex-direction: column;
    gap: var(--er-space-2);
}

.er-ds .er-field__label {
    color: var(--er-color-text-primary);
    font-size: var(--er-font-size-body-sm);
    font-weight: 500;
}

.er-ds .er-input {
    min-height: 2.5rem;
    width: 100%;
    padding: 0.625rem 0.875rem;
    border: 1px solid var(--er-color-border-subtle);
    border-radius: 0.875rem;
    background-color: var(--er-color-surface-base);
    color: var(--er-color-text-primary);
    transition: border-color var(--er-motion-fast), box-shadow var(--er-motion-fast);
}

.er-ds .er-input:focus {
    border-color: var(--er-color-action-primary);
    box-shadow: 0 0 0 4px rgba(0, 83, 255, 0.12);
    outline: none;
}

.er-ds .er-stack {
    display: flex;
    flex-direction: column;
}

.er-ds .er-stack--comfortable {
    gap: var(--er-space-4);
}

.er-ds .er-stack--compact {
    gap: var(--er-space-2);
}

.er-ds .er-list {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
}

.er-ds .er-list__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--er-space-3);
    align-items: center;
    padding: 0.875rem 0;
    border-bottom: 1px solid var(--er-color-border-soft);
}

.er-ds .er-list__item:last-child {
    border-bottom: 0;
}

.er-ds .er-status {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 1.75rem;
    padding: 0.25rem 0.625rem;
    border-radius: 999px;
    font-family: var(--er-font-family-action);
    font-size: var(--er-font-size-caption);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.er-ds .er-status--info {
    background-color: rgba(0, 83, 255, 0.08);
    color: var(--er-color-action-secondary);
}

.er-ds .er-status--warning {
    background-color: rgba(251, 90, 108, 0.12);
    color: #b63c4b;
}

.er-ds .er-status--neutral {
    background-color: rgba(10, 36, 99, 0.08);
    color: var(--er-color-brand-navy);
}

.er-ds .er-meta-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--er-space-2);
}

.er-ds .er-meta-list__row {
    display: grid;
    grid-template-columns: 8rem minmax(0, 1fr);
    gap: var(--er-space-3);
    align-items: baseline;
}

.er-ds .er-meta-list__label {
    color: var(--er-color-text-secondary);
    font-size: var(--er-font-size-body-sm);
}

.er-ds .er-meta-list__value {
    color: var(--er-color-text-primary);
}

.er-ds .er-image-stage {
    position: relative;
    min-height: 21rem;
    overflow: hidden;
    border-radius: calc(var(--er-radius-card) + 0.125rem);
}

.er-ds .er-image-stage__photo {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, rgba(10, 36, 99, 0.1), rgba(255, 255, 255, 0)),
        linear-gradient(135deg, #d7e1f6 0%, #f8f4f2 35%, #c9d6f4 100%);
}

.er-ds .er-image-stage__card {
    position: absolute;
    left: 1.5rem;
    bottom: 1.5rem;
    width: min(22rem, calc(100% - 3rem));
}

.er-ds .er-kpi {
    display: flex;
    flex-direction: column;
    gap: var(--er-space-1);
}

.er-ds .er-kpi__value {
    font-family: var(--er-font-family-display);
    font-size: var(--er-font-size-heading-lg);
    line-height: 1;
}

.er-ds .er-kpi__label {
    color: var(--er-color-text-secondary);
    font-size: var(--er-font-size-body-sm);
}
