.expense-category-breakdown { min-width:0; color:#36516b; }
.expense-category-breakdown * { box-sizing:border-box; }
.ecb-hint { margin:0; padding:12px 20px; color:#64768a; font-size:12px; line-height:1.5; }
.ecb-columns,.ecb-category>summary,.ecb-total { display:grid; grid-template-columns:minmax(0,2fr) minmax(60px,.65fr) minmax(120px,1fr) minmax(55px,.5fr); align-items:center; gap:16px; padding:15px 20px; }
.ecb-columns { background:#f7f9fc; border-block:1px solid #e3eaf2; font-size:10px; font-weight:700; text-transform:uppercase; color:#74879b; }
.ecb-columns>span:nth-child(n+2),.ecb-count,.ecb-amount,.ecb-share { text-align:right; font-variant-numeric:tabular-nums; }
.ecb-category { border-bottom:1px solid #e7edf3; }
.ecb-category>summary { list-style:none; cursor:pointer; min-height:52px; font-size:12px; transition:background .15s; }
.ecb-category>summary::-webkit-details-marker { display:none; }
.ecb-category>summary::marker { content:''; }
.ecb-category>summary:hover { background:#f4f8fe; }
.ecb-category>summary:focus-visible { outline:2px solid #0868cf; outline-offset:-3px; border-radius:5px; }
.ecb-category[open]>summary { background:#edf5ff; }
.ecb-name { display:flex; gap:10px; align-items:center; min-width:0; overflow-wrap:anywhere; }
.ecb-chevron { display:inline-block; color:#0868cf; font-size:23px; line-height:1; transition:transform .15s; }
.ecb-category[open] .ecb-chevron { transform:rotate(90deg); }
.ecb-amount { white-space:nowrap; }
.ecb-mobile-label { display:none; }
.ecb-detail { padding:16px 20px; background:#f7faff; border-top:1px solid #dce9f8; }
.ecb-detail-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin-bottom:12px; font-size:12px; }
.ecb-detail-heading>span { color:#63778c; font-size:11px; }
.ecb-items { border:1px solid #dfe7f0; border-radius:10px; overflow:hidden; background:#fff; }
.ecb-item { display:grid; grid-template-columns:100px minmax(0,1fr) minmax(135px,auto); gap:18px; padding:16px; border-bottom:1px solid #e7edf3; font-size:12px; }
.ecb-item:last-child { border-bottom:0; }
.ecb-item-date,.ecb-item-description,.ecb-item-action { display:flex; flex-direction:column; gap:6px; min-width:0; }
.ecb-item-date small { color:#6e8195; }
.ecb-item-date time { white-space:nowrap; font-variant-numeric:tabular-nums; }
.ecb-item-description { overflow-wrap:anywhere; line-height:1.5; }
.ecb-item-description p { margin:0; color:#52677d; white-space:pre-wrap; }
.ecb-item-meta { display:flex; flex-wrap:wrap; gap:5px 14px; color:#6e8195; font-size:11px; }
.ecb-item-action { align-items:flex-end; justify-content:center; font-variant-numeric:tabular-nums; }
.ecb-item-action>strong { white-space:nowrap; font-size:14px; }
.expense-category-breakdown .ecb-item-action button { display:inline-flex; align-items:center; gap:5px; padding:7px 0; border:0; background:transparent; color:#0868cf; font:inherit; font-size:11px; cursor:pointer; }
.ecb-item-action button:hover { text-decoration:underline; }
.ecb-item-action button:focus-visible { outline:2px solid #0868cf; outline-offset:3px; }
.ecb-subtotal { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; padding-top:13px; font-size:12px; font-variant-numeric:tabular-nums; }
.ecb-total { background:#f2f7fc; font-size:12px; }
.ecb-empty { padding:28px 20px; text-align:center; color:#64768a; }
@media(max-width:650px) {
  .ecb-columns { display:none; }
  .ecb-category>summary,.ecb-total { grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; padding:14px; }
  .ecb-name { grid-column:1; grid-row:1; }
  .ecb-amount { grid-column:2; grid-row:1; font-size:12px; }
  .ecb-count { grid-column:1; grid-row:2; text-align:left; padding-left:20px; font-size:11px; }
  .ecb-share { grid-column:2; grid-row:2; font-size:11px; }
  .ecb-mobile-label { display:inline; }
  .ecb-detail { padding:12px; }
  .ecb-item { grid-template-columns:minmax(0,1fr) auto; gap:10px; padding:12px; }
  .ecb-item-date { grid-column:1; grid-row:1; }
  .ecb-item-description { grid-column:1/-1; grid-row:2; }
  .ecb-item-action { grid-column:2; grid-row:1; }
  .ecb-item-action>strong { font-size:13px; }
  .ecb-hint { padding:12px 14px; }
}
