.ec-page { --ec-green:#147a4b; --ec-red:#bd3d3a; --ec-ink:#24313b; color:var(--ec-ink); }
.ec-title { display:flex; justify-content:space-between; gap:1rem; align-items:flex-end; margin-bottom:1rem; }
.ec-title h2 { margin:.05rem 0; font-size:1.9rem; font-weight:750; }
.ec-title p,.ec-card-title p { margin:0; color:#6c757d; }
.ec-eyebrow { color:#a23b36; font-size:.68rem; font-weight:800; letter-spacing:.14em; }
.ec-status { display:flex; align-items:center; gap:.65rem; padding:.7rem .9rem; background:#edf8f2; border:1px solid #c7e8d5; border-radius:10px; color:var(--ec-green); }
.ec-status i { font-size:1.25rem; }.ec-status div { display:flex; flex-direction:column; }.ec-status span { color:#567065; font-size:.72rem; }
.ec-notice { display:flex; gap:.75rem; align-items:flex-start; background:#f4f7fa; border-left:4px solid #61788c; padding:.8rem 1rem; border-radius:8px; margin-bottom:1rem; }
.ec-notice div { display:flex; flex-direction:column; }.ec-notice span { color:#56636d; font-size:.82rem; }
.ec-filters { align-items:flex-end; margin-bottom:1rem; }.ec-grow { flex:1; min-width:230px; }.ec-grow select { width:100%; }
.ec-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; margin-bottom:.5rem; }
.ec-kpi { position:relative; background:#fff; border:1px solid #e2e7eb; border-radius:10px; padding:.85rem 1rem .8rem; overflow:hidden; }
.ec-kpi::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:#7b8790; }
.ec-kpi span,.ec-kpi small { display:block; color:#6b747b; font-size:.72rem; }.ec-kpi strong { display:block; margin:.18rem 0; font-size:1.27rem; }
.ec-kpi.ec-credit::before { background:var(--ec-green); }.ec-kpi.ec-debit::before,.ec-kpi.ec-negative::before { background:var(--ec-red); }.ec-kpi.ec-balance::before { background:#2f6f9f; }
.ec-quality { min-height:1.4rem; color:#9b6414; font-size:.78rem; text-align:right; }
.ec-main-card,.ec-detail-card { background:#fff; border:1px solid #e0e5e9; border-radius:12px; box-shadow:0 2px 8px rgba(26,40,52,.04); margin-top:.55rem; overflow:hidden; }
.ec-card-title,.ec-detail-head { display:flex; justify-content:space-between; align-items:center; padding:1rem 1.1rem; border-bottom:1px solid #e9ecef; }
.ec-card-title h3,.ec-detail-head h3 { margin:0; font-size:1.05rem; }.ec-card-title > span { background:#eef2f5; color:#52616d; font-size:.72rem; padding:.35rem .55rem; border-radius:999px; }
.ec-table-wrap { max-height:58vh; }.ec-table { min-width:940px; }.ec-table td:first-child small,.ec-mini td:first-child small { display:block; color:#8a949c; font-size:.67rem; }
.ec-row:hover { background:#f7fafb; }.ec-sort { cursor:pointer; user-select:none; white-space:nowrap; }.ec-left { text-align:left; }
.ec-credit { color:var(--ec-green)!important; }.ec-debit { color:var(--ec-red)!important; }.ec-balance { font-weight:750; color:#24648f; }.ec-balance.negative { color:var(--ec-red); }
.ec-badge { display:inline-block; background:#edf1f4; color:#52616d; padding:.2rem .42rem; border-radius:5px; font-size:.68rem; font-weight:700; }
.ec-empty { color:#7b858d; padding:1.2rem; text-align:center; }
.ec-detail-card { margin-top:1rem; }.ec-equation { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:1rem; align-items:center; padding:1rem 1.1rem; background:#fbfcfd; }
.ec-equation div { display:flex; flex-direction:column; }.ec-equation span { color:#69747c; font-size:.72rem; }.ec-equation strong { font-size:1.12rem; }.ec-equation > b { color:#a5adb3; }
.ec-equation-result { background:#eaf2f8; padding:.65rem .8rem; border-radius:8px; }.ec-pending { display:flex; gap:.65rem; margin:.9rem 1.1rem 0; padding:.7rem .8rem; border:1px dashed #d5a452; background:#fffaf0; border-radius:8px; color:#805914; }
.ec-pending div { display:flex; flex-direction:column; }.ec-pending span { font-size:.75rem; color:#806d4b; }.ec-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; padding:1rem 1.1rem 1.2rem; }
.ec-detail-grid h4 { font-size:.9rem; margin:0 0 .5rem; }.ec-detail-grid h4 span { color:#7e8890; font-weight:400; }.ec-mini { max-height:420px; }.ec-mini table { min-width:520px; font-size:.76rem; }
@media (max-width:1000px) { .ec-kpis { grid-template-columns:repeat(2,1fr); }.ec-detail-grid { grid-template-columns:1fr; }.ec-title { align-items:flex-start; } }
@media (max-width:650px) { .ec-title { flex-direction:column; }.ec-status { width:100%; }.ec-kpis { grid-template-columns:1fr; }.ec-equation { grid-template-columns:1fr; gap:.4rem; }.ec-equation > b { display:none; }.ec-card-title > span { display:none; } }
