
        .acct-hero { background: linear-gradient(135deg, var(--midnight) 0%, var(--deep-plum) 100%); color: white; padding: 3.5rem 2rem; text-align: center; }
        .acct-hero-inner { max-width: 640px; margin: 0 auto; }
        .acct-hero-inner h2 { font-family: var(--font-display); font-size: 2.2rem; font-weight: 700; margin-bottom: 0.75rem; line-height: 1.2; }
        .acct-hero-inner p { font-size: 0.95rem; line-height: 1.7; }
        @media (max-width: 768px) { .acct-hero { padding: 2.5rem 1.5rem; } .acct-hero-inner h2 { font-size: 1.8rem; } }

        .acct-main { max-width: 800px; margin: 0 auto; padding: 2.5rem 2rem 4.5rem; display: flex; flex-direction: column; gap: 2.5rem; }

        #dashboard { display: flex; flex-direction: column; gap: 2.5rem; }
        .who-bar { display: flex; justify-content: space-between; align-items: center; font-size: 0.8rem; }
        .who-bar button { background: none; border: none; color: var(--accent); cursor: pointer; font-family: var(--font-ui); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.5px; opacity: 0.8; }
        #whoAmI { font-weight: 700; color: var(--fox-copper); }
        :root[data-theme="dark"] #whoAmI { color: var(--antique-gold); }

        .section-heading { font-family: var(--font-display); font-size: 1.5rem; color: var(--text-heading); margin-bottom: 0.5rem; }
        .section-sub { font-size: 0.85rem; opacity: 0.8; margin-bottom: 1.25rem; }

        .participant-card { background-color: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 8px; padding: 1.25rem 1.5rem; display: flex; flex-direction: column; gap: 0.9rem; }
        .participant-top { display: flex; flex-direction: column; gap: 0.75rem; }
        .participant-name-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
        .participant-badges { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; }
        .participant-name { font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; color: var(--text-heading); }
        .participant-meta { font-size: 0.8rem; opacity: 0.75; }
        .status-badge { font-family: var(--font-ui); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.5px; padding: 0.3rem 0.7rem; border-radius: 999px; font-weight: 700; }
        .status-current { background-color: rgba(47, 122, 74, 0.15); color: var(--good); }
        .status-missing, .status-expired { background-color: rgba(179, 101, 26, 0.15); color: var(--warn); }
        .participant-detail-row { display: flex; justify-content: space-between; align-items: center; font-size: 0.85rem; border-top: 1px dashed var(--border-subtle); padding-top: 0.75rem; gap: 1rem; }
        .participant-detail-row .label { opacity: 0.7; flex: 1; min-width: 0; }
        .participant-detail-row .value { font-weight: 700; flex-shrink: 0; }
        .participant-detail-row a.btn-secondary { flex-shrink: 0; }

        .household-card { background-color: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 8px; padding: 1.25rem 1.5rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; font-size: 0.9rem; }

        .household-overview { background-color: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 8px; padding: 1.5rem; }
        .household-overview-top { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
        .household-name-row { display: flex; align-items: baseline; gap: 0.75rem; flex-wrap: wrap; }
        .link-btn { background: none; border: none; padding: 0; cursor: pointer; color: var(--accent); font-family: var(--font-ui); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.5px; }
        .link-btn:hover { text-decoration: underline; }
        .household-total-credits { text-align: right; }
        .credit-total-num { font-family: var(--font-display); font-size: 2.4rem; font-weight: 700; color: var(--accent); line-height: 1; }
        .credit-total-label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.5px; opacity: 0.7; margin-top: 0.25rem; }
        .household-name-edit { display: flex; gap: 0.6rem; margin-top: 1rem; flex-wrap: wrap; }
        .household-name-edit input { font-family: var(--font-body); font-size: 0.9rem; color: var(--text-body); background-color: var(--bg-page); border: 1px solid var(--border-subtle); border-radius: 6px; padding: 0.5rem 0.7rem; flex: 1; min-width: 180px; }
        @media (max-width: 560px) { .household-overview-top { flex-direction: column; align-items: flex-start; } .household-total-credits { text-align: left; } }

        .credits-chip { font-family: var(--font-ui); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.5px; padding: 0.3rem 0.7rem; border-radius: 999px; font-weight: 700; background-color: rgba(201, 151, 43, 0.18); color: var(--fox-copper); white-space: nowrap; }
        :root[data-theme="dark"] .credits-chip { color: var(--antique-gold); }

        .empty-note { font-size: 0.9rem; opacity: 0.75; padding: 1.5rem; text-align: center; border: 1px dashed var(--border-subtle); border-radius: 8px; }
        .security-note { font-size: 0.75rem; opacity: 0.65; margin-top: 0.6rem; }

        .danger-zone { border: 1px solid var(--warn); border-radius: 8px; padding: 1.5rem; }
        .danger-zone .section-heading { color: var(--warn); }
        .btn-danger { background-color: transparent; color: var(--warn); padding: 0.6rem 1.2rem; border: 1px solid var(--warn); border-radius: 6px; text-transform: uppercase; letter-spacing: 0.5px; font-size: 0.72rem; font-weight: 700; cursor: pointer; font-family: var(--font-ui); transition: background-color 0.3s ease, color 0.3s ease; }
        .btn-danger:hover { background-color: var(--warn); color: white; }
        .delete-link { background: none; border: none; padding: 0; cursor: pointer; color: var(--warn); font-family: var(--font-ui); font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.5px; flex-shrink: 0; }
        .delete-link:hover { text-decoration: underline; }

        .delete-modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.55); display: flex; align-items: center; justify-content: center; z-index: 500; padding: 1.5rem; }
        .delete-modal { background-color: var(--bg-page); border: 1px solid var(--border-subtle); border-radius: 10px; padding: 2rem; max-width: 460px; width: 100%; box-shadow: 0 12px 40px var(--shadow-ui); display: flex; flex-direction: column; gap: 1.1rem; max-height: 90vh; overflow-y: auto; }
        .delete-modal h3 { font-family: var(--font-display); font-size: 1.3rem; color: var(--warn); }
        .delete-modal p { font-size: 0.9rem; }
        .delete-modal .check-row { display: flex; align-items: flex-start; gap: 0.7rem; font-size: 0.85rem; background-color: var(--bg-surface); border: 1px dashed var(--border-subtle); border-radius: 6px; padding: 0.9rem 1rem; }
        .delete-modal .check-row input { margin-top: 0.2rem; flex-shrink: 0; }
        .delete-modal .form-row input { width: 100%; }
        .delete-modal .form-msg { font-size: 0.8rem; min-height: 1.2em; }
        .delete-modal .form-msg.error { color: var(--warn); }
        .delete-modal-actions { display: flex; justify-content: flex-end; gap: 0.75rem; flex-wrap: wrap; }
        .btn-text { background: none; border: none; padding: 0.6rem 1rem; cursor: pointer; color: var(--text-body); font-family: var(--font-ui); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.5px; opacity: 0.75; }
        .btn-danger-solid { background-color: var(--warn); color: white; padding: 0.6rem 1.2rem; border: 1px solid var(--warn); border-radius: 6px; text-transform: uppercase; letter-spacing: 0.5px; font-size: 0.72rem; font-weight: 700; cursor: pointer; font-family: var(--font-ui); }
        .btn-danger-solid:disabled { opacity: 0.5; cursor: default; }


#householdNameDisplay { margin-bottom: 0; }
#householdStatsText { margin-bottom: 0; }
.section-heading-row { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 1rem; }
#participantList { display: flex; flex-direction: column; gap: 1rem; margin-top: 1rem; }

.loading-note { opacity: 0.6; font-size: 0.85rem; }
.btn-small { padding: 0.4rem 0.9rem; font-size: 0.65rem; }
.delete-modal .google-reauth-note { opacity: 0.8; }
