.expense-category-breakdown { min-width:0; color:#36516b; }
.expense-category-breakdown *, .expense-category-breakdown *::before, .expense-category-breakdown *::after { box-sizing:border-box; }
.expense-category-breakdown .ecb-hint { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 18px; margin:0; padding:13px 20px; color:#667b8f; font-size:11px; line-height:1.55; }
.expense-category-breakdown .ecb-legend { display:inline-flex; align-items:center; gap:6px; color:#996121; }
.expense-category-breakdown .ecb-legend i { width:7px; height:7px; border-radius:50%; background:#c88b34; }
.expense-category-breakdown .ecb-columns,.expense-category-breakdown .ecb-category>summary,.expense-category-breakdown .ecb-total { display:grid; grid-template-columns:minmax(0,2.4fr) minmax(55px,.4fr) minmax(125px,.85fr) minmax(52px,.35fr); align-items:center; gap:16px; padding:16px 20px; }
.expense-category-breakdown .ecb-columns { background:#f7f9fc; border-block:1px solid #e3eaf2; padding-block:11px; font-size:10px; font-weight:700; text-transform:uppercase; color:#74879b; }
.expense-category-breakdown .ecb-columns>span:nth-child(n+2),.expense-category-breakdown .ecb-count,.expense-category-breakdown .ecb-amount,.expense-category-breakdown .ecb-share { text-align:right; font-variant-numeric:tabular-nums; }
.expense-category-breakdown .ecb-category { border:0; border-bottom:1px solid #e7edf3; border-radius:0; margin:0; padding:0; background:white; }
.expense-category-breakdown .ecb-category>summary { list-style:none; cursor:pointer; min-height:59px; font-size:12px; transition:background .15s; }
.expense-category-breakdown .ecb-category>summary::-webkit-details-marker { display:none; }
.expense-category-breakdown .ecb-category>summary::marker { content:''; }
.expense-category-breakdown .ecb-category>summary:hover { background:#f5f9fc; }
.expense-category-breakdown .ecb-category>summary:focus-visible { outline:2px solid #14739a; outline-offset:-3px; border-radius:5px; }
.expense-category-breakdown .ecb-category[open]>summary { background:#edf5fa; }
.expense-category-breakdown .ecb-name { display:flex; gap:11px; align-items:center; min-width:0; overflow-wrap:anywhere; }
.expense-category-breakdown .ecb-name-copy { display:flex; flex-direction:column; gap:6px; min-width:0; }
.expense-category-breakdown .ecb-name-copy>strong { font-size:13px; line-height:1.4; font-weight:650; letter-spacing:normal; }
.expense-category-breakdown .ecb-category-flags { display:flex; flex-wrap:wrap; gap:5px; }
.expense-category-breakdown .ecb-category-flags:empty { display:none; }
.expense-category-breakdown .ecb-chevron { flex:none; display:inline-block; color:#17779b; font-size:24px; line-height:1; transition:transform .15s; }
.expense-category-breakdown .ecb-category[open] .ecb-chevron { transform:rotate(90deg); }
.expense-category-breakdown .ecb-amount { white-space:nowrap; font-size:13px; font-weight:700; color:#29495e; letter-spacing:normal; }
.expense-category-breakdown .ecb-share { color:#7b8b9a; font-size:11px; }
.expense-category-breakdown .ecb-mobile-label { display:none; }
.expense-category-breakdown .ecb-detail { padding:14px 20px; background:#f7fafd; border-top:1px solid #e0eaf1; }
.expense-category-breakdown .ecb-detail-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px; font-size:11px; }
.expense-category-breakdown .ecb-detail-heading>strong { font-size:11px; font-weight:600; letter-spacing:normal; }
.expense-category-breakdown .ecb-detail-heading>span { color:#728396; font-size:10px; }
.expense-category-breakdown .ecb-items { border:1px solid #dfe7ee; border-radius:10px; overflow:hidden; background:#fff; }
/* Div rows and scoped selectors keep dashboard article rules away from expense records. */
.expense-category-breakdown .ecb-items>.ecb-item { display:grid; grid-template-columns:83px minmax(0,1fr) minmax(108px,auto); align-items:start; gap:14px; padding:13px 15px; margin:0; min-height:0; height:auto; border:0; border-bottom:1px solid #e9eef3; border-radius:0; box-shadow:none; background:#fff; font-size:12px; }
.expense-category-breakdown .ecb-items>.ecb-item:last-child { border-bottom:0; }
.expense-category-breakdown .ecb-item-date,.expense-category-breakdown .ecb-item-description,.expense-category-breakdown .ecb-item-action { display:flex; flex-direction:column; gap:4px; min-width:0; }
.expense-category-breakdown .ecb-item-date { padding-top:2px; color:#6e8192; font-size:11px; }
.expense-category-breakdown .ecb-item-date time { white-space:nowrap; font-variant-numeric:tabular-nums; }
.expense-category-breakdown .ecb-item-description { overflow-wrap:anywhere; line-height:1.5; }
.expense-category-breakdown .ecb-item-title { font-size:12px; font-weight:650; letter-spacing:normal; color:#29475b; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.expense-category-breakdown .ecb-item-recipient { font-size:11px; color:#526d80; }
.expense-category-breakdown .ecb-item-comment { margin:0; padding:0; font-size:11px; color:#738494; white-space:normal; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.expense-category-breakdown .ecb-item-meta { display:flex; flex-wrap:wrap; gap:3px 12px; color:#8795a2; font-size:10px; }
.expense-category-breakdown .ecb-item-meta>span { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.expense-category-breakdown .ecb-item-action { align-items:flex-end; font-variant-numeric:tabular-nums; }
.expense-category-breakdown .ecb-item-action>strong { white-space:nowrap; font-size:13px; font-weight:700; color:#29495e; line-height:1.5; letter-spacing:normal; }
.expense-category-breakdown .ecb-item-action button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:30px; width:auto; padding:5px 9px; margin-top:3px; border:1px solid #dce9f0; border-radius:6px; background:#f5f9fc; color:#216783; font:inherit; font-size:10px; font-weight:600; line-height:1.5; cursor:pointer; box-shadow:none; }
.expense-category-breakdown .ecb-item-action button:hover { background:#e9f4fa; border-color:#bdd7e5; }
.expense-category-breakdown .ecb-item-action button:focus-visible,.expense-category-breakdown .ecb-status-message button:focus-visible { outline:2px solid #14739a; outline-offset:3px; }
.expense-category-breakdown .ecb-badge { display:inline-flex; align-items:center; width:fit-content; max-width:100%; border:1px solid transparent; border-radius:5px; padding:3px 6px; line-height:1.4; font-size:10px; font-weight:600; white-space:normal; }
.expense-category-breakdown .ecb-badge-excluded { background:#fff6e8; color:#986018; border-color:#f2dfbe; }
.expense-category-breakdown .ecb-badge-unverified { background:#f2f4f7; color:#6d7885; border-color:#e2e7ed; }
.expense-category-breakdown .ecb-badge-other_period { background:#edf5fb; color:#447895; border-color:#d7e9f5; }
.expense-category-breakdown .ecb-profitability { display:flex; flex-direction:column; align-items:flex-start; gap:4px; padding-top:4px; }
.expense-category-breakdown .ecb-profitability-reason { font-size:10px; color:#7a8792; line-height:1.5; }
.expense-category-breakdown .ecb-profitability-excluded .ecb-profitability-reason { color:#987448; }
.expense-category-breakdown .ecb-subtotal { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; padding-top:12px; font-size:11px; font-variant-numeric:tabular-nums; }
.expense-category-breakdown .ecb-subtotal>strong { font-size:11px; letter-spacing:normal; }
.expense-category-breakdown .ecb-total { background:#f2f7fa; font-size:12px; }
.expense-category-breakdown .ecb-total>strong { font-size:12px; letter-spacing:normal; }
.expense-category-breakdown .ecb-empty { padding:28px 20px; text-align:center; color:#64768a; }
.expense-category-breakdown .ecb-status-message { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 20px; color:#6e8192; background:#f5f8fb; font-size:11px; line-height:1.5; }
.expense-category-breakdown .ecb-status-error { background:#fff8ec; color:#886333; }
.expense-category-breakdown .ecb-status-message button { flex:none; padding:6px 10px; font:inherit; color:#6a522e; background:white; border:1px solid #e7d9be; border-radius:6px; cursor:pointer; }
@media(max-width:700px) {
  .expense-category-breakdown .ecb-columns { display:none; }
  .expense-category-breakdown .ecb-category>summary,.expense-category-breakdown .ecb-total { grid-template-columns:minmax(0,1fr) auto; gap:7px 10px; padding:14px; }
  .expense-category-breakdown .ecb-name { grid-column:1/-1; grid-row:1; }
  .expense-category-breakdown .ecb-amount { grid-column:2; grid-row:2; font-size:12px; }
  .expense-category-breakdown .ecb-count { grid-column:1; grid-row:2; text-align:left; padding-left:20px; font-size:11px; }
  .expense-category-breakdown .ecb-share { display:none; }
  .expense-category-breakdown .ecb-total>strong:first-child { grid-column:1/-1; }
  .expense-category-breakdown .ecb-mobile-label { display:inline; }
  .expense-category-breakdown .ecb-detail { padding:12px; }
  .expense-category-breakdown .ecb-items>.ecb-item { grid-template-columns:minmax(0,1fr) auto; gap:8px 10px; padding:12px; }
  .expense-category-breakdown .ecb-item-date { grid-column:1; grid-row:1; }
  .expense-category-breakdown .ecb-item-description { grid-column:1/-1; grid-row:2; }
  .expense-category-breakdown .ecb-item-action { grid-column:2; grid-row:1; flex-direction:row; align-items:center; gap:10px; }
  .expense-category-breakdown .ecb-item-action>strong { font-size:12px; }
  .expense-category-breakdown .ecb-item-action button { margin:0; min-height:34px; }
  .expense-category-breakdown .ecb-hint,.expense-category-breakdown .ecb-status-message { padding:12px 14px; }
}
@media(max-width:400px) {
  .expense-category-breakdown .ecb-item-action { flex-direction:column; align-items:flex-end; gap:3px; }
}
/* The native legacy-expense action has text, unlike the modal's square close button. */
.record-native-layer .modal.expense-card-modal>.modal-head { align-items:flex-start; flex-wrap:wrap; gap:14px 18px; }
.record-native-layer .modal.expense-card-modal>.modal-head>div:first-child { flex:1 1 180px; min-width:0; }
.record-native-layer .modal.expense-card-modal>.modal-head>div:first-child>span { overflow-wrap:anywhere; }
.record-native-layer .expense-card-modal .modal-head>.order-detail-actions { flex:0 1 auto; max-width:100%; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; }
.record-native-layer .expense-card-modal .modal-head>.order-detail-actions>button { flex-shrink:0; min-height:34px; }
.record-native-layer .expense-card-modal .modal-head>.order-detail-actions>button.secondary { display:inline-flex; align-items:center; justify-content:center; width:auto; max-width:300px; height:auto; min-height:34px; padding:8px 12px; border:1px solid #d5e4eb; border-radius:8px; color:#39627b; background:#f4f8fb; font-size:11px; line-height:1.4; font-weight:600; white-space:normal; overflow-wrap:normal; }
.record-native-layer .expense-card-modal .modal-head>.order-detail-actions>button.edit-order-button,.record-native-layer .expense-card-modal .modal-head>.order-detail-actions>button.expense-delete-button { width:auto; height:auto; min-height:34px; padding:8px 10px; }
.record-native-layer .expense-card-modal .modal-head>.order-detail-actions>button>span { font-size:12px; line-height:1.4; }
.record-native-layer .expense-card-modal .modal-head>.order-detail-actions>button:last-child { width:34px; height:34px; padding:0; }
@media(max-width:600px) {
  .record-native-layer .modal.expense-card-modal>.modal-head { position:relative; flex-direction:column; align-items:stretch; gap:12px; padding-right:42px; }
  .record-native-layer .modal.expense-card-modal>.modal-head>div:first-child { flex:auto; }
  .record-native-layer .expense-card-modal .modal-head>.order-detail-actions { width:100%; justify-content:flex-start; }
  .record-native-layer .expense-card-modal .modal-head>.order-detail-actions>button.secondary { flex:1 1 100%; width:100%; max-width:none; min-height:40px; }
  .record-native-layer .expense-card-modal .modal-head>.order-detail-actions>button:last-child { position:absolute; top:0; right:0; }
}
@media(max-width:600px) {
  .record-native-layer .expense-card-modal .expense-card-amount { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px 12px; margin:16px 0 0; padding:14px 16px; min-width:0; }
  .record-native-layer .expense-card-modal .expense-card-amount>small { grid-column:1; grid-row:1; min-width:0; }
  .record-native-layer .expense-card-modal .expense-card-amount>span { grid-column:2; grid-row:1; justify-self:end; margin:0; max-width:140px; white-space:normal; overflow-wrap:anywhere; }
  .record-native-layer .expense-card-modal .expense-card-amount>strong { grid-column:1/-1; grid-row:2; margin:0; min-width:0; white-space:nowrap; font-size:clamp(19px,5.8vw,25px); line-height:1.25; font-variant-numeric:tabular-nums; }
}

.expense-category-breakdown .ecb-badge-included { color:#467365; background:#f1f8f5; border-color:#dfede6; font-weight:500; }
/*$vite$:1*/