.consent-overlay{z-index:9999;padding:var(--spacing-4,1rem);background-color:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.consent-dialog{background-color:var(--semantic-surface-primary,var(--semantic-background-primary));border-radius:var(--border-radius-lg,.75rem);width:100%;max-width:32rem;max-height:90vh;padding:var(--spacing-6,1.5rem);box-shadow:var(--shadow-xl,0 25px 50px -12px #00000040);overflow-y:auto}.consent-dialog__header{margin-bottom:var(--spacing-4,1rem)}.consent-dialog__title{font-size:var(--type-scale-headline-font-size,1.25rem);font-weight:var(--font-weight-semibold,600);color:var(--semantic-text-primary);margin-bottom:var(--spacing-2,.5rem)}.consent-dialog__description{font-size:var(--type-scale-body-font-size,.875rem);color:var(--semantic-text-secondary);line-height:1.5}.consent-dialog__actions{gap:var(--spacing-3,.75rem);margin-bottom:var(--spacing-4,1rem);flex-direction:column;display:flex}.consent-button--primary{width:100%;padding:var(--spacing-3,.75rem) var(--spacing-4,1rem);border-radius:var(--border-radius-md,.5rem);background-color:var(--semantic-interactive-default);color:#fff;font-weight:var(--font-weight-medium,500);font-size:var(--type-scale-body-font-size,.875rem);cursor:pointer;border:none}.consent-button--primary:focus-visible{outline:2px solid var(--semantic-border-focus);outline-offset:2px}.consent-button--secondary{width:100%;padding:var(--spacing-3,.75rem) var(--spacing-4,1rem);border-radius:var(--border-radius-md,.5rem);border:1px solid var(--semantic-border-default);color:var(--semantic-text-primary);font-weight:var(--font-weight-medium,500);font-size:var(--type-scale-body-font-size,.875rem);cursor:pointer;background-color:#0000}.consent-button--secondary:focus-visible{outline:2px solid var(--semantic-border-focus);outline-offset:2px}.consent-button--link{width:100%;padding:var(--spacing-2,.5rem);color:var(--semantic-interactive-default);font-size:var(--type-scale-caption-font-size,.75rem);cursor:pointer;background-color:#0000;border:none;text-decoration:underline}.consent-button--link:focus-visible{outline:2px solid var(--semantic-border-focus);outline-offset:2px}.consent-dialog__preferences{margin-bottom:var(--spacing-4,1rem)}.consent-dialog__fieldset{border:none;margin:0;padding:0}.consent-dialog__legend{font-size:var(--type-scale-body-font-size,.875rem);font-weight:var(--font-weight-semibold,600);color:var(--semantic-text-primary);margin-bottom:var(--spacing-3,.75rem)}.consent-dialog__category{align-items:flex-start;gap:var(--spacing-3,.75rem);padding:var(--spacing-3,.75rem);border-bottom:1px solid var(--semantic-border-default);display:flex}.consent-dialog__category--disabled{opacity:.7}.consent-dialog__category-checkbox{margin-top:2px}.consent-dialog__category-label{font-weight:var(--font-weight-medium,500);font-size:var(--type-scale-body-font-size,.875rem);color:var(--semantic-text-primary)}.consent-dialog__category-required{font-size:var(--type-scale-caption-font-size,.75rem);color:var(--semantic-text-tertiary,var(--semantic-text-disabled))}.consent-dialog__category-description{margin:var(--spacing-1,.25rem) 0 0;font-size:var(--type-scale-caption-font-size,.75rem);color:var(--semantic-text-secondary)}.consent-dialog__preference-actions{gap:var(--spacing-3,.75rem);margin-top:var(--spacing-4,1rem);display:flex}.consent-dialog__save-btn{padding:var(--spacing-3,.75rem);border-radius:var(--border-radius-md,.5rem);background-color:var(--semantic-interactive-default);color:#fff;font-weight:var(--font-weight-medium,500);cursor:pointer;border:none;flex:1}.consent-dialog__save-btn:focus-visible{outline:2px solid var(--semantic-border-focus);outline-offset:2px}.consent-dialog__back-btn{padding:var(--spacing-3,.75rem);border-radius:var(--border-radius-md,.5rem);border:1px solid var(--semantic-border-default);color:var(--semantic-text-secondary);cursor:pointer;background-color:#0000}.consent-dialog__back-btn:focus-visible{outline:2px solid var(--semantic-border-focus);outline-offset:2px}.consent-dialog__footer{font-size:var(--type-scale-caption-font-size,.75rem);color:var(--semantic-text-tertiary,var(--semantic-text-disabled));text-align:center;margin-top:var(--spacing-2,.5rem)}.consent-dialog__footer-link{color:var(--semantic-interactive-default);text-decoration:underline}.consent-dialog__footer-link:focus-visible{outline:2px solid var(--semantic-border-focus);outline-offset:2px}@media (prefers-contrast:more){.consent-button--secondary,.consent-dialog__back-btn{border-width:2px}.consent-dialog__category{border-bottom-width:2px}}.consent-history{margin-top:var(--spacing-4)}.consent-history__header{margin-bottom:var(--spacing-3);justify-content:space-between;align-items:center;display:flex}.consent-history__title{font-size:var(--type-scale-h3-font-size,1.25rem);font-weight:var(--font-weight-semibold);color:var(--semantic-text-primary);margin:0}.consent-history__export-btn{padding:var(--spacing-1) var(--spacing-3);border-radius:var(--border-radius-sm);border:1px solid var(--semantic-border-default);background-color:var(--semantic-background-primary);color:var(--semantic-interactive-default);font-size:var(--type-scale-caption-font-size);font-weight:var(--font-weight-medium,500);cursor:pointer;transition:background-color .15s}.consent-history__export-btn:hover{background-color:var(--semantic-background-secondary)}.consent-history__export-btn:focus-visible{outline:2px solid var(--semantic-border-focus);outline-offset:2px}.consent-history__status{font-size:var(--type-scale-caption-font-size);color:var(--semantic-status-positive);margin-bottom:var(--spacing-3);padding:var(--spacing-2);border-radius:var(--border-radius-sm);background-color:var(--semantic-background-secondary)}.consent-history__empty{font-size:var(--type-scale-body-font-size,1rem);color:var(--semantic-text-secondary);text-align:center;padding:var(--spacing-6) 0}.consent-history__timeline{margin:0;padding:0;list-style:none}.consent-history__event{gap:var(--spacing-3);padding:var(--spacing-3);border-left:3px solid var(--semantic-border-default);margin-bottom:var(--spacing-1);transition:background-color .1s;display:flex}.consent-history__event:hover{background-color:var(--semantic-background-secondary)}.consent-history__event--granted{border-left-color:var(--semantic-status-positive)}.consent-history__event--withdrawn{border-left-color:var(--semantic-status-negative)}.consent-history__event-indicator{width:1.5rem;height:1.5rem;font-size:var(--type-scale-caption-font-size);font-weight:var(--font-weight-bold,700);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.consent-history__event--granted .consent-history__event-indicator{background-color:var(--semantic-status-positive);color:var(--semantic-text-inverse,#fff)}.consent-history__event--withdrawn .consent-history__event-indicator{background-color:var(--semantic-status-negative);color:var(--semantic-text-inverse,#fff)}.consent-history__event-content{flex:1;min-width:0}.consent-history__event-header{margin-bottom:var(--spacing-1);justify-content:space-between;align-items:center;display:flex}.consent-history__event-category{font-size:var(--type-scale-body-font-size,1rem);font-weight:var(--font-weight-semibold);color:var(--semantic-text-primary)}.consent-history__event-badge{font-size:var(--type-scale-caption-font-size);font-weight:var(--font-weight-medium,500);padding:var(--spacing-0,2px) var(--spacing-2);border-radius:var(--border-radius-sm)}.consent-history__event-badge--granted{color:var(--semantic-status-positive);background-color:#22c55e1f}.consent-history__event-badge--withdrawn{color:var(--semantic-status-negative);background-color:#ef44441f}.consent-history__event-meta{gap:var(--spacing-2);font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);display:flex}@media (prefers-reduced-motion:reduce){.consent-history__event,.consent-history__export-btn{transition:none}}@media (max-width:480px){.consent-history__header{align-items:flex-start;gap:var(--spacing-2);flex-direction:column}.consent-history__event-header{align-items:flex-start;gap:var(--spacing-1);flex-direction:column}.consent-history__event-meta{gap:var(--spacing-0,2px);flex-direction:column}}.privacy-gate{padding:var(--spacing-6);justify-content:center;align-items:flex-start;display:flex}.privacy-gate__card{width:100%;max-width:480px;padding:var(--spacing-6);border-radius:var(--card-border-radius,var(--border-radius-md));border:1px solid var(--semantic-border-default);background-color:var(--semantic-background-elevated,var(--semantic-background-secondary));box-shadow:var(--card-shadow,none);text-align:center}.privacy-gate__icon{margin-bottom:var(--spacing-3);font-size:2.5rem}.privacy-gate__title{font-size:var(--type-scale-h3-font-size,1.25rem);font-weight:var(--font-weight-semibold);color:var(--semantic-text-primary);margin:0 0 var(--spacing-2)}.privacy-gate__description{font-size:var(--type-scale-body-font-size,1rem);color:var(--semantic-text-secondary);margin:0 0 var(--spacing-4);line-height:1.5}.privacy-gate__consent-info{padding:var(--spacing-3);border-radius:var(--border-radius-sm);background-color:var(--semantic-background-primary);border:1px solid var(--semantic-border-default);margin-bottom:var(--spacing-4);text-align:left}.privacy-gate__consent-label{font-size:var(--type-scale-caption-font-size);font-weight:var(--font-weight-semibold);color:var(--semantic-text-secondary);margin:0 0 var(--spacing-1);text-transform:uppercase;letter-spacing:.05em}.privacy-gate__consent-name{font-size:var(--type-scale-body-font-size,1rem);font-weight:var(--font-weight-semibold);color:var(--semantic-text-primary);margin:0 0 var(--spacing-1)}.privacy-gate__consent-description{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);margin:0;line-height:1.4}.privacy-gate__data-section{text-align:left;margin-bottom:var(--spacing-4)}.privacy-gate__data-title{font-size:var(--type-scale-caption-font-size);font-weight:var(--font-weight-semibold);color:var(--semantic-text-secondary);margin:0 0 var(--spacing-2)}.privacy-gate__data-list{margin:0;padding:0;list-style:none}.privacy-gate__data-item{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);padding:var(--spacing-1) 0;padding-left:var(--spacing-3);position:relative}.privacy-gate__data-item:before{content:"•";left:var(--spacing-1);color:var(--semantic-interactive-default);position:absolute}.privacy-gate__enable-btn{padding:var(--spacing-2) var(--spacing-5);border-radius:var(--border-radius-md);background-color:var(--semantic-interactive-default);color:var(--semantic-text-inverse,#fff);font-size:var(--type-scale-body-font-size,1rem);font-weight:var(--font-weight-semibold);cursor:pointer;margin-bottom:var(--spacing-3);border:none;transition:background-color .15s;display:inline-block}.privacy-gate__enable-btn:hover{background-color:var(--semantic-interactive-hover)}.privacy-gate__enable-btn:focus-visible{outline:2px solid var(--semantic-border-focus);outline-offset:2px}.privacy-gate__revoke-note{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);margin:0}@media (prefers-reduced-motion:reduce){.privacy-gate__enable-btn{transition:none}}@media (max-width:480px){.privacy-gate{padding:var(--spacing-3)}.privacy-gate__card{padding:var(--spacing-4)}}.privacy-settings__info{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);margin-bottom:var(--spacing-4);padding:0 var(--spacing-2)}.privacy-settings__category-description{margin:var(--spacing-1) 0 0;font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary)}.privacy-settings__group-spacer{margin-top:var(--spacing-4)}.privacy-settings__danger-title{color:var(--semantic-status-negative)}.privacy-settings__danger-info{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);margin-bottom:var(--spacing-3);padding:0 var(--spacing-2)}.privacy-settings__delete-confirm{padding:var(--spacing-4);border-radius:var(--card-border-radius,var(--border-radius-md));border:2px solid var(--semantic-status-negative);background-color:var(--color-red-50,#fef2f2);box-shadow:var(--card-shadow,none)}.privacy-settings__delete-confirm-title{font-weight:var(--font-weight-semibold);color:var(--semantic-status-negative);margin-bottom:var(--spacing-3)}.privacy-settings__delete-confirm-list{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);margin-bottom:var(--spacing-4);padding-left:var(--spacing-4)}.privacy-settings__delete-actions{gap:var(--spacing-3);display:flex}.privacy-settings__delete-actions>*{flex:1}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .privacy-settings__delete-confirm{background-color:#ef44441f}html:not([data-theme=light]) .privacy-settings__example-payload{background-color:var(--semantic-background-secondary,#1a1a2e)}}[data-theme=dark] .privacy-settings__delete-confirm{background-color:#ef44441f}[data-theme=dark] .privacy-settings__example-payload{background-color:var(--semantic-background-secondary,#1a1a2e)}.privacy-settings__never-included-list{margin:var(--spacing-2) 0 0;font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);padding:0;list-style:none}.privacy-settings__never-included-item{margin-bottom:var(--spacing-1)}.privacy-settings__example-payload{padding:var(--spacing-4);border-radius:var(--border-radius-md);border:1px solid var(--semantic-border-default,#e2e8f0);background-color:var(--semantic-background-secondary,#f8fafc);margin-top:var(--spacing-2)}.privacy-settings__payload-fields{margin:var(--spacing-3) 0}.privacy-settings__payload-field{margin-bottom:var(--spacing-3);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--semantic-border-default,#e2e8f0)}.privacy-settings__payload-field:last-child{border-bottom:none}.privacy-settings__payload-field-name{font-weight:var(--font-weight-semibold);font-family:var(--font-family-mono,monospace);font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-primary)}.privacy-settings__payload-field-desc{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);margin:var(--spacing-1) 0}.privacy-settings__payload-field-value{margin:var(--spacing-1) 0 0}.privacy-settings__payload-field-value code{font-size:var(--type-scale-caption-font-size);font-family:var(--font-family-mono,monospace);color:var(--semantic-text-secondary);white-space:pre-wrap;word-break:break-all}.privacy-settings__raw-json{margin-top:var(--spacing-3)}.privacy-settings__raw-json summary{cursor:pointer;font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);padding:var(--spacing-2) 0}.privacy-settings__json-pre{padding:var(--spacing-3);border-radius:var(--border-radius-sm);background-color:var(--semantic-background-tertiary,#f1f5f9);font-size:var(--type-scale-caption-font-size);line-height:1.5;overflow-x:auto}.achievements-page{max-width:900px;margin:0 auto}.achievements-page__title{font-size:var(--type-scale-headline-font-size);font-weight:var(--type-scale-headline-font-weight);color:var(--semantic-text-primary);margin-bottom:0}.achievements-page__loading{padding:var(--spacing-8) 0;justify-content:center;display:flex}.achievements-section{margin-bottom:var(--spacing-6)}.achievements-section__title{font-size:var(--type-scale-title-font-size);font-weight:var(--type-scale-title-font-weight);color:var(--semantic-text-primary);margin-bottom:var(--spacing-4)}.achievements-level-card{align-items:center;gap:var(--spacing-4);padding:var(--spacing-5);background:var(--semantic-background-elevated);border:1px solid var(--semantic-border-default);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-6);flex-wrap:wrap;display:flex}.achievements-level-card__info{flex:1;min-width:200px}.achievements-level-card__level{font-size:var(--type-scale-caption-font-size);color:var(--semantic-interactive-default);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em}.achievements-level-card__name{font-size:var(--type-scale-headline-font-size);font-weight:var(--type-scale-headline-font-weight);color:var(--semantic-text-primary);margin:var(--spacing-1) 0}.achievements-level-card__points{font-size:var(--type-scale-body-font-size);color:var(--semantic-text-secondary);margin:0}.achievements-level-card__stats{gap:var(--spacing-6);display:flex}.achievements-level-card__stat{flex-direction:column;align-items:center;display:flex}.achievements-level-card__stat-value{font-size:var(--type-scale-headline-font-size);font-weight:var(--font-weight-semibold);color:var(--semantic-text-primary)}.achievements-level-card__stat-label{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary)}.achievements-level-card__next{width:100%;font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);margin:0}.achievements-badge-grid{gap:var(--spacing-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.achievement-badge{align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);border:1px solid var(--semantic-border-default);border-radius:var(--border-radius-md);background:var(--semantic-background-elevated);transition:transform .15s;display:flex}.achievement-badge--unlocked{border-color:var(--semantic-status-positive)}.achievement-badge--locked{opacity:.8}.achievement-badge__icon{flex-shrink:0;font-size:2rem;line-height:1}.achievement-badge__info{flex:1;min-width:0}.achievement-badge__name{font-size:var(--type-scale-body-font-size);font-weight:var(--font-weight-semibold);color:var(--semantic-text-primary);margin:0 0 var(--spacing-1) 0}.achievement-badge__description{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);margin:0 0 var(--spacing-2) 0}.achievement-badge__progress-track{background:var(--semantic-background-secondary);border-radius:3px;height:6px;overflow:hidden}.achievement-badge__progress-fill{background:var(--semantic-interactive-default);border-radius:3px;height:100%;transition:width .3s}.achievement-badge__check{color:var(--semantic-status-positive);font-size:1.25rem;font-weight:var(--font-weight-semibold);flex-shrink:0}.achievements-streaks-grid{gap:var(--spacing-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.streak-card{align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--semantic-background-elevated);border:1px solid var(--semantic-border-default);border-radius:var(--border-radius-md);display:flex}.streak-card__flame{font-size:2rem;line-height:1}.streak-card__info{flex:1}.streak-card__label{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);font-weight:var(--font-weight-medium);margin:0}.streak-card__count{margin:var(--spacing-1) 0}.streak-card__number{font-size:var(--type-scale-headline-font-size);font-weight:var(--font-weight-semibold);color:var(--semantic-text-primary)}.streak-card__unit{font-size:var(--type-scale-body-font-size);color:var(--semantic-text-secondary)}.streak-card__best{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);margin:0}.achievements-milestones{gap:var(--spacing-4);flex-direction:column;display:flex}.milestone-card{padding:var(--spacing-4);background:var(--semantic-background-elevated);border:1px solid var(--semantic-border-default);border-radius:var(--border-radius-md)}.milestone-card__header{margin-bottom:var(--spacing-2);justify-content:space-between;align-items:center;display:flex}.milestone-card__name{font-size:var(--type-scale-body-font-size);font-weight:var(--font-weight-semibold);color:var(--semantic-text-primary);margin:0}.milestone-card__percent{font-size:var(--type-scale-body-font-size);font-weight:var(--font-weight-semibold);color:var(--semantic-interactive-default)}.milestone-card__track{background:var(--semantic-background-secondary);height:10px;margin-bottom:var(--spacing-2);border-radius:5px;position:relative;overflow:visible}.milestone-card__fill{background:var(--semantic-interactive-default);border-radius:5px;height:100%;transition:width .3s}.milestone-card__marker{background:var(--semantic-text-disabled);border-radius:2px;width:4px;height:16px;position:absolute;top:-3px;transform:translate(-50%)}.milestone-card__marker--reached{background:var(--semantic-status-positive)}.milestone-card__next{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);margin:0}.milestone-card__next--completed{color:var(--semantic-status-positive)}@media (prefers-reduced-motion:reduce){.achievement-badge,.achievement-badge__progress-fill,.milestone-card__fill,.nearwin-card__fill{transition:none}.achievement-celebration__confetti-piece{opacity:0;animation:none}}@media (prefers-contrast:more){.achievement-badge,.streak-card,.milestone-card,.achievements-level-card,.nearwin-card,.achievement-celebration{border-width:2px}}@media (max-width:480px){.achievements-badge-grid,.achievements-streaks-grid,.achievements-nearwin-grid{grid-template-columns:1fr}.achievements-level-card{flex-direction:column;align-items:stretch}.achievements-level-card__stats{justify-content:center}}.achievement-badge__share,.streak-card__share,.milestone-card__share{margin-top:var(--spacing-3);justify-content:flex-end;display:flex}.achievements-nearwin-grid{gap:var(--spacing-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:0;padding:0;list-style:none;display:grid}.nearwin-card{align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--semantic-background-elevated);border:1px solid var(--semantic-border-default);border-left:4px solid var(--semantic-interactive-default);border-radius:var(--border-radius-md);display:flex}.nearwin-card--streak{border-left-color:var(--semantic-status-warning)}.nearwin-card--goal{border-left-color:var(--semantic-status-positive)}.nearwin-card--badge{border-left-color:var(--semantic-interactive-default)}.nearwin-card__icon{color:var(--semantic-interactive-default);flex-shrink:0;font-size:1.5rem;line-height:1}.nearwin-card__body{flex:1;min-width:0}.nearwin-card__message{font-size:var(--type-scale-body-font-size);color:var(--semantic-text-primary);margin:0 0 var(--spacing-2) 0}.nearwin-card__track{background:var(--semantic-background-secondary);border-radius:3px;height:6px;overflow:hidden}.nearwin-card__fill{background:var(--semantic-interactive-default);border-radius:3px;height:100%;transition:width .3s}.achievement-celebration{align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-5);margin-bottom:var(--spacing-6);background:var(--semantic-background-elevated);border:1px solid var(--semantic-status-positive);border-radius:var(--border-radius-md);border-left-width:4px;display:flex;position:relative;overflow:hidden}.achievement-celebration__icon{color:var(--semantic-status-positive);flex-shrink:0;font-size:2rem;line-height:1}.achievement-celebration__body{flex:1;min-width:0}.achievement-celebration__eyebrow{font-size:var(--type-scale-caption-font-size);font-weight:var(--font-weight-semibold);color:var(--semantic-status-positive);text-transform:uppercase;letter-spacing:.05em;margin:0}.achievement-celebration__name{font-size:var(--type-scale-title-font-size);font-weight:var(--font-weight-semibold);color:var(--semantic-text-primary);margin:var(--spacing-1) 0}.achievement-celebration__desc{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);margin:0}.achievement-celebration__dismiss{border:1px solid var(--semantic-border-default);border-radius:var(--border-radius-sm,6px);width:2rem;height:2rem;color:var(--semantic-text-secondary);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.achievement-celebration__dismiss:hover{color:var(--semantic-text-primary)}.achievement-celebration__dismiss:focus-visible{outline:2px solid var(--semantic-interactive-default);outline-offset:2px}.achievement-celebration__confetti{pointer-events:none;position:absolute;inset:0}.achievement-celebration__confetti-piece{opacity:0;border-radius:2px;width:8px;height:8px;animation:1.6s ease-in forwards achievement-confetti-fall;position:absolute;top:-10%}.achievement-celebration__confetti-piece--0{background:var(--semantic-status-positive);animation-delay:0s;left:12%}.achievement-celebration__confetti-piece--1{background:var(--semantic-interactive-default);animation-delay:.12s;left:38%}.achievement-celebration__confetti-piece--2{background:var(--semantic-status-warning);animation-delay:.24s;left:62%}.achievement-celebration__confetti-piece--3{background:var(--semantic-status-info);animation-delay:.36s;left:86%}.achievement-celebration__confetti-piece:nth-child(n+5){top:-22%}.achievement-celebration__confetti-piece:nth-child(n+9){top:-34%}@keyframes achievement-confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(420%)rotate(320deg)}}.connection-health-card{background:var(--semantic-background-secondary,#f8f9fa);border:1px solid var(--semantic-border-primary,#dee2e6);border-radius:var(--radius-3,12px);padding:var(--spacing-4,16px);margin-bottom:var(--spacing-3,12px)}.connection-health-card__header{margin-bottom:var(--spacing-3,12px);justify-content:space-between;align-items:flex-start;display:flex}.connection-health-card__name{font-size:var(--font-size-md,1rem);color:var(--semantic-text-primary,#111);margin:0;font-weight:600}.connection-health-card__provider{font-size:var(--font-size-sm,.875rem);color:var(--semantic-text-secondary,#6c757d);text-transform:capitalize}.health-badge{padding:var(--spacing-1,4px) var(--spacing-2,8px);border-radius:var(--radius-full,9999px);font-size:var(--font-size-xs,.75rem);text-transform:uppercase;letter-spacing:.05em;font-weight:600;display:inline-block}.health-badge--healthy{background:var(--semantic-success-bg,#d4edda);color:var(--semantic-success-text,#155724)}.health-badge--stale,.health-badge--warning{background:var(--semantic-warning-bg,#fff3cd);color:var(--semantic-warning-text,#856404)}.health-badge--error{background:var(--semantic-error-bg,#f8d7da);color:var(--semantic-error-text,#721c24)}.health-badge--unknown{background:var(--semantic-neutral-bg,#e2e3e5);color:var(--semantic-neutral-text,#383d41)}.connection-health-card__details{gap:var(--spacing-2,8px);margin-bottom:var(--spacing-3,12px);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.connection-health-card__detail{gap:var(--spacing-1,4px);flex-direction:column;display:flex}.connection-health-card__label{font-size:var(--font-size-xs,.75rem);color:var(--semantic-text-secondary,#6c757d);text-transform:uppercase;letter-spacing:.05em}.connection-health-card__value{font-size:var(--font-size-sm,.875rem);color:var(--semantic-text-primary,#111)}.connection-health-card__value--error{color:var(--semantic-error-text,#721c24)}.connection-health-card__actions{gap:var(--spacing-2,8px);justify-content:flex-end;display:flex}.connection-health-card__action{padding:var(--spacing-1,4px) var(--spacing-3,12px);border:1px solid var(--semantic-border-primary,#dee2e6);border-radius:var(--radius-2,8px);color:var(--semantic-text-primary,#111);font-size:var(--font-size-sm,.875rem);cursor:pointer;background:0 0}.connection-health-card__action:hover{background:var(--semantic-background-hover,#e9ecef)}.connection-health-card__action--primary{background:var(--semantic-primary,#0d6efd);color:#fff;border-color:var(--semantic-primary,#0d6efd)}.connection-health-card__action--primary:hover{background:var(--semantic-primary-hover,#0b5ed7)}.safety-center{max-width:800px}.safety-center__summary{background:var(--semantic-background-secondary,#f8f9fa);border:1px solid var(--semantic-border-primary,#dee2e6);border-radius:var(--radius-3,12px);padding:var(--spacing-4,16px);margin-bottom:var(--spacing-4,16px)}.safety-center__title{align-items:center;gap:var(--spacing-2,8px);font-size:var(--font-size-lg,1.25rem);margin:0 0 var(--spacing-2,8px);display:flex}.safety-center__subtitle{color:var(--semantic-text-secondary,#6c757d);margin:0 0 var(--spacing-2,8px)}.safety-center__note{font-size:var(--font-size-sm,.875rem);color:var(--semantic-success-text,#155724);background:var(--semantic-success-bg,#d4edda);padding:var(--spacing-2,8px) var(--spacing-3,12px);border-radius:var(--radius-2,8px);margin:0}.safety-center__section{margin-bottom:var(--spacing-4,16px)}.safety-center__section-title{font-size:var(--font-size-md,1rem);margin:0 0 var(--spacing-3,12px);font-weight:600}.safety-center__list{margin:0;padding:0;list-style:none}.safety-center__item{border:1px solid var(--semantic-border-primary,#dee2e6);border-radius:var(--radius-2,8px);padding:var(--spacing-3,12px);margin-bottom:var(--spacing-2,8px)}.safety-center__item--revoked{opacity:.6}.safety-center__item-header{margin-bottom:var(--spacing-2,8px);justify-content:space-between;align-items:center;display:flex}.safety-center__item-name{color:var(--semantic-text-primary,#111);font-weight:600}.safety-center__item-provider{font-size:var(--font-size-sm,.875rem);color:var(--semantic-text-secondary,#6c757d)}.safety-center__item-details{gap:var(--spacing-3,12px);flex-wrap:wrap;display:flex}.safety-center__permission-badge{font-size:var(--font-size-sm,.875rem);padding:var(--spacing-1,4px) var(--spacing-2,8px);border-radius:var(--radius-full,9999px);background:var(--semantic-success-bg,#d4edda);color:var(--semantic-success-text,#155724)}.safety-center__token-status{font-size:var(--font-size-xs,.75rem);padding:var(--spacing-1,4px) var(--spacing-2,8px)}.safety-center__token-status--active{color:var(--semantic-success-text,#155724)}.safety-center__token-status--expired,.safety-center__token-status--revoked{color:var(--semantic-error-text,#721c24)}.safety-center__scopes{margin-top:var(--spacing-2,8px);font-size:var(--font-size-sm,.875rem)}.safety-center__scopes ul{padding-left:var(--spacing-4,16px);margin:var(--spacing-1,4px) 0 0}.safety-center__toggle{padding:var(--spacing-2,8px) var(--spacing-3,12px);border:1px solid var(--semantic-border-primary,#dee2e6);border-radius:var(--radius-2,8px);cursor:pointer;font-size:var(--font-size-sm,.875rem);color:var(--semantic-text-primary,#111);background:0 0}.safety-center__toggle:hover{background:var(--semantic-background-hover,#e9ecef)}.safety-center__log-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm,.875rem);margin-top:var(--spacing-3,12px)}.safety-center__log-table th,.safety-center__log-table td{padding:var(--spacing-2,8px);text-align:left;border-bottom:1px solid var(--semantic-border-primary,#dee2e6)}.safety-center__log-table th{color:var(--semantic-text-secondary,#6c757d);font-weight:600;font-size:var(--font-size-xs,.75rem);text-transform:uppercase}.safety-center__status--success{color:var(--semantic-success-text,#155724)}.safety-center__status--failure{color:var(--semantic-error-text,#721c24)}.safety-center__status--partial{color:var(--semantic-warning-text,#856404)}.safety-center__empty{color:var(--semantic-text-secondary,#6c757d);font-style:italic}.safety-center__error{color:var(--semantic-error-text,#721c24)}.provider-status-list__title{font-size:var(--font-size-lg,1.25rem);margin:0 0 var(--spacing-3,12px);font-weight:600}.provider-status-list__list{gap:var(--spacing-3,12px);margin:0;padding:0;list-style:none;display:grid}.provider-status-list__item{border:1px solid var(--semantic-border-primary,#dee2e6);border-radius:var(--radius-2,8px);padding:var(--spacing-3,12px)}.provider-status-list__header{margin-bottom:var(--spacing-2,8px);justify-content:space-between;align-items:center;display:flex}.provider-status-list__name{font-weight:600;font-size:var(--font-size-md,1rem)}.provider-status-list__badge{padding:var(--spacing-1,4px) var(--spacing-2,8px);border-radius:var(--radius-full,9999px);font-size:var(--font-size-xs,.75rem);text-transform:uppercase;font-weight:600}.provider-status-list__badge--active{background:var(--semantic-success-bg,#d4edda);color:var(--semantic-success-text,#155724)}.provider-status-list__badge--degraded{background:var(--semantic-warning-bg,#fff3cd);color:var(--semantic-warning-text,#856404)}.provider-status-list__badge--down{background:var(--semantic-error-bg,#f8d7da);color:var(--semantic-error-text,#721c24)}.provider-status-list__badge--maintenance{background:var(--semantic-neutral-bg,#e2e3e5);color:var(--semantic-neutral-text,#383d41)}.provider-status-list__health{align-items:center;gap:var(--spacing-2,8px);margin-bottom:var(--spacing-2,8px);display:flex}.provider-status-list__health-bar{background:var(--semantic-background-tertiary,#e9ecef);border-radius:var(--radius-full,9999px);flex:1;height:8px;overflow:hidden}.provider-status-list__health-fill{background:var(--semantic-success,#28a745);border-radius:var(--radius-full,9999px);height:100%;transition:width .3s}.provider-status-list__health-value{font-size:var(--font-size-sm,.875rem);text-align:right;min-width:40px;font-weight:600}.provider-status-list__meta{gap:var(--spacing-3,12px);font-size:var(--font-size-sm,.875rem);color:var(--semantic-text-secondary,#6c757d);display:flex}.provider-status-list__regions{font-size:var(--font-size-sm,.875rem);color:var(--semantic-text-secondary,#6c757d);margin-top:var(--spacing-1,4px)}.provider-status-list__label{font-size:var(--font-size-xs,.75rem);color:var(--semantic-text-secondary,#6c757d);text-transform:uppercase}@media (prefers-color-scheme:dark){.connection-health-card,.safety-center__summary{background:var(--semantic-background-secondary,#1e1e1e);border-color:var(--semantic-border-primary,#333)}.provider-status-list__item{border-color:var(--semantic-border-primary,#333)}}[data-theme=dark] .connection-health-card,[data-theme=dark] .safety-center__summary,[data-theme=dark] .provider-status-list__item{background:var(--semantic-background-secondary,#1e1e1e);border-color:var(--semantic-border-primary,#333)}@media (prefers-reduced-motion:reduce){.provider-status-list__health-fill{transition:none}}@media (prefers-contrast:more){.connection-health-card,.safety-center__item,.provider-status-list__item{border-width:2px}.health-badge,.provider-status-list__badge{border:1px solid}}@media (max-width:480px){.connection-health-card__details{grid-template-columns:1fr 1fr}.safety-center__item-header{align-items:flex-start;gap:var(--spacing-1,4px);flex-direction:column}.safety-center__item-details{flex-direction:column}.safety-center__log-table{font-size:var(--font-size-xs,.75rem)}}.household-page{max-width:720px;padding:var(--spacing-6);gap:var(--spacing-5);flex-direction:column;margin:0 auto;display:flex}.household-page__loading{text-align:center;color:var(--semantic-text-secondary);padding:var(--spacing-8) 0}.household-header{align-items:center;gap:var(--spacing-3);display:flex}.household-header__title{font-size:var(--type-scale-heading-font-size);font-weight:var(--type-scale-heading-font-weight);color:var(--semantic-text-primary)}.household-header__badge{padding:var(--spacing-1) var(--spacing-3);background:var(--semantic-interactive-default);color:var(--semantic-text-inverse);border-radius:var(--border-radius-full,9999px);font-size:var(--type-scale-caption-font-size);font-weight:var(--font-weight-semibold);align-items:center;display:inline-flex}.household-card{background:var(--semantic-background-primary);border:1px solid var(--semantic-border-default);border-radius:var(--border-radius-lg,var(--border-radius-md));padding:var(--spacing-5)}.household-card__title{font-size:var(--type-scale-title-font-size);font-weight:var(--type-scale-title-font-weight);color:var(--semantic-text-primary);margin-bottom:var(--spacing-3)}.household-card__description{color:var(--semantic-text-secondary);font-size:var(--type-scale-body-font-size);margin-bottom:var(--spacing-4);line-height:var(--line-height-relaxed,1.5)}.household-card__empty{color:var(--semantic-text-secondary);font-style:italic}.household-form-group{gap:var(--spacing-1);margin-bottom:var(--spacing-4);flex-direction:column;display:flex}.household-form-group__label{font-size:var(--type-scale-body-font-size);font-weight:var(--font-weight-medium);color:var(--semantic-text-primary)}.household-form-group__label--required:after{content:" *";color:var(--semantic-status-negative)}.household-form-input,.household-form-select{width:100%;padding:var(--input-padding-y,.5rem) var(--input-padding-x,.75rem);border:1px solid var(--input-border,var(--semantic-border-default));border-radius:var(--input-border-radius,var(--border-radius-md));background:var(--input-background,var(--semantic-background-primary));color:var(--input-text,var(--semantic-text-primary));font-size:var(--type-scale-body-font-size);font-family:inherit;line-height:var(--line-height-normal)}.household-form-input:focus,.household-form-select:focus{border-color:var(--input-border-focus,var(--semantic-border-focus));outline:none;box-shadow:0 0 0 3px #3b82f626}.household-form-select--small{width:auto;padding:var(--spacing-1) var(--spacing-2);font-size:var(--type-scale-caption-font-size)}.household-invite-form{flex-direction:column;display:flex}.household-button{justify-content:center;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-5);border-radius:var(--border-radius-md);font-size:var(--type-scale-body-font-size);font-weight:var(--font-weight-semibold);cursor:pointer;min-height:40px;transition:background-color var(--duration-fast,.1s) ease;border:1px solid #0000;font-family:inherit;display:inline-flex}.household-button:focus-visible{outline:2px solid var(--semantic-border-focus);outline-offset:2px}.household-button--primary{background:var(--semantic-interactive-default);color:var(--semantic-text-inverse);border-color:var(--semantic-interactive-default)}.household-button--primary:hover:not(:disabled){background:var(--semantic-interactive-hover)}.household-button--secondary{color:var(--semantic-text-primary);border-color:var(--semantic-border-default);background:0 0}.household-button--secondary:hover:not(:disabled){background:var(--semantic-background-secondary)}.household-button--danger{background:var(--semantic-status-negative);color:var(--color-neutral-50,#fff);border-color:var(--semantic-status-negative)}.household-button--danger:hover:not(:disabled){filter:brightness(.9)}.household-button--small{padding:var(--spacing-1) var(--spacing-3);font-size:var(--type-scale-caption-font-size);min-height:32px}.household-trusted-helper{gap:var(--spacing-4);flex-direction:column;display:flex}.household-trusted-helper__header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-3);display:flex}.household-trusted-helper__badge{padding:var(--spacing-1) var(--spacing-3);background:var(--color-green-50,#f0fdf4);color:var(--semantic-status-positive);border-radius:var(--border-radius-full,9999px);font-size:var(--type-scale-caption-font-size);font-weight:var(--font-weight-semibold);white-space:nowrap;align-items:center;display:inline-flex}.household-trusted-helper__plain-language{gap:var(--spacing-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.household-trusted-helper__plain-language>div{padding:var(--spacing-3);background:var(--semantic-background-secondary);border:1px solid var(--semantic-border-default);border-radius:var(--border-radius-md)}.household-trusted-helper__plain-language h3{margin:0 0 var(--spacing-2);color:var(--semantic-text-primary);font-size:var(--type-scale-body-font-size)}.household-helper-capability-list{padding-left:var(--spacing-5);color:var(--semantic-text-secondary);line-height:var(--line-height-relaxed,1.5);margin:0}.household-helper-capability-list li::marker{color:var(--semantic-status-positive)}.household-helper-capability-list--cannot li::marker{color:var(--semantic-status-negative)}.household-trusted-helper-form{flex-direction:column;display:flex}.household-trusted-helper-form__hint{margin:var(--spacing-1) 0 0;color:var(--semantic-text-secondary);font-size:var(--type-scale-caption-font-size)}.household-member-list,.household-invitation-list,.household-budget-list{gap:var(--spacing-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.household-member-item,.household-invitation-item,.household-budget-item{padding:var(--spacing-3);background:var(--semantic-background-secondary);border-radius:var(--border-radius-md);justify-content:space-between;align-items:center;gap:var(--spacing-3);display:flex}.household-member-item__info{align-items:center;gap:var(--spacing-3);display:flex}.household-member-item__avatar{font-size:1.5rem}.household-member-item__name{font-weight:var(--font-weight-medium);color:var(--semantic-text-primary);display:block}.household-member-item__role{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary)}.household-member-item__actions{align-items:center;gap:var(--spacing-2);display:flex}.household-invitation-item__info{align-items:center;gap:var(--spacing-3);flex:1;display:flex}.household-invitation-item__email{font-weight:var(--font-weight-medium);color:var(--semantic-text-primary)}.household-invitation-item__role{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary)}.household-invitation-item__status{font-size:var(--type-scale-caption-font-size);color:var(--semantic-status-warning);text-transform:capitalize}.household-kids-form{gap:var(--spacing-3);margin-bottom:var(--spacing-5);flex-direction:column;display:flex}.household-kids-form__grid{gap:var(--spacing-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.household-kids-rollup{gap:var(--spacing-3);margin-bottom:var(--spacing-5);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.household-kids-rollup>div{gap:var(--spacing-1);padding:var(--spacing-3);background:var(--semantic-background-secondary);border:1px solid var(--semantic-border-default);border-radius:var(--border-radius-md);flex-direction:column;display:flex}.household-kids-rollup__label{color:var(--semantic-text-secondary);font-size:var(--type-scale-caption-font-size)}.household-kids-grid{gap:var(--spacing-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.household-kid-card{gap:var(--spacing-4);padding:var(--spacing-4);background:var(--semantic-background-secondary);border:1px solid var(--semantic-border-default);border-radius:var(--border-radius-lg,var(--border-radius-md));flex-direction:column;display:flex}.household-kid-card__header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-3);display:flex}.household-kid-card__name{color:var(--semantic-text-primary);font-size:var(--type-scale-title-font-size);margin:0}.household-kid-card__meta{margin:var(--spacing-1) 0 0;color:var(--semantic-text-secondary);font-size:var(--type-scale-caption-font-size)}.household-kid-card__balance{font-size:var(--type-scale-title-font-size);font-weight:var(--font-weight-semibold);color:var(--semantic-text-primary);white-space:nowrap}.household-kid-card__stats{gap:var(--spacing-3);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:0;display:grid}.household-kid-card__stat{min-width:0;padding:var(--spacing-3);border-radius:var(--border-radius-md);background:var(--semantic-background-primary)}.household-kid-card__stat dt{color:var(--semantic-text-secondary);font-size:var(--type-scale-caption-font-size)}.household-kid-card__stat dd{margin:var(--spacing-1) 0 0;color:var(--semantic-text-primary);font-size:var(--type-scale-body-font-size);font-weight:var(--font-weight-semibold)}.household-kid-card__section{gap:var(--spacing-3);flex-direction:column;display:flex}.household-kid-card__section-header{justify-content:space-between;align-items:baseline;gap:var(--spacing-2);display:flex}.household-kid-card__section-title{color:var(--semantic-text-primary);font-size:var(--type-scale-body-font-size);margin:0}.household-kid-card__section-note{color:var(--semantic-text-secondary);font-size:var(--type-scale-caption-font-size)}.household-kid-card__chore-list{gap:var(--spacing-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.household-kid-card__chore-item{padding:var(--spacing-2) var(--spacing-3);border-radius:var(--border-radius-md);background:var(--semantic-background-primary)}.household-kid-card__chore-toggle{align-items:flex-start;gap:var(--spacing-3);cursor:pointer;display:flex}.household-kid-card__chore-toggle input{margin-top:.2rem}.household-kid-card__chore-name{color:var(--semantic-text-primary);font-weight:var(--font-weight-medium);display:block}.household-kid-card__chore-meta{color:var(--semantic-text-secondary);font-size:var(--type-scale-caption-font-size);display:block}.household-kid-card__inline-form{gap:var(--spacing-2);flex-direction:column;display:flex}.household-kid-card__inline-fields{gap:var(--spacing-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.household-kid-card__inline-fields--compact{grid-template-columns:minmax(0,1fr)}.household-kid-card__inline-fields--two{grid-template-columns:repeat(2,minmax(0,1fr))}.household-kid-card__stat--wide{grid-column:1/-1}.household-kid-card__college-fund,.household-kid-card__expense-list{gap:var(--spacing-2);flex-direction:column;display:flex}.household-kid-card__college-amounts,.household-kid-card__expense-item{justify-content:space-between;align-items:center;gap:var(--spacing-3);color:var(--semantic-text-secondary);font-size:var(--type-scale-caption-font-size);display:flex}.household-kid-card__college-progress{background:var(--semantic-border-default);border-radius:var(--border-radius-full,9999px);height:8px;overflow:hidden}.household-kid-card__college-progress span{background:var(--semantic-interactive-default);border-radius:inherit;height:100%;display:block}.household-kid-card__expense-list{margin:0;padding:0;list-style:none}.household-kid-card__expense-item{padding:var(--spacing-2) var(--spacing-3);background:var(--semantic-background-primary);border-radius:var(--border-radius-md)}.household-budget-item__name{font-weight:var(--font-weight-medium);color:var(--semantic-text-primary)}.household-toggle{align-items:center;gap:var(--spacing-2);cursor:pointer;padding:var(--spacing-1);border-radius:var(--border-radius-md);background:0 0;border:none;font-family:inherit;display:inline-flex}.household-toggle:focus-visible{outline:2px solid var(--semantic-border-focus);outline-offset:2px}.household-toggle__track{background:var(--semantic-border-default);border-radius:var(--border-radius-full,9999px);width:44px;height:24px;transition:background-color var(--duration-fast,.1s) ease;position:relative}.household-toggle--active .household-toggle__track{background:var(--semantic-interactive-default)}.household-toggle__thumb{background:var(--color-neutral-50,#fff);border-radius:var(--border-radius-full,9999px);width:20px;height:20px;transition:transform var(--duration-fast,.1s) ease;position:absolute;top:2px;left:2px}.household-toggle--active .household-toggle__thumb{transform:translate(20px)}.household-toggle__label{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);min-width:60px}.household-banner--error{padding:var(--spacing-3);background:var(--color-red-50,#fef2f2);border:1px solid var(--semantic-status-negative);border-radius:var(--border-radius-md);color:var(--semantic-status-negative);font-size:var(--type-scale-caption-font-size);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-3)}.household-banner--success{padding:var(--spacing-3);background:var(--color-green-50,#f0fdf4);border:1px solid var(--semantic-status-positive);border-radius:var(--border-radius-md);color:var(--semantic-status-positive);font-size:var(--type-scale-caption-font-size);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-3)}.household-invite-success__message{margin:0 0 var(--spacing-2)}.household-invite-success__link{max-width:100%;display:inline-flex}.household-invite-success__link .household-invitation-item__code-text{overflow-wrap:anywhere}.household-scorecard{gap:var(--spacing-4);flex-direction:column;display:flex}.household-scorecard__header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-4);flex-wrap:wrap;display:flex}.household-scorecard__summary{gap:var(--spacing-1);min-width:min(100%,280px);padding:var(--spacing-3);background:var(--semantic-background-secondary);border:1px solid var(--semantic-border-default);border-radius:var(--border-radius-md);flex-direction:column;display:flex}.household-scorecard__summary--positive{background:var(--color-green-50,#f0fdf4);border-color:var(--semantic-status-positive)}.household-scorecard__summary--negative{background:var(--color-red-50,#fef2f2);border-color:var(--semantic-status-negative)}.household-scorecard__summary-label,.household-scorecard__summary-meta,.household-scorecard-member__pace,.household-scorecard-member__amounts,.household-scorecard-member__bar-meta,.household-scorecard-member__category{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary)}.household-scorecard__summary-copy{color:var(--semantic-text-primary);font-weight:var(--font-weight-medium);line-height:var(--line-height-relaxed,1.5);margin:0}.household-scorecard__summary-amount{color:inherit}.household-scorecard__members{gap:var(--spacing-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:0;padding:0;list-style:none;display:grid}.household-scorecard-member{gap:var(--spacing-3);padding:var(--spacing-4);background:var(--semantic-background-secondary);border:1px solid var(--semantic-border-default);border-radius:var(--border-radius-md);flex-direction:column;display:flex}.household-scorecard-member__header,.household-scorecard-member__identity{justify-content:space-between;align-items:center;gap:var(--spacing-3);display:flex}.household-scorecard-member__identity{justify-content:flex-start}.household-scorecard-member__avatar{border-radius:var(--border-radius-full,9999px);background:var(--semantic-background-primary);border:1px solid var(--semantic-border-default);width:2.75rem;height:2.75rem;color:var(--semantic-text-primary);font-weight:var(--font-weight-semibold);justify-content:center;align-items:center;display:inline-flex}.household-scorecard-member__name{font-weight:var(--font-weight-semibold);color:var(--semantic-text-primary);display:block}.household-scorecard-member__role{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);display:block}.household-scorecard-member__status{align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--border-radius-full,9999px);font-size:var(--type-scale-caption-font-size);font-weight:var(--font-weight-semibold);white-space:nowrap;display:inline-flex}.household-scorecard-member__status--positive{background:var(--color-green-50,#f0fdf4);color:var(--semantic-status-positive)}.household-scorecard-member__status--warning{background:var(--color-amber-50,#fffbeb);color:var(--semantic-status-warning)}.household-scorecard-member__status--negative{background:var(--color-red-50,#fef2f2);color:var(--semantic-status-negative)}.household-scorecard-member__pace,.household-scorecard-member__motivation{margin:0}.household-scorecard-member__amounts,.household-scorecard-member__bar-meta{justify-content:space-between;gap:var(--spacing-3);flex-wrap:wrap;display:flex}.household-scorecard-member__bar-group{gap:var(--spacing-3);flex-direction:column;display:flex}.household-scorecard-member__bar-row{gap:var(--spacing-1);flex-direction:column;display:flex}.household-scorecard-member__progress{background:var(--semantic-border-default);border-radius:var(--border-radius-full,9999px);width:100%;height:.5rem;overflow:hidden}.household-scorecard-member__progress-fill{border-radius:inherit;height:100%;display:block}.household-scorecard-member__progress-fill--time{background:var(--semantic-interactive-default)}.household-scorecard-member__progress-fill--positive{background:var(--semantic-status-positive)}.household-scorecard-member__progress-fill--warning{background:var(--semantic-status-warning)}.household-scorecard-member__progress-fill--negative{background:var(--semantic-status-negative)}.household-scorecard-member__category{margin:0}.household-scorecard-member__category--clear{color:var(--semantic-status-positive)}.household-scorecard-member__motivation{color:var(--semantic-text-primary);line-height:var(--line-height-relaxed,1.5)}.household-beta,.household-beta-panel{gap:var(--spacing-4);flex-direction:column;display:flex}.household-beta-panel{padding:var(--spacing-4);background:var(--semantic-background-secondary);border:1px solid var(--semantic-border-default);border-radius:var(--border-radius-md)}.household-beta-panel__header,.household-beta-list__item,.household-beta-list__actions{justify-content:space-between;align-items:center;gap:var(--spacing-3);display:flex}.household-beta-form{gap:var(--spacing-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.household-beta-list{gap:var(--spacing-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.household-beta-list__item{padding:var(--spacing-3);background:var(--semantic-background-primary);border-radius:var(--border-radius-md);color:var(--semantic-text-secondary);font-size:var(--type-scale-caption-font-size);flex-wrap:wrap}.household-beta-list__item strong{color:var(--semantic-text-primary)}.household-beta-list__actions{flex-wrap:wrap}.household-settle-up{gap:var(--spacing-4);flex-direction:column;display:flex}.household-settle-up-form{gap:var(--spacing-3);flex-direction:column;display:flex}.household-settle-up-form__grid,.household-settle-up__summary-grid{gap:var(--spacing-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.household-settle-up-members{gap:var(--spacing-2);padding:var(--spacing-3);border:1px solid var(--semantic-border-default);border-radius:var(--border-radius-md);flex-direction:column;display:flex}.household-settle-up-members legend,.household-settle-up__subtitle{color:var(--semantic-text-primary);font-weight:var(--font-weight-semibold)}.household-settle-up-member-row,.household-settle-up-balance,.household-settle-up-suggestion,.household-settle-up-expense{justify-content:space-between;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);border-radius:var(--border-radius-md);background:var(--semantic-background-secondary);display:flex}.household-settle-up-member-row__check{align-items:center;gap:var(--spacing-2);color:var(--semantic-text-primary);display:inline-flex}.household-settle-up-member-row__amount{max-width:9rem}.household-settle-up-balance-list,.household-settle-up-suggestion-list,.household-settle-up-expense-list{gap:var(--spacing-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.household-settle-up-balance--positive strong{color:var(--semantic-status-positive)}.household-settle-up-balance--negative strong{color:var(--semantic-status-negative)}.household-settle-up-balance--zero strong{color:var(--semantic-text-secondary)}@media (max-width:480px){.household-page{padding:var(--spacing-4)}.household-member-item,.household-invitation-item,.household-sharing-item,.household-goal-item,.household-kid-card__header{flex-direction:column;align-items:flex-start}.household-member-item__actions,.household-budget-item__controls{justify-content:flex-end;width:100%}.household-kid-card__stats,.household-kid-card__inline-fields,.household-kids-form__grid,.household-permissions-grid{grid-template-columns:1fr}.household-permissions-table-wrap{overflow-x:auto}.household-scorecard__header,.household-scorecard-member__header,.household-trusted-helper__header{flex-direction:column;align-items:flex-start}.household-scorecard__members{grid-template-columns:1fr}}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .household-banner--error{background:#ef44441a}html:not([data-theme=light]) .household-banner--success,html:not([data-theme=light]) .household-trusted-helper__badge{background:#22c55e1a}}[data-theme=dark] .household-banner--error{background:#ef44441a}[data-theme=dark] .household-banner--success,[data-theme=dark] .household-trusted-helper__badge{background:#22c55e1a}@media (prefers-reduced-motion:reduce){.household-toggle__track,.household-toggle__thumb,.household-button{transition:none}}@media (prefers-contrast:more){.household-card,.household-form-input,.household-form-select,.household-button{border-width:2px}}.household-member-item__permissions{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);display:block}.household-permissions-details{margin-top:var(--spacing-4);border-top:1px solid var(--semantic-border-default);padding-top:var(--spacing-3)}.household-permissions-summary{cursor:pointer;font-size:var(--type-scale-body-font-size);font-weight:var(--font-weight-medium);color:var(--semantic-interactive-default);padding:var(--spacing-2) 0}.household-permissions-summary:hover{text-decoration:underline}.household-permissions-grid{gap:var(--spacing-4);margin-top:var(--spacing-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.household-permissions-column__title{font-size:var(--type-scale-caption-font-size);font-weight:var(--font-weight-semibold);color:var(--semantic-text-primary);margin-bottom:var(--spacing-2)}.household-permissions-list{margin:0;padding:0;list-style:none}.household-permissions-list__item{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);padding:var(--spacing-1) 0;text-transform:capitalize}.household-sharing-list{gap:var(--spacing-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.household-sharing-item{padding:var(--spacing-3);background:var(--semantic-background-secondary);border-radius:var(--border-radius-md);justify-content:space-between;align-items:center;gap:var(--spacing-3);display:flex}.household-sharing-item__info{align-items:center;gap:var(--spacing-3);display:flex}.household-sharing-item__name{font-weight:var(--font-weight-medium);color:var(--semantic-text-primary)}.household-sharing-item__badge{font-size:var(--type-scale-caption-font-size);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--border-radius-full,9999px);font-weight:var(--font-weight-medium)}.household-sharing-item__badge--shared{background:var(--color-green-50,#f0fdf4);color:var(--semantic-status-positive)}.household-sharing-item__badge--private{background:var(--color-amber-50,#fffbeb);color:var(--semantic-status-warning)}.household-card__note{margin-top:var(--spacing-4);padding:var(--spacing-3);background:var(--color-blue-50,#eff6ff);border-left:3px solid var(--semantic-interactive-default);border-radius:var(--border-radius-md);font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);line-height:var(--line-height-relaxed,1.5)}.household-budget-item__info{gap:var(--spacing-1);flex-direction:column;display:flex}.household-budget-item__mode{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary)}.household-budget-item__controls{align-items:center;gap:var(--spacing-2);display:flex}.household-goal-list{gap:var(--spacing-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.household-goal-item{padding:var(--spacing-3);background:var(--semantic-background-secondary);border-radius:var(--border-radius-md);justify-content:space-between;align-items:center;gap:var(--spacing-3);display:flex}.household-goal-item__info{align-items:center;gap:var(--spacing-3);display:flex}.household-goal-item__name{font-weight:var(--font-weight-medium);color:var(--semantic-text-primary)}.household-goal-item__badge{font-size:var(--type-scale-caption-font-size);color:var(--semantic-status-positive)}.household-invitation-item__code-group{align-items:center;gap:var(--spacing-2);display:inline-flex}.household-invitation-item__code-label{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);font-weight:var(--font-weight-medium);text-transform:none}.household-invitation-item__code{align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-primary);background:var(--semantic-surface-subtle,var(--semantic-surface-secondary));border:1px solid var(--semantic-border-default);border-radius:var(--radius-sm,4px);cursor:pointer;font-family:inherit;line-height:1.2;transition:background .12s ease-in-out,border-color .12s ease-in-out;display:inline-flex}.household-invitation-item__code:hover,.household-invitation-item__code:focus-visible{background:var(--semantic-surface-hover,var(--semantic-surface-tertiary));border-color:var(--semantic-border-emphasis,var(--semantic-border-default))}.household-invitation-item__code:focus-visible{outline:2px solid var(--semantic-focus-ring,var(--semantic-action-primary));outline-offset:2px}.household-invitation-item__code-text{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-weight:var(--font-weight-medium)}.household-invitation-item__code-hint{font-size:calc(var(--type-scale-caption-font-size) * .85);color:var(--semantic-text-secondary);text-transform:uppercase;letter-spacing:.04em}.household-permissions-table-wrap{overflow-x:auto}.household-permissions-table{border-collapse:collapse;width:100%;font-size:var(--type-scale-caption-font-size)}.household-permissions-table th,.household-permissions-table td{padding:var(--spacing-2) var(--spacing-3);text-align:left;border-bottom:1px solid var(--semantic-border-default)}.household-permissions-table th{font-weight:var(--font-weight-semibold);color:var(--semantic-text-primary);background:var(--semantic-background-secondary)}.household-permissions-table td{color:var(--semantic-text-secondary);text-transform:capitalize}.household-permissions-table__cell{text-align:center}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .household-sharing-item__badge--shared{background:#22c55e1a}html:not([data-theme=light]) .household-sharing-item__badge--private{background:#f59e0b1a}html:not([data-theme=light]) .household-card__note{background:#3b82f61a}}[data-theme=dark] .household-sharing-item__badge--shared{background:#22c55e1a}[data-theme=dark] .household-sharing-item__badge--private{background:#f59e0b1a}[data-theme=dark] .household-card__note{background:#3b82f61a}.privacy-dashboard{max-width:800px;padding:var(--spacing-4) var(--spacing-4) var(--spacing-8);margin:0 auto}.privacy-dashboard__header{margin-bottom:var(--spacing-6)}.privacy-dashboard__title{font-size:var(--type-scale-h1-font-size,2rem);font-weight:var(--font-weight-bold,700);color:var(--semantic-text-primary);margin:0 0 var(--spacing-2)}.privacy-dashboard__subtitle{font-size:var(--type-scale-body-font-size,1rem);color:var(--semantic-text-secondary);margin:0;line-height:1.5}.privacy-dashboard__section{margin-bottom:var(--spacing-6);padding:var(--spacing-5);border-radius:var(--card-border-radius,var(--border-radius-md));border:1px solid var(--semantic-border-default);background-color:var(--semantic-background-elevated,var(--semantic-background-secondary));box-shadow:var(--card-shadow,none)}.privacy-dashboard__section-title{font-size:var(--type-scale-h2-font-size,1.5rem);font-weight:var(--font-weight-semibold);color:var(--semantic-text-primary);margin:0 0 var(--spacing-2)}.privacy-dashboard__section-description{font-size:var(--type-scale-body-font-size,1rem);color:var(--semantic-text-secondary);margin:0 0 var(--spacing-4);line-height:1.5}.privacy-dashboard__storage-overview{margin-top:var(--spacing-3)}.privacy-dashboard__storage-bar{background-color:var(--semantic-background-primary);border:1px solid var(--semantic-border-default);border-radius:6px;height:12px;overflow:hidden}.privacy-dashboard__storage-fill{background-color:var(--semantic-interactive-default);border-radius:6px;height:100%;transition:width .3s}.privacy-dashboard__storage-labels{margin-top:var(--spacing-2);font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);justify-content:space-between;display:flex}.privacy-dashboard__categories{gap:var(--spacing-3);display:grid}.privacy-dashboard__category-card{gap:var(--spacing-3);padding:var(--spacing-3);border-radius:var(--border-radius-sm);border:1px solid var(--semantic-border-default);background-color:var(--semantic-background-primary);display:flex}.privacy-dashboard__category-icon{text-align:center;flex-shrink:0;width:2.5rem;font-size:1.5rem}.privacy-dashboard__category-content{flex:1;min-width:0}.privacy-dashboard__category-name{font-size:var(--type-scale-body-font-size,1rem);font-weight:var(--font-weight-semibold);color:var(--semantic-text-primary);margin:0 0 var(--spacing-1)}.privacy-dashboard__category-description{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);margin:0 0 var(--spacing-2);line-height:1.4}.privacy-dashboard__category-meta{gap:var(--spacing-3);font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);flex-wrap:wrap;display:flex}.privacy-dashboard__category-local{color:var(--semantic-status-positive)}.privacy-dashboard__category-leaves{color:var(--semantic-status-info)}.privacy-dashboard__consent-item{justify-content:space-between;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-3);border-bottom:1px solid var(--semantic-border-default);display:flex}.privacy-dashboard__consent-item:last-of-type{border-bottom:none}.privacy-dashboard__consent-item--essential{opacity:.7}.privacy-dashboard__consent-info{flex:1;min-width:0}.privacy-dashboard__consent-label{font-size:var(--type-scale-body-font-size,1rem);font-weight:var(--font-weight-semibold);color:var(--semantic-text-primary);cursor:pointer}.privacy-dashboard__consent-required{font-size:var(--type-scale-caption-font-size);font-weight:var(--font-weight-normal,400);color:var(--semantic-text-secondary)}.privacy-dashboard__consent-description{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);margin:var(--spacing-1) 0 0;line-height:1.4}.privacy-dashboard__consent-toggle{width:1.25rem;height:1.25rem;margin-top:var(--spacing-1);cursor:pointer;flex-shrink:0}.privacy-dashboard__consent-toggle:focus-visible{outline:2px solid var(--semantic-border-focus);outline-offset:2px}.privacy-dashboard__consent-timestamp{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);margin-top:var(--spacing-3)}.privacy-dashboard__consent-actions{gap:var(--spacing-3);margin-top:var(--spacing-3);display:flex}.privacy-dashboard__action-btn{padding:var(--spacing-2) var(--spacing-4);border-radius:var(--border-radius-sm);border:1px solid var(--semantic-border-default);background-color:var(--semantic-background-primary);color:var(--semantic-interactive-default);font-size:var(--type-scale-caption-font-size);font-weight:var(--font-weight-medium,500);cursor:pointer;transition:background-color .15s}.privacy-dashboard__action-btn:hover{background-color:var(--semantic-background-secondary)}.privacy-dashboard__action-btn:focus-visible{outline:2px solid var(--semantic-border-focus);outline-offset:2px}.privacy-dashboard__status{font-size:var(--type-scale-caption-font-size);color:var(--semantic-status-positive);margin-top:var(--spacing-2)}.privacy-dashboard__loading{text-align:center;padding:var(--spacing-4);color:var(--semantic-text-secondary)}.privacy-dashboard__error{padding:var(--spacing-3);border-radius:var(--border-radius-sm);color:var(--semantic-status-negative);font-size:var(--type-scale-caption-font-size);background-color:#ef444414}.privacy-dashboard__rights{gap:var(--spacing-3);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.privacy-dashboard__right-card{padding:var(--spacing-4);border-radius:var(--border-radius-sm);border:1px solid var(--semantic-border-default);background-color:var(--semantic-background-primary)}.privacy-dashboard__right-title{font-size:var(--type-scale-body-font-size,1rem);font-weight:var(--font-weight-semibold);color:var(--semantic-text-primary);margin:0 0 var(--spacing-2)}.privacy-dashboard__right-description{font-size:var(--type-scale-caption-font-size);color:var(--semantic-text-secondary);margin:0 0 var(--spacing-3);line-height:1.4}.privacy-dashboard__right-link{font-size:var(--type-scale-caption-font-size);color:var(--semantic-interactive-default);font-weight:var(--font-weight-medium,500);text-decoration:none}.privacy-dashboard__right-link:hover{text-decoration:underline}.privacy-dashboard__right-link:focus-visible{outline:2px solid var(--semantic-border-focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){.privacy-dashboard__storage-fill,.privacy-dashboard__action-btn{transition:none}}@media (prefers-contrast:more){.privacy-dashboard__section,.privacy-dashboard__category-card,.privacy-dashboard__right-card{border-width:2px}}@media (max-width:480px){.privacy-dashboard{padding:var(--spacing-3) var(--spacing-3) var(--spacing-6)}.privacy-dashboard__section{padding:var(--spacing-3)}.privacy-dashboard__category-card{flex-direction:column}.privacy-dashboard__category-meta{gap:var(--spacing-1);flex-direction:column}.privacy-dashboard__consent-actions{flex-direction:column}}.safety-page{max-width:960px;padding:var(--spacing-6,1.5rem);color:var(--semantic-text-primary,#111827);font-size:var(--type-scale-body-font-size,1rem);line-height:var(--type-scale-body-line-height,1.6);margin:0 auto}.safety-page__header{margin-bottom:var(--spacing-6,1.5rem)}.safety-page__eyebrow{margin:0 0 var(--spacing-2,.5rem);color:var(--semantic-text-secondary,#4b5563);font-size:var(--type-scale-label-font-size,.875rem);font-weight:var(--font-weight-semibold,600);letter-spacing:.02em;text-transform:uppercase}.safety-page__title{font-size:var(--type-scale-display-font-size,2.5rem);line-height:var(--type-scale-display-line-height,1.2);margin:0}.safety-page__intro{max-width:42rem;margin:var(--spacing-3,.75rem) 0 0;color:var(--semantic-text-secondary,#4b5563);font-size:var(--type-scale-title-font-size,1.25rem)}.safety-page__status,.safety-page__section{border:1px solid var(--semantic-border-default,#d1d5db);border-radius:var(--border-radius-xl,1rem);background:var(--semantic-background-primary,#fff);box-shadow:var(--elevation-low,0 1px 2px #0f172a14)}.safety-page__status{justify-content:space-between;align-items:center;gap:var(--spacing-4,1rem);margin-bottom:var(--spacing-5,1.25rem);padding:var(--spacing-5,1.25rem);display:flex}.safety-page__status--clear{border-color:var(--semantic-color-success-border,#86efac);background:var(--semantic-color-success-subtle,#f0fdf4)}.safety-page__status--check{border-color:var(--semantic-color-warning-border,#facc15);background:var(--semantic-color-warning-subtle,#fefce8)}.safety-page__status-label,.safety-page__section-note{color:var(--semantic-text-secondary,#4b5563);margin:0}.safety-page__status-label{font-size:var(--type-scale-label-font-size,.875rem);font-weight:var(--font-weight-semibold,600)}.safety-page__status-title,.safety-page__section-title,.safety-page__alert-title{margin:0;line-height:1.3}.safety-page__status-title{margin-top:var(--spacing-1,.25rem);font-size:var(--type-scale-headline-font-size,1.875rem)}.safety-page__status-text{margin:var(--spacing-2,.5rem) 0 0;color:var(--semantic-text-secondary,#4b5563)}.safety-page__check-button,.safety-page__review-link{border-radius:var(--border-radius-lg,.75rem);min-height:44px;font:inherit;font-weight:var(--font-weight-semibold,600);justify-content:center;align-items:center;display:inline-flex}.safety-page__check-button{border:1px solid var(--semantic-border-default,#d1d5db);padding:var(--spacing-2,.5rem) var(--spacing-4,1rem);background:var(--semantic-background-primary,#fff);color:var(--semantic-text-primary,#111827);cursor:pointer}.safety-page__review-link{padding:var(--spacing-2,.5rem) var(--spacing-3,.75rem);color:var(--semantic-action-primary,#1d4ed8)}.safety-page__check-button:focus-visible,.safety-page__review-link:focus-visible{outline:3px solid var(--semantic-border-focus,#2563eb);outline-offset:3px}.safety-page__error{margin-bottom:var(--spacing-5,1.25rem);border:1px solid var(--semantic-color-danger-border,#fca5a5);border-radius:var(--border-radius-lg,.75rem);padding:var(--spacing-4,1rem);background:var(--semantic-color-danger-subtle,#fef2f2)}.safety-page__section{margin-top:var(--spacing-5,1.25rem);padding:var(--spacing-5,1.25rem)}.safety-page__section-header{margin-bottom:var(--spacing-4,1rem)}.safety-page__section-title{font-size:var(--type-scale-headline-font-size,1.5rem)}.safety-page__section-note{margin-top:var(--spacing-2,.5rem)}.safety-page__alert-list,.safety-page__tip-list{gap:var(--spacing-3,.75rem);margin:0;padding:0;list-style:none;display:grid}.safety-page__alert-card,.safety-page__tip-card{border:1px solid var(--semantic-border-default,#d1d5db);border-radius:var(--border-radius-lg,.75rem);background:var(--semantic-background-secondary,#f9fafb)}.safety-page__alert-card{justify-content:space-between;align-items:flex-start;gap:var(--spacing-4,1rem);padding:var(--spacing-4,1rem);display:flex}.safety-page__alert-title{font-size:var(--type-scale-title-font-size,1.25rem)}.safety-page__alert-message,.safety-page__next-step,.safety-page__empty{margin:var(--spacing-2,.5rem) 0 0}.safety-page__next-step{color:var(--semantic-text-primary,#111827)}.safety-page__empty{color:var(--semantic-text-secondary,#4b5563)}.safety-page__tip-card{padding:var(--spacing-4,1rem)}[data-a11y-cognitive=true] .safety-page{max-width:760px}[data-a11y-cognitive=true] .safety-page__status,[data-a11y-cognitive=true] .safety-page__alert-card{flex-direction:column;align-items:stretch}@media (max-width:640px){.safety-page{padding:var(--spacing-4,1rem)}.safety-page__status,.safety-page__alert-card{flex-direction:column;align-items:stretch}}.watchlist-alerts{gap:var(--spacing-3,12px);flex-direction:column;display:flex}.watchlist-alert{align-items:flex-start;gap:var(--spacing-3,12px);padding:var(--spacing-3,12px) var(--spacing-4,16px);border-radius:var(--border-radius-md,8px);border:1px solid;display:flex}.watchlist-alert--info{background-color:var(--color-blue-50,#eff6ff);border-color:var(--color-blue-200,#bfdbfe);color:var(--color-blue-800,#1e40af)}.watchlist-alert--warning{background-color:var(--color-amber-50,#fffbeb);border-color:var(--color-amber-200,#fde68a);color:var(--color-amber-800,#92400e)}.watchlist-alert--critical{background-color:var(--color-red-50,#fef2f2);border-color:var(--color-red-200,#fecaca);color:var(--color-red-800,#991b1b)}.watchlist-alert__content{align-items:flex-start;gap:var(--spacing-2,8px);flex:1;display:flex}.watchlist-alert__icon{flex-shrink:0;font-size:1.25rem}.watchlist-alert__text{flex:1;min-width:0}.watchlist-alert__message{font-size:var(--type-scale-body-font-size,.875rem);margin-bottom:var(--spacing-2,8px);font-weight:500}.watchlist-alert__progress{border-radius:var(--border-radius-full,9999px);background-color:#0000001a;height:6px;overflow:hidden}.watchlist-alert__progress-fill{border-radius:inherit;height:100%;transition:width var(--duration-normal,.2s) ease}.watchlist-alert__progress-fill--info{background-color:var(--color-blue-500,#3b82f6)}.watchlist-alert__progress-fill--warning{background-color:var(--color-amber-500,#f59e0b)}.watchlist-alert__progress-fill--critical{background-color:var(--color-red-500,#ef4444)}.watchlist-alert__dismiss{color:inherit;opacity:.6;cursor:pointer;padding:var(--spacing-1,4px);background:0 0;border:none;flex-shrink:0;font-size:1rem;line-height:1}.watchlist-alert__dismiss:hover{opacity:1}.watchlist-alert__dismiss:focus-visible{outline:2px solid var(--semantic-border-focus,#3b82f6);outline-offset:2px}.watchlist-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.watchlist-item{gap:var(--spacing-3,12px);padding:var(--spacing-4,16px);border-bottom:1px solid var(--semantic-border-default,#e5e7eb);grid-template-columns:auto minmax(0,1fr);align-items:flex-start;display:grid}.watchlist-item:last-child{border-bottom:none}.watchlist-item__drag-handle{margin-top:calc(var(--spacing-1,4px) * -1)}.watchlist-item__content{min-width:0}.watchlist-item__header{margin-bottom:var(--spacing-2,8px);justify-content:space-between;align-items:center;display:flex}.watchlist-item__name{font-size:var(--type-scale-body-font-size,.875rem);font-weight:600}.watchlist-item__period{font-size:var(--type-scale-caption-font-size,.75rem);color:var(--semantic-text-secondary,#6b7280);text-transform:capitalize}.watchlist-item__spending{font-size:var(--type-scale-caption-font-size,.75rem);color:var(--semantic-text-secondary,#6b7280);margin-bottom:var(--spacing-2,8px)}.watchlist-item__percentage{font-weight:600}.watchlist-item__bar{border-radius:var(--border-radius-full,9999px);background-color:var(--color-gray-200,#e5e7eb);height:8px;margin-bottom:var(--spacing-3,12px);overflow:hidden}.watchlist-item__bar-fill{border-radius:inherit;background-color:var(--semantic-status-positive,#22c55e);height:100%;transition:width var(--duration-normal,.2s) ease}.watchlist-item__bar-fill--warning{background-color:var(--semantic-status-warning,#f59e0b)}.watchlist-item__bar-fill--critical{background-color:var(--semantic-status-negative,#ef4444)}.watchlist-item__actions{gap:var(--spacing-2,8px);flex-wrap:wrap;display:flex}.watchlist-item__toggle,.watchlist-item__remove{padding:var(--spacing-1,4px) var(--spacing-2,8px);border:1px solid var(--semantic-border-default,#e5e7eb);border-radius:var(--border-radius-sm,4px);font-size:var(--type-scale-caption-font-size,.75rem);cursor:pointer;color:var(--semantic-text-primary,inherit);background:0 0}.watchlist-item__toggle:hover,.watchlist-item__remove:hover{background-color:var(--semantic-background-elevated,#f3f4f6)}.watchlist-item__toggle:focus-visible,.watchlist-item__remove:focus-visible{outline:2px solid var(--semantic-border-focus,#3b82f6);outline-offset:2px}.watchlist-item__remove{color:var(--semantic-status-negative,#ef4444);border-color:var(--semantic-status-negative,#ef4444)}.watchlist-form-overlay{z-index:50;padding:var(--spacing-4,16px);background-color:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.watchlist-form{width:100%;max-width:400px;padding:var(--spacing-6,24px)}.watchlist-form__title{font-size:var(--type-scale-title-font-size,1.125rem);margin-bottom:var(--spacing-4,16px);font-weight:600}.watchlist-form__field{margin-bottom:var(--spacing-3,12px)}.watchlist-form__field label{font-size:var(--type-scale-caption-font-size,.75rem);color:var(--semantic-text-secondary,#6b7280);margin-bottom:var(--spacing-1,4px);font-weight:500;display:block}.watchlist-form__field input,.watchlist-form__field select{width:100%;padding:var(--spacing-2,8px) var(--spacing-3,12px);border:1px solid var(--semantic-border-default,#e5e7eb);border-radius:var(--border-radius-sm,4px);font-size:var(--type-scale-body-font-size,.875rem);background-color:var(--semantic-background-primary,#fff);color:var(--semantic-text-primary,inherit)}.watchlist-form__field input:focus,.watchlist-form__field select:focus{outline:2px solid var(--semantic-border-focus,#3b82f6);outline-offset:0}.watchlist-form__actions{gap:var(--spacing-2,8px);margin-top:var(--spacing-4,16px);justify-content:flex-end;display:flex}.watchlist-form__submit{padding:var(--spacing-2,8px) var(--spacing-4,16px);background-color:var(--semantic-interactive-default,#3b82f6);color:#fff;border-radius:var(--border-radius-sm,4px);cursor:pointer;border:none;font-weight:600}.watchlist-form__submit:focus-visible{outline:2px solid var(--semantic-border-focus,#3b82f6);outline-offset:2px}.watchlist-form__cancel{padding:var(--spacing-2,8px) var(--spacing-4,16px);border:1px solid var(--semantic-border-default,#e5e7eb);border-radius:var(--border-radius-sm,4px);cursor:pointer;color:var(--semantic-text-primary,inherit);background:0 0}.watchlist-form__cancel:focus-visible{outline:2px solid var(--semantic-border-focus,#3b82f6);outline-offset:2px}[data-theme=dark] .watchlist-alert--info{color:var(--color-blue-200,#bfdbfe);background-color:#3b82f61f}[data-theme=dark] .watchlist-alert--warning{color:var(--color-amber-200,#fde68a);background-color:#f59e0b1f}[data-theme=dark] .watchlist-alert--critical{color:var(--color-red-200,#fecaca);background-color:#ef44441f}@media (prefers-reduced-motion:reduce){.watchlist-alert__progress-fill,.watchlist-item__bar-fill{transition:none}}@media (max-width:640px){.watchlist-item{grid-template-columns:1fr}.watchlist-item__drag-handle{margin-top:0}}
