.ripac-expenses{--ex-bg:#f5f7fb;--ex-card:#fff;--ex-ink:#25334b;--ex-muted:#607089;--ex-line:#ccd6e5;--ex-primary:#354e7a;--ex-on-primary:#fff;box-sizing:border-box;width:min(1200px,96vw);max-height:92dvh;padding:30px;border:1px solid var(--ex-line);border-radius:20px;background:var(--ex-bg);color:var(--ex-ink);overflow:auto;overscroll-behavior:contain}
.ripac-expenses[data-theme=dark]{--ex-bg:#141b29;--ex-card:#222d40;--ex-ink:#ecf2ff;--ex-muted:#b5c4da;--ex-line:#485a74;--ex-primary:#c1d5fc;--ex-on-primary:#172b47;color-scheme:dark}
.ripac-expenses::backdrop{background:#101828aa;backdrop-filter:blur(3px)}
body .ripac-expenses :is(h1,h2,h3,p,label,strong,span,small,summary,select,input){color:inherit}
.ripac-expenses h1{font-size:2rem;margin:3px 0 0;line-height:1.2}.ripac-expenses h2{font-size:1.2rem;margin:0 0 14px}.ripac-expenses p{margin:10px 0;line-height:1.5}.ripac-expenses button,.ripac-expenses input,.ripac-expenses select{font:inherit}
.ripac-expenses button{min-height:44px;padding:10px 16px;border:1px solid var(--ex-line);background:var(--ex-card);color:var(--ex-ink);border-radius:10px;cursor:pointer;margin:0}.ripac-expenses button:disabled{opacity:.55;cursor:wait}.ripac-expenses :is(button,a,input,select):focus-visible{outline:3px solid #649be7;outline-offset:3px}.ripac-expenses button.expense-primary,.ripac-expenses .expense-tabs button[aria-pressed=true]{background:var(--ex-primary);color:var(--ex-on-primary);border-color:var(--ex-primary);font-weight:700}
.expense-heading,.expense-heading>div:nth-child(2),.expense-intro,.expense-actions,.expense-form footer,.expense-payment,.expense-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.expense-heading{margin-bottom:22px}.expense-eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.14em;font-weight:700;color:var(--ex-muted)!important}.expense-lead{color:var(--ex-muted)!important}.expense-actions,.expense-form footer{justify-content:flex-start;margin:24px 0}
.expense-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.expense-totals>div,.expense-summary{padding:20px;border:1px solid var(--ex-line);border-radius:14px;background:var(--ex-card)}.expense-totals span,.expense-summary span{display:block}.expense-totals strong,.expense-summary strong{display:block;font-size:1.7rem;margin-top:8px}.expense-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.expense-search{display:grid;grid-template-columns:1fr 2fr auto;gap:14px;align-items:end;margin:24px 0}.ripac-expenses label{display:block;font-weight:600}.ripac-expenses input,.ripac-expenses select{display:block;width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;margin-top:7px;border:1px solid var(--ex-line);border-radius:9px;background:var(--ex-card);color:var(--ex-ink)}
.expense-list{display:grid;gap:10px}.ripac-expenses .expense-row{display:grid;grid-template-columns:minmax(0,1fr) auto 150px 20px;align-items:center;gap:18px;text-align:left;padding:20px;width:100%}.expense-row small,.expense-payment small{display:block;color:var(--ex-muted)!important;margin-top:6px}.expense-amount{text-align:right}.expense-pill{display:inline-flex!important;width:max-content;padding:5px 11px;border-radius:999px;font-size:.85rem;font-weight:700;border:1px solid #c56f77;background:#fce9eb;color:#8f2334!important}.expense-pill[data-state=paid]{background:#dff2e5;color:#236239!important;border-color:#82b28b}.expense-pill[data-state=void]{background:#e5eaf1;color:#485973!important;border-color:#9ca9bb}.ripac-expenses[data-theme=dark] .expense-pill{background:#522c36;color:#ffccd1!important}.ripac-expenses[data-theme=dark] .expense-pill[data-state=paid]{background:#22452f;color:#b7edc5!important}.ripac-expenses[data-theme=dark] .expense-pill[data-state=void]{background:#354154;color:#d4deee!important}
.expense-empty{padding:40px 24px;text-align:center;border:1px solid var(--ex-line);border-radius:14px;background:var(--ex-card)}.expense-pagination{justify-content:center;margin:22px 0}.expense-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.expense-section{padding:24px 0;border-top:1px solid var(--ex-line);margin-top:20px}.expense-section summary{cursor:pointer;font-weight:700}.expense-receipt{display:block;padding:14px;border:1px solid var(--ex-line);border-radius:10px;margin:10px 0;color:var(--ex-ink)}.expense-receipt small{float:right}.expense-payment,.expense-history{padding:16px 0;border-bottom:1px solid var(--ex-line)}.expense-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.expense-notice:empty{display:none}.expense-notice{padding:12px;background:var(--ex-card);border-radius:10px}
@media(max-width:700px){.ripac-expenses{padding:18px}.expense-totals{grid-template-columns:1fr}.expense-search,.expense-form-grid{grid-template-columns:1fr}.ripac-expenses .expense-row{grid-template-columns:1fr auto}.expense-row>span:first-child{grid-column:1/-1}.expense-row>span:last-child{display:none}.expense-totals strong{font-size:1.35rem}.expense-heading>div:nth-child(2){width:100%}}

.ripac-expenses [hidden]{display:none!important}.expense-form-section{padding:20px;border:1px solid var(--ex-line);border-radius:14px;background:var(--ex-card);margin:16px 0}.expense-form-section small{display:block;font-weight:400;color:var(--ex-muted)!important;margin-top:7px}.expense-form-section fieldset{border:0;padding:20px 0 0;margin:0;min-width:0}.expense-form-section legend{font-weight:700}.expense-form-section>label{max-width:440px}.expense-file-list{padding-left:20px}.expense-form-status:not(:empty){padding:14px;border:1px solid var(--ex-line);border-radius:10px;background:var(--ex-card);font-weight:600}.expense-form footer{position:sticky;bottom:-30px;background:var(--ex-bg);padding:16px 0;margin-bottom:0;border-top:1px solid var(--ex-line);z-index:1}.expense-form-status{scroll-margin:100px}.expense-form input[data-choice-entry]{margin-top:10px}

.expense-receipt-buttons{display:flex;gap:12px;flex-wrap:wrap}.expense-file-list{list-style:none;padding:0}.expense-file-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:12px;border:1px solid var(--ex-line);border-radius:10px}.expense-file-list li span{overflow-wrap:anywhere;min-width:0}.expense-receipt-hint{color:var(--ex-muted)!important;font-size:.95rem}.expense-receipt-picker [data-receipt-feedback]:empty{display:none}
