.finance-wrap{max-width:1480px;margin:auto;padding:22px 28px 70px}.finance-head{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.finance-head h1{margin:0;font-size:24px}.finance-toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:16px 0}.finance-toolbar button,.finance-toolbar select,.finance-toolbar input{width:auto;margin:0}.finance-toolbar input[type=month]{min-width:160px}.finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.finance-kpi{border:1px solid #31536c;background:#0c2034;border-radius:10px;padding:15px}.finance-kpi small{display:block;color:#b3c6d7}.finance-kpi strong{display:block;font-size:21px;margin-top:6px}.finance-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(310px,1fr);gap:15px}.finance-panel{background:#0c2034;border:1px solid #31536c;border-radius:11px;padding:16px;margin-bottom:14px;min-width:0}.finance-panel h2{margin:0 0 12px;font-size:17px}.finance-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.finance-form label{display:block;font-size:12px;color:#b7cadc}.finance-form input,.finance-form select,.finance-form textarea{margin-top:5px;width:100%;box-sizing:border-box}.finance-form .wide{grid-column:1/-1}.finance-form button{width:auto}.finance-table{width:100%;border-collapse:collapse;font-size:12px}.finance-table th,.finance-table td{padding:9px 7px;border-bottom:1px solid #294259;text-align:left;vertical-align:middle}.finance-table th{color:#c3d7e9;background:#19334b}.finance-table tr.paid{opacity:.53;background:#172330}.finance-table tr.late{background:#3c1c26}.finance-table tr.partial{background:#3c321f}.finance-table tr.deferred{background:#142d49}.finance-table button{padding:5px 8px;font-size:11px;margin:2px}.finance-tag{display:inline-block;border-radius:10px;padding:3px 7px;background:#29455b;font-size:11px}.finance-tag.late{background:#922f43}.finance-tag.paid{background:#4b5967}.finance-tag.partial{background:#91612b}.finance-tag.deferred{background:#235d87}.finance-progress{height:16px;background:#23374a;border-radius:8px;overflow:hidden;margin:7px 0}.finance-progress span{display:block;height:100%;background:linear-gradient(90deg,#0f9e92,#55c1a7)}.finance-hint{color:#a6bfd2;font-size:12px;line-height:1.5}.finance-project{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.finance-scroll{overflow:auto}.finance-notice{padding:11px;border-left:3px solid #bd924d;background:#2b261f;font-size:12px;margin:10px 0}.finance-bar{display:flex;height:25px;background:#26374b;border-radius:6px;overflow:hidden}.finance-bar span{background:#36b5a2}.finance-inline{display:flex;gap:8px;flex-wrap:wrap}.finance-inline>*{flex:1}.finance-hidden{display:none!important}@media(max-width:1100px){.finance-grid{grid-template-columns:1fr}.finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.finance-summary{grid-template-columns:1fr}.finance-form{grid-template-columns:1fr}.finance-form .wide{grid-column:auto}.finance-wrap{padding:15px}}

/* V2.2 : échéances colorées par projet, transition progressive vers le rouge */
.finance-table tbody tr{position:relative;box-shadow:inset 5px 0 0 var(--due-color,#7a95ac);transition:background .2s ease}
.finance-table tbody tr.late{background:color-mix(in srgb,var(--due-color,#dc3545) 23%,#0c2034)}
.finance-table tbody tr.upcoming{background:color-mix(in srgb,var(--project-color,#7a95ac) 10%,#0c2034)}
.finance-table tbody tr.partial{background:color-mix(in srgb,var(--project-color,#d9a14a) 18%,#0c2034)}
.finance-table tbody tr.paid{opacity:.56;background:#172330;box-shadow:inset 5px 0 0 #667586}
.finance-table tbody tr.deferred{background:color-mix(in srgb,var(--project-color,#235d87) 15%,#0c2034)}
.finance-table tbody tr.late .finance-tag{background:var(--due-color,#922f43);color:white}
.finance-table button{cursor:pointer}

/* V2.3 : paiement grisé mais actions toujours visibles et accessibles */
.finance-table tbody tr.paid{opacity:1;background:#172330;color:#a3afba}
.finance-table tbody tr.paid td:nth-child(-n+7){opacity:.67}
.finance-table tbody tr.paid td:last-child{opacity:1}
.finance-table tbody tr.paid button{opacity:1;cursor:pointer}
.finance-table tbody tr.paid:hover{background:#223447}

/* V2.5 : transition avant échéance, rouge immédiat à échéance, urgence après */
.finance-table tbody tr.upcoming,
.finance-table tbody tr.partial:not(.urgent),
.finance-table tbody tr.late:not(.urgent){background:color-mix(in srgb,var(--due-color,#e02035) 22%,#0c2034);box-shadow:inset 6px 0 0 var(--due-color,#e02035)}
.finance-table tbody tr.urgent{background:#5b1423!important;box-shadow:inset 7px 0 0 #ff233d!important}
.finance-table tbody tr.urgent td{border-bottom-color:#a32a41}
.finance-table .finance-tag.urgent{background:#e02035!important;color:#fff!important;font-weight:800;letter-spacing:.03em}
.finance-table tbody tr.paid{background:#172330!important;box-shadow:inset 5px 0 0 #667586!important}
