/* Expenses: cost, context, evidence and recovery in one operational surface. */
.ex-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ex-money-lines{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}
.ex-money-lines span{font:600 12px/1.2 var(--mono);color:var(--ink-soft)}
.ex-filters{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.ex-filters .btn{min-height:44px}
.ex-list{display:grid;gap:8px}
.ex-row{display:grid;grid-template-columns:105px minmax(160px,1.25fr) minmax(180px,1fr) 130px 150px;gap:16px;align-items:center;width:100%;min-height:68px;padding:11px 15px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:inherit;text-align:left;cursor:pointer}
.ex-row:hover{border-color:var(--ink-soft);transform:translateY(-1px)}
.ex-row b,.ex-row span{min-width:0}
.ex-supplier small,.ex-belongs small{display:block;margin-top:3px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ex-amount{text-align:right;font:700 15px/1.2 var(--mono)}
.ex-state{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.ex-evidence{display:flex;gap:8px;flex-wrap:wrap}
.ex-proof{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}
.ex-proof:last-child{border-bottom:0}
.ex-section{margin-top:18px}
.ex-section>h3{font-size:14px;margin:0 0 10px}
.ex-context{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ex-context>div{padding:13px;border:1px solid var(--line);border-radius:10px}
.ex-context span{display:block;color:var(--ink-soft);font-size:12px;margin-bottom:4px}
.ex-form-section{padding:16px;border:1px solid var(--line);border-radius:12px;margin-bottom:12px}
.ex-form-section h3{font-size:14px;margin:0 0 12px}
.ex-link-alt{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
.ex-link-alt summary{min-height:44px;display:flex;align-items:center;color:var(--ink-soft);font-size:13px;font-weight:650;cursor:pointer}
.ex-link-alt[open] summary{margin-bottom:12px;color:var(--ink)}
.expense-drawer input[type=file]{padding:7px;cursor:pointer}
.expense-drawer input[type=file]::file-selector-button{min-height:30px;margin-right:10px;padding:0 12px;border:0;border-radius:8px;background:var(--sand);color:var(--ink);font:650 12.5px/1 var(--body);cursor:pointer}
.ex-private{font-size:12.5px;color:var(--ink-soft);line-height:1.5;margin:8px 0 0}
.expense-drawer .drawer-f .btn{min-height:44px}
@media(max-width:820px){
  .ex-kpis{grid-template-columns:1fr}
  .ex-row{grid-template-columns:1fr auto;padding:14px;gap:9px 12px}
  .ex-date{grid-column:1;color:var(--ink-soft);font-size:12px}
  .ex-supplier{grid-column:1}.ex-amount{grid-column:2;grid-row:1/3}
  .ex-belongs,.ex-state{grid-column:1/-1}
}
@media(max-width:430px){
  .ex-context{grid-template-columns:1fr}.ex-filters .btn{flex:1}.ex-row{border-radius:10px}
  .expense-drawer .drawer-f{flex-wrap:wrap}
  .expense-drawer .drawer-f .btn.p{flex:1 0 100%}
}
@media(prefers-reduced-motion:reduce){.ex-row{transition:none}.ex-row:hover{transform:none}}
