/* Super App V1.24 — structure, daily-use clarity, weather/news, Todo calendar detail */

.v15-version-pill::after,
.v15-settings-row[data-v15-me-open="about"] .v15-settings-status::after,
.v15-about-card h3::after{content:attr(data-app-version)!important}

/* Respect semantic hidden everywhere. Older .form-grid label display rules must never revive hidden fields. */
[hidden]{display:none!important}
.form-grid label[hidden],.v21-fd-currency[hidden],.v23-custom-tenure[hidden],.v24-funded-currency-hint[hidden]{display:none!important}
.v24-funded-currency-hint{display:block;color:var(--muted);font-size:.72rem;line-height:1.35;margin-top:-4px}

/* ---------- To-Do ---------- */
.todo-toolbar.v19-todo-toolbar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
}
.todo-toolbar.v19-todo-toolbar>.segmented:first-child{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.todo-toolbar.v19-todo-toolbar>.segmented:first-child button{
  min-width:0!important;
  width:100%!important;
  padding-inline:10px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:normal!important;
}
.v24-task-section .section-head{margin-bottom:8px}
.v24-later-section,.v24-someday-section{background:rgba(251,250,246,.82)}

.todo-calendar-card{overflow:visible!important}
.calendar-day[data-v24-date]{cursor:pointer;transition:box-shadow .15s ease,background .15s ease}
.calendar-day.v24-selected-date{box-shadow:inset 0 0 0 2px var(--green)!important;background:#f4f7f1!important}
.v24-calendar-details{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.v24-calendar-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.v24-calendar-detail-head span{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}
.v24-calendar-detail-head h4{margin:3px 0 0;font-family:Georgia,serif;font-size:1.15rem;color:var(--green)}
.v24-calendar-detail-list{display:grid;gap:7px}
.v24-calendar-task-detail{width:100%;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:11px 12px;display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;color:var(--ink)}
.v24-calendar-task-detail>span:nth-child(2){display:grid;min-width:0;gap:2px}
.v24-calendar-task-detail strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v24-calendar-task-detail small{color:var(--muted)}
.v24-calendar-task-detail>b{color:var(--green);font-size:1.2rem}
.v24-calendar-dot{width:8px;height:8px;border-radius:50%;background:#d7c79b}
.v24-calendar-dot.work{background:#b9d7c5}

/* ---------- Money ---------- */
.money-grid.v24-money-grid{grid-template-columns:1fr!important;gap:16px!important}
.money-grid.v24-money-grid>.card{grid-column:auto!important}
.v24-recent-card .transaction-list{gap:0}
.transaction-row.v24-transaction-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content 42px!important;
  gap:10px!important;
  align-items:center!important;
  min-width:0!important;
  padding:12px 0!important;
}
.transaction-row.v24-transaction-row>div:first-child{min-width:0!important;display:grid!important;gap:2px!important}
.transaction-row.v24-transaction-row>div:first-child>strong{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal!important}
.transaction-row.v24-transaction-row>div:first-child>small{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.transaction-row.v24-transaction-row>b{
  max-width:none!important;
  width:auto!important;
  min-width:max-content!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  text-align:right!important;
}
.transaction-row.v24-transaction-row>.transaction-tools{grid-column:3!important;grid-row:1!important;justify-self:end!important;margin:0!important;width:42px!important;min-width:42px!important;display:block!important;position:relative}
.transaction-row.v24-transaction-row>.transaction-tools>.v19-row-more{width:40px!important;height:40px!important;margin:0!important}
.v24-planning-card,.v24-wealth-card,.v24-networth-card{min-width:0}
.v24-planning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v24-planning-grid>section{min-width:0;border:1px solid var(--line);border-radius:16px;padding:13px;background:var(--surface-2)}
.v24-planning-grid>section>span{display:block;font-size:.72rem;color:var(--muted);margin-bottom:8px}
.v24-planning-grid .month-summary{gap:6px}
.v24-planning-grid .month-summary>div{padding:8px 9px;background:rgba(255,255,255,.62)}
.v24-planning-grid .commitment-row{grid-template-columns:minmax(0,1fr) auto auto!important;padding:8px 0!important}
.v24-planning-grid .commitment-list .commitment-row:nth-child(n+4){display:none!important}
.v24-planning-grid .pool-list>div{padding:7px 0}
.v24-planning-grid>section>.muted-text{margin:0 0 8px}
.v24-wealth-rows{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.v24-wealth-rows>button{border:1px solid var(--line);border-radius:16px;background:var(--surface-2);padding:15px;display:flex;align-items:center;justify-content:space-between;text-align:left;color:var(--ink)}
.v24-wealth-rows>button>span{display:grid;gap:4px}
.v24-wealth-rows small{color:var(--muted)}
.v24-wealth-rows b{font-size:1.35rem;color:var(--green)}
.v24-networth-summary{display:grid;grid-template-columns:minmax(160px,.7fr) 1fr;gap:18px;align-items:center}
.v24-networth-summary>div{display:grid;gap:4px}
.v24-networth-summary strong{font-size:1.35rem;color:var(--green)}
.v24-networth-summary small{color:var(--muted)}
.v24-networth-spark{width:100%;height:74px;overflow:visible}
.v24-networth-spark polyline{stroke:var(--green);stroke-width:2}

/* Full-screen/history sheets */
.v24-sheet-backdrop{position:fixed;inset:0;z-index:1600;background:rgba(15,35,29,.42);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:flex-end;padding:14px}
.v24-sheet{width:min(720px,100%);max-height:88vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 28px 80px rgba(13,39,31,.24)}
.v24-sheet>header{position:sticky;top:-18px;z-index:2;background:var(--surface);display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:12px;padding:18px 0 12px;margin-top:-18px;border-bottom:1px solid var(--line)}
.v24-sheet>header span{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}
.v24-sheet>header h3{margin:2px 0 0;font-family:Georgia,serif;font-size:1.45rem;color:var(--green)}
.v24-sheet>header button{width:44px;height:44px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--green);font-size:1.2rem}
.v24-full-transactions,.v24-history-list{display:grid}
.v24-full-tx-row,.v24-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #eee9df}
.v24-full-tx-row:first-child,.v24-history-row:first-child{border-top:0}
.v24-full-tx-row>div,.v24-history-row>div{display:grid;gap:3px;min-width:0}
.v24-full-tx-row strong,.v24-history-row strong{overflow-wrap:anywhere}
.v24-full-tx-row small,.v24-history-row small,.v24-history-row>span{color:var(--muted);font-size:.75rem}
.v24-full-tx-row>b{white-space:nowrap;color:var(--green)}
.v24-full-tx-row.voided{opacity:.48;text-decoration:line-through}
.v24-history-row>span{max-width:260px;text-align:right;overflow-wrap:anywhere}

/* ---------- Bank logos ---------- */
.v24-bank-logo{display:block;width:100%;height:100%;object-fit:contain;padding:3px}

/* ---------- Discover / Travel / Weather / FX ---------- */
.v24-travel-module{margin:0 0 18px;display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,rgba(220,229,220,.75),rgba(246,242,233,.92))}
.v24-travel-module-copy{display:grid;gap:4px;min-width:0}
.v24-travel-module-copy h3{margin:0;font-family:Georgia,serif;font-size:1.7rem;color:var(--green);overflow-wrap:anywhere}
.v24-travel-module-copy p,.v24-travel-module-copy small{margin:0;color:var(--muted)}
.v24-travel-module>button{border:0;background:transparent;color:var(--green);font-weight:800;white-space:nowrap}
.all-tools-card[data-v24-tools]{margin-top:18px}
.v24-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v24-tools-grid>button{border:1px solid var(--line);border-radius:16px;background:var(--surface-2);padding:14px;display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;text-align:left;color:var(--ink)}
.v24-tools-grid>button>span{grid-row:1/3;font-size:1.5rem;color:var(--green)}
.v24-tools-grid strong{align-self:end}.v24-tools-grid small{color:var(--muted)}
.v24-weather-tool{margin-top:18px}
.v24-weather-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.v24-weather-search input{min-width:0;border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px 12px;color:var(--ink)}
.v24-weather-result{margin-top:12px}
.v24-weather-current{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border-radius:16px;background:var(--surface-2)}
.v24-weather-current>div{display:flex;align-items:center;gap:10px;min-width:0}.v24-weather-current>div>span{font-size:1.8rem}.v24-weather-current>div>div{display:grid;min-width:0}.v24-weather-current small{color:var(--muted)}.v24-weather-current>b{font-size:1.8rem;color:var(--green)}
.v24-weather-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:10px 0}
.v24-weather-days>div{display:grid;gap:4px;padding:9px;border:1px solid var(--line);border-radius:12px;text-align:center;min-width:0}.v24-weather-days span,.v24-weather-days small{color:var(--muted);font-size:.7rem}.v24-weather-days b{font-size:.8rem;white-space:nowrap}
.discover-grid.v24-fx-grid{grid-template-columns:1.4fr 1fr!important;align-items:start!important}
.discover-grid.v24-fx-grid>.card{grid-row:auto!important}
.fx-row.v24-fx-row{cursor:pointer;border-radius:10px;padding-inline:6px!important}.fx-row.v24-fx-row:active{background:var(--surface-2)}
.v24-fx-history-head{display:flex;justify-content:space-between;align-items:center;margin:14px 0}.v24-fx-history-head strong{font-size:1.2rem}.v24-fx-history-head b{color:var(--green);font-size:1.35rem}.v24-fx-history-list{display:grid;margin-top:8px}.v24-fx-history-list>div{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid #eee9df}.v24-fx-history-list span{color:var(--muted)}
.v24-trip-weather{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:17px;background:var(--surface-2)}
.v24-trip-weather-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}.v24-trip-weather-head>span{font-weight:800;color:var(--green)}.v24-trip-weather-head small{color:var(--muted)}
.v24-trip-weather-grid{display:grid;gap:8px}.v24-trip-weather-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center;background:rgba(255,255,255,.68);border-radius:13px;padding:11px}.v24-trip-weather-card>div{display:grid;min-width:0}.v24-trip-weather-card>div small,.v24-trip-weather-card>small{color:var(--muted);font-size:.72rem}.v24-trip-weather-card>b{white-space:nowrap;color:var(--green)}.v24-trip-weather-card>small{grid-column:1/-1}

@media(max-width:820px){
  .v24-planning-grid{grid-template-columns:1fr!important}
  .v24-wealth-rows{grid-template-columns:1fr 1fr}
  .discover-grid.v24-fx-grid{grid-template-columns:1fr!important}
  .v24-weather-days{grid-template-columns:repeat(5,minmax(70px,1fr));overflow-x:auto;padding-bottom:3px}
}
@media(max-width:560px){
  .todo-toolbar.v19-todo-toolbar{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important}
  .todo-toolbar.v19-todo-toolbar>.segmented:first-child button{font-size:.82rem!important;padding-inline:6px!important}
  .transaction-row.v24-transaction-row{grid-template-columns:minmax(0,1fr) max-content 40px!important;gap:7px!important}
  .transaction-row.v24-transaction-row>b{font-size:.88rem!important}
  .v24-wealth-rows{grid-template-columns:1fr!important}
  .v24-networth-summary{grid-template-columns:1fr!important}
  .v24-networth-spark{height:58px}
  .v24-sheet-backdrop{padding:0;align-items:flex-end}.v24-sheet{width:100%;max-height:92vh;border-radius:24px 24px 0 0;padding:16px 16px calc(18px + env(safe-area-inset-bottom))}.v24-sheet>header{top:-16px;margin-top:-16px;padding-top:16px}
  .v24-full-tx-row{grid-template-columns:minmax(0,1fr) auto}.v24-full-tx-row>b{font-size:.86rem}.v24-history-row{grid-template-columns:1fr}.v24-history-row>span{text-align:left;max-width:none}
  .v24-travel-module{align-items:flex-start}.v24-travel-module>button{padding-top:4px}.v24-travel-module-copy h3{font-size:1.45rem}
  .v24-trip-weather-card{grid-template-columns:1fr}.v24-trip-weather-card>b{white-space:normal}.v24-trip-weather-card>small{grid-column:auto}
  .v24-weather-search{grid-template-columns:1fr auto}.v24-weather-current>b{font-size:1.5rem}
}
@media(max-width:390px){
  .todo-toolbar.v19-todo-toolbar>.segmented:first-child button{font-size:.76rem!important;padding-inline:4px!important}
  .v24-tools-grid{grid-template-columns:1fr 1fr}
  .transaction-row.v24-transaction-row{grid-template-columns:minmax(0,1fr) max-content 38px!important}
  .transaction-row.v24-transaction-row>b{font-size:.82rem!important}
}
