/* Phone/tablet presentation only. External CSS is not embedded in PDF exports. */
.mobile-nav,.mobile-sheet,.mobile-table-hint,.mobile-cell-label,.mobile-impact-heading{display:none}
.mobile-compact-label{display:none}
.compact-edit-form{white-space:normal;max-width:680px;padding:4px}
.compact-edit-form h4{margin:8px 0 16px}
.compact-edit-fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:12px}
.compact-edit-form input,.compact-edit-form select{width:100%;padding:10px;border:1px solid #dcd5c4;border-radius:8px;background:#fffefa;color:#252522}
.compact-edit-row td{text-align:left!important;background:#faf5e7}
.compact-error{color:#a52437;white-space:normal}
@media screen and (max-width:850px){
  .app{display:block}
  .app>aside{display:none}
  .app>main{min-width:0;padding:20px 16px calc(100px + env(safe-area-inset-bottom));margin:0;max-width:none}
  .app>main::before{content:'↗ FinEZ';display:block;color:#806124;font-size:18px;font-weight:800;letter-spacing:-.02em;margin-bottom:20px}
  .app header{display:block;margin-bottom:20px}
  .app header .actions{display:flex;margin-top:12px}
  .app header .actions [data-backup-control]{display:none}
  .app h1{font-size:28px;line-height:1.15;letter-spacing:-.03em;overflow-wrap:anywhere}
  .app h2{font-size:24px}
  .app h3{font-size:19px;line-height:1.35}
  .app p{line-height:1.5}
  .app #subtitle{font-size:14px;margin:10px 0 0;line-height:1.5}
  .app .muted,.app .edit-label,.app .allocation-detail,.app .info-help{font-size:14px}
  .app button,.app input,.app select{min-height:44px;max-width:100%}
  .app input,.app select{font-size:16px;min-width:0}
  .app button{white-space:normal}
  .app .card{padding:18px;min-width:0}
  .app #content,.app #content>*{min-width:0;max-width:100%;overflow-wrap:anywhere}
  .app .grid,.app .columns,.app .impact-summary{grid-template-columns:minmax(0,1fr);gap:12px}
  .app .metric,.app .impact-summary .metric{font-size:30px;line-height:1.2;overflow-wrap:anywhere}
  .app .grid .card:last-child{border-color:#c9ad6d;background:#f8f1de}
  .app main[data-section='dashboard'] #content{display:flex;flex-direction:column}
  .app main[data-section='dashboard'] #content>*{order:5}
  .app main[data-section='dashboard'] #content>.banner,.app main[data-section='dashboard'] #content>.notice{order:-1}
  .app main[data-section='dashboard'] #content>.baseline-title{order:0;margin-top:0}
  .app main[data-section='dashboard'] #content>.dashboard-period{order:1}
  .app main[data-section='dashboard'] #content>.grid{order:2;margin:16px 0}
  .app main[data-section='dashboard'] #content>.cashflow{order:3;margin:0 0 16px}
  .app main[data-section='dashboard'] #content>.account-summary{order:4;margin:0 0 20px;padding:16px;background:#eeeadf;border-radius:12px;border:0}
  .app .baseline-title{flex-wrap:wrap;font-size:14px;gap:4px 12px}
  .app .baseline-title-button{min-height:32px}
  .app .dashboard-period{gap:8px;margin-top:16px}
  .app .period-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:4px}
  .app .period-switch button{padding:9px 4px;font-size:14px}
  .app .dashboard-period .period-switch{grid-template-columns:repeat(4,minmax(0,1fr))}
  .app .dashboard-period>.muted:last-child{font-size:12px}
  .app .field,.app .field:has(.allocation-detail),.app .new,.app .new:has(.allocation-detail){grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:12px;gap:12px}
  .app .field>.edit-label:first-of-type,.app .new>.edit-label:first-of-type{grid-column:1/-1}
  .app .field>button,.app .new>button{grid-column:1/-1;grid-row:auto}
  .app .field:has(>button[title='Remove']){grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}
  .app .field:has(>button[title='Remove'])>.edit-label:first-of-type{grid-column:1/3;grid-row:1;padding-right:0}
  .app .field>button[title='Remove']{position:static;grid-column:3;grid-row:1;align-self:end;width:44px;padding:10px}
  .app .field:has(>button[title='Remove'])>.edit-label:nth-of-type(2){grid-column:1}
  .app .field:has(>button[title='Remove'])>.edit-label:nth-of-type(3){grid-column:2/-1}
  .app .field:has(>button[title='Remove']):has(.original-amount)>.edit-label:first-of-type,.app .field:has(.original-amount)>button[title='Remove']{grid-row:2}
  .app .field>.original-amount{grid-row:1}
  .app .field.upfront-field{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}
  .app .field.upfront-field>.edit-label:first-of-type{grid-column:1/3;grid-row:1}
  .app .field.upfront-field>button{grid-column:3;grid-row:1;align-self:end;width:44px;padding:10px}
  .app .field.upfront-field>.edit-label:nth-of-type(2){grid-column:1}
  .app .field.upfront-field>.edit-label:nth-of-type(3){grid-column:2/-1}
  .app .expense-table tbody tr:not(.compact-edit-row) button{white-space:nowrap;min-width:64px;overflow-wrap:normal}
  .app .expense-table tbody tr:not(.compact-edit-row)>td:last-child{min-width:96px}
  .app .compact-edit-form{width:calc(100vw - 144px);max-width:640px}
  @supports (width:1cqw){.app .table-scroll{container-type:inline-size}.app .compact-edit-form{width:calc(100cqw - 34px)}}
  .app .compact-edit-fields{grid-template-columns:minmax(0,1fr);gap:12px}
  .app .account-field,.app .cash-new{grid-template-columns:minmax(0,1fr)}
  .app .account-links{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
  .app .account-links label{min-width:0}
  .app .account-links:has(.info-help){gap:8px;margin-bottom:0}
  .app .account-links .info-help{margin:0}
  .app .info-help>summary{display:flex;align-items:center;min-height:44px}
  .app .field .allocation-detail{margin-top:0;padding-top:6px}
  .app .field:has(.allocation-detail),.app .new:has(.allocation-detail){row-gap:8px}
  .app .expense-table{display:block;width:100%}
  .app .expense-table thead{display:none}
  .app .expense-table tbody{display:block}
  .app .expense-table tbody tr[data-entry-index]{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:4px 10px;padding:12px;border-bottom:1px solid #e4dfd2}
  .app .expense-table tbody tr[data-entry-index]>th,.app .expense-table tbody tr[data-entry-index]>td{padding:0;border:0;min-width:0;max-width:none;width:auto;text-align:left;white-space:normal;overflow-wrap:anywhere}
  .app .expense-table tbody tr[data-entry-index]>th{grid-column:1;grid-row:1}
  .app .expense-table tbody tr[data-entry-index]>td:nth-child(2){grid-column:1;grid-row:2}
  .app .expense-table tbody tr[data-entry-index]>td:nth-child(3){display:none}
  .app .expense-table tbody tr[data-entry-index]>td:nth-child(4){grid-column:1/-1;font-size:12px;color:#706e64}
  .app .expense-table tbody tr[data-entry-index]>td:last-child{grid-column:2;grid-row:1/3;align-self:center;min-width:0}
  .app .expense-table .mobile-compact-label{display:inline;font-weight:400}
  .app .expense-table tbody tr.compact-edit-row>td:last-child{grid-column:1/-1;grid-row:auto}
  .app .expense-table .compact-edit-form{width:100%;max-width:none}
  .app .mobile-table-hint:has(+ .table-scroll > .expense-table){display:none}
  .app .scenario-title input{width:100%;font-size:17px}
  .app .scenario-toggle .toggle-label{gap:6px;flex-wrap:wrap}
  .app .scenario-toggle .muted{font-size:12px}
  .app .results-callout{position:static}
  .app .results-primary{width:100%;padding:14px}
  .app .banner button{display:block;margin-top:10px}
  .app .cash-row{flex-wrap:wrap;gap:8px}
  .app .cash-row strong{font-size:19px}
  .app .expense-controls{display:grid;grid-template-columns:minmax(0,1fr)}
  .app .table-scroll{max-width:100%;overscroll-behavior-x:contain;border:1px solid #e4dfd2;border-radius:10px}
  .app .mobile-table-hint{display:block;font-size:12px;color:#74531a;margin:12px 0 8px}
  .app .compare-head{display:none}
  .app .impact-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0;padding:12px;border:1px solid #a89a80;border-radius:14px;background:#fffdf8}
  .app .mobile-impact-heading{display:block;grid-column:1/-1;margin:0 0 4px;font-size:18px;line-height:1.35;color:#292d29}
  .app .mobile-impact-period{display:block;margin-top:4px;font-size:14px;font-weight:500;color:#52606b}
  .app .impact-cell{padding:12px 10px;border:1px solid #b8b2a6;border-radius:10px;background:#f3f2ed}
  .app .impact-cell.after{background:#edf4ef;border-color:#729982}
  .app .impact-cell.delta{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;align-items:baseline;padding:10px;background:#f3f5f7;border-color:#a5b2bd}
  .app .impact-cell b{font-size:20px;line-height:1.3;margin-top:6px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
  .app .impact-cell .row-label{display:none}
  .app .mobile-cell-label{display:block;font-size:14px;font-weight:750;margin:0;color:#4c534b}
  .app .impact-cell.delta b{margin:0;font-size:20px;text-align:right}
  .app .impact-cell.delta .row-note{grid-column:1/-1;font-size:14px;margin:0;color:#52606b}
  .app .toolbar{gap:10px}
  .app .toolbar:not(.period-switch)>button{flex:1 1 180px}
  .app .report-sheet{padding:18px;margin:16px 0;width:100%}
  .app .report-item,.app .report-total,.app .report-account dl>div{flex-wrap:wrap;gap:6px 12px}
  .app .report-account{padding:14px}
  .app .report-sheet .report-subtitle{font-size:24px}
  .app .item>span:first-child,.app .item>.allocation-label{white-space:normal;max-width:42%;overflow-wrap:anywhere}
  .app .item{gap:8px}.app .item strong{font-size:14px;min-width:0}
  .app details>summary{min-height:44px}
  .app details>summary>span{white-space:normal!important}
  .app .trust-footer{font-size:13px;margin-top:28px}
  .mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:20;background:#20211f;padding:8px 6px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -2px 16px #20211f18;gap:3px}
  .mobile-nav button{display:block;width:100%;margin:0;min-height:48px;text-align:center;border-radius:10px;padding:10px 2px;color:#deded4;font-size:12px;font-weight:650;background:transparent}
  .mobile-nav button::first-letter{font-size:inherit}
  .mobile-nav button[aria-current]{background:#38372d;color:#f0d695;box-shadow:inset 0 2px #ddc17e}
  .mobile-sheet[open]{display:grid;gap:10px;position:fixed;inset:auto 0 0;width:100%;max-width:520px;max-height:85dvh;margin:0 auto;padding:24px 20px calc(24px + env(safe-area-inset-bottom));border:1px solid #d7cdb6;border-radius:22px 22px 0 0;background:#fffefa;color:#252522;overflow:auto}
  .mobile-sheet::backdrop{background:#17171380}
  .mobile-sheet h2{margin:0 0 4px;font-size:23px}
  .mobile-sheet button{min-height:48px;text-align:left;font-size:16px}
  .mobile-sheet p{font-size:14px;line-height:1.5;margin:6px 0;color:#706e64}
  .app :focus-visible,.mobile-nav :focus-visible,.mobile-sheet :focus-visible{outline:3px solid #a4833b;outline-offset:3px}
  .app #heading:focus{outline:none}
}
@media screen and (max-width:360px){.app>main{padding-left:12px;padding-right:12px}.app .card{padding:14px}.app .dashboard-period .period-switch{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media screen and (max-width:850px) and (prefers-color-scheme:dark){
  .app .impact-row{background:#202b32;border-color:#90a4b2;color:#f6f5ed;color-scheme:dark}
  .app .mobile-impact-heading{color:#fff7e6}
  .app .mobile-impact-period{color:#d9e3e9}
  .app .impact-cell{background:#2b3942;border-color:#90a4b2;color:#fff7e6}
  .app .impact-cell.after{background:#243e34;border-color:#91c3a6}
  .app .impact-cell.delta{background:#26333d;border-color:#90a4b2}
  .app .mobile-cell-label,.app .impact-cell.delta .row-note{color:#d9e3e9}
  .app .impact-cell .neutral{color:#eef1f4}
  .app .impact-cell .good-delta{color:#83e9b6}
  .app .impact-cell .bad-delta{color:#ffacb7}
}
@media print{.mobile-nav,.mobile-sheet,.mobile-table-hint,.mobile-cell-label,.mobile-impact-heading{display:none!important}}
