/* Scoped reporting surfaces; Finance documents and the shared shell are unchanged. */
#panelExpenses { --ex-surface:var(--panel-bg);--ex-raised:var(--panel-strong-bg);--ex-border:var(--panel-border);--ex-text:var(--primary-text);--ex-muted:var(--secondary-text);--ex-gold:var(--accent-gold);color:var(--ex-text);container-type:inline-size; }
#panelExpenses * { box-sizing:border-box;min-width:0; }
#panelExpenses svg { width:20px;height:20px;display:block;flex-shrink:0; }
#panelExpenses .ex-sr { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
#panelExpenses [hidden] { display:none!important; }
#panelExpenses :is(button,input,select,textarea) { font-family:inherit; }
#panelExpenses button { box-shadow:none;transform:none;cursor:pointer; }
#panelExpenses button:disabled { cursor:not-allowed;opacity:.6; }
#panelExpenses :is(button,input,select,textarea):focus-visible { outline:2px solid var(--accent-blue);outline-offset:3px; }
#panelExpenses .ex-heading { display:flex;align-items:center;justify-content:space-between;gap:20px; }
#panelExpenses h2 { font-size:30px;line-height:1.2;letter-spacing:-.5px;margin:0;font-weight:600; }
#panelExpenses h3 { font-size:19px;line-height:1.35;margin:0;font-weight:600; }
#panelExpenses .ex-heading p { margin:6px 0 0;color:var(--ex-muted);font-size:14px; }
#panelExpenses .ex-actions { display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
#panelExpenses .ex-button { min-height:44px;padding:10px 14px;border:1px solid var(--ex-border);border-radius:8px;background:transparent;color:var(--ex-text);font-size:14px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:9px; }
#panelExpenses .ex-primary { background:var(--gold-400);color:var(--ink-900);border-color:var(--gold-400);font-weight:600; }
#panelExpenses .ex-icon-button { flex-shrink:0;width:44px;padding:10px; }
#panelExpenses .ex-button:hover:not(:disabled) { background:var(--ex-raised); }
#panelExpenses .ex-primary:hover:not(:disabled) { background:color-mix(in srgb,var(--gold-400) 88%,white); }
#panelExpenses .ex-link { border:0;background:none;color:var(--ex-gold);font-size:14px;min-height:44px;padding:8px 0;display:inline-flex;align-items:center;gap:8px;text-align:left; }
#panelExpenses .ex-link:hover { text-decoration:underline; }
#panelExpenses .ex-muted { color:var(--ex-muted);font-size:13px;line-height:1.5;margin:0; }
#panelExpenses :is(.ex-actions,.ex-filters,.ex-range) select, #panelExpenses .ex-range input { width:100%;min-height:44px;border:1px solid var(--ex-border);border-radius:8px;background-color:var(--field-bg);color:var(--ex-text);font-size:14px;padding:10px 30px 10px 12px; }
#panelExpenses .ex-range { display:flex;gap:12px;flex-wrap:wrap;align-items:end; }
#panelExpenses .ex-range label { font-size:13px;color:var(--ex-muted); }
#panelExpenses .ex-range input { display:block;margin-top:5px; }
#panelExpenses .ex-error, #panelExpenses [data-ex-error] { color:var(--danger);font-size:13px;line-height:1.5; }
#panelExpenses [data-ex-error] { display:block; }
#panelExpenses .ex-error:empty, #panelExpenses [data-ex-error]:empty { display:none; }
#panelExpenses #exOverview { display:grid;gap:16px; }
#panelExpenses .ex-summary { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px; }
#panelExpenses .ex-stat { display:flex;align-items:flex-start;gap:16px;padding:18px;border:1px solid var(--ex-border);border-radius:13px;background:var(--ex-surface);box-shadow:var(--metric-card-shadow); }
#panelExpenses .ex-stat-icon { display:flex;align-items:center;justify-content:center;flex-shrink:0;width:46px;height:46px;border-radius:50%;background:var(--ex-raised);color:var(--ex-gold); }
#panelExpenses .ex-stat-icon svg { width:26px;height:26px; }
#panelExpenses .ex-stat h3 { margin:0 0 7px;font-size:13px;font-weight:400; }
#panelExpenses .ex-stat strong { font-size:25px;font-weight:600;line-height:1.2;display:block;overflow-wrap:anywhere;font-variant-numeric:tabular-nums; }
#panelExpenses .ex-stat p { margin:5px 0 0;font-size:12px;color:var(--ex-muted);line-height:1.5;overflow-wrap:anywhere; }
#panelExpenses .ex-categories-heading { margin-top:5px; }
#panelExpenses .ex-categories-heading p { margin:4px 0 0;font-size:14px;color:var(--ex-muted); }
#panelExpenses #exOverviewFeedback { font-size:14px;color:var(--ex-muted); }
#panelExpenses #exOverviewFeedback:empty { display:none; }
#panelExpenses .ex-categories { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px; }
#panelExpenses .ex-category { display:flex;align-items:flex-start;gap:18px;text-align:left;padding:18px;border-radius:13px;border:1px solid var(--ex-border);background:var(--ex-surface);color:var(--ex-text); }
#panelExpenses .ex-category:hover { background:var(--ex-raised); }
#panelExpenses .ex-category[aria-pressed="true"] { border-color:var(--ex-gold);background:color-mix(in srgb,var(--ex-gold) 9%,var(--ex-surface)); }
#panelExpenses .ex-category-icon { color:var(--ex-muted);padding-top:4px;flex-shrink:0; }
#panelExpenses .ex-category-icon svg { width:32px;height:32px; }
#panelExpenses .ex-category[aria-pressed="true"] .ex-category-icon { color:var(--ex-gold); }
#panelExpenses .ex-category-content { display:grid;gap:6px; }
#panelExpenses .ex-category-name { font-size:14px;line-height:1.4;overflow-wrap:anywhere; }
#panelExpenses .ex-category strong { font-size:23px;line-height:1.25;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
#panelExpenses .ex-category small { font-size:12px;color:var(--ex-muted); }
#panelExpenses .ex-category-link { display:flex;align-items:center;gap:6px;color:var(--ex-gold);font-size:13px;margin-top:4px; }
#panelExpenses .ex-category-link svg { width:16px;height:16px; }
#panelExpenses .ex-detail { border:1px solid var(--ex-border);background:var(--ex-surface);border-radius:13px;padding:20px; }
#panelExpenses .ex-detail-heading { display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px; }
#panelExpenses .ex-detail-heading p { margin-top:5px; }
#panelExpenses .ex-category-total { text-align:right; }
#panelExpenses .ex-category-total small { color:var(--ex-muted);font-size:12px; }
#panelExpenses .ex-category-total strong { display:block;color:var(--ex-gold);font-size:24px;margin-top:4px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums; }
#panelExpenses .ex-back { display:none; }
#panelExpenses .ex-filters { display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:10px; }
#panelExpenses .ex-search { display:flex;align-items:center;gap:10px;border:1px solid var(--ex-border);border-radius:8px;background:var(--field-bg);padding:0 12px;width:min(100%,420px);color:var(--ex-muted); }
#panelExpenses .ex-search input { border:0;background:transparent;color:var(--ex-text);padding:10px 0;width:100%;min-height:44px;font-size:14px; }
#panelExpenses #exResultCount { margin:8px 0 12px; }
#panelExpenses .ex-table-scroll { overflow:auto;border:1px solid var(--ex-border);border-radius:9px; }
#panelExpenses .ex-table { width:100%;min-width:850px;border-collapse:collapse;table-layout:auto;font-size:14px; }
#panelExpenses .ex-table :is(th,td) { padding:12px;text-align:left;border:0;border-bottom:1px solid var(--ex-border);vertical-align:top;line-height:1.5; }
#panelExpenses .ex-table th { background:var(--ex-raised);font-size:12px;font-weight:500;color:var(--ex-muted); }
#panelExpenses .ex-table td { background:transparent;overflow-wrap:anywhere;max-width:250px; }
#panelExpenses .ex-table tbody tr:last-child td { border-bottom:0; }
#panelExpenses .ex-table .ex-description { width:30%; }
#panelExpenses .ex-table .ex-number { text-align:right;font-variant-numeric:tabular-nums; }
#panelExpenses .ex-pagination { display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:12px;flex-wrap:wrap;font-size:13px; }
#panelExpenses .ex-pagination:empty { display:none; }
#panelExpenses .ex-mobile-records { display:none; }
#panelExpenses .ex-empty { display:grid;justify-items:center;gap:12px;padding:36px 16px;text-align:center; }
#panelExpenses .ex-empty > svg { width:40px;height:40px;color:var(--ex-muted); }
#panelExpenses .ex-empty h4 { font-size:16px;font-weight:500;margin:0; }
#panelExpenses .ex-skeleton { color:var(--ex-muted);background:var(--ex-raised); }
#panelExpenses .ex-detail-skeleton { padding:40px 16px; }
#panelExpenses .ex-menu { position:fixed;inset:auto;margin:0;width:210px;max-width:calc(100vw - 16px);padding:6px;background:var(--ex-raised);color:var(--ex-text);border:1px solid var(--ex-border);border-radius:9px;box-shadow:0 8px 24px #0003; }
#panelExpenses .ex-menu button { display:block;width:100%;min-height:44px;padding:10px 12px;border:0;background:transparent;color:var(--ex-text);text-align:left;font-size:14px;border-radius:5px; }
#panelExpenses .ex-menu button:hover { background:var(--ex-surface); }
#panelExpenses .ex-menu .ex-danger { color:var(--danger); }
body.ex-modal-open { overflow:hidden; }
#panelExpenses .ex-dialog { padding:20px;border:1px solid var(--ex-border);border-radius:13px;background:var(--ex-surface);color:var(--ex-text);width:min(480px,calc(100vw - 32px));max-height:90vh;overflow-y:auto;overscroll-behavior:contain; }
#panelExpenses .ex-dialog::backdrop { background:var(--modal-backdrop); }
#panelExpenses .ex-drawer { position:fixed;inset:0 0 0 auto;margin:0;width:min(480px,100%);height:100vh;height:var(--ex-height,100dvh);max-height:none;border-radius:13px 0 0 13px; }
#panelExpenses .ex-dialog-head { position:sticky;top:-20px;z-index:2;background:var(--ex-surface);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;margin-bottom:20px;border-bottom:1px solid var(--ex-border); }
#panelExpenses .ex-dialog h2 { font-size:22px;letter-spacing:0;overflow-wrap:anywhere; }
#panelExpenses .ex-form { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
#panelExpenses .ex-wide { grid-column:1/-1; }
#panelExpenses .ex-form label { color:var(--ex-text);font-size:14px; }
#panelExpenses .ex-form :is(input,select,textarea) { display:block;width:100%;border:1px solid var(--field-border);background-color:var(--field-bg);color:var(--field-text);border-radius:8px;min-height:48px;padding:11px;font-size:16px;margin-top:7px; }
#panelExpenses .ex-form select { padding-right:30px; }
#panelExpenses .ex-form [aria-invalid="true"] { border-color:var(--danger); }
#panelExpenses .ex-form-actions { position:sticky;bottom:-20px;display:flex;justify-content:flex-end;gap:12px;background:var(--ex-surface);padding:14px 0;border-top:1px solid var(--ex-border); }
#panelExpenses .ex-full-description { white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6; }
#panelExpenses .ex-view-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;font-size:14px; }
#panelExpenses .ex-view-fields dt { color:var(--ex-muted);margin-bottom:5px; }
#panelExpenses .ex-view-fields dd { margin:0;overflow-wrap:anywhere; }
#panelExpenses .ex-export-options { display:grid;gap:12px;margin-top:20px; }
:root[data-theme="light"] #panelExpenses { --ex-gold:var(--label-text); }
@container (max-width:1050px) {
  #panelExpenses .ex-summary, #panelExpenses .ex-categories { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #panelExpenses .ex-heading { flex-wrap:wrap; }
}
@media (max-width:767px) {
  #panelExpenses { gap:14px; }
  #panelExpenses h2 { font-size:24px; }
  #panelExpenses .ex-heading { display:block; }
  #panelExpenses .ex-actions { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:16px;gap:10px; }
  #panelExpenses .ex-actions [data-ex-add] { grid-column:1/-1;grid-row:1; }
  #panelExpenses .ex-actions select { font-size:16px; }
  #panelExpenses .ex-summary, #panelExpenses .ex-categories { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
  #panelExpenses .ex-stat { display:block;padding:14px; }
  #panelExpenses .ex-stat-icon { margin-bottom:12px;width:40px;height:40px; }
  #panelExpenses .ex-stat strong { font-size:23px; }
  #panelExpenses .ex-category { display:block;padding:14px; }
  #panelExpenses .ex-category-icon { display:block;margin-bottom:10px; }
  #panelExpenses .ex-category strong { font-size:21px; }
  #panelExpenses .ex-detail { display:none;padding:16px; }
  #panelExpenses.ex-detail-view #exOverview { display:none; }
  #panelExpenses.ex-detail-view .ex-detail { display:block; }
  #panelExpenses .ex-back { display:inline-flex;margin-bottom:12px; }
  #panelExpenses .ex-detail-heading { flex-wrap:wrap; }
  #panelExpenses .ex-category-total { text-align:left; }
  #panelExpenses .ex-filters { display:grid;grid-template-columns:minmax(0,1fr); }
  #panelExpenses .ex-search { width:100%; }
  #panelExpenses .ex-search input, #panelExpenses .ex-filters select { font-size:16px; }
  #panelExpenses .ex-table-scroll { display:none; }
  #panelExpenses .ex-mobile-records { display:grid;gap:14px; }
  #panelExpenses .ex-mobile-record { border:1px solid var(--ex-border);border-radius:10px;padding:14px;background:var(--ex-raised); }
  #panelExpenses .ex-mobile-record header { display:flex;gap:10px;align-items:flex-start;justify-content:space-between; }
  #panelExpenses .ex-mobile-record h4 { font-size:15px;line-height:1.5;overflow-wrap:anywhere;margin:0;font-weight:500; }
  #panelExpenses .ex-mobile-total { display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin:12px 0;line-height:1.4;font-size:14px; }
  #panelExpenses .ex-mobile-total strong { font-size:20px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
  #panelExpenses .ex-mobile-record dl { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;font-size:14px; }
  #panelExpenses .ex-mobile-record dt { color:var(--ex-muted);font-size:12px;margin-bottom:4px; }
  #panelExpenses .ex-mobile-record dd { margin:0;overflow-wrap:anywhere; }
  #panelExpenses .ex-dialog { inset:var(--ex-top,0) 0 auto;margin:0;width:100%;max-width:none;height:100vh;height:var(--ex-height,100dvh);max-height:none;border-radius:0;padding:16px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
  #panelExpenses .ex-dialog-head { top:-16px;padding-top:max(12px,env(safe-area-inset-top)); }
  #panelExpenses .ex-form { grid-template-columns:minmax(0,1fr); }
  #panelExpenses .ex-form-actions { bottom:-16px;padding-bottom:max(14px,env(safe-area-inset-bottom)); }
  #panelExpenses .ex-range { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
  #panelExpenses .ex-range input { font-size:16px; }
  #panelExpenses .ex-range .ex-error { grid-column:1/-1; }
}
@media (max-width:359px) { #panelExpenses .ex-summary, #panelExpenses .ex-categories { grid-template-columns:minmax(0,1fr); } }
@media (prefers-reduced-motion:reduce) { #panelExpenses *, #panelExpenses *::before, #panelExpenses *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; } }
