.dashboard-hero {
    display: grid;
    gap: 20px;
    align-items: center;
}
.account-mini-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px;
    border: 1px solid var(--color-line);
    border-radius: 18px;
    background: rgba(255,255,255,.03);
}
.account-mini-card img,
.avatar-placeholder {
    width: 58px;
    height: 58px;
    border-radius: 999px;
    object-fit: cover;
    border: 1px solid var(--color-line);
}
.avatar-placeholder {
    display: grid;
    place-items: center;
    color: var(--color-gold-light);
    background: rgba(218, 169, 82, .12);
    font-family: var(--font-display);
    font-size: 28px;
}
.account-mini-card strong,
.account-mini-card span,
.account-mini-card small { display: block; }
.account-mini-card span,
.account-mini-card small { color: var(--color-muted); }
.dashboard-grid { display: grid; gap: 16px; }
.stat-card { display: grid; align-content: start; gap: 12px; }
.stat-card h2 { margin: 0; }
.stat-card p { margin: 0 0 10px; }
.auth-explainer { margin-top: 8px; }
.flash-success { background: rgba(62, 229, 130, .10); border-color: rgba(62, 229, 130, .28); }
.flash-error { background: rgba(255, 96, 96, .12); border-color: rgba(255, 96, 96, .28); }
.flash-warning { background: rgba(218, 169, 82, .12); }
@media (min-width: 760px) {
    .dashboard-hero { grid-template-columns: 1fr auto; }
    .dashboard-grid { grid-template-columns: repeat(3, 1fr); }
}

.dashboard-focus-grid {
    display: grid;
    gap: 18px;
}

.dashboard-status-card {
    display: grid;
    gap: 18px;
    align-content: start;
}

.dashboard-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.dashboard-card-head h2 {
    margin: 0;
}

.progress-block {
    display: grid;
    gap: 8px;
}

.progress-meta {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: var(--color-muted);
}

.progress-meta strong {
    color: var(--color-gold-light);
}

.progress-bar {
    height: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(212,175,55,.12);
}

.progress-bar span {
    display: block;
    height: 100%;
    min-width: 4px;
    border-radius: inherit;
    background: linear-gradient(90deg, #8e5f1e, #d4af37, #fff0bd);
    box-shadow: 0 0 18px rgba(212,175,55,.26);
}

.dashboard-details {
    display: grid;
    gap: 10px;
    margin: 0;
}

.dashboard-details div {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.dashboard-details dt {
    color: var(--color-muted);
}

.dashboard-details dd {
    margin: 0;
    color: var(--color-text);
    overflow-wrap: anywhere;
}

.dashboard-actions-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.dashboard-note {
    padding: 13px 14px;
    border-radius: var(--radius-sm);
    border: 1px solid rgba(212,175,55,.18);
    color: var(--color-muted);
    background: rgba(212,175,55,.06);
}

.participant-mini-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 13px;
    border-radius: var(--radius-md);
    border: 1px solid rgba(212,175,55,.14);
    background: rgba(255,255,255,.025);
}

.participant-mini-row img,
.participant-mini-row .participant-initials {
    width: 74px;
    height: 74px;
    flex: 0 0 74px;
    object-fit: cover;
    border-radius: 18px;
}

.participant-mini-row strong,
.participant-mini-row span,
.participant-mini-row small {
    display: block;
}

.participant-mini-row span,
.participant-mini-row small {
    color: var(--color-muted);
}

.status-active,
.status-approved { color: #bdf0c1; }
.status-draft { color: #f3d88f; }
.status-needs_changes { color: #ffe0a3; }
.status-withdrawn,
.status-rejected { color: #ffb4b4; }

@media (min-width: 900px) {
    .dashboard-focus-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    .dashboard-card-head,
    .participant-mini-row { align-items: flex-start; flex-direction: column; }
    .dashboard-details div { grid-template-columns: 1fr; gap: 4px; }
}
