.mobile-bottom-nav,.nav-backdrop{display:none}

@media(max-width:850px){
  :root{font-size:14px}
  body{background:#f3f5f1}
  button,.button{min-height:44px}
  .close{min-width:44px;width:44px}
  .app{display:block;min-width:0}
  .workspace{padding:12px 12px calc(88px + env(safe-area-inset-bottom));max-width:100%;overflow-wrap:anywhere}
  header{position:sticky;z-index:4;top:0;margin:-12px -12px 12px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;background:#f3f5f1ed;backdrop-filter:blur(14px);border-bottom:1px solid #dce2dc}
  header h1{font-size:21px;line-height:26px}
  .eyebrow{display:none}
  .account-state{min-width:0}
  .account-state span{max-width:92px;font-size:12px}
  .mobile-menu{display:none}

  aside{display:flex;z-index:20;width:min(84vw,310px);height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
  aside .logo{padding-bottom:14px}
  aside nav{gap:3px}
  aside .nav{min-height:46px}
  aside.open~.workspace{pointer-events:none}
  .nav-backdrop{position:fixed;z-index:19;inset:0;width:100%;height:100%;min-height:0;padding:0;border-radius:0;background:#17231e66;opacity:0;pointer-events:none}
  .nav-backdrop.open{display:block;opacity:1;pointer-events:auto}

  .mobile-bottom-nav{position:fixed;z-index:15;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:6px 4px calc(5px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #d7ded8;box-shadow:0 -8px 24px #17231e12}
  .mobile-bottom-nav button{display:grid;justify-items:center;align-content:center;gap:3px;min-width:0;min-height:52px;padding:3px 1px;border:0;border-radius:8px;background:transparent;color:#69776f;font-size:10px;font-weight:650;line-height:1}
  .mobile-bottom-nav button.active{background:#e5efe8;color:#12372a}
  .mobile-bottom-nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mobile-bottom-nav button:nth-child(2) svg{fill:currentColor;stroke:none}
  .mobile-bottom-nav span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}

  .panel{padding:15px;border-radius:9px}
  .grid,.monthly-grid,.report-grid,.health-grid,.sync-grid,.settings-grid{gap:10px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:10px}
  .stats article{min-width:0;padding:13px}
  .stats span{min-height:28px;margin-bottom:5px;font-size:11px;line-height:14px}
  .stats strong{display:block;min-width:0;font-size:18px;line-height:23px;overflow-wrap:anywhere}
  .stats article:last-child:nth-child(odd){grid-column:1/-1}
  .budget-stats article:last-child:nth-child(even){grid-column:auto}
  .panel h2,.dialog-head h2{margin-bottom:12px;font-size:16px}
  .chart{height:180px;gap:6px}

  .tx{grid-template-columns:42px minmax(0,1fr) auto;gap:8px;min-height:58px}
  .tx>div{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tx .amount{font-size:12px;white-space:nowrap}

  .review-toolbar,.report-toolbar,.monthly-toolbar,.budget-toolbar,.health-toolbar{gap:9px;margin-bottom:10px}
  .review-toolbar label,.report-toolbar label,.monthly-toolbar label,.budget-toolbar label,.health-toolbar label{width:100%;min-width:0;margin:0}
  select{max-width:100%}
  .review-count{justify-content:flex-start}
  .review-count strong{font-size:24px}
  .direction-tabs{margin-bottom:10px}
  .direction-tabs button{min-height:46px}
  .review-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px}
  .review-mode-tabs button{min-height:44px;padding:0 10px;border:1px solid #d7ded8;border-radius:8px;background:#fff;color:#12372a;font-weight:750}
  .review-mode-tabs button.active{background:#12372a;color:#fff}
  .review-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}
  .review-actions>select,.review-actions>.project-checks{grid-column:1/-1}
  .review-actions>select{width:100%;height:46px}
  .project-checks{display:flex;overflow-x:auto;flex-wrap:nowrap;padding:0 0 2px;scrollbar-width:none}
  .project-checks label{flex:0 0 auto;min-height:44px}
  .select-all{min-height:46px;padding:10px 12px}
  .operation-list{max-height:none}
  .review-card{display:grid;gap:9px;padding:12px;border-bottom:1px solid #e0e4df;background:#fffdf8}
  .review-card-main{display:grid;grid-template-columns:22px 38px minmax(0,1fr) auto;gap:8px;align-items:center;margin:0}
  .review-card-main input{width:22px;height:22px}
  .review-date{font-size:11px;color:#7b857e}
  .review-title{display:grid;gap:2px;min-width:0}
  .review-title strong{font-size:15px;line-height:18px;color:#20342b;overflow-wrap:anywhere}
  .review-title small,.review-title em,.review-title i{font-style:normal;font-size:12px;line-height:15px;color:#76817a;overflow-wrap:anywhere}
  .review-title i{color:#9b5b39}
  .review-card-main>b{font-size:13px;white-space:nowrap}
  .review-toggle{width:100%;min-height:42px}
  .review-inline-editor{display:grid;gap:9px;padding:11px;border:1px solid #dfe5df;border-radius:8px;background:#f8faf7}
  .review-inline-editor.hidden{display:none}
  .review-inline-editor label{margin:0}
  .review-inline-editor select{width:100%;height:46px}
  .review-inline-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .review-batch-panel{position:sticky;z-index:6;bottom:calc(66px + env(safe-area-inset-bottom));display:grid;gap:8px;margin:10px -3px 0;padding:12px;border:1px solid #d7ded8;border-radius:10px;background:#fff;box-shadow:0 -8px 28px #17231e22}
  .review-batch-panel.hidden{display:none}
  .review-batch-panel>div{display:grid;gap:2px}
  .review-batch-panel strong{font-size:15px}
  .review-batch-panel span{font-size:12px;color:#6c7770}
  .review-batch-panel select{height:46px}
  .checkbox-row{display:flex;align-items:center;gap:8px;min-height:44px}
  .checkbox-row input{width:20px;height:20px}
  .operation-row{grid-template-columns:22px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:3px 9px;padding:12px;min-height:74px}
  .operation-row>input{grid-row:1/3}
  .operation-row time{grid-column:2;font-size:10px}
  .operation-main{grid-column:2;grid-row:2}
  .operation-main strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:17px}
  .operation-main span{white-space:normal;line-height:15px}
  .operation-main small{white-space:normal;line-height:14px}
  .operation-row>b{grid-column:3;grid-row:1/3;align-self:center;margin:0;text-align:right;font-size:13px}

  .budget-toolbar>div{grid-template-columns:1fr 1fr}
  .budget-toolbar>div button{padding:0 9px;font-size:12px}
  .budget-insight{gap:8px;padding:14px;margin-bottom:10px}
  .budget-panel>.panel-head{padding:15px}
  .budget-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:14px 12px}
  .budget-row>.budget-category,.budget-row>label,.budget-row>b,.budget-row>span{min-width:0;max-width:100%}
  .budget-category span{white-space:normal;overflow-wrap:anywhere}
  .budget-row>b,.budget-row>span{white-space:normal}
  .budget-row input{height:44px}

  .report-toolbar>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .report-toolbar>div button:first-child{grid-column:1/-1}
  .report-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .report-summary span:last-child:nth-child(odd){grid-column:1/-1}
  .statement-table>div{grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:11px 0}
  .statement-table>div>span:first-child{grid-column:1/-1;font-weight:650}
  .statement-table span{min-width:0;overflow-wrap:anywhere}
  .balance-row{gap:7px}
  #balance-editor>button{width:100%;margin-top:7px}

  .health-hero{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:10px}
  .health-hero article{min-width:0;padding:14px}
  .health-hero article:first-child{grid-column:1/-1}
  .health-hero strong{font-size:21px;overflow-wrap:anywhere}
  .health-toolbar p{margin:0}

  .today-hero{padding:20px 16px;border-radius:12px}
  .today-hero>strong{font-size:32px;overflow-wrap:anywhere}
  .today-metrics{gap:8px}
  .today-metrics article{min-width:0;padding:12px 9px}
  .today-metrics span{font-size:11px}
  .today-metrics strong{font-size:15px}
  .today-payment,.today-candidate{grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:13px 0}
  .today-payment time,.today-payment>div,.today-candidate>div{grid-column:1}
  .today-payment>b{grid-column:2;grid-row:1/3}
  .today-payment>button{grid-column:1/-1;width:100%}
  .today-candidate>button{min-width:0}

  .section-head{margin-bottom:10px}
  .upload{padding:34px 16px}
  .upload .button{width:100%;min-height:50px}
  .credit-card{gap:10px;padding:15px}
  .inline-form input,.inline-form button{min-width:0}
  dialog{max-height:calc(100dvh - 18px);overflow:auto}
  dialog form{padding:18px}
}

@media(max-width:360px){
  .workspace{padding-left:9px;padding-right:9px}
  header{margin-left:-9px;margin-right:-9px}
  .stats strong{font-size:16px}
  .mobile-bottom-nav button{font-size:9px}
  .review-actions{grid-template-columns:1fr}
  .review-actions>*{grid-column:1!important}
  .review-card-main{grid-template-columns:22px minmax(0,1fr)}
  .review-date{grid-column:2}
  .review-title{grid-column:2}
  .review-card-main>b{grid-column:2;text-align:left}
  .review-inline-actions{grid-template-columns:1fr}
  .review-batch-panel{bottom:calc(62px + env(safe-area-inset-bottom))}
  .budget-toolbar>div{grid-template-columns:1fr}
  .report-toolbar>div{grid-template-columns:1fr}
  .report-toolbar>div button{grid-column:1!important}
  .operation-row{grid-template-columns:20px minmax(0,1fr)}
  .operation-row>b{grid-column:2;grid-row:3;text-align:left;margin-top:3px}
}
