/* Super App V1.19 — mobile UX density + final-version display layer */

/* Version display now follows a data attribute populated from src/version.js.
   This deliberately overrides the old V1.17 hard-coded pseudo content. */
.v15-version-pill::after,
.v15-settings-row[data-v15-me-open="about"] .v15-settings-status::after {
  content:attr(data-app-version) !important;
}
.v15-about-card h3::after {
  content:attr(data-app-version) !important;
}

/* Global interaction density */
.v19-redundant-cta{display:none!important}
body[data-v19-route="me"] .quick-fab{display:none!important}
.v19-row-more,
.v19-money-more,
.v19-investment-more{
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--green);
  border-radius:12px;
  font:inherit;
  font-weight:800;
}
.v19-row-more{
  width:38px;
  height:38px;
  padding:0;
  display:grid;
  place-items:center;
  font-size:20px;
  line-height:1;
}
.v19-menu-host,
.v19-has-menu,
.v19-money-actions,
.page-actions[data-v19-investments="1"]{position:relative}
.v19-row-menu,
.v19-action-menu{
  display:none;
  position:absolute;
  z-index:45;
  right:0;
  top:calc(100% + 6px);
  min-width:150px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fffdf8;
  box-shadow:0 16px 42px rgba(24,63,53,.16);
}
.v19-row-menu.open,
.v19-action-menu.open{display:grid;gap:2px}
.v19-row-menu button,
.v19-action-menu button{
  width:100%;
  min-height:40px;
  padding:9px 11px!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  text-align:left;
  text-decoration:none!important;
  color:var(--green)!important;
  font-size:13px!important;
}
.v19-row-menu button:hover,
.v19-action-menu button:hover{background:var(--surface-2)!important}
.v19-row-menu .danger-text,
.v19-action-menu .danger-text{color:#a25449!important}

/* Money account map */
.account-grid.v19-account-groups{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
}
.v19-currency-group{
  overflow:hidden;
  border:1px solid rgba(20,68,55,.09);
  border-radius:19px;
  background:rgba(249,248,242,.9);
}
.v19-currency-head{
  min-height:52px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:11px 15px;
  border-bottom:1px solid rgba(20,68,55,.075);
  background:linear-gradient(135deg,rgba(231,239,230,.82),rgba(248,244,234,.82));
}
.v19-currency-head>div{display:flex;align-items:baseline;gap:8px}
.v19-currency-head strong{color:#153f35;font-size:.9rem;letter-spacing:.04em}
.v19-currency-head small{color:var(--muted);font-size:.7rem}
.v19-currency-head b{color:#153f35;font-size:.92rem}
.v19-account-list{display:grid}
.account-card.v19-account-row{
  width:100%;
  min-height:78px;
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  align-items:center!important;
  gap:13px!important;
  padding:13px 15px!important;
  margin:0!important;
  border:0!important;
  border-top:1px solid rgba(20,68,55,.065)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.v19-account-list .v19-account-row:first-child{border-top:0!important}
.v19-account-row .account-icon{margin:0!important}
.v19-account-row>div:last-child{
  min-width:0;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  column-gap:12px;
  row-gap:2px!important;
  align-items:center;
}
.v19-account-row>div:last-child>strong{
  grid-column:1;
  grid-row:1;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.98rem;
}
.v19-account-row>div:last-child>small{
  grid-column:1;
  grid-row:2;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:.74rem;
}
.v19-account-row>div:last-child>b{
  grid-column:2;
  grid-row:1 / span 2;
  align-self:center;
  margin:0!important;
  white-space:nowrap;
  color:#153f35;
  font-size:1rem;
}
.v19-zero-account{opacity:.62}

/* Money top actions: compact single-row rail instead of a large block. */
.quick-actions.v19-money-actions{
  display:flex!important;
  gap:8px!important;
  overflow-x:auto;
  padding-bottom:3px;
  scrollbar-width:none;
}
.quick-actions.v19-money-actions::-webkit-scrollbar{display:none}
.v19-money-actions>button{
  flex:0 0 auto;
  min-width:86px;
  min-height:48px;
  padding:9px 11px!important;
  border-radius:13px!important;
  font-size:12px!important;
}
.v19-money-more{
  display:grid!important;
  grid-template-columns:auto 1fr;
  gap:5px;
  align-items:center;
}
.v19-money-more span{letter-spacing:.08em}
.v19-money-more small{font-size:12px;font-weight:800}
.v19-money-actions>.v19-action-menu{right:0;left:auto;overflow:visible}

/* To-Do */
.todo-toolbar.v19-todo-toolbar{
  margin-bottom:12px!important;
  gap:8px!important;
}
.v19-todo-toolbar .segmented{min-height:44px}
.v19-todo-toolbar .segmented button{padding:9px 14px}
.todo-columns{display:grid;gap:12px!important}
.task-section.v19-empty-section{
  min-height:0!important;
  padding:12px 16px!important;
}
.task-section.v19-empty-section .section-head{margin:0!important}
.task-section.v19-empty-section .section-head h3{font-size:1.25rem!important}
.task-section[hidden],.v19-hide-empty-card{display:none!important}
.task-row.v19-task-row{
  min-height:68px;
  grid-template-columns:44px minmax(0,1fr) auto 38px!important;
  gap:8px!important;
  padding:9px 0!important;
  align-items:center;
}
.v19-task-row .check{
  width:44px!important;
  height:44px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  display:grid;
  place-items:center;
  font-size:0!important;
}
.v19-task-row .check::before{
  content:'';
  width:21px;
  height:21px;
  display:grid;
  place-items:center;
  border:1.5px solid #a9b8b0;
  border-radius:50%;
  background:#fff;
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.v19-task-row .check.done::before{
  content:'✓';
  border-color:#1b6754;
  background:#1b6754;
}
.v19-task-row .task-main{min-width:0}
.v19-task-row .task-main strong{font-size:.96rem;line-height:1.25}
.v19-task-row .task-main small{font-size:.73rem;color:var(--muted);line-height:1.3}
.v19-task-open{cursor:pointer;border-radius:8px}
.v19-task-open:focus-visible{outline:2px solid rgba(20,87,71,.35);outline-offset:3px}
.v19-task-row .priority{font-size:.69rem;padding:6px 9px}
.v19-task-row .task-row-actions{
  grid-column:auto!important;
  justify-self:end!important;
  margin:0!important;
}
.v19-task-row .task-row-actions>.v19-row-menu{right:0}
.v19-collapsible.collapsed{padding-bottom:12px}
.v19-section-toggle{
  margin-left:auto;
  border:0;
  background:transparent;
  color:var(--green);
  font-weight:800;
  font-size:12px;
}
.v19-undo-toast{
  position:fixed;
  z-index:1200;
  left:50%;
  bottom:92px;
  width:min(440px,calc(100% - 28px));
  min-height:58px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:11px 13px 11px 16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:17px;
  background:#153f35;
  color:#fff;
  box-shadow:0 16px 44px rgba(15,50,42,.28);
  transform:translate(-50%,14px);
  opacity:0;
  transition:opacity .18s ease,transform .18s ease;
}
.v19-undo-toast.show{opacity:1;transform:translate(-50%,0)}
.v19-undo-toast>span{min-width:0;display:grid;gap:2px}
.v19-undo-toast strong{font-size:.86rem}
.v19-undo-toast small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(255,255,255,.7);font-size:.72rem}
.v19-undo-toast button{
  border:0;
  border-radius:11px;
  background:#fffdf8;
  color:#15483b;
  padding:9px 12px;
  font-weight:900;
}

/* Keep list controls usable without shrinking calendar task text to 8px. */
@media(max-width:560px){
  .calendar-day[data-v19-count]{position:relative}
  .calendar-day[data-v19-count]::after{
    content:attr(data-v19-count);
    position:absolute;
    right:5px;
    top:5px;
    min-width:17px;
    height:17px;
    padding:0 4px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:#dfeae2;
    color:#165040;
    font-size:9px;
    font-weight:900;
  }
  .calendar-tasks{display:flex!important;gap:3px!important;align-items:center;flex-wrap:wrap;padding-top:7px}
  .calendar-task{
    width:7px!important;
    height:7px!important;
    min-width:7px!important;
    padding:0!important;
    border-radius:50%!important;
  }
  .calendar-task span,.calendar-task small,.calendar-more{display:none!important}
}

/* Commitment and transaction actions no longer sit permanently under rows. */
.transaction-tools.v19-menu-host{margin-top:4px!important}
.transaction-tools.v19-menu-host>.v19-row-more{margin-left:0}
.commitment-actions{align-items:center}
.v19-pay-action{
  min-height:36px;
  padding:7px 11px!important;
  border:1px solid var(--line)!important;
  border-radius:11px!important;
  text-decoration:none!important;
}
.v19-commitment-more{position:relative;display:inline-flex}

/* Quick Add */
.modal.v19-quick-add-modal{width:min(620px,calc(100% - 24px));max-height:min(82dvh,720px)}
.quick-add-grid.v19-quick-add-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
}
.quick-add-choice.v19-quick-action{
  min-height:76px!important;
  padding:12px 13px!important;
  border-radius:15px!important;
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:9px!important;
  row-gap:1px!important;
  align-items:center!important;
}
.v19-quick-action>span{
  grid-column:1;
  grid-row:1 / span 2;
  font-size:21px!important;
  align-self:center;
}
.v19-quick-action strong{grid-column:2;grid-row:1;font-size:.9rem!important}
.v19-quick-action small{grid-column:2;grid-row:2;font-size:.7rem!important;line-height:1.2}
.v19-quick-search{grid-column:1/-1}

/* Travel */
.trip-card.v19-trip-card .trip-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
.v19-trip-card .trip-kpis>div{padding:9px!important;min-width:0}
.v19-trip-card .trip-kpis span{font-size:.66rem}
.v19-trip-card .trip-kpis b{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v19-home-travel-preview{padding:15px!important}
.v19-home-travel-preview .trip-placeholder{min-height:132px!important}

/* Fixed Deposit + Investments */
.fd-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
.page-actions[data-v19-investments="1"]>.v19-action-menu{right:0}
.v19-investment-more{padding:10px 13px}
.investment-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Discover advanced tools stay available without stretching the default feed. */
.v19-advanced-fx{
  grid-column:1/-1;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(251,250,246,.92);
  overflow:hidden;
}
.v19-advanced-fx summary{
  cursor:pointer;
  padding:14px 16px;
  color:#15483b;
  font-weight:900;
  list-style:none;
}
.v19-advanced-fx summary::-webkit-details-marker{display:none}
.v19-advanced-fx summary::after{content:'+';float:right;font-size:18px}
.v19-advanced-fx[open] summary::after{content:'−'}
.v19-advanced-fx-body{display:grid;gap:12px;padding:0 12px 12px}
.v19-advanced-fx-body>.card{margin:0!important}

/* Forms */
.v19-onboarding-currency-hint{
  display:block;
  margin-top:-5px;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}
.account-scope-line.v19-compact-switch,
.account-create-form .account-scope-line{
  min-height:62px;
  padding:10px 12px!important;
}

@media(max-width:820px){
  .content{padding-bottom:104px}
  .fd-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .fd-summary-strip>div{padding:10px 12px!important;border-radius:14px!important}
  .fd-summary-strip strong{font-size:20px!important}
  .investment-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .investment-summary-grid .card{padding:14px!important}
  .investment-summary-grid strong{font-size:20px!important}
  .v19-home-travel-preview .trip-placeholder{min-height:120px!important}
}

@media(max-width:560px){
  .todo-toolbar.v19-todo-toolbar{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    align-items:center!important;
  }
  .v19-todo-toolbar .segmented:first-child{min-width:0;display:grid;grid-template-columns:repeat(3,1fr)}
  .v19-todo-toolbar .segmented button{padding:8px 9px!important;font-size:.82rem}
  .v19-todo-toolbar .compact-segment{display:grid;grid-template-columns:1fr 1fr;min-width:132px}
  .task-row.v19-task-row{grid-template-columns:42px minmax(0,1fr) auto 36px!important}
  .v19-task-row .priority{padding:5px 7px;font-size:.65rem}
  .v19-row-more{width:36px;height:36px}
  .v19-currency-head{padding:10px 13px}
  .account-card.v19-account-row{grid-template-columns:48px minmax(0,1fr)!important;padding:11px 13px!important;gap:11px!important;min-height:72px}
  .v19-account-row>div:last-child>b{font-size:.93rem}
  .quick-add-grid.v19-quick-add-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .quick-add-choice.v19-quick-action{min-height:72px!important;padding:11px!important}
  .trip-card.v19-trip-card .trip-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .v19-trip-card .trip-kpis>div{padding:8px 6px!important}
  .v19-trip-card .trip-kpis b{font-size:.76rem}
  .v19-home-travel-preview{padding:13px!important}
  .v19-home-travel-preview .trip-placeholder{min-height:112px!important}
}

@media(max-width:390px){
  .v19-todo-toolbar .compact-segment{min-width:118px}
  .v19-task-row .priority{max-width:52px;overflow:hidden;text-overflow:ellipsis}
  .quick-add-choice.v19-quick-action{grid-template-columns:26px minmax(0,1fr)!important}
  .v19-quick-action>span{font-size:19px!important}
  .v19-quick-action strong{font-size:.84rem!important}
  .v19-quick-action small{font-size:.65rem!important}
}
