/* Expense panel styles are external so the production content security policy permits them. */
#expenseItemAllocationPanel .expense-item-row[hidden]{display:none!important}#expenseManagementPanel .expense-mobile-list{display:none}#expenseItemAllocationPanel .expense-item-list{max-height:60vh;overflow:auto;margin:16px 0;border:1px solid #d4c5b6;border-radius:12px}#expenseItemAllocationPanel .expense-item-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(105px,135px);gap:14px;align-items:center;padding:12px;border-bottom:1px solid #d4c5b6}#expenseItemAllocationPanel .expense-item-row:last-child{border-bottom:0}#expenseItemAllocationPanel .expense-item-row label:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}#expenseItemAllocationPanel .expense-item-row small{display:block;flex-basis:100%;margin-left:26px}#expenseItemAllocationPanel .expense-item-row input[type=checkbox]{width:20px;height:20px}#expenseItemAllocationPanel .expense-item-row input[type=number]{width:100%;min-width:0}@media(max-width:700px){#expenseManagementPanel .expense-desktop-table{display:none!important}#expenseManagementPanel .expense-mobile-list{display:grid;gap:12px}#expenseManagementPanel .expense-mobile-card{min-width:0;border:1px solid var(--border,#ddd);border-radius:14px;padding:16px;background:var(--card,#fff)}#expenseManagementPanel .expense-mobile-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}#expenseManagementPanel .expense-mobile-head strong:first-child{overflow-wrap:anywhere}#expenseManagementPanel .expense-mobile-head strong:last-child{white-space:nowrap}#expenseManagementPanel .expense-mobile-meta{margin:6px 0 8px}#expenseManagementPanel .expense-mobile-description{margin:0 0 14px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}#expenseManagementPanel .expense-mobile-actions{display:flex;gap:8px;flex-wrap:wrap}#expenseManagementPanel .expense-mobile-actions button{min-height:42px;white-space:normal}#expenseItemAllocationPanel .expense-item-row{grid-template-columns:1fr}}
/* Expenses preview: layout only; no financial logic or records modified. */
#expenseForm .fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;align-items:start!important}
#expenseForm .fields>.field,#expenseForm .fields>label,#expenseForm .fields>div{min-width:0!important}
#expenseForm .fields input,#expenseForm .fields select,#expenseForm .fields textarea{width:100%;max-width:100%;box-sizing:border-box}
#expenseForm #generalExpenseFields,#expenseForm #mileageExpenseFields{display:contents}
#expenseForm #generalReimburseField[style*="display:none"]{display:none!important}
#expenseForm #generalExpenseFields[hidden],#expenseForm #mileageExpenseFields[hidden],#expenseForm #generalReferenceField[hidden],#expenseForm #mileageReimburseField[hidden],#expenseForm #financeExpenseFields[hidden]{display:none!important}
#expenseForm #mileageExpenseFields>.muted{grid-column:1/-1}
#expenseForm .expense-paid-personally{display:flex!important;align-items:flex-start;gap:10px}
#expenseForm .expense-paid-personally input{width:auto!important}
#expenseManagementPanel .expense-filters{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
#expenseManagementPanel .expense-mobile-list{display:grid!important;gap:18px!important}
#expenseManagementPanel .expense-mobile-card{margin:0!important}
#expenseManagementPanel .expense-mobile-head{display:flex!important;gap:12px!important;justify-content:space-between!important;align-items:flex-start!important}
#expenseManagementPanel .expense-mobile-head strong{overflow-wrap:anywhere}
#expenseManagementPanel .expense-mobile-actions{display:flex!important;gap:12px!important;flex-wrap:wrap!important}
#expenseManagementPanel .expense-mobile-actions button{margin:0!important;min-height:40px!important}
#expenseManagementPanel nav[aria-label="Expense pages"] button{min-height:40px}
@media(max-width:720px){
 #expenseForm .fields{grid-template-columns:minmax(0,1fr)!important}
 #expenseManagementPanel .expense-filters{grid-template-columns:minmax(0,1fr)!important}
 #expenseManagementPanel .expense-mobile-card{padding:16px!important}
 #expenseManagementPanel nav[aria-label="Expense pages"]{gap:10px!important}
}

/* Distinct reimbursement balances and transaction rows. */
.expense-reimbursements{padding:24px!important}
.expense-reimbursements>p.muted{max-width:75ch;line-height:1.5;margin:12px 0 22px!important}
.expense-reimbursements>.stat{margin:8px 0!important}
.expense-reimbursements>.summary-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px 18px;padding:16px!important;margin:10px 0!important;border:1px solid #e8dcd0;border-radius:12px;background:#fffaf6;min-width:0}
.expense-reimbursements>.summary-row>span{min-width:0;overflow-wrap:anywhere;line-height:1.6}
.expense-reimbursements>.summary-row>strong{overflow-wrap:anywhere}
.expense-reimbursements>.summary-row>button{min-height:40px!important;white-space:normal!important}
.expense-reimbursements>h3{margin:28px 0 14px!important}
.expense-reimbursements>h3~.summary-row{grid-template-columns:minmax(0,1fr) auto!important}
.expense-reimbursements>h3~.summary-row>strong{white-space:nowrap;align-self:start}
#expenseManagementPanel .expense-mobile-card{border:1px solid #d7c5b5!important;border-radius:14px!important;background:#fffaf6!important;box-shadow:0 2px 8px rgba(60,40,20,.05)!important;padding:20px!important}
#expenseManagementPanel .expense-mobile-list{gap:16px!important}
#expenseManagementPanel .expense-mobile-actions{border-top:1px solid #e3d6c9!important;margin-top:14px!important;padding-top:14px!important}
@media(max-width:720px){
 .expense-reimbursements{padding:16px!important}
 .expense-reimbursements>.summary-row{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}
 .expense-reimbursements>.summary-row>button{grid-column:1/-1;justify-self:start}
 .expense-reimbursements>h3~.summary-row{grid-template-columns:minmax(0,1fr)!important}
 .expense-reimbursements>h3~.summary-row>strong{justify-self:start}
}

/* Batch allocations: batch identity gets the full phone width. */
#expenseBatchLinkPanel{min-width:0}
#expenseBatchLinkRows{display:grid;gap:14px;margin:18px 0}
#expenseBatchLinkRows>.expense-batch-link-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,150px) auto;align-items:start;gap:12px;padding:16px;border:1px solid #e3d6c9;border-radius:12px;background:#fffaf6;min-width:0}
#expenseBatchLinkRows .field{min-width:0;margin:0}
#expenseBatchLinkRows input,#expenseBatchLinkRows select{min-width:0;max-width:100%;width:100%}
#expenseBatchLinkRows [data-link-batch-description]{font-weight:400;overflow-wrap:anywhere;line-height:1.45}
#expenseBatchLinkRows [data-link-remove]{align-self:start;margin-top:26px;min-height:44px}
@media(max-width:720px){
 #expenseBatchLinkPanel{padding:16px}
 #expenseBatchLinkRows>.expense-batch-link-row{grid-template-columns:minmax(0,1fr) auto;padding:12px;gap:12px}
 #expenseBatchLinkRows .expense-batch-choice{grid-column:1/-1}
 #expenseBatchLinkRows [data-link-remove]{align-self:end;margin-top:0}
 #expenseBatchLinkPanel>.actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 #expenseBatchLinkPanel>.actions button{width:100%;min-height:46px;white-space:normal}
}
