.dash-ring-card { background: #fff; border-radius: 20px; border: 1px solid var(--c-border); box-shadow: 0 2px 18px rgba(107,66,38,.07); padding: 26px; margin-bottom: 14px; display: grid; grid-template-columns: 130px 1fr; gap: 22px; align-items: center; }
.dash-ring-wrap { position: relative; width: 130px; height: 130px; flex-shrink: 0; }
.dash-ring-inner { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.dash-ring-pct { font-family: 'Playfair Display', Georgia, serif; font-size: 24px; font-weight: 700; color: var(--c-his); display: inline-block; }
.dash-ring-label { font-size: 8px; color: var(--c-text3); letter-spacing: 2px; text-transform: uppercase; }
.dash-total-label { font-size: 9px; color: var(--c-text3); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 8px; }
.dash-total-value { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(18px,4vw,30px); color: var(--c-his); font-weight: 700; margin-bottom: 14px; }
.dash-bar-track { background: var(--c-border); border-radius: 6px; height: 10px; overflow: hidden; margin-bottom: 6px; box-shadow: inset 0 1px 3px rgba(107,66,38,.15); }
.dash-bar-labels { display: flex; justify-content: space-between; font-size: 11px; color: var(--c-text3); }

.dash-split-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 14px; }
.her-card { background: var(--c-her-light); border: 1px solid var(--c-her-mid); border-radius: 16px; padding: 18px; box-shadow: 0 2px 10px rgba(107,66,38,.06); }
.her-card-title { font-size: 12px; font-weight: 700; color: var(--c-her); margin-bottom: 7px; }
.his-card { background: var(--c-bg5); border: 1px solid var(--c-border2); border-radius: 16px; padding: 18px; box-shadow: 0 2px 10px rgba(107,66,38,.06); }
.his-card-title { font-size: 12px; font-weight: 700; color: var(--c-his); margin-bottom: 7px; }
.split-card-total { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(14px,3vw,20px); color: var(--c-text); font-weight: 700; margin-bottom: 2px; }
.split-card-target { font-size: 10px; color: var(--c-text3); margin-bottom: 11px; }
.her-bar-track { background: rgba(212,104,138,.18); border-radius: 4px; height: 6px; overflow: hidden; margin-bottom: 3px; }
.his-bar-track { background: rgba(107,66,38,.18); border-radius: 4px; height: 6px; overflow: hidden; margin-bottom: 3px; }
.split-pct { text-align: right; font-size: 10px; font-weight: 700; }

.alloc-card { background: #fff; border: 1px solid var(--c-border); border-radius: 16px; padding: 20px; box-shadow: 0 2px 10px rgba(107,66,38,.06); }
.alloc-title { font-size: 9px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--c-his-mid); margin-bottom: 14px; font-weight: 700; }
.alloc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.alloc-item { border-radius: 12px; padding: 13px; }
.alloc-item-wedding { background: var(--c-her-light); }
.alloc-item-emergency { background: var(--c-bg5); }
.alloc-icon { font-size: 19px; margin-bottom: 5px; }
.alloc-label { font-size: 10px; color: var(--c-text3); margin-bottom: 3px; }
.alloc-value { font-family: 'Playfair Display', Georgia, serif; font-size: 15px; font-weight: 700; }

#dash-bar { width: 0%; height: 100%; border-radius: 6px; }
#her-bar  { width: 0%; height: 100%; background: var(--c-her); border-radius: 4px; }
#his-bar  { width: 0%; height: 100%; background: var(--c-his); border-radius: 4px; }

@media (max-width: 480px) {
  .dash-ring-card { grid-template-columns: 110px 1fr; gap: 14px; padding: 18px; }
  .dash-ring-wrap { width: 110px; height: 110px; }
  .dash-split-grid { grid-template-columns: 1fr; }
}
