:root { --urs-ink:#183a37; --urs-sage:#dfe8dc; --urs-cream:#f5f1e9; --urs-border:#d7d1c4; }
.finance-shell { max-width:1180px; margin:0 auto; padding:3rem 1.25rem; }
.finance-nav { display:flex; gap:.4rem; flex-wrap:wrap; margin:1rem 0 2rem; padding:.4rem; background:var(--urs-sage); border:1px solid var(--urs-border); border-radius:12px; }
.finance-nav a { color:var(--urs-ink); font-weight:650; text-decoration:none; padding:.55rem .75rem; border-radius:8px; }
.finance-nav a:hover,.finance-nav a.is-active { background:var(--urs-ink); color:#fff; }
.finance-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.finance-card,.finance-panel { background:#fff; border:1px solid var(--urs-border); border-radius:16px; padding:1.25rem; box-shadow:0 8px 28px rgba(24,58,55,.06); }
.finance-card strong { display:block; color:var(--urs-ink); font-size:1.45rem; margin-top:.35rem; }
.finance-table { width:100%; border-collapse:collapse; } .finance-table th,.finance-table td { padding:.8rem .6rem; border-bottom:1px solid var(--urs-border); text-align:left; }
.finance-table th.money,.finance-table td.money { text-align:right; white-space:nowrap; }
.finance-table-wrap { overflow-x:auto; }
.finance-filter { display:flex; flex-wrap:wrap; gap:.75rem; align-items:end; margin:1.25rem 0; } .finance-filter label { display:grid; gap:.3rem; font-size:.85rem; }
.finance-filter input,.finance-filter select { padding:.6rem; border:1px solid var(--urs-border); border-radius:8px; }
.finance-note { background:var(--urs-cream); border-left:4px solid var(--urs-ink); padding:1rem; margin:1rem 0; }
.finance-period { color:#5c655e; font-size:.92rem; margin:.75rem 0 1.25rem; }
.finance-empty { color:#5c655e; background:#faf9f5; border:1px dashed var(--urs-border); border-radius:10px; padding:.85rem 1rem; }
.kasa-card h2 { margin:.35rem 0 .8rem; font-size:1.15rem; }
.kasa-card strong { font-size:1.55rem; }
.kasa-card p { line-height:1.8; }
.kasa-code,.kasa-subtitle { color:#5c655e; font-size:.9rem; }
.invoice-kpi-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.finance-card small { display:block; color:#5c655e; margin-top:.35rem; }
.finance-table td.money,.finance-table th.money { text-align:right; white-space:nowrap; }
.invoice-status { display:inline-flex; padding:.25rem .5rem; border-radius:999px; font-size:.82rem; font-weight:650; white-space:nowrap; }
.invoice-status.overdue { background:#f8e1dc; color:#8b3428; }
.invoice-status.today { background:#f8ebbd; color:#6e5600; }
.invoice-status.upcoming { background:#e3eee1; color:#285538; }
.invoice-row-overdue td:first-child { border-left:3px solid #c56b5b; }
.invoice-kpi-grid .finance-card { min-height:7rem; }
.finance-panel a { color:var(--urs-ink); font-weight:650; }
.receivables-compact { margin:1.25rem 0; }
.receivables-compact .finance-card-grid { margin:1rem 0; }
@media(max-width:1000px){.invoice-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:620px){.invoice-kpi-grid{grid-template-columns:1fr;}}
@media(max-width:800px){.finance-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}} @media(max-width:480px){.finance-card-grid{grid-template-columns:1fr;}.finance-nav{gap:.2rem;}.finance-nav a{flex:1 1 45%;}}
