@layer visibility {
 /* Status must have its own mobile row: it must never consume the brand's column. */
 .app-header{flex-wrap:wrap!important}
 .app-header>div:first-child{min-width:0!important}
 .app-header .header-actions{min-width:0!important;max-width:100%!important}
 .app-header #cloudStatus{position:static!important;min-width:0!important;max-width:320px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;line-height:1.4!important}
 @media screen and (max-width:760px){
  .app-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:4px 12px!important;padding:10px 12px!important;align-items:center!important}
  .app-header>div:first-child{grid-column:1!important;grid-row:1!important;max-width:none!important}
  .app-header h1{display:flex!important;flex-wrap:wrap!important;align-items:baseline!important;gap:3px 6px!important;font-size:16px!important;line-height:1.3!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  .app-header h1 .version{display:inline-block!important;flex:0 0 auto!important;margin:0!important;font-size:10px!important;white-space:nowrap!important}
  .app-header .header-actions{display:contents!important}
  .app-header #quickAddTop{grid-column:2!important;grid-row:1!important;justify-self:end!important;min-height:44px!important;padding:8px 12px!important;font-size:13px!important;white-space:nowrap!important}
  .app-header #quickExpenseTop{display:none!important}
  .app-header #cloudStatus{grid-column:1/-1!important;grid-row:2!important;justify-self:stretch!important;width:auto!important;max-width:none!important;min-height:0!important;padding:0!important;font-size:11px!important;text-align:start!important}
  .app-header :is(#cloudConflictOpenTop,#cloudConflictExportTop,#cloudConflictRetryTop){grid-column:1/-1!important;grid-row:auto!important;min-width:0!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important}
 }
 .expense-saved-notice{padding:16px!important;margin:0 0 18px!important;border:1px solid var(--green)!important;border-radius:12px!important;background:var(--green-soft)!important;color:var(--text)!important;font-size:16px!important;line-height:1.6!important;overflow-wrap:anywhere!important}
 #ledgerExpenseForm>#expenseReadStatus,#ledgerExpenseForm>#tripExpenseBinding{grid-column:1/-1!important;margin:0 0 12px!important}
 #ledgerExpenseForm>#expSave{grid-column:1/-1!important;min-height:48px!important}
 /* Dynamic dialogs use the same spacing contract as static forms. */
 dialog :is(.dialog-head,.dialog-title){min-width:0!important;gap:12px!important;align-items:center!important}
 dialog :is(.dialog-head,.dialog-title)>:is(h2,div){min-width:0!important;overflow-wrap:anywhere!important}
 dialog :is(.dialog-head,.dialog-title)>button{flex:0 0 auto!important;min-width:44px!important;min-height:44px!important}
 dialog :is(.form-grid,.ledger-edit-row,.stage-inline)>*{min-width:0!important;max-width:100%!important}
 dialog :is(p,small,label,.ledger-info,.field-help){overflow-wrap:anywhere!important;line-height:1.5!important}
 dialog .ledger-table-wrap{min-width:0!important;max-width:100%!important;overflow-x:auto!important}
 dialog .ledger-table :is(td,th){overflow-wrap:anywhere!important}
 dialog:not(:has(form)):not(#documentArchiveDialog):not(#ledgerDialog){padding:20px!important;overflow-y:auto!important;overscroll-behavior:contain!important}
 dialog:not(:has(form)):not(#documentArchiveDialog)>.dialog-head{margin:-20px -20px 16px!important;top:-20px!important;padding:16px 20px!important}
 #ledgerDialog{padding:0!important;overflow-y:auto!important;overscroll-behavior:contain!important}
 #ledgerDialog>.dialog-title{position:sticky!important;top:0!important;margin:0!important;padding:18px 20px!important;background:var(--surface)!important;border-bottom:1px solid var(--line)!important;z-index:3!important}
 #ledgerDialog>.dialog-title::before{inset:0!important}
 #ledgerDialog #ledgerBody{padding:20px!important;min-width:0!important}
 #ledgerDialog #ledgerBody form{padding:0!important;max-height:none!important;overflow:visible!important}
 #ledgerDialog>#ledgerError{padding:0 20px!important}
 #ledgerDialog label:not([hidden]):has(>input[type=checkbox]){display:flex!important;align-items:flex-start!important;gap:10px!important;margin:12px 0!important;line-height:1.5!important}
 #ledgerDialog label>input[type=checkbox]{flex:0 0 20px!important;width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important;margin:0!important;padding:0!important}
 dialog :is(.cw-equation-row,.cost-evidence-line,.stage-summary-row){gap:10px 18px!important;flex-wrap:wrap!important}
 dialog :is(.cw-equation-row,.cost-evidence-line)>:first-child{min-width:0!important;flex:1 1 180px!important}
 dialog :is(.cw-equation-row,.cost-evidence-line)>:last-child{margin-inline-start:auto!important;font-variant-numeric:tabular-nums!important;white-space:nowrap!important}
 #documentArchiveDialog{box-sizing:border-box!important;width:min(880px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 32px)!important;padding:0!important;overflow:auto!important;border:1px solid var(--line)!important;border-radius:18px!important;background:var(--surface)!important;color:var(--text)!important}
 #documentArchiveDialog>.dialog-head{position:sticky!important;top:0!important;display:flex!important;justify-content:space-between!important;margin:0!important;padding:18px 22px!important;background:var(--surface)!important;border-bottom:1px solid var(--line)!important;z-index:2!important}
 #documentArchiveDialog .dialog-head h2{margin:0!important;font-size:22px!important;line-height:1.3!important}
 #documentArchiveDialog .dialog-head button{padding:8px!important;width:44px!important;border-radius:10px!important}
 #documentArchiveDialog .archive-body{padding:20px 22px!important;display:grid!important;gap:16px!important;min-width:0!important}
 #documentArchiveDialog .archive-body>p{margin:0!important;color:var(--muted)!important;font-size:14px!important}
 #documentArchiveDialog .archive-controls{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(150px,220px)!important;gap:12px!important;align-items:stretch!important;min-width:0!important}
 #documentArchiveDialog select{margin:0!important;min-width:0!important;width:100%!important;min-height:46px!important}
 #documentArchiveDialog .btn{max-width:100%!important;min-height:44px!important;white-space:normal!important;line-height:1.4!important;font-size:14px!important;text-align:center!important}
 #documentArchiveDialog .archive-upload{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;cursor:pointer!important;overflow:hidden!important}
 #documentArchiveDialog .archive-upload input{position:absolute!important;inset:0!important;opacity:0!important;width:100%!important;height:100%!important;cursor:pointer!important}
 #documentArchiveDialog .archive-upload:focus-within{outline:2px solid var(--blue)!important;outline-offset:3px!important}
 #documentArchiveDialog .archive-list{display:grid!important;gap:12px!important;min-width:0!important}
 #documentArchiveDialog .archive-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(140px,190px)!important;align-items:center!important;gap:14px!important;padding:16px!important;border:1px solid var(--line)!important;border-radius:12px!important;min-width:0!important;background:var(--surface-soft)!important}
 #documentArchiveDialog .archive-file-info{min-width:0!important;display:grid!important;gap:6px!important}
 #documentArchiveDialog .archive-file-info strong{display:block!important;font-size:15px!important;line-height:1.45!important;overflow-wrap:anywhere!important;word-break:break-word!important}
 #documentArchiveDialog .archive-file-info small{display:block!important;font-size:12px!important;color:var(--muted)!important;line-height:1.5!important}
 #cfMoreDialog .cf-nav-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 #cfMoreDialog #cwMenuActions{display:contents!important}
 #cfMoreDialog .cf-nav-list>button,#cfMoreDialog #cwMenuActions>button{min-width:0!important;min-height:60px!important;white-space:normal!important;overflow-wrap:anywhere!important;grid-column:auto!important;font-size:14px!important}
 #cfMoreDialog [data-cf-route=support]{grid-column:auto!important}
 .expense-filtered-total{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px 16px!important}
 .expense-filtered-total>span{grid-column:1/-1!important}
 .expense-filtered-total>strong{font-size:clamp(22px,5vw,28px)!important;line-height:1.35!important;white-space:nowrap!important;min-width:0!important}
 .expense-filtered-total>small{align-self:end!important;padding-bottom:4px!important}
 .analytics-visual{--av-blue:var(--blue);--av-green:var(--green);--av-amber:#c58a31;display:grid!important;gap:18px!important;margin:18px 0!important;min-width:0!important}
 .av-scope,.av-caption{margin:0!important;color:var(--muted)!important;font-size:13px!important;line-height:1.55!important}
 .av-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
 .av-metric{padding:18px!important;background:var(--surface)!important;border:1px solid var(--line)!important;border-top:3px solid var(--series)!important;border-radius:14px!important;min-width:0!important}
 .av-metric span{display:block!important;font-size:13px!important;line-height:1.45!important;color:var(--muted)!important}
 .av-metric strong{display:block!important;margin-top:8px!important;font-size:clamp(22px,2.6vw,30px)!important;line-height:1.3!important;font-variant-numeric:tabular-nums!important;overflow-wrap:anywhere!important}
 .av-card{padding:20px!important;border:1px solid var(--line)!important;border-radius:16px!important;background:var(--surface)!important;min-width:0!important}
 .av-card h3{margin:0 0 16px!important;font-size:17px!important;line-height:1.4!important}
 .av-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;min-width:0!important}
 .av-grid>.av-card:first-child{grid-row:span 2!important}
 .av-legend{display:flex!important;flex-wrap:wrap!important;gap:10px 18px!important;margin-bottom:12px!important;font-size:12px!important;line-height:1.5!important;color:var(--muted)!important}
 .av-legend span::before{content:'';display:inline-block;width:9px;height:9px;margin-inline-end:6px;border-radius:3px;background:var(--series)}
 .av-plot svg{display:block!important;width:100%!important;max-height:340px!important;overflow:visible!important;font-family:inherit!important}
 .av-axis line{stroke:var(--line);stroke-width:1}.av-axis text,.av-date{fill:var(--muted);font-size:12px}.av-zero{stroke:var(--muted);stroke-width:1}
 .av-hit{fill:transparent;stroke:transparent;stroke-width:1}.av-plot [data-chart-point]{cursor:pointer}.av-plot [data-chart-point]:focus{outline:none}.av-plot [data-chart-point]:focus .av-hit,.av-plot [data-chart-point]:hover .av-hit{stroke:var(--blue);stroke-dasharray:3 3}
 .av-caption{padding:10px 12px!important;background:var(--surface-soft)!important;border-radius:8px!important;min-height:42px!important;font-variant-numeric:tabular-nums!important}
 .av-data{margin-top:12px!important}.av-data>summary,.analysis-numeric-details>summary{cursor:pointer!important;min-height:44px!important;padding:10px 0!important;font-size:14px!important;color:var(--muted)!important;line-height:1.5!important}
 .av-cost{margin-top:16px!important}.av-cost>div:first-child{display:flex!important;flex-wrap:wrap!important;justify-content:space-between!important;gap:6px 14px!important;font-size:13px!important;line-height:1.5!important}
 .av-cost strong{font-variant-numeric:tabular-nums!important;white-space:nowrap!important}
 .av-track{height:9px!important;background:var(--surface-soft)!important;border-radius:6px!important;margin-top:7px!important;overflow:hidden!important}
 .av-track i{display:block!important;height:100%!important;border-radius:6px!important;background:var(--av-blue)!important}.av-track i[data-negative=true]{background:var(--red)!important}.av-track .av-amber{background:var(--av-amber)!important}
 .av-mileage{display:flex!important;align-items:center!important;gap:18px!important;flex-wrap:wrap!important}
 .av-mileage>svg{width:150px!important;max-width:100%!important;flex:0 0 150px!important}
 .av-mileage text{fill:var(--text);font-size:22px;font-weight:650;font-variant-numeric:tabular-nums}.av-mileage .av-unit{fill:var(--muted);font-size:13px;font-weight:400}
 .av-mileage>div{flex:1 1 110px!important;min-width:0!important}.av-mileage p{margin:0 0 16px!important;line-height:1.5!important}.av-mileage span,.av-mileage strong,.av-mileage small{display:block!important}.av-mileage span,.av-mileage small{font-size:12px!important;color:var(--muted)!important}.av-mileage strong{font-size:18px!important;font-variant-numeric:tabular-nums!important}
 .av-empty{padding:28px 12px!important;text-align:center!important;color:var(--muted)!important;font-size:14px!important}
 .analysis-numeric-details{border-top:1px solid var(--line)!important;margin-top:20px!important;padding-top:8px!important;min-width:0!important}
 @media(max-width:700px){.av-grid{grid-template-columns:minmax(0,1fr)!important}.av-grid>.av-card:first-child{grid-row:auto!important}.av-card{padding:16px!important}}
 @media(max-width:540px){.av-metrics{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}.av-metric{display:flex!important;justify-content:space-between!important;align-items:baseline!important;gap:12px!important;padding:12px 14px!important}.av-metric span{flex:1 1 100px!important;min-width:0!important}.av-metric strong{margin:0!important;font-size:22px!important;white-space:nowrap!important}.av-plot svg{min-height:220px!important}.av-axis text,.av-date{font-size:13px}}
 @media(max-width:760px){
  .cf-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important;padding-inline:4px!important}
  .cf-bottom-nav button{font-size:11px!important;gap:4px!important;padding:6px 1px!important;min-width:0!important}
  .cf-bottom-nav button>span{max-width:100%!important;white-space:nowrap!important}
  .cf-bottom-nav .cf-icon{width:23px!important;height:23px!important}
 }
 @media(max-width:540px){
  #documentArchiveDialog{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 20px)!important;border-radius:14px!important}
  #documentArchiveDialog>.dialog-head{padding:14px 16px!important}
  #documentArchiveDialog .archive-body{padding:16px!important;gap:14px!important}
  #documentArchiveDialog .archive-controls,#documentArchiveDialog .archive-row{grid-template-columns:minmax(0,1fr)!important}
  #documentArchiveDialog .archive-row{padding:14px!important;gap:12px!important}
  #documentArchiveDialog .archive-row>.btn{width:100%!important}
 }
}
