/* MoneyBuddy v68.19 | Phase 5 shared visual system
   Scope: consistent chrome, controls, dialogs, feedback, and finishing details.
   Financial logic, saved IDs, Buddy artwork, seasonal controller and Garden stages unchanged. */
:root {
  --mb-brand-white:#FFFFFF;
  --mb-brand-navy:#14243B;
  --mb-brand-forest:#123D31;
  --mb-brand-gold:#C49A3A;
  --mb19-stroke:rgba(20,36,59,.13);
  --mb19-muted:rgba(20,36,59,.70);
  --mb19-shadow:0 12px 32px -24px rgba(20,36,59,.30),0 2px 8px rgba(20,36,59,.035);
  --mb19-radius:20px;
}
html {scroll-behavior:auto!important;scroll-padding-top:88px;}
body,main,#moneyBuddyFeatureLayer { -webkit-font-smoothing:antialiased; }
body { color:var(--mb-brand-navy); }
button,select,input,textarea { font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
button, [role=button] { touch-action: manipulation; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, [role=tab]:focus-visible {
  outline:3px solid var(--mb-brand-gold)!important;outline-offset:3px!important;
}
/* Chrome: a single consistent header, without extra large shadows or hover jumps. */
header.sticky {background:#FFFFFF!important;backdrop-filter:none!important;border-bottom:1px solid var(--mb19-stroke)!important;box-shadow:0 3px 12px rgba(20,36,59,.035)!important;}
#mb-header-inner { gap:clamp(8px,1.2vw,18px)!important; }
#mb-header-inner .moneybuddy-brand-title{color:var(--mb-brand-navy)!important;letter-spacing:-.045em!important;}
#mb-header-inner .mb-product-nav {border-radius:14px!important;border:1px solid var(--mb19-stroke)!important;box-shadow:none!important;}
#mb-header-inner .mb-product-nav button {border-radius:11px!important;min-height:40px!important;}
#mb-header-inner .mb-product-nav button.is-active {background:rgba(18,61,49,.075)!important;color:var(--mb-brand-forest)!important;}
#mb-header-inner #moneyBuddyMoreButton, #headerSignInBtn{
  border:1px solid rgba(20,36,59,.16)!important;background:#FFFFFF!important;color:var(--mb-brand-navy)!important;
  border-radius:13px!important;box-shadow:none!important;min-height:42px!important;
}
#mb-header-inner #moneyBuddyMoreButton:hover,#headerSignInBtn:hover{background:rgba(20,36,59,.045)!important;border-color:rgba(20,36,59,.3)!important;}
#mb-header-inner button[onclick="openAddEntryModal()"]{
  background:var(--mb-brand-forest)!important;color:#FFFFFF!important;border-color:var(--mb-brand-forest)!important;
  min-height:43px!important;border-radius:13px!important;box-shadow:none!important;
}
#mb-header-inner button[onclick="openAddEntryModal()"]:hover{background:var(--mb-brand-navy)!important;transform:none!important;}
/* Gentle card language on content dashboards: retain requested navy summary trio and gold Garden stage. */
#mb-main-shell .money-summary-card,
#mb-main-shell #where-it-goes-section,
#mb-main-shell #upcoming-obligations-card,
#mb-main-shell #recent-activity-card,
#mb-main-shell #net-worth-section {border-radius:21px!important;box-shadow:var(--mb19-shadow)!important;}
#mb-main-shell .money-summary-card.money-in-card,
#mb-main-shell .money-summary-card.money-out-card,
#mb-main-shell .money-summary-card.savings-card {background:var(--mb-brand-navy)!important;border:1px solid var(--mb-brand-navy)!important;}
#mb-main-shell .money-summary-card :is(h3,[class*="text-on-surface"]) {color:#FFFFFF!important;}
#mb-main-shell .money-summary-card .text-on-surface-variant{color:rgba(255,255,255,.76)!important;}
#mb-main-shell .money-summary-card .w-8.h-8 {background:rgba(196,154,58,.16)!important;border:1px solid rgba(196,154,58,.40)!important;}
#mb-main-shell .money-summary-card .w-8.h-8 .material-symbols-outlined{color:var(--mb-brand-gold)!important;}
#money-plant-section #plantVisualContainer {background:radial-gradient(circle at 50% 40%,#FFFFFF 0%,#F0E3BD 48%,#C49A3A 100%)!important;}
/* Shared controls: balance tap targets, typography, and keyboard navigation. */
.mb-control,
#moneyBuddyFeatureLayer input:not([type="checkbox"]):not([type="radio"]),
#moneyBuddyFeatureLayer select,
#moneyBuddyFeatureLayer textarea {
  min-height:44px!important;border-radius:12px!important;border:1px solid rgba(20,36,59,.2)!important;
  background:#FFFFFF!important;color:var(--mb-brand-navy)!important;
  box-shadow:none!important;max-width:100%;
}
#moneyBuddyFeatureLayer input::placeholder,#moneyBuddyFeatureLayer textarea::placeholder{color:rgba(20,36,59,.5)!important;}
#moneyBuddyFeatureLayer :is(.mb-feature-close,.mb-chip,.mb-tool-card,.mb-lesson-card,.mb-surface) {box-shadow:none!important;}
#moneyBuddyFeatureLayer .mb-surface{border-color:var(--mb19-stroke)!important;}
#moneyBuddyFeatureLayer .mb-chip:focus-visible {outline-offset:1px!important;}
#moneyBuddyFeatureLayer .mb-feature-heading p {max-width:64ch!important;}
#moneyBuddyFeatureLayer .mb-feature-toolbar {gap:9px!important;}
#moneyBuddyFeatureLayer .mb-tool-card,#moneyBuddyFeatureLayer .mb-lesson-card {overflow-wrap:anywhere;}
#moneyBuddyFeatureLayer .mb-tool-card:hover,#moneyBuddyFeatureLayer .mb-lesson-card:hover {transform:none!important;border-color:rgba(18,61,49,.36)!important;box-shadow:var(--mb19-shadow)!important;}
/* All true dialog surfaces, excluding Safety Cushion and Buddy World (they have dedicated layout). */
:is(#add-entry-modal,#edit-entry-modal,#bill-modal,#afford-modal,#asset-modal,#debt-modal,
#customize-pot-modal,#sign-in-modal,#plant-unlock-modal,#net-worth-explainer-modal,
#all-bills-modal,#manage-net-worth-modal) {background:rgba(20,36,59,.46)!important;backdrop-filter:blur(5px)!important;}
:is(#add-entry-modal,#edit-entry-modal,#bill-modal,#afford-modal,#asset-modal,#debt-modal,
#customize-pot-modal,#sign-in-modal,#plant-unlock-modal,#net-worth-explainer-modal,
#all-bills-modal,#manage-net-worth-modal) > div {
  background:#FFFFFF!important;color:var(--mb-brand-navy)!important;border:1px solid rgba(20,36,59,.13)!important;
  border-radius:23px!important;box-shadow:0 25px 70px -30px rgba(20,36,59,.4)!important;
}
/* Important: does not reposition Safety Cushion, Garden Collection or Buddy World dialogs. */
:is(#add-entry-modal,#edit-entry-modal,#bill-modal,#afford-modal,#asset-modal,#debt-modal,
#customize-pot-modal,#sign-in-modal,#net-worth-explainer-modal) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  border-radius:12px!important;min-height:46px!important;border:1px solid rgba(20,36,59,.19)!important;
  background:#FFFFFF!important;color:var(--mb-brand-navy)!important;box-shadow:none!important;
}
:is(#add-entry-modal,#edit-entry-modal,#bill-modal,#afford-modal,#asset-modal,#debt-modal,
#customize-pot-modal,#sign-in-modal,#net-worth-explainer-modal) label {color:var(--mb-brand-navy)!important;font-weight:650!important;}
:is(#add-entry-modal,#edit-entry-modal,#bill-modal,#afford-modal,#asset-modal,#debt-modal,
#customize-pot-modal,#sign-in-modal,#net-worth-explainer-modal) :is(input,select,textarea):focus-visible{outline:2px solid var(--mb-brand-forest)!important;outline-offset:1px!important;}
:is(#add-entry-modal,#edit-entry-modal,#bill-modal,#afford-modal,#asset-modal,#debt-modal,
#customize-pot-modal,#sign-in-modal,#net-worth-explainer-modal) button[type="submit"] {
  min-height:44px!important;border-radius:12px!important;
}
#mbHomeBuyDialog[open]{border:1px solid var(--mb19-stroke)!important;box-shadow:0 24px 65px -30px rgba(20,36,59,.4)!important;}
#mbHomeBuyDialog :is(input,select){border-radius:12px!important;}
#moneyGardenCollectionModal .mb-garden-dialog {box-shadow:0 24px 65px -30px rgba(20,36,59,.4)!important;}
/* Consistent feedback text sizes and restrained animation for perception of speed. */
#moneyBuddyMobileMoreSheet {box-shadow:0 24px 65px -30px rgba(20,36,59,.4)!important;}
@media(max-width:767px){
  html {scroll-padding-top:72px!important;}
  #mb-header-inner {min-width:0!important;}
  #moneyBuddyMobileNav {background:#FFFFFF!important;border:1px solid rgba(20,36,59,.12)!important;box-shadow:0 -6px 24px -16px rgba(20,36,59,.3)!important;}
  #moneyBuddyMobileNav > button {min-width:0!important;min-height:54px!important;border-radius:13px!important;}
  #moneyBuddyMobileNav > button:not(.mobile-add).is-active {background:rgba(18,61,49,.075)!important;color:var(--mb-brand-forest)!important;}
  #moneyBuddyMobileNav > button.mobile-add {background:var(--mb-brand-forest)!important;color:#FFFFFF!important;}
  #moneyBuddyFeatureLayer .mb-feature-shell {padding-bottom:calc(96px + env(safe-area-inset-bottom))!important;}
  #moneyBuddyFeatureLayer .mb-feature-heading h1{font-size:clamp(28px,8vw,38px)!important;}
}
@media(max-width:350px){
  #moneyBuddyMobileNav > button {padding-inline:2px!important;}
  #moneyBuddyMobileNav > button > span:last-child{font-size:10px!important;}
}
@media(prefers-reduced-motion:reduce){
  #mb-main-shell *,#moneyBuddyFeatureLayer *{scroll-behavior:auto!important;}
  #mb-main-shell button,#moneyBuddyFeatureLayer button{transition:none!important;}
}
/* The auth form already has a bordered email wrapper; avoid a doubled input ring. */
#sign-in-modal .mb-auth-input-safe { border:1px solid rgba(20,36,59,.24)!important;border-radius:13px!important;background:#FFFFFF!important;box-shadow:none!important; }
#sign-in-modal .mb-auth-input-safe:focus-within { outline:2px solid #123D31!important;outline-offset:2px!important; }
#sign-in-modal .mb-auth-input-safe input { border:0!important;outline:none!important;box-shadow:none!important;min-height:42px!important;background:transparent!important; }
#sign-in-modal .mb-auth-input-safe input:focus-visible { outline:none!important;box-shadow:none!important; }
/* Explicit ID prevents later generic form rules from adding an inner ring. */
html body #sign-in-modal .mb-auth-input-safe #signInEmail,
html body #sign-in-modal .mb-auth-input-safe #signInEmail:focus-visible{
  border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;
}
