/* Four reference screens. Public app content stays responsive and interactive. */
:root {
  --green: #007d45;
  --deep: #006c3d;
  --muted: #85909f;
  --line: #edf0ed;
  --red: #d6103c;
  --orange: #ed8b13;
  --shadow: 0 5px 20px rgba(54, 58, 38, .035);
}
.page-today, .page-budget, .page-shopping, .page-goals { color: #08131f; }
.heading p > strong { display: block; color: #08131f; }
.heading-hint { display: block; color: #85909f; }
.reference-demo { color: #83918b; font-size: 9px; line-height: 12px; margin: -9px 0 9px; }
.reference-wallet { cursor: pointer; }
.reference-wallet .hero-top p, .reference-budget .hero-top p { color: #08131f; font-weight: 650; }
.hero-budget { background: linear-gradient(115deg, #f1f8f0, #f6faf2); }
.reference-suggestion, .reference-opportunity { background: linear-gradient(115deg, #fffaf0, #fffdf7); }
.saving-art { position: absolute; width: 112px; height: 89px; right: 5px; bottom: 0; pointer-events: none; }
.reference-suggestion > .row > .text-button, .reference-opportunity > .row > .text-button { margin-left: auto; }
.reference-suggestion > p, .reference-opportunity > p { position: relative; z-index: 1; }
.reference-period { margin-bottom: 12px; }
.reference-budget .allocation-card .card-header h2 { gap: 10px; }
.allocation-card .card-header h2 > .round-icon { width: 35px; height: 35px; }
.allocation-card .envelope .name { justify-content: flex-start; color: #08131f; font-weight: 400; }
.reference-budget .reference-opportunity { align-self: start; }
.purchase-card .card-header h2, .purchase-projection h2 { font-size: 19px; }
.purchase-product { display: flex; align-items: center; gap: 18px; }
.purchase-product img { display: block; width: 135px; height: 107px; object-fit: cover; border-radius: 12px; background: #f4f1ed; }
.purchase-product h3 { font-size: 20px; }
.purchase-product strong { display: block; margin-top: 5px; font-size: 35px; line-height: 1.2; letter-spacing: -.7px; }
.purchase-alert { display: flex; align-items: center; gap: 16px; margin-top: 15px; padding: 14px; border-radius: 13px; background: #ffedef; color: #d10b38; }
.purchase-alert strong { font-size: 15px; font-weight: 600; line-height: 1.4; }
.result-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 39px; width: 39px; height: 39px; border-radius: 50%; background: #ff6c75; color: white; }
.result-icon .icon { width: 24px; height: 24px; stroke-width: 2.5; }
.purchase-alert.positive { background: #edf7ee; color: #087d46; }
.purchase-alert.positive .result-icon { background: #48ad75; }
.purchase-projection { background: linear-gradient(115deg, #f1f8f0, #f6faf2); }
.purchase-projection > .row { align-items: flex-start; }
.purchase-projection .row p { font-size: 13px; margin-top: 6px; color: #788695; line-height: 1.55; }
.purchase-projection .row p strong { color: var(--green); }
.purchase-timeline { position: relative; height: 8px; border-radius: 10px; background: #e1e5e7; margin: 19px 5px 11px; }
.purchase-timeline > span { display: block; width: 38%; height: 100%; background: #50ad7b; border-radius: inherit; }
.purchase-timeline::before, .purchase-timeline > i { content: ''; position: absolute; width: 15px; height: 15px; border: 2px solid white; border-radius: 50%; top: -4px; }
.purchase-timeline::before { left: -3px; background: #53b47f; }
.purchase-timeline > i { right: -3px; background: #d9dddf; }
.purchase-projection > .between { color: #85909f; }
.alternatives-card > .row { margin-bottom: 11px; }
.alternatives-card > .row .round-icon { width: 34px; height: 34px; }
.alternatives-card h2 { font-size: 18px; }
.alternative { display: flex; align-items: center; gap: 13px; width: 100%; min-height: 65px; background: white; border: 1px solid #eef0f1; border-radius: 11px; padding: 9px 11px; text-align: left; }
.alternative + .alternative { margin-top: 5px; }
.alternative > span:not(.round-icon) { flex: 1; min-width: 0; }
.alternative strong { display: block; color: #08131f; font-size: 14px; line-height: 1.4; font-weight: 600; }
.alternative small { display: block; color: #8994a3; font-size: 12px; line-height: 1.45; }
.alternative > .icon { width: 16px; height: 16px; color: #94a0af; }
.phone-art { position: absolute; right: 0; top: 44px; width: 155px; height: 145px; pointer-events: none; }
.featured-goal > .row:first-child { gap: 13px; align-items: flex-start; }
.featured-goal > .row:first-child .round-icon { width: 53px; height: 53px; }
.featured-goal > .row:first-child p { color: #08131f; }
.featured-goal .between p strong { color: var(--green); }
.featured-goal > .between, .featured-goal > .progress { position: relative; z-index: 1; pointer-events: none; }
.goal-contribution-hit, .goal-edit-hit { position: absolute; left: 0; right: 0; background: transparent; border: 0; border-radius: 15px; }
.goal-contribution-hit { height: 75px; bottom: 0; }
.goal-edit-hit { top: 0; bottom: 80px; }
.goal-contribution-hit:focus-visible, .goal-edit-hit:focus-visible { outline-offset: -4px; }
.goal-projection { position: relative; overflow: hidden; isolation: isolate; }
.goal-projection > .row { position: relative; z-index: 1; align-items: flex-start; }
.goal-projection > .row p { margin: 0; color: #08131f; }
.goal-projection .plant { width: 133px; height: 150px; }
.goal-projection > p { position: relative; max-width: 86%; }
.projection-risk { position: relative; z-index: 1; margin-top: 7px; padding: 5px 7px; border: 0; border-radius: 7px; background: #fff0dd; color: #a16b1d; font-size: 11px; }
.goal-row { position: relative; }
.goal-row-title { flex: 1; min-width: 0; }
.goal-row-title p { margin-top: 3px; color: var(--green); font-size: 12px; }
.goal-row .row > .money { white-space: nowrap; }
.goal-row-progress { display: grid; align-items: center; grid-template-columns: 1fr 34px; gap: 12px; margin: 11px 0 0 59px; color: #85909f; font-size: 12px; }
.goal-row-progress .progress { margin: 0; }
.projection-disclaimer { color: #85909f; font-size: 10px; line-height: 1.5; }

@media (max-width: 700px) {
  html, body { scrollbar-width: none; }
  html::-webkit-scrollbar, body::-webkit-scrollbar { display: none; width: 0; height: 0; }
  body { background: #fffefa; }
  .content:is(.page-today, .page-budget, .page-shopping, .page-goals) {
    max-width: 520px;
    padding: 18px 12px calc(89px + env(safe-area-inset-bottom));
  }
  :is(.page-today, .page-budget, .page-shopping, .page-goals) .heading {
    display: block;
    position: relative;
    margin: 0 10px 18px;
    min-height: 77px;
  }
  :is(.page-today, .page-budget, .page-shopping, .page-goals) .heading h1 {
    padding-right: 47px;
    color: #08131f;
    font-size: 31px;
    font-weight: 750;
    line-height: 1.18;
    letter-spacing: -1.05px;
  }
  :is(.page-today, .page-budget, .page-shopping, .page-goals) .heading p {
    max-width: none;
    margin-top: 8px;
    color: #85909f;
    font-size: 13px;
    line-height: 1.4;
  }
  :is(.page-today, .page-budget, .page-shopping, .page-goals) .heading p > strong {
    font-size: 17px;
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: -.25px;
  }
  .heading .heading-hint { margin-top: 4px; font-size: 12.5px; font-weight: 400; line-height: 1.45; }
  :is(.page-today, .page-budget, .page-shopping, .page-goals) .heading .mobile-avatar {
    position: absolute;
    right: -2px;
    top: -2px;
    width: 41px;
    height: 41px;
    background: #eff6ee;
    color: #4c9369;
  }
  .heading .mobile-avatar .icon { width: 23px; height: 23px; fill: currentColor; stroke-width: .8; }
  .reference-demo { margin: -9px 10px 8px; font-size: 9px; line-height: 11px; }
  :is(.page-today, .page-budget, .page-shopping, .page-goals) .page-foot { display: none; }
  .reference-secondary { display: none !important; }
  .reference-today, .reference-budget, .reference-shopping, .reference-goals { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .reference-today > .main-column, .reference-shopping > .stack, .reference-goals > .stack { gap: 12px; }
  .reference-today > *, .reference-budget > *, .reference-shopping > *, .reference-goals > * { min-width: 0; }
  :is(.reference-today, .reference-budget, .reference-shopping, .reference-goals) .card {
    border: 1px solid #f0f1ed;
    border-radius: 15px;
    padding: 12px;
    box-shadow: 0 5px 18px rgba(68, 61, 41, .035);
  }
  :is(.reference-today, .reference-budget, .reference-shopping, .reference-goals) .card-header {
    margin-bottom: 10px;
    min-height: 22px;
  }
  :is(.reference-today, .reference-budget, .reference-shopping, .reference-goals) .card-header h2 {
    color: #08131f;
    font-size: 17px;
    font-weight: 650;
    line-height: 1.25;
    letter-spacing: -.4px;
  }
  :is(.reference-today, .reference-budget, .reference-shopping, .reference-goals) .text-button { font-size: 12px; }
  :is(.reference-today, .reference-budget, .reference-shopping, .reference-goals) .card-header .text-button { min-height: 25px; padding: 0; gap: 7px; white-space: nowrap; }
  :is(.reference-today, .reference-budget, .reference-shopping, .reference-goals) .card-header .text-button .icon { width: 12px; height: 12px; }
  .reference-wallet {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-rows: 22px 45px 20px;
    column-gap: 12px;
    min-height: 117px;
    padding: 14px;
    border: 1px solid #eaf2e7;
    border-radius: 15px;
    background: linear-gradient(115deg, #f2f8f0, #f5f9f2);
  }
  .reference-wallet .hero-top { display: contents; }
  .reference-wallet .hero-top > .round-icon { grid-column: 1; grid-row: 1 / span 2; align-self: start; width: 44px; height: 44px; background: #dcf0dd; }
  .reference-wallet .hero-top > .round-icon .icon { width: 26px; height: 26px; }
  .reference-wallet .hero-top > p { grid-column: 2; grid-row: 1; align-self: center; font-size: 15px; line-height: 20px; letter-spacing: -.25px; }
  .reference-wallet .big-money { grid-column: 2; grid-row: 2; align-self: center; margin: 0; font-size: 39px; line-height: 1.05; font-weight: 750; letter-spacing: -1px; color: #007d45; white-space: nowrap; }
  .reference-wallet .sub { grid-column: 2; grid-row: 3; margin: 0; align-self: start; max-width: none; font-size: 10.5px; line-height: 17px; color: #84939e; }
  .reference-wallet .plant { width: 101px; height: 105px; right: -5px; bottom: -2px; opacity: .9; }
  .reference-today .metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
  .reference-today .metric {
    display: grid;
    grid-template-columns: 31px minmax(0, 1fr);
    grid-template-rows: 18px 21px 15px;
    column-gap: 7px;
    align-content: center;
    min-height: 74px;
    padding: 9px 8px;
    border-radius: 13px;
    border-color: #eef0ed;
  }
  .reference-today .metric > .round-icon { grid-column: 1; grid-row: 1 / span 2; align-self: start; width: 31px; height: 31px; border-radius: 50%; }
  .reference-today .metric > .round-icon .icon { width: 19px; height: 19px; }
  .reference-today .metric > p { grid-column: 2; grid-row: 1; margin: 0; color: #08131f; font-size: 11px; line-height: 18px; white-space: nowrap; }
  .reference-today .metric > strong { grid-column: 2; grid-row: 2; font-size: 14px; line-height: 21px; letter-spacing: -.5px; font-weight: 700; }
  .reference-today .metric > small { grid-column: 2; grid-row: 3; color: #85909f; font-size: 8.5px; line-height: 15px; white-space: nowrap; letter-spacing: -.15px; }
  .daily-tasks .card-header h2 { gap: 10px; }
  .daily-tasks .card-header h2 .icon { width: 20px; height: 20px; }
  .daily-tasks .tasks { gap: 6px; }
  .daily-tasks .task { gap: 12px; padding: 6px 10px; min-height: 48px; border-radius: 12px; }
  .daily-tasks .task.done { background: #f1f7f0; }
  .daily-tasks .task.important { background: #fff0f1; }
  .daily-tasks .task.medium { background: #fff7ed; }
  .daily-tasks .task:not(.done):not(.important):not(.medium) { background: #f7f8f7; }
  .daily-tasks .task-check { width: 25px; height: 25px; border-width: 1.8px; color: #85909f; }
  .daily-tasks .task.important .task-check { border: 0; background: #ff6871; color: white; font-weight: 700; font-size: 19px; }
  .daily-tasks .task.medium .task-check { border-color: #ff9800; }
  .daily-tasks .task.done .task-check { background: #348e62; color: white; }
  .daily-tasks .task-check .icon { width: 18px; height: 18px; }
  .daily-tasks .task strong { font-size: 13px; font-weight: 550; line-height: 18px; }
  .daily-tasks .task-body > .text-button { min-height: 19px !important; line-height: 18px; }
  .daily-tasks .task p { font-size: 10px; line-height: 15px; color: #81909b; }
  .daily-tasks .task .pill { flex-shrink: 0; font-size: 9px; line-height: 15px; padding: 4px 7px; border-radius: 10px; font-weight: 500; }
  .daily-tasks .task.done .pill { color: #7c9990; background: transparent; padding-right: 0; }
  .reference-today .reference-suggestion { min-height: 105px; padding: 12px 14px; }
  .reference-suggestion .row { gap: 10px; }
  .reference-suggestion .row .round-icon { width: 37px; height: 37px; }
  .reference-suggestion .row h2 { font-size: 16px; font-weight: 650; letter-spacing: -.2px; }
  .reference-suggestion > p { margin: 8px 0 0; max-width: 88%; color: #233747; font-size: 11.5px; line-height: 18px; }
  .reference-suggestion .saving-art { width: 79px; height: 63px; right: 2px; }
  .reference-period { min-height: 36px; padding: 3px; margin-bottom: 10px; border-radius: 12px; background: #fafbfa; }
  .reference-period button { min-height: 29px; padding: 3px 12px; border-radius: 9px; color: #7d8896; font-size: 12px; font-weight: 600; }
  .reference-period button.selected { background: #dfefdc; color: #153c32; }
  .reference-budget { gap: 10px; }
  .reference-budget .income-hero { grid-column: auto; }
  .reference-budget .income-hero .hero-budget { min-height: 194px; height: 194px; padding: 13px 14px 9px; border-radius: 15px; background: linear-gradient(115deg, #f0f8ef, #f6faf2); }
  .reference-budget .income-hero .hero-top { height: 22px; align-items: flex-start; }
  .reference-budget .income-hero .hero-top > .round-icon { position: absolute; left: 14px; top: 13px; width: 44px; height: 44px; background: #dcf0dd; }
  .reference-budget .income-hero .hero-top > .round-icon .icon { width: 26px; height: 26px; }
  .reference-budget .income-hero .hero-top > p { margin-left: 56px; font-size: 15.5px; line-height: 21px; }
  .reference-budget .income-hero .big-money { margin: 0 0 0 56px; font-size: 39px; line-height: 44px; letter-spacing: -1px; font-weight: 750; }
  .reference-budget .income-hero .sub { margin: 0 0 0 57px; font-size: 10.5px; line-height: 17px; max-width: none; color: #84939e; }
  .reference-budget .income-hero .plant { width: 94px; height: 116px; top: 25px; right: -3px; bottom: auto; opacity: .85; }
  .reference-budget .income-types { position: absolute; left: 8px; right: 8px; bottom: 8px; height: 82px; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; margin: 0; }
  .reference-budget .income-type { padding: 7px 3px; border-radius: 11px; border-color: #e6ede3; background: rgba(255,255,255,.94); }
  .reference-budget .income-type .round-icon { width: 34px; height: 34px; margin: 0 auto 3px; border-radius: 50%; }
  .reference-budget .income-type .round-icon .icon { width: 21px; height: 21px; }
  .reference-budget .income-type p { color: #08131f; font-size: 11px; line-height: 15px; }
  .reference-budget .income-type strong { display: block; margin-top: 1px; font-size: 13px; line-height: 19px; font-weight: 650; letter-spacing: -.3px; white-space: nowrap; }
  .reference-budget .allocation-card { min-height: 278px; padding: 8px 12px 11px; }
  .reference-budget .allocation-card .card-header { margin-bottom: 2px; min-height: 29px; }
  .reference-budget .allocation-card .card-header h2 { gap: 8px; font-size: 15.5px; white-space: nowrap; }
  .reference-budget .allocation-card .card-header h2 > .round-icon { width: 30px; height: 30px; }
  .reference-budget .allocation-card .card-header h2 > .round-icon .icon { width: 18px; height: 18px; }
  .reference-budget .allocation-card .card-header > .text-button { font-size: 10.5px; gap: 5px; }
  .reference-budget .envelope { grid-template-columns: 32px 65px minmax(0, 1fr) 51px; gap: 9px; min-height: 38px; padding: 3px 0; }
  .reference-budget .envelope > .round-icon { width: 32px; height: 32px; }
  .reference-budget .envelope > .round-icon .icon { width: 20px; height: 20px; }
  .reference-budget .envelope .name { padding: 0; min-height: 30px; font-size: 10.5px; line-height: 15px; white-space: nowrap; }
  .reference-budget .envelope .progress { height: 10px; background: #f0f2f3; }
  .reference-budget .envelope .progress > span { background: #91df9f; }
  .reference-budget .envelope .progress.red > span { background: #ff9299; }
  .reference-budget .envelope .progress.blue > span { background: #76c7ff; }
  .reference-budget .envelope .progress.green > span { background: #91df9f; }
  .reference-budget .envelope .progress.orange > span { background: #ffd366; }
  .reference-budget .envelope .progress.purple > span { background: #c8a6ff; }
  .reference-budget .envelope .progress.teal > span { background: #94dfcf; }
  .reference-budget .envelope .name[aria-label^="Modifier Alimentation"] + .progress:not(.red) > span { background: #91df9f; }
  .reference-budget .envelope .value { color: #08131f; font-size: 11.5px; line-height: 15px; white-space: nowrap; }
  .reference-budget .envelope .value small { margin-top: 1px; font-size: 9.5px; line-height: 14px; white-space: normal; }
  .reference-budget .reference-opportunity { min-height: 80px; padding: 9px 13px; }
  .reference-opportunity > .row { gap: 10px; }
  .reference-opportunity > .row .round-icon { width: 37px; height: 37px; }
  .reference-opportunity h2 { font-size: 15.5px; }
  .reference-opportunity > p { margin: -4px 0 0 47px; max-width: 80%; font-size: 10.5px; line-height: 16px; color: #7b8796; }
  .reference-opportunity > p .text-button { padding: 0; min-height: 16px; font-size: 10.5px; color: var(--green); }
  .reference-opportunity .saving-art { width: 89px; height: 70px; right: 0; }
  .reference-shopping .reference-wallet { min-height: 115px; grid-template-rows: 22px 43px 20px; }
  .reference-shopping .purchase-card { padding: 12px 10px 8px; min-height: 200px; }
  .reference-shopping .purchase-card .card-header { min-height: 20px; margin: 0 3px 7px; }
  .reference-shopping .purchase-card .card-header h2 { font-size: 17px; line-height: 20px; }
  .reference-shopping .purchase-product { gap: 13px; min-height: 86px; padding: 0 3px; }
  .reference-shopping .purchase-product img { flex: 0 0 110px; width: 110px; height: 86px; border-radius: 11px; }
  .reference-shopping .purchase-product h3 { margin: 0; font-size: 17px; line-height: 23px; font-weight: 600; }
  .reference-shopping .purchase-product strong { margin-top: 3px; font-size: 29px; line-height: 37px; letter-spacing: -.8px; font-weight: 700; }
  .reference-shopping .purchase-alert { min-height: 58px; gap: 13px; margin: 9px 0 0; padding: 8px 11px; border-radius: 12px; }
  .reference-shopping .purchase-alert strong { font-size: 13.5px; line-height: 19px; font-weight: 600; }
  .reference-shopping .result-icon { flex-basis: 38px; width: 38px; height: 38px; }
  .reference-shopping .result-icon .icon { width: 23px; height: 23px; }
  .reference-shopping .purchase-projection { min-height: 124px; padding: 12px 14px 10px; }
  .reference-shopping .purchase-projection > .row:first-child { gap: 13px; }
  .reference-shopping .purchase-projection > .row:first-child > .round-icon { width: 42px; height: 42px; background: #def0dc; }
  .reference-shopping .purchase-projection h2 { margin: 0; font-size: 16px; line-height: 20px; font-weight: 600; }
  .reference-shopping .purchase-projection .row p { margin: 4px 0 0; font-size: 12.5px; line-height: 18px; }
  .reference-shopping .purchase-timeline { margin: 9px 4px 8px; }
  .reference-shopping .purchase-projection > .between small { font-size: 11px; line-height: 15px; }
  .reference-shopping .alternatives-card { min-height: 160px; padding: 9px 10px 10px; }
  .reference-shopping .alternatives-card > .row { gap: 12px; margin: 0 3px 8px; }
  .reference-shopping .alternatives-card > .row > .round-icon { width: 30px; height: 30px; }
  .reference-shopping .alternatives-card > .row > .round-icon .icon { width: 20px; height: 20px; }
  .reference-shopping .alternatives-card h2 { font-size: 15.5px; }
  .reference-shopping .alternative { gap: 12px; min-height: 48px; padding: 6px 10px; }
  .reference-shopping .alternative + .alternative { margin-top: 4px; }
  .reference-shopping .alternative > .round-icon { width: 34px; height: 34px; }
  .reference-shopping .alternative > .round-icon .icon { width: 22px; height: 22px; }
  .reference-shopping .alternative strong { font-size: 13.5px; line-height: 18px; }
  .reference-shopping .alternative small { font-size: 10.5px; line-height: 16px; }
  .reference-shopping .alternative > .icon { width: 12px; height: 12px; }
  .shopping-lists-entry, .new-goal-entry { min-height: 33px; border: 0 !important; padding: 5px 10px; color: #72857b !important; background: transparent !important; font-size: 11px; }
  .reference-goals { gap: 23px; }
  .reference-goals .featured-goal { min-height: 197px; padding: 14px 15px; background: linear-gradient(115deg, #f1f8ef, #f6faf2); }
  .reference-goals .featured-goal > .row:first-child { gap: 13px; min-height: 52px; }
  .reference-goals .featured-goal > .row:first-child .round-icon { width: 52px; height: 52px; background: #dcf3df; }
  .reference-goals .featured-goal > .row:first-child .round-icon .icon { width: 29px; height: 29px; }
  .reference-goals .featured-goal > .row:first-child p { margin: 2px 0 0; font-size: 13px; line-height: 18px; }
  .reference-goals .featured-goal h2 { margin: 3px 0 0; font-size: 19px; line-height: 25px; font-weight: 650; letter-spacing: -.4px; }
  .reference-goals .featured-goal .target { margin: 2px 0 22px 65px; font-size: 39px; line-height: 47px; letter-spacing: -.7px; font-weight: 750; }
  .reference-goals .featured-goal > .between p { margin: 0; color: #7e8998; font-size: 13px; line-height: 20px; }
  .reference-goals .featured-goal > .between > span { font-size: 12px; }
  .reference-goals .featured-goal > .progress { margin: 10px 0 0; height: 15px; background: #dfeade; }
  .reference-goals .featured-goal > .progress > span { background: #36b45e; }
  .reference-goals .phone-art { width: 126px; height: 118px; right: 0; top: 42px; }
  .reference-goals .goal-projection { min-height: 122px; padding: 12px 15px; background: linear-gradient(115deg, #f1f8ff, #f6faff); }
  .reference-goals .goal-projection > .row { gap: 13px; min-height: 49px; }
  .reference-goals .goal-projection > .row > .round-icon { width: 49px; height: 49px; background: #e1f3ff; }
  .reference-goals .goal-projection > .row > .round-icon .icon { width: 28px; height: 28px; }
  .reference-goals .goal-projection > .row p { margin: 1px 0 0; color: #08131f; font-size: 13px; line-height: 18px; }
  .reference-goals .goal-projection h2 { margin: 3px 0 0; font-size: 23px; line-height: 29px; letter-spacing: -.55px; font-weight: 700; }
  .reference-goals .goal-projection > p { max-width: 85%; margin: 8px 0 0; color: #85909f; font-size: 12.5px; line-height: 19px; }
  .reference-goals .goal-projection .plant { width: 110px; height: 120px; right: -3px; bottom: -3px; opacity: .9; }
  .reference-goals .goal-list-card { gap: 10px; }
  .reference-goals .goal-list-card > .card-header { min-height: 25px; margin: 0 10px 2px; }
  .reference-goals .goal-list-card > .card-header h2 { font-size: 19px; line-height: 25px; }
  .reference-goals .goal-row { min-height: 90px; padding: 10px 12px; border-radius: 15px; border-color: #f0f1ed; box-shadow: 0 4px 16px rgba(68,61,41,.035); }
  .reference-goals .goal-row > .row { gap: 12px; min-height: 52px; }
  .reference-goals .goal-row > .row > .round-icon { width: 52px; height: 52px; }
  .reference-goals .goal-row > .row > .round-icon .icon { width: 28px; height: 28px; }
  .reference-goals .goal-row h3 { color: #08131f; font-size: 14px; line-height: 20px; font-weight: 600; letter-spacing: -.25px; }
  .reference-goals .goal-row-title p { margin-top: 2px; font-size: 11.5px; line-height: 17px; }
  .reference-goals .goal-row .row > .money { font-size: 15px; letter-spacing: -.3px; }
  .reference-goals .goal-row .row > .text-button { min-height: 30px; padding: 0; }
  .reference-goals .goal-row .row > .text-button .icon { width: 11px; height: 11px; }
  .reference-goals .goal-row-progress { position: absolute; left: 76px; right: 16px; bottom: 13px; grid-template-columns: minmax(0,1fr) 29px; gap: 11px; margin: 0; font-size: 11px; line-height: 14px; }
  .reference-goals .goal-row-progress .progress { height: 10px; background: #edf0f2; }
  .reference-goals .goal-row-progress .progress > span { background: #35b45e; }
  .reference-goals .goal-row-progress .progress.orange > span { background: #ffb536; }
  .reference-goals .new-goal-entry { margin-top: 12px; }
  .projection-disclaimer { text-align: center; font-size: 9px; }
  .bottom-nav { min-height: calc(70px + env(safe-area-inset-bottom)); padding: 7px 5px max(9px, env(safe-area-inset-bottom)); border-radius: 22px 22px 0 0; border-top-color: #f0f1ed; background: rgba(255,255,255,.98); box-shadow: 0 -5px 20px rgba(69,65,45,.035); }
  .bottom-nav a { min-height: 50px; padding: 0 3px; gap: 5px; color: #85909f; font-size: 10.5px; }
  .bottom-nav a .icon { width: 25px; height: 25px; stroke-width: 1.8; }
  .bottom-nav a.active { color: #007d45; }
  .bottom-nav a.active::after { height: 2px; bottom: -1px; width: 35px; border-radius: 3px; }
  .bottom-nav a:first-child.active .icon { fill: currentColor; }
}

@media (max-width: 360px) {
  .content:is(.page-today,.page-budget,.page-shopping,.page-goals) { padding-left: 10px; padding-right: 10px; }
  .reference-wallet .hero-top > p { font-size: 13.5px; }
  .reference-wallet .big-money { font-size: 36px; }
  .reference-wallet .sub { font-size: 9.5px; }
  .reference-today .metric { column-gap: 4px; padding-left: 6px; padding-right: 5px; grid-template-columns: 28px minmax(0,1fr); }
  .reference-today .metric > .round-icon { width: 28px; height: 28px; }
  .reference-today .metric > strong { font-size: 12.5px; }
  .reference-today .metric > p { font-size: 10px; }
  .reference-today .metric > small { font-size: 7.5px; }
  .daily-tasks .task { gap: 8px; padding-left: 8px; padding-right: 8px; }
  .daily-tasks .task strong { font-size: 11.5px; }
  .daily-tasks .task p { font-size: 9px; }
  .daily-tasks .task .pill { font-size: 8px; padding-left: 5px; padding-right: 5px; }
  .reference-budget .allocation-card .card-header h2 { font-size: 14px; gap: 6px; }
  .reference-budget .envelope { grid-template-columns: 30px 63px minmax(0,1fr) 47px; gap: 6px; }
  .reference-budget .envelope .name { font-size: 10px; }
  .reference-goals .featured-goal h2 { font-size: 17px; }
  .reference-goals .goal-row > .row { gap: 8px; }
  .reference-goals .goal-row h3 { font-size: 12.5px; }
  .reference-goals .goal-row .row > .money { font-size: 13px; }
}

.budget-entry-actions { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px; }
.budget-entry-actions button { display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:12px 10px;border:1px solid #e5ede7;border-radius:14px;background:#fff;color:#153d2c;font-size:13px;font-weight:650; }
.budget-entry-actions button .icon { width:20px;height:20px;color:var(--green); }
.charges-overview { min-width:0; }
.reference-budget > .charges-overview,.reference-budget > .budget-history { grid-column:1/-1; }
.charges-overview > .card-header { flex-wrap:wrap;gap:10px;margin-bottom:10px; }
.charges-overview h2 { font-size:18px; }
.charges-overview > p,.charge-form-guide { color:var(--muted);font-size:12px;line-height:1.65; }
.charge-record { padding:15px 0;border-top:1px solid #edf0ed;scroll-margin-top:22px; }
.charge-record-main { display:flex;align-items:center;gap:12px;min-width:0; }
.charge-record-main .round-icon { width:38px;height:38px; }
.charge-record-details { flex:1;min-width:0; }
.charge-record-details strong { display:block;font-size:14px;overflow-wrap:anywhere; }
.charge-record-details p { margin:3px 0 0;font-size:11px;color:var(--muted);line-height:1.5; }
.charge-record-main > .price { white-space:nowrap;font-size:16px;font-weight:700; }
.charge-record-actions { display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:9px 0 0 50px; }
.charge-record-actions .text-button { font-size:12px;min-height:34px;padding:3px 7px;color:var(--green); }
.charge-status { white-space:normal; }
.charge-record-actions .pill { font-size:10px; }
.charges-overview .card-footer { padding-top:12px; }
.charges-total { display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0;padding:16px;border:1px solid #e1ede3;border-radius:16px;background:#f2f8f2; }
.charges-total span { display:block;font-size:12px;color:#53675b; }
.charges-total strong { display:block;margin-top:4px;font-size:28px;line-height:1.25;color:var(--green);overflow-wrap:anywhere; }
.charges-total p { margin:6px 0 0;font-size:11px;line-height:1.5;color:var(--muted); }
.charges-total-pending { flex-shrink:0;text-align:right; }
.charges-total-pending strong { font-size:18px;color:#24392d; }
.budget-history .card-header { flex-wrap:wrap;gap:10px; }
.budget-manage-link { display:flex;align-items:center;gap:6px;width:fit-content;margin:-8px 0 16px;color:var(--green);font-size:12px;min-height:30px; }
.budget-manage-link .icon { width:16px;height:16px; }
.income-record-actions button[data-action="delete"] { color:var(--red) !important; }
.sync-label.has-error .status-dot { background:#dca34d; }
.sync-label.is-offline .status-dot { background:#85909f; }
@keyframes yavilo-charge-saved { from { background:#eaf6e9;box-shadow:0 0 0 6px #eaf6e9; } to { background:transparent;box-shadow:0 0 0 0 transparent; } }
.charge-saved { border-radius:12px;animation:yavilo-charge-saved 1400ms ease-out; }
@media (max-width:700px) {
  .charges-total { flex-wrap:wrap;gap:12px;padding:14px; }
  .charges-total strong { font-size:25px; }
  .charges-total-pending strong { font-size:17px; }
  .budget-entry-actions { gap:7px;margin:0 0 12px; }
  .budget-entry-actions button { flex-direction:column;gap:6px;min-height:64px;padding:9px 3px;font-size:11px; }
  .budget-entry-actions button .icon { width:20px;height:20px; }
  .reference-budget > .charges-overview,.reference-budget > .budget-history { grid-column:auto; }
  :is(.reference-today,.reference-budget) .charges-overview .card-header h2 { font-size:16px;line-height:22px; }
  .charges-overview > p { font-size:11px; }
  .charge-record { padding:12px 0; }
  .charge-record-main { gap:9px; }
  .charge-record-main .round-icon { width:32px;height:32px; }
  .charge-record-details strong { font-size:13px; }
  .charge-record-details p { font-size:10.5px; }
  .charge-record-main > .price { font-size:14px; }
  .charge-record-actions { margin-left:41px;gap:7px; }
  :is(.reference-today,.reference-budget) .charge-record-actions .text-button { min-height:34px;padding:3px 4px;font-size:11px; }
}

.purchase-article { min-width:0;padding:16px 0;border-top:1px solid #edf0ed; }
.purchase-article:first-child { border-top:0;padding-top:4px; }
.purchase-article-details { flex:1;min-width:0; }
.purchase-article .purchase-product img { flex:0 0 135px;object-fit:contain; }
.purchase-article h3 { overflow-wrap:anywhere; }
.purchase-article-actions { display:flex;flex-wrap:wrap;gap:8px 15px;margin-top:8px; }
.purchase-article-actions .text-button { font-size:12px;min-height:32px; }
.purchase-article-actions .purchase-delete { color:var(--red); }
.purchase-product .purchase-photo-placeholder { display:flex;align-items:center;justify-content:center;width:135px;height:107px;flex:0 0 135px;border-radius:12px;background:#f0f5ee;color:var(--green); }
.purchase-photo-placeholder .icon { width:36px;height:36px; }
.purchase-basket-total { display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0;border-top:1px solid #edf0ed; }
.purchase-basket-total span { color:var(--muted);font-size:13px; }
.purchase-basket-total strong { color:var(--green);font-size:25px;line-height:1.2;white-space:nowrap; }
.purchase-card .purchase-simulation-hint { color:var(--muted);font-size:11px;line-height:1.6;margin:8px 0 0; }
.purchase-photo-preview { display:flex;align-items:center;gap:14px;flex-wrap:wrap; }
.purchase-photo-preview img { width:112px;height:112px;object-fit:contain;border-radius:14px;background:#f2f5f0;border:1px solid #e4ece4; }
.purchase-photo-status { min-height:20px;margin:8px 0; }
#purchase-photo { max-width:100%;font-size:12px; }
.shopping-page { display:grid;gap:24px;min-width:0; }
.shopping-entry-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch; }
.shopping-entry-grid > .grocery-entry-link { padding:20px;min-width:0; }
.shopping-page .reference-shopping,.shopping-page .reference-shopping > .stack { gap:22px; }
.shopping-wallet-card { padding:20px;border-color:#cfe5f3;background:linear-gradient(120deg,#eef7ff,#f0faf7);min-width:0; }
.shopping-wallet-heading { display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px; }
.shopping-wallet-heading h2 { margin:0;font-size:18px;line-height:1.35; }
.shopping-wallet-heading .pill { margin:0 0 0 auto;font-size:10px; }
.shopping-wallet-symbol { display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:#dcefff;font-size:23px; }
.shopping-wallet-balance { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0; }
.shopping-wallet-balance > div { min-width:0; }
.shopping-wallet-balance strong { overflow-wrap:anywhere; }
.shopping-wallet-balance small { display:block;margin-top:4px;font-size:11px;color:var(--muted); }
.shopping-wallet-balance > .money { flex-shrink:0;font-size:21px;color:var(--brand-teal); }
.shopping-wallet-card .shopping-wallet-hint,.shopping-wallet-card .shopping-wallet-status { margin:8px 0 12px;font-size:12px;line-height:1.6;color:var(--muted); }
.shopping-wallet-card .shopping-wallet-status { color:#966315; }
.shopping-wallet-card > .button { width:100%;margin-top:3px;white-space:normal; }
@media(max-width:700px){
 .shopping-entry-grid { grid-template-columns:minmax(0,1fr); }
 .shopping-entry-grid > .grocery-entry-link,.shopping-wallet-card { padding:16px; }
 .shopping-wallet-heading h2 { font-size:17px; }
 .reference-shopping .purchase-card { min-height:0; }
 .reference-shopping .purchase-card .card-header { flex-wrap:wrap;gap:8px; }
 .reference-shopping .purchase-card .card-header h2 { font-size:16px; }
 .purchase-article { padding:12px 0; }
 .purchase-product .purchase-photo-placeholder { flex-basis:95px;width:95px;height:86px; }
 .reference-shopping .purchase-article .purchase-product img { flex-basis:95px;width:95px;height:86px;object-fit:contain; }
 .reference-shopping .purchase-article .purchase-product h3 { font-size:15px;line-height:21px; }
 .reference-shopping .purchase-article .purchase-product strong { font-size:24px;line-height:29px; }
 .purchase-article-actions { gap:5px 10px;margin-top:4px; }
 .reference-shopping .purchase-article-actions .text-button { min-height:30px;font-size:11px; }
 .purchase-article-actions .icon { width:13px;height:13px; }
 .purchase-basket-total { flex-wrap:wrap; }
 .purchase-basket-total strong { font-size:23px; }
}

.page-groceries { color:#08131f; }
.grocery-page { display:grid;gap:18px;max-width:1060px; }
.grocery-page .card { min-width:0; }
.grocery-page h2 { display:flex;align-items:center;gap:9px;font-size:18px;line-height:1.4; }
.grocery-page p { line-height:1.65; }
.grocery-back { justify-content:flex-start;width:fit-content; }
.grocery-back > .icon { transform:rotate(180deg); }
.grocery-budget-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.grocery-budget-card { display:flex;flex-direction:column;gap:7px;min-width:0;padding:20px; }
.grocery-budget-card > span { font-size:13px;color:#52685b; }
.grocery-budget-card > strong { font-size:32px;line-height:1.25;letter-spacing:-.6px;overflow-wrap:anywhere; }
.grocery-budget-card > small { color:var(--muted);font-size:11px;line-height:1.6; }
.grocery-margin { background:#f2f8f2;border-color:#e1ede3; }
.grocery-margin > strong { color:var(--green); }
.grocery-negative { background:#fff4f4;border-color:#f4e0e0; }
.grocery-negative > strong { color:var(--red); }
.grocery-onboarding > div { display:flex;align-items:center;gap:12px; }
.grocery-onboarding > p { margin:12px 0 18px;color:#677789;font-size:14px; }
.grocery-actions { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px; }
.grocery-actions > button { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;min-height:122px;padding:18px 12px;border:1px solid #e5ede7;border-radius:20px;background:white;box-shadow:var(--shadow);font-size:13px;font-weight:650;color:#163b29;text-align:center; }
.grocery-actions .round-icon { width:42px;height:42px; }
.grocery-profile-summary { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:12px; }
.grocery-profile-summary p { margin:0; }
.grocery-budget-alert { display:flex;gap:9px;align-items:flex-start;margin:12px 0; }
.grocery-budget-alert > .icon { flex-shrink:0;margin-top:2px; }
.grocery-positive { background:#f0f8f1;border-color:#dcecdf;color:#187046; }
.grocery-list-card > .card-header { flex-wrap:wrap;gap:12px; }
.grocery-list-card .card-header p { margin:4px 0 0; }
#grocery-list-select { max-width:100%;width:auto;font-size:12px; }
.grocery-item { display:flex;align-items:center;gap:12px;min-width:0;padding:16px 0;border-bottom:1px solid #edf0ed; }
.grocery-item > .task-check { flex:0 0 30px;width:30px;height:30px; }
.grocery-item > .task-check[aria-pressed="true"] { background:#388f60;border-color:#388f60;color:white; }
.grocery-item-main { min-width:0;flex:1; }
.grocery-item-main strong { display:block;font-size:14px;overflow-wrap:anywhere; }
.grocery-item-main p { margin:3px 0 0;font-size:11px;color:#758192;overflow-wrap:anywhere; }
.grocery-price-kind { display:block;margin-top:4px;color:#8a95a1;font-size:10px; }
.grocery-item-price { display:flex;align-items:flex-end;flex-direction:column;gap:6px;flex:0 0 auto;max-width:36%; }
.grocery-item-price > strong { font-size:18px;line-height:1.3;overflow-wrap:anywhere; }
.grocery-item-price .text-button { font-size:11px;min-height:30px; }
.grocery-list-total { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;font-size:14px; }
.grocery-list-total > strong { color:var(--green);font-size:24px; }
.grocery-list-actions,.grocery-inline-actions,.grocery-recipe-actions { display:flex;gap:10px;flex-wrap:wrap; }
.grocery-list-actions > .button { flex:1; }
.grocery-day { padding:13px 0;border-top:1px solid #edf0ed; }
.grocery-day > summary { cursor:pointer;font-size:13px;font-weight:650;padding:3px 0; }
.grocery-meal { display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 0;background:transparent;border:0;border-bottom:1px solid #f1f3f0;text-align:left; }
.grocery-meal > span:first-child { flex:1;min-width:0; }
.grocery-meal small { display:block;margin-bottom:4px;font-size:10px;color:var(--muted); }
.grocery-meal strong { display:block;font-size:13px;font-weight:550;overflow-wrap:anywhere; }
.grocery-meal > .icon { width:15px;flex:0 0 15px;color:var(--muted); }
.grocery-meal .pill { white-space:normal;text-align:center;font-size:10px; }
.grocery-alternatives > p { margin:12px 0;font-size:13px;color:#576778; }
.grocery-expiry { background:#fffaf0;border-color:#f2e9d8; }
.grocery-expiry p { color:#72808c;font-size:12px; }
.grocery-step-label { color:var(--green);font-weight:650;font-size:12px;margin-bottom:16px; }
[data-grocery-step] { margin:0;padding:0;border:0;min-width:0; }
[data-grocery-step][hidden],.grocery-wizard-actions [hidden] { display:none!important; }
[data-grocery-step] > legend { font-size:17px;font-weight:650;line-height:1.4;margin-bottom:18px; }
[data-grocery-step] details { margin:12px 0;padding:12px;border:1px solid #e5ece5;border-radius:12px; }
[data-grocery-step] summary { cursor:pointer;font-size:13px;font-weight:600;line-height:1.5; }
[data-grocery-step] details[open] > summary { margin-bottom:12px; }
.grocery-check-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:290px;overflow-y:auto;padding:2px; }
.grocery-choice { display:flex;align-items:center;gap:8px;min-height:36px;padding:5px 3px;font-size:12px;line-height:1.5; }
.grocery-choice > input { flex:0 0 17px;width:17px;height:17px;margin:0;accent-color:var(--green); }
.grocery-choice > span { overflow-wrap:anywhere; }
.grocery-wizard-actions { margin-top:22px; }
.grocery-preview-summary { display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px;font-size:13px; }
.grocery-preview-row { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf0ed;font-size:13px; }
.grocery-preview-row > span { min-width:0;flex:1;overflow-wrap:anywhere; }
.grocery-preview-row small { display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.5; }
.grocery-preview-row > strong { flex-shrink:0; }
.grocery-preview-alternatives { padding:14px;background:#fffaf1;border-radius:14px;margin:14px 0; }
.grocery-preview-alternatives summary { cursor:pointer;font-size:13px;font-weight:650; }
.grocery-preview-alternatives p { font-size:12px;line-height:1.7; }
.grocery-pantry-row { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid #edf0ed; }
.grocery-pantry-row > div { min-width:0;flex:1; }
.grocery-pantry-row strong { font-size:14px;overflow-wrap:anywhere; }
.grocery-pantry-row p { margin:5px 0;font-size:11px;line-height:1.6;color:var(--muted); }
.grocery-pantry-row .text-button { flex-shrink:0;font-size:12px; }
.grocery-pantry-row .pill { font-size:10px;white-space:normal; }
.grocery-recipe-facts { display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px; }
.grocery-recipe-facts > span { background:#f0f6ef;border-radius:20px;padding:7px 11px;font-size:11px;color:#446450; }
.grocery-ingredients { list-style:none;margin:12px 0 24px;padding:0; }
.grocery-ingredients > li { display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #edf0ed;font-size:13px;line-height:1.6; }
.grocery-ingredients strong { flex-shrink:0;font-weight:550; }
.grocery-recipe-steps { margin:12px 0 20px;padding-left:23px;font-size:14px;line-height:1.8; }
.grocery-recipe-steps > li { padding:0 0 12px 6px; }
.grocery-entry-link { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border:1px solid #e0ece1;border-radius:16px;background:#f4f9f2;color:var(--green);font-size:14px;font-weight:650; }
.grocery-entry-link > span:not(.round-icon) { min-width:0;flex:1; }
.grocery-entry-link strong,.grocery-entry-link small { display:block; }
.grocery-entry-link small { margin-top:4px;font-size:11px;line-height:1.6;font-weight:400;color:var(--muted); }
.grocery-history-suggestion { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:12px 0;border-bottom:1px solid #edf0ed; }
.grocery-history-suggestion p { flex:1;min-width:180px;margin:0;font-size:12px;color:#647284; }
.grocery-history-suggestion > button { flex-shrink:0; }
@media(max-width:700px){
 .grocery-page { gap:12px; }
 .grocery-page .card { padding:16px;border-radius:18px; }
 .grocery-page h2 { font-size:16px; }
 .grocery-budget-grid { gap:7px; }
 .grocery-page .grocery-budget-card { padding:12px 9px;gap:7px;border-radius:14px; }
 .grocery-budget-card > span { font-size:10px;line-height:1.5; }
 .grocery-budget-card > strong { font-size:20px;letter-spacing:-.5px; }
 .grocery-budget-card > small { font-size:9px;line-height:1.5; }
 .grocery-actions { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
 .grocery-actions > button { min-height:101px;gap:8px;padding:14px 9px;border-radius:16px;font-size:12px; }
 .grocery-actions .round-icon { width:35px;height:35px; }
 .grocery-onboarding > p { font-size:12px; }
 .grocery-item { gap:9px;padding:13px 0; }
 .grocery-item > .task-check { width:27px;height:27px;flex-basis:27px; }
 .grocery-item-main strong { font-size:13px; }
 .grocery-item-price > strong { font-size:16px; }
 .grocery-item-price .text-button { min-height:32px; }
 .grocery-list-total { font-size:13px; }
 .grocery-list-total > strong { font-size:21px; }
 .grocery-list-actions > .button { min-width:100%; }
 .grocery-profile-summary { font-size:11px; }
 .grocery-check-grid { gap:5px; }
 .grocery-choice { font-size:11px; }
 .grocery-meal { gap:8px; }
 .grocery-meal strong { font-size:12px; }
 .grocery-recipe-actions > button { width:100%; }
}

/* v1.4: spacing and hierarchy are scoped to Courses. Other screens retain their design. */
.grocery-page { gap:22px; }
.grocery-page .card { padding:20px;border-radius:21px; }
.grocery-page .grocery-budget-grid { display:block;padding:20px;background:linear-gradient(125deg,var(--brand-soft,#f0f8ff),var(--brand-soft-alt,#edf9f5));border-color:var(--brand-line,#e1edf5); }
.grocery-summary-head { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px; }
.grocery-summary-head h2 { margin:0; }
.grocery-budget-actions { margin-block:14px 6px; }
.grocery-budget-actions .button { min-height:44px;max-width:100%;white-space:normal; }
.grocery-budget-tools { display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #e3ece6; }
.grocery-budget-tools .button { flex:1 1 150px;min-height:44px;white-space:normal; }
.grocery-budget-label { display:block;color:#60776a;font-size:12px;line-height:1.5; }
.grocery-budget-amount { display:block;margin:6px 0;font-size:34px;line-height:1.2;font-weight:750;color:var(--brand,#087ddc);overflow-wrap:anywhere; }
.grocery-budget-source { margin:0 0 14px;font-size:11px;color:var(--muted); }
.grocery-summary-row { display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding-top:12px;font-size:13px; }
.grocery-summary-row > span { min-width:0;color:#64756c; }
.grocery-summary-row strong { flex-shrink:0;max-width:55%;overflow-wrap:anywhere;text-align:right; }
.grocery-summary-over > span,.grocery-summary-over strong { color:var(--red); }
.grocery-primary-actions { display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10px; }
.grocery-primary-actions .button { min-height:48px;padding:12px 10px;white-space:normal;text-align:center;justify-content:center;line-height:1.45; }
.grocery-secondary > summary { display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-size:14px;line-height:1.5;font-weight:650;list-style:none; }
.grocery-secondary > summary::-webkit-details-marker { display:none; }
.grocery-secondary > summary::after { content:'+';flex:0 0 20px;text-align:center;font-size:20px;color:var(--green);font-weight:400; }
.grocery-secondary[open] > summary::after { content:'−'; }
.grocery-secondary-body,.grocery-tools-actions { margin-top:16px; }
.grocery-tools-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.grocery-tools-actions .text-button { display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:44px;padding:8px;border:1px solid #edf1ec;border-radius:12px;text-align:left;white-space:normal;line-height:1.45; }
.grocery-tools-actions .icon { flex:0 0 19px; }
.grocery-item { gap:10px;padding:15px 0; }
.grocery-item-emoji { margin-right:7px;font-size:17px; }
.grocery-item-main strong { font-size:14px;line-height:1.5; }
.grocery-item-main p { font-size:11px;line-height:1.6; }
.grocery-price-kind { font-size:10.5px;line-height:1.6;overflow-wrap:anywhere; }
.grocery-eligibility-label { display:block;margin-top:5px;padding:0;background:none;border:0;color:#65766a;text-align:left;font-size:10.5px;line-height:1.6;text-decoration:underline;text-underline-offset:2px; }
.grocery-item-price { max-width:40%;min-width:70px; }
.grocery-item-price strong { font-size:17px;white-space:normal;overflow-wrap:anywhere;text-align:right;max-width:100%; }
.grocery-row-actions { display:flex;align-items:center;justify-content:flex-end;gap:3px;flex-wrap:wrap; }
.grocery-row-actions .text-button { min-height:40px;font-size:11px;padding:5px 3px; }
.grocery-row-actions .grocery-remove { width:36px;height:40px;min-width:36px;padding:8px;background:transparent;color:#987076; }
.grocery-payment-lines { display:grid;gap:12px;padding:14px;border:1px solid #e6ece4;border-radius:14px;background:#f7faf6; }
.grocery-payment-lines > div { display:flex;justify-content:space-between;align-items:baseline;gap:14px;font-size:13px;line-height:1.6; }
.grocery-payment-lines > div > span { min-width:0; }
.grocery-payment-lines strong { flex-shrink:0;max-width:48%;overflow-wrap:anywhere;text-align:right; }
.grocery-payment-lines .grocery-personal-line { padding-top:12px;border-top:1px solid var(--brand-line,#e2e9df);color:var(--brand,#087ddc);font-weight:650; }
.grocery-checkout-button { width:100%;justify-content:center;margin-top:18px;min-height:48px; }
.grocery-wallet-card { background:#fff;border-color:#e3ebe3; }
.grocery-wallet-row { padding:12px 0;border-top:1px solid #edf1ec; }
.grocery-wallet-row:first-of-type { padding-top:0;border-top:0; }
.grocery-wallet-row h3 { margin:0;font-size:15px;line-height:1.5;overflow-wrap:anywhere; }
.grocery-wallet-row strong.money { display:block;margin:9px 0 4px;color:#284e3a;font-size:23px;line-height:1.4;overflow-wrap:anywhere; }
.grocery-wallet-row p { margin:5px 0;font-size:11px;color:var(--muted); }
.wallet-days { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.wallet-day { display:flex;align-items:center;gap:8px;min-height:36px;font-size:12px; }
.wallet-day input { width:17px;height:17px;flex-shrink:0; }
.wallet-form-details { margin:18px 0;padding:14px;border:1px solid #e5ece4;border-radius:14px; }
.wallet-form-details summary { cursor:pointer;font-size:13px;font-weight:650;line-height:1.5; }
.wallet-form-details[open] > summary { margin-bottom:16px; }
.wallet-card-list { display:grid;gap:14px; }
.wallet-manage-row { padding:16px;border:1px solid #e5ede3;border-radius:16px; }
.wallet-manage-row h3 { font-size:15px;margin:0;overflow-wrap:anywhere; }
.wallet-manage-row p { margin:7px 0;font-size:12px;color:var(--muted); }
.wallet-manage-actions { display:flex;gap:8px;flex-wrap:wrap;margin-top:12px; }
.wallet-manage-actions .text-button { min-height:38px;padding:5px 8px; }
.wallet-attestation { display:flex;align-items:flex-start;gap:9px;margin:14px 0;font-size:12px;line-height:1.65; }
.wallet-attestation input { flex:0 0 18px;width:18px;height:18px;margin:3px 0 0; }
.wallet-payment-status { display:grid;gap:8px;margin:15px 0; }
.wallet-payment-status p { margin:0;font-size:11px;line-height:1.6; }
@media(max-width:700px){
 .content.page-groceries { padding:20px 18px calc(128px + env(safe-area-inset-bottom));max-width:520px; }
 .page-groceries .heading { margin-bottom:24px; }
 .page-groceries .heading > div > p:not(.eyebrow) { max-width:290px; }
 .grocery-page { gap:22px; }
 .grocery-page .card,.grocery-page .grocery-budget-grid { padding:18px;border-radius:20px; }
 .grocery-summary-head { gap:8px;margin-bottom:16px; }
 .grocery-summary-head h2 { font-size:16px; }
 .grocery-summary-head .pill { font-size:10px;white-space:normal; }
 .grocery-budget-amount { font-size:33px; }
 .grocery-primary-actions { gap:9px; }
 .grocery-primary-actions .button { font-size:12px; }
 .grocery-primary-actions .icon { width:17px;height:17px;flex-shrink:0; }
 .grocery-item { gap:9px;padding:14px 0; }
 .grocery-item-main strong { font-size:13px; }
 .grocery-item-price strong { font-size:16px; }
 .grocery-row-actions { gap:0; }
 .grocery-row-actions .text-button { font-size:10.5px; }
 .grocery-row-actions .grocery-remove { width:31px;min-width:31px;padding:7px; }
 .grocery-wallet-row strong.money { font-size:22px; }
 .grocery-tools-actions { grid-template-columns:1fr;gap:8px; }
 .grocery-tools-actions .text-button { font-size:12px; }
 .grocery-payment-lines { padding:12px; }
 .grocery-payment-lines > div { font-size:12px; }
}

.scanner-intro{margin-bottom:20px}.scanner-camera{overflow:hidden;border-radius:20px;background:#edf4fa;margin-bottom:20px;max-height:35vh}.scanner-camera video{display:block;width:100%;max-height:35vh;object-fit:contain}.scanner-camera video:not([src]){min-height:0}.scanner-status{margin:16px 0;color:var(--brand-deep,#07529b);font-size:14px;line-height:1.5}.scanner-intro+.scanner-camera+.button{margin-bottom:12px}#modal[data-panel=scanner] .form-actions{flex-wrap:wrap;gap:16px}#modal[data-panel=scanner] .notice{overflow-wrap:anywhere}
.scanner-mode-switch{font-size:14px;line-height:1.5;margin:12px 0 18px}.scanner-mode-switch .text-button{min-height:44px;white-space:normal;max-width:100%}.scanner-status:not(:empty){padding:12px 14px;border-radius:12px;background:#edf6fc;font-weight:600;overflow-wrap:anywhere}.scanner-camera{position:relative;aspect-ratio:4/3}.scanner-camera video{width:100%;height:100%;object-fit:cover}.scanner-camera::after{content:"";position:absolute;inset:22% 5%;border:2px solid #fff;border-radius:10px;box-shadow:0 0 0 100vmax #001e2133;pointer-events:none}

/* Secondary options and the existing goal card, without changing other page layouts. */
.aux-page { display:grid;gap:22px;max-width:1050px;min-width:0; }
.aux-page .card { min-width:0;padding:20px;border-radius:20px; }
.aux-page h2 { display:flex;align-items:center;gap:10px;font-size:19px;line-height:1.4; }
.aux-page p { line-height:1.65; }
.aux-page .notice { font-size:12px;line-height:1.65; }
.aux-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.aux-actions > button { display:flex;align-items:center;gap:12px;text-align:left;color:var(--text);font:inherit; }
.aux-actions small,.aux-links small { display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.5; }
.aux-xp { display:block;color:var(--brand,#087ddc);font-size:34px;margin-top:10px; }
.aux-badges { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0; }
.aux-badge { display:flex;align-items:flex-start;flex-direction:column;gap:6px;border:1px solid #e8ece8;border-radius:16px;padding:14px;background:#fafbf9; }
.aux-badge.earned { background:#f0f8ef;border-color:#dfebde; }
.aux-badge > .icon { color:#66776a;width:24px;height:24px; }
.aux-badge.earned > .icon { color:var(--green); }
.aux-badge small { font-size:12px;color:var(--muted);line-height:1.5; }
.aux-badge > span { font-size:11px; }
.aux-link { display:flex;align-items:center;gap:12px;text-align:left;border:0;border-top:1px solid #edf0eb;background:transparent;color:var(--text);padding:16px 0;min-height:60px;width:100%;font:inherit; }
.aux-link > span { flex:1;min-width:0; }
.aux-link > .icon:first-child { color:var(--brand,#087ddc);width:22px;height:22px; }
.aux-empty { color:var(--muted);font-size:13px;line-height:1.6; }
.aux-routine h3 { margin-top:22px;font-size:16px; }
.aux-routine ul { padding:0;list-style:none; }
.aux-routine li { display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:13px 0;border-bottom:1px solid #edf0eb;font-size:14px; }
.aux-routine li > span:first-child { flex:1; }
.aux-routine-money { padding:16px;border:1px solid #e2ece1;border-radius:16px;background:#f2f8f0; }
.aux-routine-money strong { display:block;color:var(--green);font-size:32px;margin-top:6px; }
.aux-cycle { display:grid;gap:12px; }
.aux-cycle > div { padding:14px;border:1px solid #e8ece5;border-radius:16px; }
.aux-cycle dt { font-size:13px;line-height:1.6;color:var(--muted); }
.aux-cycle dd { margin:6px 0 0;font-size:25px;font-weight:700; }
.aux-offer h2 { margin-top:14px; }
.aux-offer-links { flex-wrap:wrap;gap:16px; }
.aux-impact > summary,.aux-today-complements > summary { display:flex;align-items:center;gap:9px;font-weight:650;cursor:pointer;min-height:32px; }
.aux-impact-value { color:var(--green);font-size:25px;font-weight:700; }
.aux-impact-value small { display:block;font-size:12px;font-weight:400;color:var(--muted); }
.aux-impact-sources { padding:0;list-style:none; }
.aux-impact-sources li { display:grid;gap:5px;padding:14px 0;border-bottom:1px solid #edf0eb; }
.aux-impact-sources span,.aux-impact-sources small { font-size:12px;line-height:1.5;color:var(--muted); }
.aux-impact-sources a { font-size:12px;color:var(--green);overflow-wrap:anywhere; }
.aux-goal-primary { min-width:0; }
.aux-goal-carousel { position:relative;overflow-x:auto;overflow-y:hidden;max-width:100%;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y; }
.aux-goal-carousel::-webkit-scrollbar { display:none; }
.aux-goal-carousel:focus-visible { outline:2px solid var(--green);outline-offset:3px;border-radius:20px; }
.aux-goal-track { display:flex;gap:12px;align-items:stretch; }
.aux-goal-track > .aux-goal-slide { flex:0 0 100%;min-width:0;margin:0;box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always; }
.aux-goal-pagination { display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3px;margin:-5px 0; }
.aux-goal-pagination > button { display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:0;background:transparent; }
.aux-goal-pagination > button > span { display:block;width:8px;height:8px;border-radius:50%;background:#cbd5ce; }
.aux-goal-pagination > button[aria-pressed="true"] > span { width:22px;border-radius:8px;background:var(--brand,#087ddc); }
.aux-goal-rows { display:grid;gap:10px; }
[data-goal-projection] { min-width:0; }
@media(max-width:700px){
 .aux-page { gap:22px; }
 .aux-page .card { padding:17px; }
 .aux-page h2 { font-size:17px; }
 .aux-actions { grid-template-columns:minmax(0,1fr);gap:14px; }
 .aux-badges { gap:9px; }
 .aux-badge { padding:12px; }
 .aux-badge strong { font-size:13px; }
 .aux-goal-pagination > button { width:38px;height:38px; }
}

/* Observed prices fit inside the existing grocery rhythm; no global layout rules. */
.grocery-item.market-aware{flex-wrap:wrap}
.market-item-options{flex-basis:100%;min-width:0;margin:12px 0 0 40px;border:1px solid #e3edf1;border-radius:14px;background:#f6fbff;color:#254058}
.market-item-options>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:10px 12px;cursor:pointer;font-size:12px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
.market-item-body{display:grid;gap:16px;min-width:0;padding:0 12px 14px}
.market-item-body p{font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.market-substitution{min-width:0;padding:14px;border:1px solid #dcebe3;border-radius:14px;background:#f4faf5}
.market-substitution-heading{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.5}
.market-substitution-heading strong{overflow-wrap:anywhere;min-width:0}
.market-potential{margin:8px 0;color:var(--brand-teal,#007e88)}
.market-why,.market-prices-details{margin:12px 0 0}
.market-why>summary,.market-prices-details>summary{cursor:pointer;font-size:12px;line-height:1.6;min-height:36px;padding:6px 0;color:var(--brand,#096ac4)}
.market-substitution-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;align-items:center}
.market-substitution-actions .button,.market-substitution-actions .text-button{min-height:44px;font-size:12px;white-space:normal}
.market-footnote,.market-attribution,.market-cache-state{font-size:11px!important;line-height:1.65!important;color:var(--muted);overflow-wrap:anywhere}
.market-footnote{margin-top:7px!important}
.market-attribution{margin-top:16px!important}
.market-empty{margin:0;color:#607286;font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.market-reference,.market-route-unknown{display:block;margin:7px 0;color:#956217;font-size:11px;line-height:1.65;overflow-wrap:anywhere}
.market-observation-list{display:grid;gap:14px;margin-top:10px}
.market-observation{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;min-width:0;padding:12px 0;border-top:1px solid #e3eaf0}
.market-observation>div{min-width:0;flex:1}
.market-observation strong{font-size:12px;overflow-wrap:anywhere}
.market-observation p{margin:5px 0 0;font-size:11px;line-height:1.6;overflow-wrap:anywhere}
.market-observation .text-button{max-width:35%;font-size:11px;min-height:44px;padding:5px;white-space:normal;text-align:right}
.market-summary-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0}
.market-summary-actions .button,.market-summary-actions .text-button{font-size:12px;min-height:44px;white-space:normal}
.market-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}
.market-store-comparison{min-width:0;border:1px solid #e3edf1;border-radius:18px;background:#f7fbfd;padding:17px}
.market-combined{margin-top:20px;background:#f2faf7}
.market-lookup-product{margin-top:16px;padding:14px;border:1px solid #e1ebf0;border-radius:14px;background:#f7fbfe;min-width:0}
.market-lookup-product h3,.market-lookup-product p{overflow-wrap:anywhere}
.market-lookup-product h3{font-size:15px;line-height:1.5}
.market-lookup-product>p{font-size:12px;line-height:1.6;margin:8px 0}
.market-store-comparison p{font-size:12px;line-height:1.65;margin:8px 0;overflow-wrap:anywhere}
.market-store-title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.market-store-title h3{font-size:15px;line-height:1.5;min-width:0;overflow-wrap:anywhere}
.market-store-title .pill{font-size:10px;white-space:normal}
.market-comparison-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:12px;font-size:12px;line-height:1.6}
.market-comparison-line>span{min-width:0}
.market-comparison-line>strong{max-width:58%;text-align:right;overflow-wrap:anywhere}
.market-net{padding-top:12px;border-top:1px solid #dae7ec;color:var(--brand-teal,#007e88)}
.market-compared-line{padding:10px 0;border-top:1px solid #e1eaf0;min-width:0}
.market-compared-line>strong{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.market-compared-line p{font-size:11px!important;line-height:1.65!important;margin:5px 0!important;overflow-wrap:anywhere}
.market-store-comparison>.text-button{min-height:44px;font-size:12px;text-align:left;white-space:normal;margin-top:12px;padding:5px 0}
.market-form-section{margin:20px 0;padding:16px;border:1px solid #e3eaf0;border-radius:16px}
.market-form-section>summary{cursor:pointer;font-size:13px;font-weight:600;line-height:1.6;min-height:28px}
.market-form-section[open]>summary{margin-bottom:16px}
.market-form-section>.button,.market-form-section>.text-button{font-size:12px;min-height:44px;white-space:normal;margin:7px 0 14px}
.market-places{display:grid;gap:10px;margin:12px 0}
.market-place{display:flex;flex-direction:column;gap:5px;align-items:flex-start;text-align:left;width:100%;padding:12px;border:1px solid #dce9f1;border-radius:12px;background:#f4faff;font-size:12px;line-height:1.6;min-width:0}
.market-place strong,.market-place span{overflow-wrap:anywhere;max-width:100%}
.market-place span{color:var(--muted);font-size:11px}
.market-store-finder{margin:20px 0;padding:16px;border:1px solid #dce9f1;border-radius:16px;background:#f5fafc;min-width:0}
.market-store-finder h3{font-size:15px;line-height:1.5;margin:0 0 8px}
.market-store-finder>.button{min-height:44px;font-size:12px;white-space:normal;margin:12px 0}
.market-store-results{display:grid;gap:12px;margin:10px 0 20px;min-width:0}
.market-store-result{display:grid;gap:10px;min-width:0;border-top:1px solid #dce9f1;padding-top:12px}
.market-store-result strong{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.market-store-result p{font-size:11px;line-height:1.6;color:var(--muted);margin:5px 0;overflow-wrap:anywhere}
.market-store-result-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.market-store-result-actions .button,.market-store-result-actions .text-button{font-size:12px;min-height:44px;white-space:normal;text-align:left}
.market-store-result-actions [aria-pressed=true]{color:var(--brand-teal,#007e88);border-color:var(--brand-teal,#007e88)}
.market-live-status{font-size:12px;line-height:1.65;margin:16px 0;color:var(--brand-deep,#07529b);overflow-wrap:anywhere}
#modal[data-panel=market-comparison] .form-actions{flex-wrap:wrap;gap:14px}
#modal[data-panel=market-comparison] .form-actions .button{white-space:normal}
@media(max-width:700px){.market-comparison-grid{grid-template-columns:minmax(0,1fr)}.market-item-options{margin-left:0}.market-substitution{padding:12px}.market-substitution-actions{gap:8px}.market-form-section{padding:14px}.market-observation{gap:8px}.market-observation .text-button{max-width:38%}}
@media(prefers-reduced-motion:no-preference){.market-substitution{animation:market-suggestion-in 180ms ease-out}@keyframes market-suggestion-in{from{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}}

/* Yavilo identity: logo blue/cyan/leaf green. Semantic warnings stay unchanged. */
:root{--brand:#096ac4;--brand-deep:#07529b;--brand-teal:#007e88;--brand-bright:#16b7f2;--brand-leaf:#86e550;--brand-soft:#edf7ff;--green:#087c4b;--deep:#09604a;--soft:#edf8f4;--muted:#66758a;--line:#e4edf3;color:#1d2a49;background:#f8fbfd}
.brand,.brand span:last-child{color:#1d2a49}
a,.text-button{color:var(--brand)}
.button:not(.secondary):not(.ghost):not(.danger){background:linear-gradient(110deg,var(--brand),var(--brand-teal));color:#fff;border-color:transparent}
.button:not(.secondary):not(.ghost):not(.danger):hover{background:var(--brand-deep)}
.button.secondary{background:#f1f8ff;border-color:#c9e1f5;color:var(--brand-deep)}
.button.secondary:hover{background:#e3f2ff}
.button.ghost{color:var(--brand)}
.nav a.active,.bottom-nav a.active{color:var(--brand)}
.nav a.active{background:linear-gradient(105deg,#e9f4ff,#e8f9f3)}
.bottom-nav a.active::after{background:linear-gradient(90deg,var(--brand),#00ad9b)}
.mobile-avatar,.avatar-button{background:#eaf5fc;color:var(--brand)}
.hero-budget,.reference-wallet.hero-budget,.reference-budget .income-hero .hero-budget,.featured-goal{background:linear-gradient(115deg,#eef8ff 0%,#f0faf6 76%,#f2faec 100%);border-color:#e2eff1}
.hero-budget .round-icon,.reference-wallet .hero-top>.round-icon,.reference-budget .income-hero .hero-top>.round-icon{background:linear-gradient(145deg,#d8f0ff,#dff6e9);color:var(--brand-teal)}
.reference-wallet .big-money,.hero-budget .big-money{color:var(--brand-teal)}
.reference-period button.selected,.segmented button.selected{background:linear-gradient(110deg,#deefff,#def4ee);color:#16416b}
.round-icon.blue{background:#e2f3ff;color:var(--brand)}
.progress:not(.red):not(.orange):not(.purple)>span{background:linear-gradient(90deg,#0793d2,#00ac9c,#74ce72)}
.reference-budget .envelope .progress.blue>span{background:#62baf1}
.reference-budget .envelope .progress.teal>span{background:#62d7c4}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--brand)}
input[type=checkbox],input[type=radio]{accent-color:var(--brand)}
@media(prefers-reduced-motion:reduce){.button,.nav a,.bottom-nav a{transition:none}}

/* Last in the shared cascade: scoped additions, preserving Yavilo's other screens. */
.community-panel { display:grid;gap:22px;min-width:0; }
.community-panel > p { margin:0;line-height:1.65; }
.community-panel h3 { font-size:15px;line-height:1.5;margin:12px 0; }
.community-panel fieldset { min-width:0;border:0;padding:0;margin:0; }
.community-panel fieldset > legend { font-size:17px;font-weight:700;padding:0;margin-bottom:18px; }
.community-panel .field { min-width:0; }
.community-panel input,.community-panel select { min-width:0;max-width:100%; }
.community-actions { display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px; }
.community-actions > .button { white-space:normal;text-align:center;line-height:1.45; }
.community-panel .button,.community-panel .text-button,.community-panel summary,.community-entry .button,.community-share-item,.community-report { min-height:44px; }
.community-panel .wallet-attestation { min-height:44px;align-items:flex-start; }
.community-panel .wallet-attestation input { margin-top:3px; }
.community-entry p { line-height:1.65;font-size:13px; }
.community-entry .notice { font-size:12px;margin:14px 0 0; }
.community-section { min-width:0;padding-top:4px; }
.community-filters { display:grid;gap:22px;margin:0 0 24px;padding:18px;border:1px solid var(--brand-line,#e1edf0);border-radius:18px;background:var(--brand-soft-alt,#f2faf7); }
.community-filters .form-grid { gap:22px; }
.community-filters .field,.community-filters .notice,.community-filters .form-error { margin:0; }
.community-filters > .button { justify-self:start; }
.community-pagination { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:22px;margin:24px 0 0; }
.community-pagination > span { flex:1;min-width:100px;text-align:center;font-size:12px;line-height:1.6;color:var(--muted); }
.community-pagination .button { min-width:100px; }
.community-pagination .button:disabled { cursor:default;opacity:.55; }
.community-record { margin:0 0 18px;padding:17px;border:1px solid var(--brand-line,#e1edf0);border-radius:18px;background:var(--brand-soft-alt,#f2faf7);overflow-wrap:anywhere; }
.community-record h3 { margin:0 0 8px; }
.community-record p { margin:6px 0;font-size:12px;line-height:1.65; }
.community-status { display:block;font-size:12px;color:var(--green);margin-top:12px; }
.community-step-label { font-size:12px;color:var(--muted);margin:0 0 20px; }
.community-panel [hidden] { display:none!important; }
.community-panel form { min-width:0; }
.community-panel .community-file { position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;min-height:48px; }
.community-file input { position:absolute;inset:0;opacity:0;width:100%;cursor:pointer; }
.community-file:focus-within { outline:3px solid var(--green);outline-offset:3px; }
.community-photo-editor { margin-top:20px; }
.community-photo-editor canvas { display:block;max-width:100%;height:auto;max-height:480px;margin:auto;border:1px solid #dce5e7;border-radius:12px;touch-action:none;cursor:crosshair; }
.community-coordinates { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px; }
.community-proof-preview { display:block;max-width:100%;height:auto;max-height:460px;object-fit:contain;margin:16px auto;border-radius:12px; }
.community-recap { margin:0;overflow-wrap:anywhere; }
.community-recap dt { margin-top:16px;font-size:12px;color:var(--muted); }
.community-recap dd { margin:5px 0 0;font-size:14px;line-height:1.65; }
.grocery-page .community-share-item { padding:6px 0;font-size:11px;justify-content:flex-start;white-space:normal;text-align:left;line-height:1.45; }
.grocery-page .grocery-item > .task-check { width:44px;height:44px;flex-basis:44px; }
.grocery-page .grocery-row-actions .text-button,.grocery-page .grocery-row-actions .grocery-remove { min-height:44px;min-width:44px; }
.grocery-page .wallet-manage-actions .text-button { min-height:44px; }
@media(max-width:430px){ .community-panel .community-actions > .button { flex:1 1 130px; }.community-record { padding:15px; }.community-panel .form-grid { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce){ .community-panel *,.community-entry * { animation:none!important;transition:none!important; } }

/* The observed-price detail keeps a usable touch target on narrow phones. */
.grocery-page [data-action="price-refresh-item"],.grocery-page .market-prices-details > summary { min-height:44px; }
.grocery-page .market-prices-details > summary { display:flex;align-items:center; }

.community-page { display:grid;gap:22px;max-width:1060px;min-width:0; }
.community-page .card { padding:22px;min-width:0; }
.community-page p { line-height:1.65; }
.community-page h2 { margin-bottom:12px;line-height:1.4; }
.community-page .button,.community-page button,form[data-form^="community-"] button { min-height:44px; }
.community-page .button { margin-top:12px; }
.community-score { display:block;font-size:32px;color:var(--brand,#087ddc);margin:12px 0; }
.community-tabs { display:flex;flex-wrap:wrap;gap:10px; }
.community-tabs button { flex:1;min-height:44px;padding:12px;border:1px solid #dce8e9;border-radius:14px;background:#f8fbfa;color:var(--text);font:inherit; }
.community-tabs .selected { background:#e8f5f5;color:#075c82;border-color:#9ed6df; }
.community-toolbar,.community-badges { display:flex;gap:12px;flex-wrap:wrap; }
.community-ranking { list-style:none;margin:0;padding:0; }
.community-ranking li { display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #e8eeee; }
.community-ranking .community-me { background:#ecf7f3;border-radius:12px;padding:16px; }
.community-recipe-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px; }
.community-recipe h2 { font-size:20px;margin-top:14px; }
.community-author { color:var(--muted);font-size:13px;line-height:1.6; }
.community-refine > summary { min-height:44px;cursor:pointer;font-weight:650; }
.community-refine form { padding-top:16px; }
.community-recipe-photo { display:block;max-width:100%;width:320px;height:auto;max-height:240px;object-fit:cover;border-radius:16px;margin:16px 0; }
form[data-form^="community-social-"] label.button { display:inline-flex;align-items:center;gap:8px; }
form[data-form^="community-social-"] input[data-community-social-photo] { max-width:180px;font-size:12px; }
.community-own-recipe { display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid #e7eded; }
.community-own-recipe>span { flex:1;min-width:150px; }
.community-own-recipe small { display:block;color:var(--muted);margin-top:6px; }
.community-rank-badge { display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:3px 10px;margin-left:8px;background:#e9f5f3;font-size:12px;font-weight:600;color:#08645e;vertical-align:middle;text-decoration:none; }
.community-ingredient-edit { display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;padding:14px 0;border-bottom:1px solid #e7eded; }
.community-ingredient-edit input,.community-ingredient-edit select { width:100%;min-width:0;min-height:44px; }
.community-ingredient-edit select[name="ingredientProduct"] { grid-column:1/3; }
.community-allergens { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.community-allergens label { display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px; }
form[data-form^="community-"] { min-width:0; }
form[data-form^="community-"] fieldset { border:1px solid #e1e8e5;border-radius:14px;padding:14px;margin:22px 0; }
[data-community-preview]:not(:empty) { margin-top:22px;padding:20px;border-radius:16px;background:#eff8f4; }
@media(max-width:600px) { .community-recipe-grid { grid-template-columns:1fr; }.community-page .card { padding:18px; }.community-toolbar>.button { flex:1; }.community-page { gap:22px; }.community-rank-badge { margin-top:6px; } }
@media(prefers-reduced-motion:reduce) { .community-page * { animation:none!important;transition:none!important; } }

/* Account links retain the existing secondary-link typography and card rhythm. */
.page-account .community-account-links { margin-bottom:22px; }

.community-recipe-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.community-recipe-tabs button{min-width:0;font-size:13px;line-height:1.4;padding:12px 6px;overflow-wrap:normal;word-break:normal}
@media(max-width:380px){.community-recipe-tabs button{font-size:12px;padding-inline:4px}}
.community-notebook .card-header{flex-wrap:wrap;gap:10px}
.community-notebook-row{padding:20px 0;border-top:1px solid #e4ece7;min-width:0}
.community-notebook-row h3{font-size:18px;line-height:1.5;margin:0 0 10px;overflow-wrap:anywhere}
.community-notebook-row p{font-size:13px;margin:10px 0;color:#50665d}
.community-notebook-row .community-own-recipe{border:0;padding:0}
.community-notebook-row .community-own-recipe .button{margin-top:0}
@media(max-width:480px){.community-notebook-row .community-own-recipe>.button{flex:1 1 100%;justify-content:center}.community-notebook-row .text-button{white-space:normal}}

.v18-threads-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;padding-top:22px;border-top:1px solid #e4edf0}.v18-threads-actions details{align-self:center}.v18-threads{display:grid;gap:22px}.v18-threads-comment{padding:20px;border:1px solid #e0e9eb;border-radius:20px;background:linear-gradient(130deg,#f7fbff,#f4fbf6);overflow-wrap:anywhere}.v18-threads-comment[data-depth="1"]{margin-left:12px}.v18-threads-comment[data-depth="2"]{margin-left:22px}.v18-threads-text{white-space:pre-wrap}.v18-threads form{display:grid;gap:20px}.v18-threads textarea{width:100%;min-height:120px}.v18-threads .community-toolbar{gap:12px}.v18-threads-comment small{color:var(--muted,#657c8c)}@media(max-width:440px){.v18-threads-actions .button{flex:1}.v18-threads-comment{padding:16px}.v18-threads-comment[data-depth="2"]{margin-left:12px}}@media(prefers-reduced-motion:no-preference){.v18-threads-comment{animation:v18ThreadsEnter .15s ease-out}@keyframes v18ThreadsEnter{from{opacity:.7;transform:translateY(3px)}to{opacity:1;transform:none}}}

.v18-events-page{display:grid;gap:24px;min-width:0;max-width:1060px}
.v18-events-page .card{padding:24px;min-width:0}
.v18-events-nav{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}
.v18-events-nav>a{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid #dce8e5;border-radius:13px;background:#f0f8f5;color:var(--text);text-decoration:none}
.v18-events-page button,.v18-events-page .button,form[data-form^="community-events-"] button{min-height:44px;min-width:44px;white-space:normal;overflow-wrap:anywhere}
.v18-events-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.v18-events-card p{line-height:1.6;margin:12px 0}
.v18-events-card h2,.v18-events-card h3{overflow-wrap:anywhere}
.v18-events-meta{font-size:13px;color:var(--muted);line-height:1.7}
.v18-events-entry-photo{display:block;max-width:100%;width:320px;max-height:220px;object-fit:cover;border-radius:16px;margin:14px 0}
.v18-events-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.v18-events-actions>*{max-width:100%;min-width:0}
.v18-events-thread{min-width:0}
.v18-events-post{padding:18px 0;border-bottom:1px solid #e4ece8;overflow-wrap:anywhere}
.v18-events-post:first-child{padding-top:0}
.v18-events-post p{white-space:pre-wrap}
.v18-events-post-heading{display:flex;gap:8px 12px;justify-content:space-between;flex-wrap:wrap;align-items:baseline}
.v18-events-reply-context{margin:12px 0;padding:10px 14px;border-left:3px solid #94cfc5;border-radius:0 10px 10px 0;background:#f0f8f5;color:var(--muted);font-size:14px;overflow-wrap:anywhere}
.v18-events-reply-context>span{display:block;font-weight:600}
.v18-events-reply-context p{margin:6px 0 0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.v18-events-member{background:#e7f4eb;color:#246b49}
.v18-events-rules{white-space:pre-wrap;line-height:1.65;overflow-wrap:anywhere}
.v18-events-calendar{display:grid;gap:6px;margin:18px 0;line-height:1.6;overflow-wrap:anywhere}
.v18-events-calendar dt{font-weight:600;margin-top:8px}
.v18-events-calendar dd{margin:0;color:var(--muted)}
.v18-events-contest-rules{margin:20px 0;padding:18px;border:1px solid #dce8e5;border-radius:16px;background:#f4f9f7;line-height:1.65;overflow-wrap:anywhere}
.v18-events-contest-rules h3{margin-top:0}
form[data-form="community-events-entry"]>.field{margin:20px 0}
.v18-events-featured{border:1px solid #bddfe0;background:linear-gradient(125deg,#f0f9f3,#eef7ff)}
.v18-events-discussion{padding:18px;border-radius:16px;background:#f0f8f5}
.v18-events-pagination{display:flex;justify-content:space-between;gap:14px;margin-top:18px}
.v18-events-tabs{display:flex;gap:12px;flex-wrap:wrap}
.v18-events-tabs button{border:1px solid #dce8e5;border-radius:12px;background:#fff;padding:10px 14px;font:inherit}
.v18-events-tabs .selected{background:#e6f5ef;color:#075f50}
.v18-events-empty{padding:20px;border-radius:16px;background:#f3f7f4;line-height:1.65}
form[data-form^="community-events-"]{min-width:0}
form[data-form^="community-events-"] label{line-height:1.6}
form[data-form^="community-events-"] select,form[data-form^="community-events-"] textarea{min-height:44px;width:100%;max-width:100%;font-size:16px;box-sizing:border-box}
form[data-form^="community-events-"] textarea{resize:vertical}
form[data-form^="community-events-"] .check-label{display:flex;gap:12px;align-items:flex-start;padding:8px 0;min-height:44px}
form[data-form^="community-events-"] .check-label input{flex-shrink:0;margin-top:5px}
form[data-form^="community-events-"] .form-error{overflow-wrap:anywhere}
.v18-events-history{display:grid;gap:24px}
.v18-events-page details>summary{min-height:44px;cursor:pointer;font-weight:600}
.v18-events-page pre{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:620px){.v18-events-grid{grid-template-columns:1fr}.v18-events-page .card{padding:18px}.v18-events-actions>.button{flex:1 1 160px}.v18-events-nav>a{flex:1 1 140px;justify-content:center}.v18-events-pagination>button{min-width:44px}}
@media(max-width:360px){.v18-events-actions>.button{flex-basis:100%}.v18-events-nav>a{flex-basis:100%}.v18-events-post-heading time{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.v18-events-page *{animation:none!important;transition:none!important}}

.notice-center{display:grid;gap:24px;max-width:1060px;min-width:0;margin-inline:auto}
.notice-center>.card{min-width:0}
.notice-center :is(p,h2,h3,label,legend,small){overflow-wrap:anywhere}
.notice-center :is(.notice-actions,.notice-pagination,.form-actions){display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.notice-center .notice-actions{margin-block:16px}
.notice-center :is(button,.button,input:not([type="checkbox"]),select){min-height:44px}
.notice-center :is(button,.button){white-space:normal;overflow-wrap:anywhere;text-align:center;height:auto}
.notice-center :is(button,a,input,select):focus-visible{outline:3px solid #4c66a8;outline-offset:3px}
.notice-center form{display:grid;gap:16px;min-width:0}
.notice-center fieldset{display:grid;gap:16px;border:0;padding:0;margin:0;min-width:0}
.notice-center legend{font-weight:700;padding:0;margin-bottom:16px}
.notice-center :is(.field,.form-grid){min-width:0;max-width:100%}
.notice-center .field{display:grid;gap:8px}
.notice-center .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.notice-center :is(input:not([type="checkbox"]),select){width:100%;min-width:0;max-width:100%;box-sizing:border-box;font-size:16px}
.notice-center .check-label{display:flex;align-items:center;gap:12px;min-height:44px}
.notice-center .check-label input{flex:0 0 auto;width:22px;height:22px;margin:0}
.notice-center .notice-message{padding-block:22px;border-top:1px solid #e1e5ed;min-width:0}
.notice-center .notice-message h3{margin-top:0}
.notice-center .notice-pagination{justify-content:space-between;margin-top:22px}
.notice-center .notice-admin .notice-actions>label{display:grid;gap:8px;min-width:0;flex:1 1 180px}
@media(max-width:600px){
 .notice-center{gap:22px}
 .notice-center .form-grid{grid-template-columns:minmax(0,1fr)}
 .notice-center :is(.notice-actions,.form-actions)>:is(button,a){flex:1 1 160px;min-width:0;max-width:100%;box-sizing:border-box}
 .notice-center .notice-pagination>button{flex:1 1 110px;min-width:0}
 .notice-center .notice-pagination>span{flex:1 0 100%;order:-1;text-align:center}
}

.startup-screen{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100svh;width:100%;padding:max(28px,env(safe-area-inset-top)) 24px max(30px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% 40%,#edf8f1,#f8fcf9 65%,#fff);color:#172a34;text-align:center;overflow-wrap:anywhere}
.startup-screen[hidden],.startup-screen [hidden]{display:none}
.startup-center{width:100%;max-width:440px;display:flex;flex:1 0 auto;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-width:0}
.startup-logo{display:block;width:clamp(190px,65vw,290px);max-width:100%;height:auto;max-height:43vh;object-fit:contain;animation:startup-brand-in .4s ease-out both}
.startup-screen h1{font-size:clamp(20px,5.2vw,24px);line-height:1.4;font-weight:750;letter-spacing:-.025em;margin:0}
.startup-subtitle{font-size:15px;line-height:1.6;color:#52655f;max-width:340px;margin:0}
.startup-savings{box-sizing:border-box;display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:center;width:min(100%,330px);padding:18px;margin-top:16px;border:1px solid #dcefe3;border-radius:22px;background:#f3faf5;text-align:left}
.startup-savings>span{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;background:#def4e5;color:#087c4b;font-size:25px}
.startup-savings p{font-size:13px;line-height:1.5;color:#405f53;margin:0 0 4px}
.startup-savings strong{display:block;color:#0d724e;font-size:28px;line-height:1.25;font-variant-numeric:tabular-nums}
.startup-savings small{grid-column:1/-1;color:#52655f;font-size:12px;line-height:1.5}
.startup-bottom{flex:0 0 auto;width:min(100%,330px);margin-top:32px}
.startup-bottom>p{font-size:14px;line-height:1.6;color:#52655f;margin:0 0 12px}
.startup-progress{height:5px;border-radius:8px;background:#dcece2;position:relative;overflow:hidden}
.startup-progress::after{content:"";position:absolute;inset:0 auto 0 0;width:42%;background:#168653;border-radius:8px;animation:startup-progress 1.6s ease-in-out infinite}
.startup-bottom button{min-height:44px;max-width:100%;height:auto;white-space:normal;overflow-wrap:anywhere;margin-top:16px}
.startup-bottom button:focus-visible{outline:3px solid #096ac4;outline-offset:3px}
.startup-screen[data-state="error"] .startup-logo{animation:none}
@keyframes startup-brand-in{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
@keyframes startup-progress{from{transform:translateX(-110%)}to{transform:translateX(345%)}}
@media(max-height:650px){.startup-logo{width:clamp(150px,42vw,220px);max-height:35vh}.startup-bottom{margin-top:22px}.startup-savings{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.startup-logo,.startup-progress::after{animation:none}.startup-progress::after{left:35%;width:30%}}

.contacts-stack{display:grid;gap:24px;min-width:0}.contacts-stack .card{margin:0;min-width:0}.contacts-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.contacts-head h2{margin:0}.contacts-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.contacts-actions .button{min-height:44px;white-space:normal;overflow-wrap:anywhere;max-width:100%}.contacts-list{display:grid;gap:16px;margin:16px 0 0;padding:0;list-style:none}.contacts-person{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #e7eee9;min-width:0}.contacts-person:last-child{border-bottom:0}.contacts-person>div{min-width:0;overflow-wrap:anywhere}.contacts-person strong{display:block}.contacts-person small{display:block;margin-top:4px;color:var(--muted)}.contacts-person .text-button{min-height:44px;min-width:44px;white-space:normal}.contacts-empty{padding:24px 0;color:var(--muted);line-height:1.6}.contacts-search{display:grid;gap:8px;margin-top:20px}.contacts-search input{font-size:16px;min-height:44px;max-width:100%;min-width:0}.contacts-preview{text-align:center;padding:20px}.contacts-preview h3{margin:12px 0 8px}.contacts-qr{display:block;width:min(100%,300px);height:auto;background:white;margin:0 auto 20px}.contacts-code-link{width:100%;box-sizing:border-box;font-size:16px;min-height:90px;overflow-wrap:anywhere;word-break:break-all}.contacts-status{margin:12px 0;line-height:1.6}.contacts-camera video{display:block;width:100%;max-height:45vh;background:#102b22;border-radius:18px;object-fit:contain;margin-bottom:16px}.contacts-camera canvas{display:none}.contacts-option{display:flex;align-items:flex-start;gap:12px;min-height:44px;line-height:1.6}.contacts-option input{margin-top:5px}.contacts-rank{font-size:12px;color:#15714b}.contacts-stack .pill{max-width:100%;white-space:normal}.contacts-privacy{font-size:13px;line-height:1.6;color:var(--muted)}
@media(max-width:600px){.contacts-actions>.button{flex:1 1 150px}.contacts-person{gap:12px}.contacts-head{align-items:flex-start}.contacts-head h2{font-size:20px}.contacts-person .contacts-actions{margin-top:0}.contacts-preview{padding:12px}.contacts-stack .card{padding:20px}.contacts-qr{width:min(100%,260px)}}
@media(prefers-reduced-motion:reduce){.contacts-stack *{scroll-behavior:auto}}

.outings-page{display:grid;gap:24px;max-width:900px;min-width:0}.outing-card{min-width:0;display:grid;gap:14px}.outing-card h2,.outing-card h3,.outing-card p{margin:0}.outing-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.outing-actions .button,.outing-card .button{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.outing-people{list-style:none;padding:0;margin:0;display:grid;gap:16px}.outing-people li{display:grid;gap:5px;padding-bottom:12px;border-bottom:1px solid #eef2ef}.outing-private{background:#f4faf6;border-color:#dbece3}.outing-qr{display:grid;place-items:center;padding:16px;background:white}.outing-qr svg{width:min(100%,280px);height:auto;image-rendering:pixelated}form[data-form^="community-outing-"]{display:grid;gap:16px;min-width:0}form[data-form^="community-outing-"] label{display:grid;gap:8px;min-width:0}form[data-form^="community-outing-"] .check-label{display:flex;align-items:flex-start;gap:12px}form[data-form^="community-outing-"] input:not([type="checkbox"]),form[data-form^="community-outing-"] select,form[data-form^="community-outing-"] textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0;font-size:16px}form[data-form^="community-outing-"] input:not([type="checkbox"]),form[data-form^="community-outing-"] select{min-height:44px}form[data-form^="community-outing-"] details{padding:16px;border:1px solid #e7eee9;border-radius:18px}form[data-form^="community-outing-"] details[open]>label{margin-top:16px}form[data-form^="community-outing-"] summary{min-height:44px;cursor:pointer}form[data-form^="community-outing-"] .form-actions{display:flex;flex-wrap:wrap;gap:12px}.outing-card .check-label{min-height:44px}.outing-card input[type="checkbox"]{flex:0 0 auto}@media(max-width:600px){.outings-page{gap:24px}.outing-card{padding:18px}.outing-actions>.button{flex:1 1 160px}.outing-actions>.text-button{min-height:44px}form[data-form^="community-outing-"] .form-grid{grid-template-columns:minmax(0,1fr)}form[data-form^="community-outing-"] .form-actions>.button{flex:1 1 160px;min-height:44px;white-space:normal}}@media(prefers-reduced-motion:reduce){.outing-card{animation:none;transition:none}}

/* Financial information appears immediately; no amount is hidden by motion. */
.forecast-today,.forecast-today>.main-column,.forecast-today>.side-column{gap:24px;min-width:0}
.forecast-hero{min-height:0;padding:24px;cursor:default}
.forecast-hero .hero-top{display:flex;gap:12px;margin-bottom:12px}
.forecast-hero .hero-top p{font-size:18px;font-weight:650;color:#102d37}
.forecast-real-label{display:block;font-size:12px;color:#526875}
.forecast-hero .big-money{font-size:42px;line-height:1.15;margin:6px 0 16px;overflow-wrap:anywhere;white-space:normal}
.forecast-hero-projection{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-top:12px;border-top:1px solid #d8e9e5;font-size:13px;color:#395c65}
.forecast-hero-projection strong{font-size:19px;color:#126e68;white-space:nowrap}
.forecast-caveat,.forecast-small{font-size:12px;line-height:1.55;color:#5e727d;margin:12px 0 0}
.forecast-expenses,.forecast-projection,.forecast-accounts{min-width:0}
.forecast-accounts{margin-bottom:24px}
.forecast-expenses .card-header,.forecast-projection .card-header,.forecast-accounts .card-header{gap:12px;flex-wrap:wrap;margin-bottom:16px}
.forecast-expenses h2,.forecast-projection h2,.forecast-accounts h2{font-size:18px;line-height:1.4}
.forecast-expenses .card-header .text-button,.forecast-projection .card-header .text-button,.forecast-accounts .text-button{min-height:44px;min-width:44px;white-space:normal;flex-shrink:0}
.forecast-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.forecast-total{border-radius:16px;padding:14px;text-align:left;min-height:82px;border:1px solid #e4eee8;min-width:0;background:#f1f8f3;color:#176e4d;display:flex;flex-direction:column;justify-content:space-between;gap:8px}
.forecast-total.due{border-color:#f1e8d9;background:#fff9ed;color:#8b5b0b}
.forecast-total span{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.4}
.forecast-total .icon{width:17px;height:17px;flex-shrink:0}
.forecast-total strong{font-size:23px;line-height:1.2;overflow-wrap:anywhere}
.forecast-expenses h3{font-size:13px;margin:20px 0 8px;color:#425b66}
.forecast-event{border-bottom:1px solid #edf1f2;min-width:0}
.forecast-event-main{display:flex;align-items:center;gap:10px;width:100%;min-height:62px;text-align:left;padding:10px 0;background:transparent;border:0;color:inherit}
.forecast-event-mark{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:#fff4dc;color:#98621a}
.forecast-event.green .forecast-event-mark{background:#e6f3eb;color:#237753}
.forecast-event.red .forecast-event-mark{background:#ffedf0;color:#b52b48}
.forecast-event.neutral .forecast-event-mark{background:#f0f3f5;color:#61707c}
.forecast-event-name{flex:1;min-width:0}
.forecast-event-name strong{font-size:14px;line-height:1.45;display:block;overflow-wrap:anywhere}
.forecast-event-name small{font-size:11px;line-height:1.5;color:#60717d;display:block;margin-top:3px;overflow-wrap:anywhere}
.forecast-event-amount{font-size:15px;line-height:1.3;white-space:nowrap;flex-shrink:0}
.forecast-event-main>.icon{width:15px;height:15px;flex-shrink:0;color:#788892}
.forecast-attention{display:flex;gap:10px;align-items:center;width:100%;min-height:48px;text-align:left;padding:12px;background:#fff0f2;border:1px solid #f8dce2;border-radius:12px;color:#a92646;font-size:12px;line-height:1.5;margin-top:14px}
.forecast-attention span{flex:1}
.forecast-attention .icon{width:18px;height:18px;flex-shrink:0}
.forecast-empty{font-size:13px;line-height:1.6;color:#5f7380;padding:14px 0}
.forecast-add{margin-top:16px;width:100%;min-height:46px}
.forecast-date{font-size:12px;color:#526875;margin:0 0 6px}
.forecast-projected-money{font-size:30px;color:#087d73;line-height:1.25;overflow-wrap:anywhere}
.forecast-projected-money.negative{color:#b72749}
.forecast-breakdown,.forecast-account dl,.forecast-operation-detail dl{margin:18px 0 0;display:grid;gap:10px}
.forecast-breakdown>div,.forecast-account dl>div,.forecast-operation-detail dl>div{display:flex;justify-content:space-between;gap:16px;font-size:13px;line-height:1.5}
.forecast-breakdown dt,.forecast-account dt,.forecast-operation-detail dt{color:#526875}
.forecast-breakdown dd,.forecast-account dd,.forecast-operation-detail dd{margin:0;text-align:right;font-weight:650;overflow-wrap:anywhere}
.forecast-risk{display:flex;gap:10px;padding:14px;margin-top:16px;border-radius:14px;background:#fff0f2;color:#a52c45;font-size:13px;line-height:1.6}
.forecast-risk.caution{background:#fff7e9;color:#895a18}
.forecast-risk>.icon{width:20px;height:20px;flex-shrink:0;margin-top:2px}
.forecast-risk p{margin:0}
.forecast-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px}
.forecast-card-actions>.button,.forecast-card-actions>.text-button{min-height:44px;white-space:normal;overflow-wrap:anywhere;text-align:center}
.forecast-budget-tools{border:1px solid #e5edef;padding:14px 16px;border-radius:18px;background:#fbfdfd}
.forecast-budget-tools>summary{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;font-weight:600;min-height:44px;list-style:none;color:#1d5867}
.forecast-budget-tools .budget-entry-actions{margin-top:16px;margin-bottom:16px}
.forecast-budget-tools .budget-manage-link{margin:0;min-height:44px}
.forecast-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:18px}
.forecast-account{border:1px solid #e1ebee;border-radius:18px;padding:18px;background:linear-gradient(145deg,#f6fbff,#f5fbf7);min-width:0}
.forecast-account-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.forecast-account-heading h3{font-size:16px;line-height:1.4;overflow-wrap:anywhere;margin:0}
.forecast-account-future{padding-top:10px;border-top:1px solid #dfebea;color:#116d67}
.forecast-filter{display:grid;gap:8px;margin:0 0 18px}
.forecast-filter label{font-size:13px;color:#425966}
.forecast-filter select{min-height:44px;width:100%;font-size:16px;border:1px solid #dfe8e9;border-radius:12px;padding:10px;background:#fff;color:#102d37}
.forecast-operation-detail>h3{font-size:22px;overflow-wrap:anywhere;margin-top:16px}
.forecast-operation-detail>strong{font-size:30px;display:block;margin-top:8px;color:#126f69}
.forecast-today .hero-budget,.forecast-today .card{animation:none!important}
.heading .forecast-heading-date{display:inline-block;margin-left:10px;font-size:11px;line-height:1.5;font-weight:400;color:#596f7a;white-space:nowrap;vertical-align:middle}
.forecast-today .daily-tasks .card-header .text-button,
.forecast-today .reference-suggestion>.row>.text-button{min-width:44px;min-height:44px;padding:8px;white-space:normal;flex-shrink:0;justify-content:center}
.forecast-today .daily-tasks .task{gap:12px}
.forecast-today .daily-tasks .task .task-check{position:relative;width:44px;height:44px;min-width:44px;min-height:44px;flex:0 0 44px;border:0!important;background:transparent!important;border-radius:12px}
.forecast-today .daily-tasks .task-check::before{content:"";position:absolute;width:25px;height:25px;box-sizing:border-box;border:1.8px solid #85909f;background:#fff;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.forecast-today .daily-tasks .task.important .task-check::before{border:0;background:#ff6871}
.forecast-today .daily-tasks .task.medium .task-check::before{border-color:#ff9800}
.forecast-today .daily-tasks .task.done .task-check::before{border:0;background:#348e62}
.forecast-today .daily-tasks .task-check>*{position:relative;z-index:1}
.forecast-today .daily-tasks .task-body>.text-button{display:flex;align-items:center;justify-content:flex-start;width:100%;min-width:44px;min-height:44px!important;padding:8px 0!important;white-space:normal}
@media(max-width:700px){
 .forecast-today,.forecast-today>.main-column,.forecast-today>.side-column{gap:24px}
 .forecast-hero{padding:18px;border-radius:20px}
 .forecast-hero .hero-top{margin-bottom:8px;gap:10px}
 .forecast-hero .hero-top>.round-icon{width:34px;height:34px;flex:0 0 34px}
 .forecast-hero .hero-top>.round-icon .icon{width:21px;height:21px}
 .forecast-hero .hero-top p{font-size:15px}
 .forecast-hero .big-money{font-size:35px;margin:5px 0 12px}
 .forecast-real-label{font-size:11px}
 .forecast-hero-projection{font-size:12px;gap:12px;padding-top:10px}
 .forecast-hero-projection strong{font-size:17px}
 .forecast-caveat{font-size:10.5px;margin-top:9px}
 .forecast-expenses,.forecast-projection,.forecast-accounts{padding:18px!important}
 .forecast-expenses h2,.forecast-projection h2,.forecast-accounts h2{font-size:16px!important;line-height:1.4!important}
 .forecast-expenses .card-header,.forecast-projection .card-header{margin-bottom:12px;gap:10px}
 .forecast-expenses .card-header .text-button,.forecast-projection .card-header .text-button{min-height:44px!important;min-width:44px;white-space:normal!important;font-size:12px}
 .forecast-totals{gap:10px}
 .forecast-total{padding:12px 10px;min-height:78px}
 .forecast-total strong{font-size:21px}
 .forecast-total span{font-size:10.5px;gap:5px}
 .forecast-small{font-size:11px}
 .forecast-event-main{gap:8px;min-height:64px}
 .forecast-event-mark{width:28px;height:28px;flex-basis:28px}
 .forecast-event-mark .icon{width:17px;height:17px}
 .forecast-event-name strong{font-size:12.5px}
 .forecast-event-name small{font-size:10.5px}
 .forecast-event-amount{font-size:13px}
 .forecast-account-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .forecast-card-actions>.button{flex:1 1 160px}
 .forecast-card-actions{gap:12px}
 .forecast-operation-detail .forecast-card-actions>.button{width:100%;flex:1 1 100%}
}
@media(max-width:350px){.forecast-event-mark{display:none}.forecast-total span .icon{display:none}.forecast-hero .big-money{font-size:32px}.forecast-hero-projection{align-items:flex-start}.forecast-account{padding:14px}}
@media(prefers-reduced-motion:reduce){.forecast-today *{animation:none!important;transition:none!important}}

/* Phone forms only. Desktop cards, headers and financial behaviour keep their existing rules. */
@media (max-width: 600px) {
  #modal .modal-top { gap: 12px; }
  #modal .modal-top > button { width: 44px; height: 44px; min-width: 44px; min-height: 44px; flex: 0 0 44px; }
  #modal .modal-top > h2 { min-width: 0; overflow-wrap: anywhere; }
  #modal form,
  #auth-form,
  #simulation-form,
  .community-page form[data-form^="community-social-"] {
    min-width: 0;
    max-width: 100%;
  }

  #modal form :is(.field, fieldset, .form-grid, label, legend),
  #auth-form .field,
  #simulation-form .field,
  .community-page form[data-form^="community-social-"] :is(.field, .form-grid, label) {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  #modal form :is(label, legend, .field-hint),
  #auth-form label,
  .community-page form[data-form^="community-social-"] label {
    overflow-wrap: anywhere;
  }

  /* A 16px control font avoids the narrow iOS focus zoom; checkbox/radio geometry stays intact. */
  #modal form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea),
  #auth-form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea),
  #simulation-form input,
  .community-page form[data-form^="community-social-"] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    font-size: 16px;
  }

  /* Existing textareas already have 75px/120px minima; do not shorten them. */
  #modal form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select),
  #auth-form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select),
  #simulation-form input,
  .community-page form[data-form^="community-social-"] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select) {
    min-height: 44px;
  }

  #modal form .field,
  #auth-form .field,
  #simulation-form .field {
    margin-block: 16px;
  }

  #modal form:not([data-form="community-discover-filters"]) .form-grid,
  .community-page form[data-form="community-social-refine"] .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-block: 16px;
  }

  #modal form .form-grid > .field,
  .community-page form[data-form="community-social-refine"] .form-grid > .field {
    margin: 0;
  }

  #modal :is(.form-actions, .community-actions, .wallet-manage-actions, .v18-events-actions) {
    flex-wrap: wrap;
    gap: 12px;
  }

  /* The scanner already has a comfortable 16px gap; preserve it. */
  #modal[data-panel="scanner"] .form-actions,
  #modal .grocery-wizard-actions {
    gap: 16px;
  }

  #modal .wallet-manage-actions {
    margin-top: 16px;
  }

  #modal form :is(button, .button),
  #modal .wallet-manage-actions > button,
  #auth-form button,
  #simulation-form button,
  .community-page form[data-form^="community-social-"] button {
    min-width: 44px;
    max-width: 100%;
    min-height: 44px;
    box-sizing: border-box;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.45;
    text-align: center;
  }

  #modal form :is(.check-label, .wallet-attestation, .grocery-choice),
  #auth-form .check-label,
  .community-page form[data-form^="community-social-"] .check-label {
    min-height: 44px;
    gap: 12px;
  }

  #modal form :is(.grocery-check-grid, .wallet-days) {
    gap: 12px;
  }

  #modal form .grocery-check-grid {
    padding: 6px;
  }

  #modal form[data-form="community-social-recipe-editor"] label.button {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
  }

  #modal form[data-form="community-social-recipe-editor"] input[data-community-social-photo] {
    width: 100%;
    max-width: 100%;
  }

  .community-page form:is([data-form="community-social-recipe-search"], [data-form="community-social-rank-month"]) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 16px;
  }

  .community-page form:is([data-form="community-social-recipe-search"], [data-form="community-social-rank-month"]) > .button {
    margin-top: 0;
  }
}

@media (max-width: 480px) {
  #modal form:not([data-form="community-discover-filters"]) .form-grid,
  #modal form[data-form="community-discover-filters"] .form-grid,
  .community-page form[data-form="community-social-refine"] .form-grid,
  .community-page form:is([data-form="community-social-recipe-search"], [data-form="community-social-rank-month"]) {
    grid-template-columns: minmax(0, 1fr);
  }

  #modal :is(.form-actions, .community-actions, .community-toolbar, .v18-events-actions) > .button {
    flex: 1 1 150px;
    min-width: 44px;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  #modal .community-ingredient-edit {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  #modal .community-ingredient-edit > input[name="ingredientName"] {
    grid-column: 1 / -1;
  }
}

/* Account shortcuts share the same card spacing and touch targets. */
.account-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:24px;min-width:0}.account-overview>.card{margin:0;min-width:0}.account-overview .account-list>button,.account-overview .account-list>a{min-height:48px;width:100%;white-space:normal;overflow-wrap:anywhere}.account-overview .account-list small{display:block;line-height:1.5;margin-top:4px}.account-overview .account-list .text-button{font-size:12px}@media(max-width:700px){.account-overview{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){
  .heading .mobile-avatar{width:44px;height:44px;min-width:44px;min-height:44px;flex:0 0 44px}
  .contacts-stack .text-button,.outings-page .text-button{min-width:44px;min-height:44px;white-space:normal}
  .contacts-head>.text-button{width:44px;flex:0 0 44px}
  .contacts-stack summary{min-height:44px;padding-top:12px;padding-bottom:12px;box-sizing:border-box}
}

.budget-compass{padding:24px;border:1px solid #d9e8e5;border-radius:22px;background:linear-gradient(120deg,#f0f8f4,#f4fafc);margin-bottom:20px;color:#163b3b;min-width:0}
.budget-compass-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px;flex-wrap:wrap}
.budget-eyebrow{display:block;font-size:10px;letter-spacing:.12em;font-weight:750;color:#506e72;line-height:1.5}
.budget-compass h2{font-size:24px;line-height:1.3;margin:5px 0 0}
.budget-state{display:inline-flex;align-items:center;gap:6px;background:#dfefe7;border:1px solid #c9e0d3;border-radius:20px;padding:7px 10px;font-size:11px;font-weight:650;color:#22633f;white-space:normal}
.budget-state .icon{width:16px;height:16px;flex-shrink:0}
.budget-compass.check .budget-state{background:#fff8e9;color:#77541a;border-color:#e9d9b7}
.budget-compass.attention .budget-state{background:#fff0ef;color:#a13b36;border-color:#ebc9c4}
.budget-compass-metrics{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:20px}
.budget-compass-metrics>div{min-width:0}
.budget-compass-metrics span,.budget-compass-metrics small{display:block;font-size:12px;line-height:1.5;color:#4c6970}
.budget-compass-metrics strong{display:block;font-size:34px;line-height:1.25;margin:5px 0 6px;font-weight:730;letter-spacing:-.04em;overflow-wrap:anywhere}
.budget-compass-metrics>div+div{padding-left:24px;border-left:1px solid #d6e6df}
.budget-compass-metrics>div+div strong{color:#146b63}
.budget-compass-metrics strong.negative{color:#a13b36}
.budget-next-step{display:flex;gap:12px;align-items:center;padding:15px 16px;border:1px solid #dce9e2;background:#ffffffbd;border-radius:14px}
.budget-next-step>.icon{width:21px;height:21px;flex:0 0 21px;color:#297b6b}
.budget-next-step>div{flex:1;min-width:0}
.budget-next-step strong{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.budget-next-step p{font-size:12px;color:#4e656c;line-height:1.6;margin:4px 0 0;overflow-wrap:anywhere}
.budget-next-step .text-button{min-height:44px;min-width:44px;white-space:normal;color:#17675e}
.budget-compass-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:18px}
.budget-compass-actions .button{min-height:46px;border-radius:12px;min-width:150px}
.budget-compass-actions .text-button{min-height:44px;min-width:44px;color:#17675e;font-size:12px;gap:7px}
.budget-count{display:inline-grid;place-items:center;background:#deece7;border-radius:50%;min-width:22px;height:22px;color:#214b44;font-size:11px}
.budget-compass-note,.budget-calm{font-size:11px;line-height:1.6;color:#526d73;margin:14px 0 0}
.budget-account-details{margin-bottom:20px;border:1px solid #dce7e7;border-radius:16px;background:#fff;min-width:0}
.budget-account-details>summary{cursor:pointer;display:flex;align-items:center;gap:10px;padding:16px 18px;min-height:54px;font-weight:650;font-size:14px;list-style:none}
.budget-account-details>summary::-webkit-details-marker{display:none}
.budget-account-details>summary:after{content:'+';margin-left:auto;font-size:22px;color:#276e65;font-weight:400}
.budget-account-details[open]>summary:after{content:'−'}
.budget-account-details>summary>.icon{width:20px;height:20px;color:#277e6a}
.budget-account-details .forecast-accounts{margin:0;border:0;box-shadow:none;border-top:1px solid #e4ece9;border-radius:0 0 16px 16px}
.budget-dialog-intro{font-size:14px;line-height:1.65;color:#4e6570;margin:0 0 20px}
.budget-checklist{display:grid;gap:14px}
.budget-check-item{border:1px solid #dee8e7;border-radius:14px;padding:16px;background:#f8fbfa;min-width:0}
.budget-check-item h3{font-size:15px;line-height:1.45;margin:0 0 7px;color:#173e40}
.budget-check-item p{font-size:13px;line-height:1.6;color:#506670;margin:0 0 12px}
.budget-check-item .button{min-height:44px;white-space:normal}
.budget-preview-reserve{display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:12px;color:#486568;line-height:1.5;margin:0 0 18px}
.budget-preview-reserve .icon{width:17px;height:17px}
.budget-preview-submit{min-height:46px;white-space:normal;width:100%}
.budget-preview-result{margin-top:24px;padding:20px;border:1px solid #cde2d9;border-radius:16px;background:#f1f8f4;color:#203b3c;min-width:0;scroll-margin-top:110px}
.budget-preview-result.shortfall{background:#fff6f2;border-color:#edcabc}
.budget-preview-result.check{background:#fffbef;border-color:#e7dbb8}
.budget-preview-result h3{margin:8px 0 10px;font-size:18px;line-height:1.4;overflow-wrap:anywhere}
.budget-preview-result>p{font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.budget-preview-comparison{display:grid;gap:0;margin:18px 0}
.budget-preview-comparison>div{display:flex;align-items:baseline;gap:12px;padding:11px 0;border-top:1px solid #dbe5de}
.budget-preview-comparison dt{flex:1;font-size:12px;line-height:1.55;min-width:0}
.budget-preview-comparison dd{font-size:17px;font-weight:700;margin:0;text-align:right;overflow-wrap:anywhere;max-width:55%}
.budget-preview-comparison dd small{display:block;font-size:11px;font-weight:400;margin-top:3px;color:#536b6a}
.budget-preview-warning{display:block;padding:11px 12px;border-left:3px solid #b46540;background:#fff9;color:#71452f;border-radius:4px}
.budget-preview-warning .icon{width:16px;height:16px;vertical-align:middle;margin-right:5px}
.budget-preview-result .budget-preview-assumptions{font-size:11px;color:#52696b;margin-bottom:0}
.budget-compass :focus-visible,.budget-account-details>summary:focus-visible,.budget-preview-result:focus-visible,.budget-checklist :focus-visible{outline:3px solid #167bb1;outline-offset:4px}
@media(max-width:700px){
 .budget-compass{padding:18px 16px;border-radius:18px;margin-bottom:16px}
 .budget-compass-head{gap:12px;align-items:flex-start;margin-bottom:18px}
 .budget-compass h2{font-size:21px}
 .budget-eyebrow{font-size:9px;letter-spacing:.1em}
 .budget-state{font-size:10px;padding:6px 8px}
 .budget-compass-metrics{gap:14px;margin-bottom:16px}
 .budget-compass-metrics>div+div{padding-left:14px}
 .budget-compass-metrics span,.budget-compass-metrics small{font-size:11px}
 .budget-compass-metrics strong{font-size:25px}
 .budget-next-step{padding:13px 12px;gap:9px;flex-wrap:wrap}
 .budget-next-step>div{flex-basis:calc(100% - 35px)}
 .budget-next-step .text-button{margin-left:30px;padding:0;justify-content:flex-start;font-size:12px}
 .budget-compass-actions{gap:8px 12px;margin-top:14px}
 .budget-compass-actions .button{width:100%;min-height:46px}
 .budget-compass-actions .text-button{flex:1;justify-content:flex-start;font-size:11px}
 .budget-account-details>summary{font-size:13px;padding:14px 16px}
 .budget-preview-result{padding:16px 13px}
 form[data-form="budget-preview"] .field label{font-size:12px;line-height:1.5}
 form[data-form="budget-preview"] :is(input,select){font-size:16px;min-height:44px}
 .budget-preview-comparison>div{gap:10px}
 .budget-preview-comparison dd{font-size:16px;max-width:49%}
}
@media(prefers-reduced-motion:reduce){.budget-compass *,.budget-preview-result *{animation:none!important;transition:none!important}}
.budget-compass-projection{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;margin:0 0 18px;border-block:1px solid #d6e6df;min-width:0}
.budget-compass-projection>span{font-size:12px;line-height:1.5;min-width:0}
.budget-compass-projection small{display:block;color:#526d73;font-size:11px;line-height:1.5}
.budget-compass-projection strong{font-size:20px;overflow-wrap:anywhere;max-width:50%}
.budget-compass-projection .negative,.budget-cycle-card .negative{color:#a13b36}
.budget-compass-metrics .budget-free-amount{margin-top:8px}
.budget-cycle-card .hero-top p{white-space:normal;line-height:1.5}
.budget-cycle-card .big-money{overflow-wrap:anywhere;white-space:normal}
.budget-cycle-reserve{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid #d6e6df;padding-top:13px;margin-top:15px;position:relative;z-index:1;min-width:0}
.budget-cycle-reserve span{font-size:12px;line-height:1.5;min-width:0}
.budget-cycle-reserve strong{font-size:18px;max-width:50%;overflow-wrap:anywhere}
.budget-cycle-note{font-size:11px;line-height:1.6;margin:10px 0 0;color:#526d73;position:relative;z-index:1}
.budget-amounts-help{min-height:44px;white-space:normal;text-align:left;position:relative;z-index:1;font-size:12px;line-height:1.5;color:#17675e}
.budget-compass>.budget-amounts-help{margin-top:10px}
.budget-amounts-equation{margin:12px 0 0}
.budget-amounts-equation>div{display:flex;align-items:baseline;gap:14px;padding:10px 0;border-top:1px solid #dce7e2}
.budget-amounts-equation dt{flex:1;min-width:0;font-size:12px;line-height:1.6}
.budget-amounts-equation dd{max-width:47%;margin:0;font-size:15px;font-weight:650;overflow-wrap:anywhere;text-align:right}
@media(max-width:700px){
 .budget-cycle-card>:is(.budget-cycle-reserve,.budget-cycle-note,.budget-amounts-help){grid-column:1/-1}
}
@media(max-width:420px){
 .budget-compass-metrics{grid-template-columns:minmax(0,1fr);gap:16px}
 .budget-compass-metrics>div+div{border-left:0;border-top:1px solid #d6e6df;padding:16px 0 0}
 .budget-compass-projection{flex-wrap:wrap;gap:8px}
 .budget-compass-projection strong{max-width:100%}
 .budget-cycle-card .big-money{font-size:36px;line-height:1.25}
}

.assistant-launcher{position:fixed;right:24px;bottom:24px;z-index:45;display:flex;align-items:center;gap:10px;min-height:54px;padding:9px 16px 9px 9px;border:1px solid #ffffffb3;border-radius:30px;background:linear-gradient(115deg,#076bc3,#008281);color:#fff;box-shadow:0 7px 24px #145d6833;font-size:14px;font-weight:650;cursor:pointer}
.assistant-launcher-symbol{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffffff21}
.assistant-launcher-symbol .icon{width:21px;height:21px}
.assistant-launcher-count{display:grid;place-items:center;min-width:23px;height:23px;padding:0 5px;border-radius:50%;background:#fff;color:#086784;font-size:11px}
.shell .content{padding-bottom:110px}
.assistant-launcher:focus-visible{outline:3px solid #0a4c73;outline-offset:4px}
#modal[data-panel="assistant"]{width:min(640px,calc(100% - 28px))}
.assistant-intro{margin-bottom:18px}
.assistant-intro>p{color:#486570;font-size:14px;line-height:1.6;margin:10px 0}
.assistant-local-pill{display:inline-flex;gap:7px;align-items:center;font-size:11px;color:#17685b;font-weight:650;background:#eef8f1;padding:6px 10px;border-radius:20px;border:1px solid #d4e9dd}
.assistant-local-pill .icon{width:15px;height:15px}
.assistant-overview{background:linear-gradient(115deg,#edf7f2,#f2f8fb);border:1px solid #d9e8e2;padding:18px;border-radius:16px;color:#173c3f;margin:16px 0}
.assistant-eyebrow{display:block;font-size:9px;letter-spacing:.1em;font-weight:750;color:#4a6b70;line-height:1.5}
.assistant-overview-values{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.assistant-overview-values>div{min-width:0}
.assistant-overview-values>div+div{border-left:1px solid #d0e3dc;padding-left:14px}
.assistant-overview-values span{display:block;font-size:11px;color:#506e74;line-height:1.5}
.assistant-overview-values strong{display:block;font-size:26px;letter-spacing:-.03em;line-height:1.3;margin-top:5px;overflow-wrap:anywhere}
.assistant-overview-values .negative{color:#a33d39}
.assistant-overview p{font-size:12px;color:#4c6970;line-height:1.6;margin:12px 0}
.assistant-overview h3{font-size:20px;line-height:1.35;margin:10px 0}
.assistant-attention{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.55;color:#874a2c;background:#fff7eb;padding:10px;border-radius:10px;margin:12px 0}
.assistant-attention .icon{width:17px;height:17px;flex:0 0 17px}
.assistant-overview-links{display:flex;flex-wrap:wrap;gap:6px 12px}
.assistant-overview-links .text-button{min-height:44px;font-size:12px;color:#186e61;white-space:normal}
.assistant-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:20px 0 24px}
.assistant-quick-actions>button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;padding:14px 12px;border:1px solid #dbe7e5;border-radius:14px;background:#fff;color:#1c5766;font-size:12px;line-height:1.4;font-weight:650;text-align:left;min-height:88px;min-width:0;cursor:pointer}
.assistant-quick-actions .icon{width:22px;height:22px;color:#087e88}
.assistant-questions h3{font-size:13px;margin:0 0 10px;color:#49666d}
#modal[data-panel="assistant"] .assistant-examples{display:grid;gap:8px;margin:0 0 22px}
#modal[data-panel="assistant"] .assistant-examples>button{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;font-size:12px;line-height:1.5;color:#225b6d;min-height:44px;padding:10px 12px;background:#f5f9fa;border:1px solid #e1ebed;border-radius:10px;cursor:pointer}
.assistant-examples>button .icon{width:17px;height:17px;flex:0 0 17px}
#local-assistant-form>label{display:block;font-size:12px;font-weight:650;color:#355861;margin-bottom:8px}
.assistant-question-row{display:flex;gap:8px;align-items:stretch}
.assistant-question-row input{flex:1;min-width:0;width:100%;border:1px solid #ccdfdf;border-radius:12px;padding:12px;font-size:15px;background:#fff;color:#163b40}
.assistant-question-row .button{width:48px;min-width:48px;min-height:48px;border-radius:12px;padding:10px;justify-content:center}
.assistant-response{background:#f7fafb;border:1px solid #dce7e9;border-radius:14px;padding:17px;margin:20px 0 14px}
.assistant-response h3{font-size:15px;line-height:1.6;color:#173e49;margin:10px 0}
.assistant-response p{font-size:12px;line-height:1.7;color:#4b656f;margin:10px 0;overflow-wrap:anywhere}
.assistant-response .button{font-size:12px;min-height:44px;white-space:normal;margin-top:12px}
.assistant-how{border-top:1px solid #e4ebec;margin-top:22px;padding-top:14px;color:#556e76}
.assistant-how summary{cursor:pointer;font-size:11px;padding:8px 0;min-height:36px}
.assistant-how p{font-size:11px;line-height:1.65;margin:6px 0}
.assistant-phrase-examples{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}
.assistant-phrase-examples>button{border:1px solid #d8e5e8;background:#f3f8fa;border-radius:10px;min-height:44px;padding:9px 11px;font-size:11px;color:#2d6578;text-align:left;cursor:pointer}
.assistant-prepare{width:100%;min-height:46px;white-space:normal}
.assistant-footnote{font-size:11px;color:#567078;line-height:1.6;margin:16px 0 0}
.assistant-draft-notice{padding:13px 15px;border-radius:12px;background:#eef7f2;border:1px solid #d5e7db;color:#2b6353;font-size:12px;line-height:1.65;margin:0 0 20px}
.assistant-operation-options{border:1px solid #dce7e8;border-radius:12px;padding:0 14px;margin:16px 0}
.assistant-operation-options>summary{min-height:46px;display:list-item;cursor:pointer;padding:12px 0;font-size:13px;font-weight:650;color:#345e69}
.assistant-operation-options[open]>summary{margin-bottom:10px}
#modal[data-panel="assistant"] :is(input,textarea,select){font-size:16px;max-width:100%}
#modal[data-panel="assistant"] :focus-visible{outline:3px solid #107bb8;outline-offset:3px}
@media(max-width:700px){
 .assistant-launcher{bottom:calc(85px + env(safe-area-inset-bottom,0px));right:14px;min-height:48px;padding:7px 12px 7px 7px;gap:8px;font-size:12px}
 .assistant-launcher-symbol{width:31px;height:31px}
 .assistant-launcher-count{min-width:21px;height:21px;font-size:10px}
 .shell .content{padding-bottom:170px}
 #modal[data-panel="assistant"]{width:calc(100% - 20px);max-height:92dvh}
 .assistant-overview{padding:15px}
 .assistant-overview-values strong{font-size:23px}
 .assistant-quick-actions{gap:7px}
 .assistant-quick-actions>button{padding:12px 9px;font-size:11px;min-height:89px}
}
@media(prefers-reduced-motion:reduce){.assistant-launcher,#modal[data-panel="assistant"] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Simpler screens, with native keyboard-accessible disclosures. */
.view-disclosure{min-width:0;border:1px solid #e1e9e6;border-radius:18px;background:#fff;overflow:hidden}
.view-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:17px 20px;cursor:pointer;list-style:none;color:#203b31}
.view-disclosure>summary::-webkit-details-marker{display:none}
.view-disclosure>summary strong{display:block;font-size:15px;font-weight:650}
.view-disclosure>summary small{display:block;margin-top:5px;color:#617469;font-size:12px;line-height:1.5}
.view-disclosure>summary>.icon{flex-shrink:0;width:19px;height:19px;transform:rotate(90deg)}
.view-disclosure[open]>summary>.icon{transform:rotate(-90deg)}
.view-disclosure[open]>summary{border-bottom:1px solid #e9efeb}
.view-disclosure-body{padding:18px}
.view-disclosure-body>.card{box-shadow:none;border:0;padding:8px 0;margin:0}
.view-disclosure-body>.card+.card{margin-top:18px;border-top:1px solid #edf1ed;padding-top:22px}
.view-disclosure-body>.forecast-accounts{padding:0}
.simple-budget,.simple-account,.simple-shopping{display:grid;gap:18px;min-width:0}
.simple-budget>.budget-entry-actions{margin:0;grid-template-columns:repeat(3,minmax(0,1fr))}
.simple-budget>.budget-entry-actions button{min-height:58px}
.simple-budget .simple-budget-history .card-header{flex-wrap:wrap;gap:12px}
.simple-budget .reference-period{margin:0}
.simple-budget .reference-period button{min-height:40px}
.simple-budget-management{display:grid;gap:14px}
.simple-budget .budget-compass{margin-bottom:0}
.simple-budget-history .card-footer{flex-wrap:wrap;gap:12px}
.simple-budget-history .card-footer button{min-height:44px}
.simple-account .account-layout{align-items:start}
.simple-account-shortcuts{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.simple-account-shortcuts .button{min-height:44px}
.simple-shopping .shopping-entry-grid{grid-template-columns:minmax(0,1fr);margin:0}
.simple-shopping .shopping-entry-grid>.view-disclosure{background:#fbfdfb}
.simple-shopping .shopping-entry-grid .shopping-wallet-card{border:0;padding:0;margin:0;box-shadow:none}
.simple-shopping .shopping-layout{grid-template-columns:minmax(0,1fr)}
.simple-shopping .hero-budget.reference-wallet{min-height:170px}
.simple-shopping .hero-budget.reference-wallet .big-money{font-size:38px}
.simple-shopping .hero-budget.reference-wallet .plant{height:125px;bottom:-15px}
.simple-shopping .view-disclosure-body>.purchase-projection{margin-top:0}
.discovery-page{max-width:1100px;margin:0 auto}
.discovery-search{padding:22px 24px;background:linear-gradient(120deg,#f1f8f1,#fbfcf9);border-color:#ddebdc}
.discovery-search>label{display:block;font-size:20px;font-weight:650;margin-bottom:15px;color:#203b31}
.discovery-search-row{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #cbdcce;border-radius:12px;padding:5px 8px 5px 14px}
.discovery-search-row>.icon{width:20px;height:20px;color:#587567;flex-shrink:0}
.discovery-search-row>input{width:100%;min-width:0;border:0;box-shadow:none;background:transparent;min-height:44px;margin:0;font-size:15px;padding:8px 2px}
.discovery-search-row>input:focus{outline-offset:1px}
.discovery-search-row>button{min-height:44px;padding:6px 10px}
.discovery-search>p{font-size:12px;color:#617469;margin-top:12px;line-height:1.5}
.discovery-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:18px 0}
.discovery-tools>p{font-size:12px;color:#617469}
.discovery-tools>button{min-height:44px}
.discovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.discovery-group{min-width:0;padding:22px}
.discovery-group>h2{font-size:17px;margin-bottom:6px}
.discovery-group>p{font-size:12px;color:#617469;line-height:1.5;margin-bottom:12px}
.discovery-feature-list{display:grid;gap:0}
.discovery-feature{display:flex;align-items:center;gap:12px;width:100%;min-width:0;min-height:76px;padding:13px 2px;text-align:left;color:#263e32;border:0;background:transparent;border-top:1px solid #edf1ed;border-radius:0;text-decoration:none;cursor:pointer}
.discovery-feature:first-child{border-top:0}
.discovery-feature>span:not(.round-icon){flex:1;min-width:0}
.discovery-feature strong{display:block;font-size:14px;font-weight:600;line-height:1.4}
.discovery-feature small{display:block;margin-top:4px;font-size:12px;line-height:1.5;color:#617469}
.discovery-feature>.round-icon{width:36px;height:36px;flex-shrink:0;background:#eef6ef}
.discovery-feature>.round-icon>.icon{width:19px;height:19px}
.discovery-feature>.icon{width:16px;height:16px;flex-shrink:0;color:#7b9082}
.discovery-feature:hover{background:#f5f9f5}
.discovery-grid>.view-disclosure,.discovery-empty{grid-column:1/-1}
.discovery-grid>.view-disclosure .discovery-feature-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.discovery-grid>.view-disclosure .discovery-feature{border:0}
.discovery-empty p{margin:12px 0 20px;color:#617469}
.forecast-today .forecast-risk{margin-top:0}
.resource-page{max-width:1060px;margin-inline:auto;min-width:0}
.resource-page>.public-section{max-width:none;padding:0;margin:0}
.resource-page .public-section>p:first-child{margin-bottom:22px;color:#617469;line-height:1.6}
.resource-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-bottom:18px;color:var(--green);font-size:13px;font-weight:600}
.resource-back>.icon{width:16px;height:16px;transform:rotate(180deg)}
.resource-page :is(.card,.prose,.account-layout){min-width:0;overflow-wrap:anywhere}
.resource-page .account-layout{align-items:start}
.resource-page .button{white-space:normal;min-height:44px}
@media(min-width:901px){.simple-budget-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;align-items:start}.simple-budget-management{grid-column:2;grid-row:1}.simple-budget-history{grid-column:1;grid-row:1}.simple-shopping .shopping-entry-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}
@media(max-width:900px){.bottom-nav a{min-width:0;flex:1}.discovery-grid{grid-template-columns:minmax(0,1fr)}.discovery-grid>.view-disclosure .discovery-feature-list{grid-template-columns:minmax(0,1fr);gap:0}.simple-budget-columns{display:grid;gap:14px}.view-disclosure>summary{padding:15px;min-height:76px}.view-disclosure-body{padding:15px}.discovery-search,.discovery-group{padding:18px}.discovery-search>label{font-size:18px}.simple-budget,.simple-shopping,.simple-account{gap:14px}.simple-shopping .hero-budget.reference-wallet{min-height:150px}.simple-budget .reference-period{width:100%}.simple-budget-history .card-header h2{font-size:16px}.discovery-feature{min-height:78px}}
@media(prefers-reduced-motion:reduce){.view-disclosure>summary>.icon{transition:none}}

/* Shared by every application screen, including inline filters and reminders.
   Keep native pickers; remove the iOS date button's intrinsic width. */
input:is([type="date"], [type="time"], [type="datetime-local"], [type="month"], [type="week"]),
select {
  min-inline-size: 0;
  max-inline-size: 100%;
  box-sizing: border-box;
}

.form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-grid > :is(.field, label, fieldset) {
  min-inline-size: 0;
  max-inline-size: 100%;
}

input:is([type="date"], [type="time"], [type="datetime-local"], [type="month"], [type="week"]) {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 46px;
  font-size: 16px;
  line-height: 1.4;
  text-align: start;
}

input:is([type="date"], [type="time"], [type="datetime-local"], [type="month"], [type="week"])::-webkit-date-and-time-value {
  min-width: 0;
  text-align: start;
}

input:is([type="date"], [type="time"], [type="datetime-local"], [type="month"], [type="week"])::-webkit-datetime-edit {
  min-width: 0;
  padding: 0;
}

@media (max-width: 600px) {
  select {
    font-size: 16px;
    min-height: 44px;
  }
  /* A combined date and time needs the whole row, even on a larger phone. */
  .form-grid > :is(.field, label):has(input[type="datetime-local"]) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 480px) {
  .form-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

#modal[data-panel="cooking"]{width:min(780px,calc(100% - 24px));max-height:calc(100dvh - 24px)}
.cooking-mode{display:grid;gap:18px;min-width:0}
.cooking-mode p{margin:0;line-height:1.6}
.cooking-mode .cooking-local-note{font-size:12px;color:#557269}
.cooking-mode .cooking-progress{font-size:15px;font-weight:700;color:#17634c}
.cooking-mode progress{width:100%;height:8px;accent-color:#16825f}
.cooking-mode .cooking-step{font-size:clamp(24px,3vw,32px);line-height:1.65;color:#193e34;padding:12px 0;overflow-wrap:anywhere}
.cooking-ingredients{padding:16px;border:1px solid #dce8df;border-radius:14px;background:#f7fbf8;min-width:0}
.cooking-ingredients summary{min-height:44px;font-size:16px;font-weight:650;cursor:pointer}
.cooking-ingredients ul{padding:0;list-style:none;display:grid;gap:12px;margin:16px 0}
.cooking-ingredients li{display:flex;flex-wrap:wrap;gap:6px 12px;padding-bottom:10px;border-bottom:1px solid #e2ebe5;font-size:16px}
.cooking-ingredients li strong{min-width:90px}
.cooking-ingredients li span{flex:1;min-width:0;overflow-wrap:anywhere}
.cooking-mode form{min-width:0;display:flex;flex-wrap:wrap;align-items:end;gap:12px}
.cooking-mode form .field{flex:1 1 120px;margin:0}
.cooking-mode form input{min-width:0;font-size:16px}
.cooking-mode form .form-error{flex-basis:100%}
.cooking-navigation{display:flex;flex-wrap:wrap;gap:12px;padding-top:8px}
.cooking-navigation .button{flex:1 1 150px;min-height:48px;white-space:normal;line-height:1.5}
.cooking-finished h3{font-size:24px;line-height:1.5}
.cooking-open{margin-bottom:16px;min-height:46px}
@media(max-width:480px){#modal[data-panel="cooking"] .modal-body{padding-inline:18px}.cooking-mode{gap:14px}.cooking-ingredients{padding:12px}}

.outing-simple-form>details>summary{font-size:14px;font-weight:650;line-height:1.5}
#modal form.outing-simple-form>:is(.field,.form-grid,p){margin-block:0}
#modal form.outing-simple-form>details{padding:12px}
.outing-simple-form>details{background:#f8fbf9}
.discovery-shortcuts{padding:20px;min-width:0}
.discovery-shortcuts .card-header{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.discovery-shortcuts h2{font-size:18px;margin:0}
.discovery-shortcuts p{font-size:13px;color:#5c7468;line-height:1.6;margin:10px 0 0}
.discovery-shortcuts .text-button{min-height:44px;white-space:normal}
.discovery-shortcut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin-top:10px}
.discovery-shortcut-grid .discovery-feature{min-height:70px}
.discovery-shortcut-choices fieldset{padding:14px;border:1px solid #dfe9e2;border-radius:12px;min-width:0;margin:18px 0}
.discovery-shortcut-choices legend{font-size:15px;font-weight:650;padding-inline:6px}
.discovery-shortcut-choices .check-label{min-height:44px;align-items:center;font-size:14px;margin-top:0}
.assistant-inline-help{display:none}
@media(max-width:700px){
 .community-page>.community-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .community-page>.community-toolbar>.button{min-width:0;width:100%;white-space:normal}
 .community-page>.community-toolbar>.text-button{grid-column:1/-1;justify-self:start;min-height:44px}
 .community-page>.community-toolbar>.button:only-child{grid-column:1/-1;justify-self:start;width:auto}
 .assistant-inline-help{display:inline-flex;gap:8px;align-items:center;justify-content:center;width:fit-content;min-height:44px;margin:0 0 14px;padding:9px 14px;border:1px solid #cfe2e3;border-radius:24px;background:#f1f8fa;color:#176478;font-size:13px;font-weight:650;cursor:pointer}
 .assistant-inline-help .icon{width:19px;height:19px}
 .assistant-launcher.assistant-launcher-docked{display:none}
 body:has(#main :is(input:focus,select:focus,textarea:focus)) .assistant-launcher:not(.assistant-launcher-docked){width:48px;min-width:48px;min-height:48px;padding:7px;gap:0;justify-content:center}
 body:has(#main :is(input:focus,select:focus,textarea:focus)) .assistant-launcher :is(.assistant-launcher-label,.assistant-launcher-count){display:none}
}
@media(max-width:480px){.discovery-shortcut-grid{grid-template-columns:minmax(0,1fr)}.discovery-shortcuts{padding:18px}}
