/* Dedicated phone UI. Desktop/tablet layout remains unchanged. */
#mobileTopbar,#mobileBottomNav,#mobileMoreSheet{display:none}

@media(max-width:760px){
  :root{--mobile-nav-h:72px;--mobile-top-h:62px}
  html{background:#eef3f8;-webkit-text-size-adjust:100%}
  body{background:#eef3f8;padding-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom));overscroll-behavior-y:none}
  body.mobile-sheet-open{overflow:hidden}
  button,a{-webkit-tap-highlight-color:transparent}
  input,select,textarea{font-size:16px!important}

  .app{display:block;min-height:100dvh}
  .side{display:none!important}
  .main{padding:calc(var(--mobile-top-h) + env(safe-area-inset-top) + 12px) 12px calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 24px)!important;min-width:0}

  #mobileTopbar{display:flex;position:fixed;z-index:30;top:0;left:0;right:0;height:calc(var(--mobile-top-h) + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) 68px 10px 16px;align-items:center;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(16,38,61,.09)}
  .mobile-brand{font-size:20px;font-weight:850;letter-spacing:-.4px;color:#10263d}.mobile-brand span{color:#2374e1}.mobile-top-sub{margin-left:9px;padding-left:9px;border-left:1px solid #dce4ed;color:#738094;font-size:11px;font-weight:700}
  .hamburger{top:calc(10px + env(safe-area-inset-top));right:12px;width:42px;height:42px;border-radius:12px;box-shadow:none;background:#f5f8fb;border-color:#dbe4ee}

  #mobileBottomNav{display:grid;position:fixed;z-index:2147482000;left:0;right:0;bottom:0;height:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom));padding:5px 7px env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(16,38,61,.12);box-shadow:0 -8px 28px rgba(20,39,61,.07)}
  #mobileBottomNav button{border:0;background:transparent;color:#718095;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;font-weight:750;min-width:0;padding:5px 2px}
  #mobileBottomNav button.active{color:#1768c9;background:#edf5ff}
  .mobile-nav-icon{display:grid;place-items:center;height:25px;font-size:20px;line-height:1;font-weight:800}

  #mobileMoreSheet{display:block;position:fixed;inset:0;z-index:2147482500;pointer-events:none;visibility:hidden}
  #mobileMoreSheet.open{pointer-events:auto;visibility:visible}
  .mobile-sheet-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(8,22,37,.48);opacity:0;transition:opacity .2s}
  #mobileMoreSheet.open .mobile-sheet-backdrop{opacity:1}
  .mobile-sheet-card{position:absolute;left:0;right:0;bottom:0;max-height:82dvh;overflow:auto;background:#fff;border-radius:24px 24px 0 0;padding:7px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -22px 60px rgba(8,22,37,.22);transform:translateY(105%);transition:transform .22s ease}
  #mobileMoreSheet.open .mobile-sheet-card{transform:translateY(0)}
  .mobile-sheet-handle{width:42px;height:5px;border-radius:999px;background:#d8e0e9;margin:2px auto 13px}
  .mobile-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.mobile-sheet-head strong{display:block;font-size:22px}.mobile-sheet-head span{display:block;color:#7a8798;font-size:12px;margin-top:2px}.mobile-sheet-head>button{width:38px;height:38px;border:0;border-radius:50%;background:#f0f4f8;font-size:24px;color:#556376}
  .mobile-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mobile-more-grid button{border:1px solid #dde6ef;background:#f8fafc;border-radius:15px;padding:15px 12px;text-align:left;color:#26364a;min-height:74px}.mobile-more-grid button>span{display:block;font-size:21px;margin-bottom:8px;color:#2374e1}.mobile-more-grid button>b{font-size:13px}.mobile-more-grid button.active{background:#edf5ff;border-color:#a9ccef;color:#155dac}
  .mobile-menu-wide{width:100%;margin-top:12px;border:1px solid #d7e1eb;background:#10263d;color:#fff;border-radius:14px;padding:14px;font-weight:800;text-align:left}

  .app-menu{z-index:2147482400;top:auto;right:0;left:0;bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom));width:100%;max-height:72dvh;border-radius:22px 22px 0 0;padding:18px 16px 22px;border-left:0;border-right:0;border-bottom:0;box-shadow:0 -20px 55px rgba(15,35,55,.2)}
  .app-menu:before{content:'';display:block;width:42px;height:5px;border-radius:999px;background:#d8e0e9;margin:-8px auto 14px}

  .global-toolbar{display:block;padding:12px;border:0;border-radius:16px;margin-bottom:12px;box-shadow:0 4px 14px rgba(22,45,70,.06)}
  .global-toolbar-left,.global-toolbar-right{width:100%;display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}
  .global-toolbar-left{margin-bottom:8px}.global-toolbar .field{min-width:0;flex:1 1 150px}.global-toolbar .btn{min-height:42px}
  .global-toolbar-right{justify-content:space-between}.save-status{order:3;width:100%;padding:2px 1px 0;font-size:11px}

  .top{display:flex;flex-direction:column!important;gap:11px;margin:4px 2px 14px}.top h1{font-size:25px;line-height:1.1;letter-spacing:-.55px}.top p{font-size:13px;line-height:1.45;margin-top:5px}.top .actions{width:100%}.top .actions .btn{width:100%;min-height:46px;border-radius:13px;font-size:14px}
  .btn{min-height:42px;border-radius:11px;padding:10px 13px}.btn.compact{min-height:36px;padding:8px 10px}.link{min-height:34px;padding:6px 2px}

  .card{border:0;border-radius:17px;padding:15px;box-shadow:0 4px 16px rgba(22,45,70,.065)}
  .value{font-size:24px;letter-spacing:-.4px}.label{font-size:12px}
  .portfolio-kpi-layout{grid-template-columns:1fr 1fr!important;gap:9px;margin-bottom:11px}
  .portfolio-kpi-layout>.card{padding:14px;min-height:104px}.portfolio-kpi-layout>.card .value{font-size:22px}
  .share-kpi-group{grid-column:1/-1!important;border:0;border-radius:17px;padding:13px;background:#eaf3ff;box-shadow:none;min-width:0}
  .share-kpi-heading{margin:0 2px 9px}.share-kpi-heading .sub{display:none}
  .share-kpi-grid{display:flex!important;overflow-x:auto;gap:9px;padding-bottom:2px;scroll-snap-type:x proximity;scrollbar-width:none}.share-kpi-grid::-webkit-scrollbar{display:none}.share-kpi-card{flex:0 0 168px;scroll-snap-align:start;padding:13px;border:0;border-radius:13px}.share-kpi-card .value{font-size:20px}
  .pinned-reports{display:flex;overflow-x:auto;gap:9px;margin:0 0 11px;scrollbar-width:none}.pinned-reports::-webkit-scrollbar{display:none}.pinned-report{flex:0 0 235px}

  .chart-card-head{display:block}.chart-range-panel{min-width:0;margin-top:12px}.chart-range-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chart-range-controls .field{width:auto;min-width:0}.chart-range-controls .btn,.chart-range-controls .link{width:100%}.chart-range-status{text-align:left;font-size:11px}
  .portfolio-chart{height:245px}.analytics-chart,.scenario-stacked-chart{height:235px}.loan-plan-chart,.loan-history-chart,.other-value-chart{height:225px}.property-card-loan-chart{height:190px}.property-card-chart-panel{min-height:225px;padding:10px}
  .chart-legend{gap:10px;font-size:11px}.chart-card-head h3{font-size:16px}

  .toolbar{display:block}.filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filters select,.filters input{width:100%;min-width:0!important;height:44px}.filters .code-filter{grid-column:1/-1}
  .bulk-toolbar{padding:11px}.bulk-toolbar .field{width:100%;min-width:0}

  .table-wrap{overflow:visible;border:0;background:transparent;border-radius:0}
  table.table{display:block;min-width:0!important;width:100%;background:transparent}
  table.table thead{display:none}
  table.table tbody,table.table tfoot{display:grid;gap:9px;width:100%}
  table.table tr{display:block;width:100%;background:#fff;border:1px solid #e1e8f0;border-radius:15px;box-shadow:0 3px 12px rgba(22,45,70,.045);overflow:hidden}
  table.table tr.holding-row:hover{background:#fff}
  table.table td{display:grid;grid-template-columns:minmax(92px,38%) minmax(0,1fr);gap:10px;align-items:center;width:100%;padding:9px 12px!important;white-space:normal!important;border-bottom:1px solid #edf1f5!important;text-align:right;font-size:13px;min-height:38px}
  table.table td:last-child{border-bottom:0!important}
  table.table td[data-mobile-label]:before{content:attr(data-mobile-label);text-align:left;color:#7a8798;font-size:10px;font-weight:800;line-height:1.2;text-transform:uppercase;letter-spacing:.35px}
  table.table td:not([data-mobile-label]){display:flex;justify-content:flex-end}
  table.table td[colspan]{display:block;text-align:left}
  table.table td[colspan]:before{display:none}
  table.table .row-actions{justify-content:flex-end}.transaction-actions,.transactions-action-cell{min-width:0}.row-actions .btn{flex:0 0 auto}
  .snapshot-foot td{background:#f7f9fc}

  .cards{grid-template-columns:1fr!important}.property-card{padding:15px}.property-card-head{display:block}.property-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.property-card-actions .btn{width:100%;min-height:40px}.property-card-body{grid-template-columns:1fr!important;gap:12px}.property-card-left .metrics{grid-template-columns:1fr 1fr!important;gap:8px}.property-card-left .metrics .metric:last-child:nth-child(odd){grid-column:1/-1}
  .asset-card .metrics{grid-template-columns:1fr 1fr}.other-value-summary,.loan-history-summary,.loan-plan-summary{grid-template-columns:1fr 1fr!important}.metric{padding:10px}.metric b{font-size:15px}

  .analytics-grid{grid-template-columns:1fr}.review-summary,.summary-grid,.import-summary{grid-template-columns:1fr 1fr!important;gap:8px}.review-count{font-size:24px}.review-item{grid-template-columns:auto 1fr}.review-item>.btn{grid-column:1/-1;width:100%}.allocation-row{grid-template-columns:95px 1fr}.allocation-value{grid-column:2}.goal-card,.goal-card-share{grid-template-columns:1fr!important}.goal-contribution-preview{grid-template-columns:1fr 1fr}.goal-actions-vertical{flex-direction:column!important}.goal-actions .btn{flex:1}
  .inline-form,.loan-plan-form,.loan-entry-form,.prepayment-form,.other-value-form,.rate-change-form,.what-if-row{grid-template-columns:1fr!important}.inline-form-actions,.loan-plan-form-actions{grid-column:auto}.inline-form-actions .btn,.loan-plan-form-actions .btn{flex:1}

  .modal-bg,.goal-modal-bg{padding:0!important;align-items:flex-end!important}
  .modal,.goal-modal{width:100%!important;max-width:none!important;max-height:94dvh!important;border-radius:24px 24px 0 0!important;box-shadow:0 -24px 70px rgba(0,0,0,.25);overflow:auto!important}
  .mh{position:sticky;top:0;z-index:2;background:#fff;padding:15px 16px}.mh:before{content:'';position:absolute;top:6px;left:50%;transform:translateX(-50%);width:42px;height:5px;border-radius:999px;background:#d8e0e9}.mh h2{padding-top:5px;font-size:18px}.mb{padding:15px 16px 18px!important}.mf{position:sticky;bottom:0;z-index:2;background:#fff;padding:12px 16px calc(12px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr}.mf .btn{width:100%}.form,.goal-modal-form{grid-template-columns:1fr!important;gap:11px}.field.full,.goal-modal-form .share-goal-fields{grid-column:auto!important}.share-goal-fields{grid-template-columns:1fr!important}

  #asset-cloud-sync{right:12px!important;bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 9px)!important}
  #asset-cloud-pill{padding:8px 10px;box-shadow:0 5px 16px rgba(20,31,51,.12)}
  #asset-cloud-label{max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700}
  #asset-cloud-panel{position:fixed!important;left:10px!important;right:10px!important;bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 12px)!important;width:auto!important;max-height:68dvh!important;border-radius:18px!important}

  .empty{padding:25px 12px}.audit-row{grid-template-columns:1fr}.restore-item{display:block}.restore-item .btn{width:100%;margin-top:8px}.print-options{grid-template-columns:1fr}.tax-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.tax-tabs .btn{white-space:nowrap}
}

@media(max-width:390px){
  .mobile-top-sub{display:none}.portfolio-kpi-layout{grid-template-columns:1fr!important}.portfolio-kpi-layout>.card{min-height:auto}.share-kpi-group{grid-column:auto!important}.review-summary,.summary-grid,.import-summary,.other-value-summary,.loan-history-summary,.loan-plan-summary,.goal-contribution-preview{grid-template-columns:1fr!important}.filters{grid-template-columns:1fr}.filters .code-filter{grid-column:auto}.property-card-actions{grid-template-columns:1fr}
}
