.erd-dashboard {
    --erd-blue: #387ec5;
    --erd-green: #55bc55;
    --erd-border: #d9dee5;
    --erd-muted: #5f6b76;
    --erd-surface: #ffffff;
    max-width: 100%;
}

.erd-dashboard__header h2 { margin: 0 0 1.25rem; }

.erd-controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.erd-field label,
.erd-meta-label {
    display: block;
    margin-bottom: .35rem;
    font-size: .875rem;
    font-weight: 600;
    color: var(--erd-muted);
}

.erd-field select {
    width: 100%;
    min-height: 44px;
    padding: .5rem .75rem;
}

.erd-campaign-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem 3rem;
    padding: 1rem;
    margin: 0 0 1rem;
    border: 1px solid var(--erd-border);
    border-radius: 8px;
    background: var(--erd-surface);
}

.erd-campaign-meta[hidden],
.erd-results[hidden],
.erd-chart-message[hidden],
.erd-tooltip[hidden] { display: none !important; }

.erd-message {
    padding: .9rem 1rem;
    margin-bottom: 1rem;
    border-radius: 6px;
    background: #f3f6f9;
}

.erd-message:empty { display: none; }

.erd-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.erd-kpi,
.erd-chart-card {
    padding: 1.15rem;
    border: 1px solid var(--erd-border);
    border-radius: 8px;
    background: var(--erd-surface);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
}

.erd-kpi h3,
.erd-chart-card h3 {
    margin: 0 0 .6rem;
    font-size: 1rem;
}

.erd-kpi__value {
    overflow-wrap: anywhere;
    font-size: clamp(1.45rem, 3vw, 2rem);
    font-weight: 700;
    line-height: 1.15;
}

.erd-tone-primary { color: var(--erd-blue); }
.erd-tone-success { color: var(--erd-green); }

.erd-chart-card { position: relative; }
.erd-chart-wrap {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: 340px;
    min-width: 0;
    overflow: hidden;
}
.erd-chart {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
}
.erd-chart-message { padding: 2rem 1rem; text-align: center; color: var(--erd-muted); }

.erd-tooltip {
    position: absolute;
    z-index: 2;
    max-width: 220px;
    padding: .5rem .65rem;
    border-radius: 5px;
    background: #20262d;
    color: #fff;
    font-size: .8rem;
    line-height: 1.35;
    pointer-events: none;
    transform: translate(-50%, calc(-100% - 10px));
    box-shadow: 0 3px 12px rgba(0,0,0,.18);
}

@media (max-width: 680px) {
    .erd-controls,
    .erd-kpis { grid-template-columns: 1fr; }
    .erd-chart-wrap { height: 300px; }
    .erd-campaign-meta { display: grid; gap: .9rem; }
}

/* Version 1.0.5 visual refinements. */
.erd-field select {
    border: 2px solid #4f4f4f;
}

.erd-status-badge {
    display: inline-block;
    padding: .28rem .72rem;
    border-radius: 10px;
    line-height: 1.25;
}
.erd-status-badge--active { background: #fbeab0; }
.erd-status-badge--complete { background: #b0fbf8; }
.erd-status-badge--refunded { background: #dfc3c3; }
.erd-status-badge--cancelled { background: #dcdad5; }

.erd-kpi--highlight {
    background: #e5f8e6;
}

.erd-kpi__subtext {
    min-height: 1.25em;
    margin-top: .45rem;
    color: #4f5964;
    font-size: .875rem;
    line-height: 1.3;
}
.erd-kpi__subtext:empty { display: none; }

.erd-kpi__line {
    display: block;
}
.erd-kpi__line--prefix {
    margin-bottom: .12em;
    font-size: .76em;
}
