@media(min-width:769px){
  .stg-row-mobile-only{display:none!important;}
}
@media(max-width:900px){
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .cat-charts{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
  body{padding:1.25rem 0.85rem;}
  header{margin-bottom:1.25rem;padding-bottom:1rem;}
  .h1{font-size:1.65rem;}
  .burger-btn{display:none!important;}
  #main-tab-nav{display:none!important;}
  body{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px));}
  .mobile-bottom-nav{display:flex;}
  #hdr-settings-cog{display:none!important;}
  #hdr-privacy-lock{display:none!important;}
  /* Settings: full-screen single-scroll on mobile */
  #m-settings{padding:0!important;align-items:stretch!important;}
  #m-settings .modal{width:100%!important;max-width:100%!important;height:100vh!important;max-height:100vh!important;border-radius:0!important;padding:0!important;margin:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;}
  #m-settings .stg-modal-header{flex-shrink:0;padding:0.85rem 1.25rem 0.75rem;border-bottom:1px solid var(--border);margin-bottom:0;}
  #m-settings .stg-layout{flex:1;min-height:0;overflow:hidden;margin:0!important;border-top:none;border-radius:0;}
  #m-settings .stg-sidebar{display:none!important;}
  #m-settings .stg-content{flex:1;overflow-y:auto;max-height:none!important;min-height:0!important;padding:0.75rem 1.25rem calc(80px + env(safe-area-inset-bottom,0px));}
  #m-settings .stg-panel{display:block!important;}
  .stg-mobile-section-hdr{display:block;}
  .stg-layout{flex-direction:column;overflow:visible;margin:0 -1.25rem;}
  .stg-sidebar{width:auto;border-right:none;border-bottom:1px solid var(--border);border-radius:0;padding:0.3rem 0.4rem;flex-direction:column;position:sticky;top:0;z-index:2;}
  .stg-sidebar-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow-x:visible;}
  .stg-sidebar .stg-tab{display:flex!important;align-items:center;justify-content:center;width:auto!important;min-height:0!important;text-align:center;padding:0.42rem 0.2rem!important;border-radius:0!important;border-bottom:2px solid transparent!important;margin-bottom:0;background:transparent!important;color:var(--text3)!important;font-size:0.6rem!important;font-weight:600;white-space:nowrap;box-shadow:none!important;box-sizing:border-box;}
  .stg-sidebar .stg-tab:hover{background:transparent!important;color:var(--text2)!important;border-bottom:2px solid var(--border)!important;}
  .stg-sidebar .stg-tab.active{background:transparent!important;color:var(--accent)!important;border-bottom:2px solid var(--accent)!important;font-weight:700;box-shadow:none!important;}
  .stg-sidebar-footer{display:none;}
  .stg-content{max-height:none;min-height:521px;overflow-y:visible;}
  .dash-tabs-bar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:3px;margin-bottom:0.9rem;}
  .dash-tabs-bar::-webkit-scrollbar{display:none;}
  .dash-tab-btn{flex-shrink:0;}
  header{align-items:flex-start;}
  .nw-hero{padding:1.1rem 1.25rem;flex-direction:column;align-items:flex-start;gap:0.65rem;}
  .nw-merged-card{flex-direction:column;padding:1.1rem 1.25rem;gap:0.6rem;}
  .nw-merged-chart{flex:unset;width:100%;}
  .nw-big{font-size:2rem;}
  .nw-hero>div:last-child{text-align:left!important;align-items:flex-start!important;}
  .bgt-hero{padding:1.1rem 1.25rem;flex-direction:column;}
  .bgt-stats{grid-template-columns:repeat(2,1fr);width:100%;}
  .cat-grid{grid-template-columns:repeat(2,1fr);gap:0.5rem;}
  .cat-charts{grid-template-columns:repeat(2,1fr);gap:0.5rem;}
  .tbl-head{display:none;}
  .tbl{background:transparent;border:none;border-radius:0;overflow:visible;}
  .acc-row{display:block;background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;padding:0.75rem 0.9rem 1.5rem;position:relative;cursor:pointer;}
  .acc-row:hover{background:var(--surface);}
  .acc-row.is-closed{opacity:0.4;}
  .acc-row>.dh{display:flex!important;position:absolute;bottom:0.4rem;left:0.75rem;width:2rem;height:1.4rem;align-items:center;justify-content:center;font-size:1rem;color:var(--text3);opacity:0.4;touch-action:none;z-index:1;}
  .acc-row>*:nth-child(3),.acc-row>*:nth-child(4),.acc-row>*:nth-child(5),.acc-row>*:nth-child(6),.acc-row>*:nth-child(8){display:none;}
  .acc-row>*:nth-child(2){display:block;padding-right:105px;}
  .acc-row>*:nth-child(2) .acc-badges{display:none;}
  .acc-row .mo.mo-cur{display:none;}
  .acc-row>.acts{display:none;}
  .acc-mobile-card-row{display:flex;justify-content:space-between;align-items:flex-start;margin-top:0.35rem;padding-bottom:0.3rem;}
  .acc-mcr-meta{font-size:0.68rem;color:var(--text3);}
  .acc-mcr-bal{font-size:0.92rem;font-weight:700;color:var(--text);}
  .acc-mobile-tags-row{display:flex;align-items:center;gap:0.35rem;flex-wrap:wrap;padding:0.1rem 0 0.3rem;}
  .acc-mcr-delta{font-size:0.68rem;font-weight:600;}
  .acc-mobile-spark{display:block;width:100%;height:48px;margin-bottom:0;}
  .acc-mcr-right{position:absolute;top:0.75rem;right:0.9rem;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:0.1rem;}
  .acc-mobile-spark svg{display:block;width:100%;height:48px;}
  .acc-mobile-spark text{display:none;}
  .acc-name{max-width:75%;}
  .acc-notes{max-width:60%;}
  .acc-mcr-meta{max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .sec-total{display:flex;justify-content:space-between;align-items:center;padding:5px 0.9rem;background:rgba(0,163,114,0.08);border-radius:6px;margin-bottom:4px;border:none;}
  .sec-total-lbl{grid-column:unset;flex:1;}
  .sec-total-ann{display:none;}
  .add-row{justify-content:flex-start;padding:0.6rem 0.9rem;background:var(--surface);border-radius:10px;border:1px solid var(--border);gap:0.5rem;}
  .add-row .btn-add-accent{display:none;}
  .brow-head{display:none;}
  .brow{grid-template-columns:18px 1fr auto auto;gap:6px;padding:9px 1rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;}
  .brow>*:nth-child(4),.brow>*:nth-child(5){display:none;}
  .bsec-total{display:grid;grid-template-columns:18px 1fr auto auto;gap:6px;padding:5px 1rem;background:rgba(0,163,114,0.08);border-radius:6px;margin-bottom:6px;}
  .bsec-total-lbl{grid-column:1/3;flex:unset;}
  .bsec-total-pct,.bsec-total-ann{display:none;}
  .bsec-total>span:last-child{min-width:24px;}
  .calc-grid{grid-template-columns:1fr;padding-bottom:1.5rem;}
  .modal{padding:1.25rem;max-height:88vh;}
  .stg-tabs{overflow-x:auto;scrollbar-width:none;}
  .stg-tabs::-webkit-scrollbar{display:none;}
  .stg-tab{white-space:nowrap;flex-shrink:0;padding:0.45rem 0.75rem;touch-action:manipulation;}
  .ov-card-wrap .ov-drag-handle{opacity:0.35;}
  .sbar{padding:0.65rem 1rem;}
  .isa-bdown{gap:0.5rem;}
  .isa-item{min-width:80px;}
  .ib{width:24px;height:24px;font-size:0.65rem;}
  .nw-merged-card{padding:0.9rem 1rem;gap:0.75rem;margin-bottom:0.75rem;}
  .nw-big{font-size:1.9rem;}
  .nw-merged-chart{flex:unset;width:100%;margin-top:0.1rem;}
  .cat-charts{grid-template-columns:1fr;gap:0.5rem;margin-bottom:0.75rem;}
  .ef-card{padding:0.9rem 1rem;margin-bottom:0.75rem;}
  .ef-months{font-size:1.9rem;}
  .ef-big-stat{margin:0.4rem 0 0.65rem;}
  .ef-ticks{height:40px;}
  .ef-tick-lbl{font-size:0.45rem;}
  .ef-bottom{gap:0.5rem;}
  .etf-grid{padding-bottom:1.5rem;}
  /* ETF fund bar — mobile: vertical stack */
  .etf-bar-card{flex-direction:column;min-height:unset;gap:3px;}
  .etf-seg{min-height:44px;width:100%!important;border-radius:6px;display:flex;align-items:center;padding:0.55rem 0.75rem;}
  .etf-seg-inner{flex-direction:row;align-items:center;gap:0.5rem;width:100%;}
  .etf-seg .etf-seg-name{display:block!important;flex:1;min-width:0;font-size:0.72rem;}
  .etf-seg .etf-seg-meta{display:none!important;}
  .etf-seg.etf-xs .etf-seg-ticker{display:block;}
  .etf-seg-ticker{margin-bottom:0;flex-shrink:0;}
  .etf-seg-pct{font-size:0.95rem;font-weight:800;margin-bottom:0;margin-left:auto;flex-shrink:0;}
  .etf-fund-list{grid-template-columns:1fr;}
  .ms-grid{grid-template-columns:repeat(2,1fr);gap:0.5rem;padding-bottom:1.5rem;}
  .ms-card{padding:0.7rem 0.75rem 0.75rem;}
  .ov-sec{font-size:0.75rem;margin:0.85rem 0 0.5rem;}
  .ov-debt-tick-m-hide{display:none;}
  .ov-debt-tiles{gap:4px;}
  .ov-debt-tile{height:20px;border-radius:5px;}
  .ov-debt-pace-summary{font-size:0.54rem;}
  .ov-debt-pace-summary strong{font-size:0.64rem;}
  .isa-trk{padding:0.75rem 0.9rem;margin-bottom:0.75rem;}
  /* Notes: restore card background that .tbl resets to transparent on mobile */
  #tools-panel-notes .tbl{background:var(--surface);}
  /* Notes: hide type badge — clutters mobile layout; fix grid from 5→4 cols */
  .badge-note-type{display:none;}
  .note-head{grid-template-columns:18px 1fr auto auto;}
  .cat-chart-lbl{font-size:0.72rem;}
  .cat-chart-val{font-size:1.4rem;}
  .cat-chart-area{height:44px;}
  .stg-content{min-height:521px;}
  /* Calculators: push type-selector to its own row so ✕ stays on row 1 */
  .calc-type-sel{order:10;width:100%;margin-top:0.25rem;}
  /* ETF fund bar: keep right-side items from wrapping */
  .etf-sbar-cnt,.etf-sbar-tot{flex-shrink:0;white-space:nowrap;}
}
@media(max-width:480px){
  body{padding:0.9rem 0.6rem;}
  body{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px));}
  #m-settings{align-items:stretch!important;padding:0!important;padding-bottom:0!important;}
  #m-settings .modal{border-radius:0!important;max-height:100vh!important;height:100vh!important;transform:none!important;}
  .stg-layout{margin:0 -1rem;}
  .h1{font-size:1.65rem;}
  .hsub{font-size:0.63rem;}
  .nw-hero{padding:1rem;}
  .nw-big{font-size:1.7rem;}
  .bgt-income-val{font-size:1.75rem;}
  .bgt-hero{padding:1rem;}
  .bgt-stats{grid-template-columns:repeat(2,1fr);gap:0.5rem;}
  .overlay{align-items:flex-end;padding-bottom:calc(64px + env(safe-area-inset-bottom,0px));}
  .modal{border-radius:16px 16px 0 0;width:100%!important;max-height:calc(88vh - 64px - env(safe-area-inset-bottom,0px));padding:1.25rem 1rem 1.75rem;transform:translateY(12px) scale(0.99);}
  .overlay.open .modal{transform:translateY(0) scale(1);}
  .ms-grid{grid-template-columns:1fr;}
  .ib{width:26px;height:26px;font-size:0.68rem;}
  .acc-row{padding:0.65rem 0.75rem 1.5rem;}
  .grp-row{padding:6px 0.7rem;}
  .acc-name{font-size:0.79rem;}
  .brow{padding:7px 0.85rem;}
  .bgrp-row{padding:5px 0.85rem;}
  .sbar{padding:0.6rem 0.85rem;}
  .sbar h2{font-size:0.82rem;}
  .stotal{font-size:0.82rem;}
  .dash-tab-btn{font-size:0.58rem;padding:0.22rem 0.65rem;}
  .nf-btn{font-size:0.58rem;padding:0.22rem 0.6rem;}
  .etf-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));}
  .isa-item{min-width:65px;}
  .cat-charts{grid-template-columns:1fr;gap:0.4rem;}
  .cat-chart-lbl{font-size:0.65rem;}
  .cat-chart-val{font-size:1.1rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
  .cat-chart-card{padding:0.65rem 0.75rem 1.4rem;}
  #ea-type{display:none!important;}
  .ea-type-btn{display:block;}
  #ea-status{display:none!important;}
  .ea-status-btn{display:block;}
  #ea-ef-mode{display:none!important;}
  .ea-ef-mode-btn{display:block;}
  #ms-cat{display:none!important;}
  .ms-cat-btn{display:block;margin-bottom:0.8rem!important;}
  #ci-type{display:none!important;}
  .ci-type-btn{display:block;}
  #stg-region-sel{display:none!important;}
  .stg-region-btn{display:block;}
  #stg-currency{display:none!important;}
  .stg-currency-btn{display:block;}
  #stg-nw-mode{display:none!important;}
  .stg-nw-mode-btn{display:block;}
  /* Onboarding: replace native currency select with bottom sheet button */
  #ob-currency{display:none!important;}
  .ob-curr-btn{display:block;}
  /* ETF sbar: tighten account name on small screens */
  .sbar-etf h2{font-size:0.74rem;}
  /* Edit modal: shrink date input so full date (dd/mm/yyyy) fits */
  .ea-entry-date{font-size:0.78rem;}
  /* Rate add grid: tighten on small mobile */
  .ea-rate-add-grid{grid-template-columns:80px 80px 56px auto;}
  .ea-rt-small{max-width:80px;}
  .ea-rt-rate-inp{max-width:56px;}
  /* ETF edit row: tighten columns so name is readable */
  .etf-edit-row{grid-template-columns:40px 1fr 42px 38px 64px 52px 28px 16px;gap:3px;font-size:0.62rem;}
  .etf-ei{font-size:0.62rem;padding:2px 4px;}
  .etf-edit-hdr span{font-size:0.48rem;}
  /* Quick add buttons: shrink slightly */
  .ea-quick-btn{font-size:0.58rem;padding:0.24rem 0.5rem;}
  .ea-quick-btns-row{gap:0.2rem;}
  .ms-grid{grid-template-columns:repeat(2,1fr);gap:0.4rem;}
  .nw-big{font-size:1.6rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
  .bgt-month-nav{flex-wrap:wrap;gap:0.3rem 0.5rem;}
  .bgt-month-title{min-width:0;flex:1;text-align:left;padding-left:0;}
  /* Bulk update: tighten grid at small mobile */
  .bulk-row-grid,.bulk-col-hdr{grid-template-columns:1fr 82px 96px;gap:0.4rem 0.55rem;}
  /* Decimal values: let sbar-interest shrink before stotal/delta at small screen */
  .sbar-interest{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:0;}
  .sbar-delta,.stotal,.collapse-btn{flex-shrink:0;}
  /* Decimal values: keep mobile balance from overflowing card */
  .acc-mcr-bal{max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
}
