:root{--navy:#003366;--green:#92c297;--coral:#ef9071;--blue:#168ed8;--bg:#f5f7fa;--text:#1f2937;--muted:#6b7280;--border:#dbe2ea}
*{box-sizing:border-box}body{margin:0;font-family:var(--app-font,Montserrat,Arial,sans-serif);background:var(--bg);color:var(--text)}a{color:var(--navy);text-decoration:none}.layout{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:var(--on-primary,#fff);padding:24px 18px}.brand{font-size:20px;font-weight:700;margin-bottom:28px}.nav a{display:block;color:var(--on-primary,#fff);padding:10px 12px;border-radius:8px;margin:3px 0}.nav a:hover{background:rgba(255,255,255,.12)}.content{padding:28px;max-width:1500px}.topbar{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar form{margin:0}.searchbox{display:flex;gap:6px}.searchbox input{min-width:260px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px}.metric .value{font-size:28px;font-weight:700;color:var(--navy)}.metric .label{color:var(--muted);margin-top:6px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.btn{display:inline-block;border:0;border-radius:8px;padding:9px 13px;background:var(--navy);color:#fff;cursor:pointer;font:inherit}.btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--navy)}.btn.danger{background:#9b1c1c}.btn.green{background:#39764a}.btn.small{padding:6px 9px;font-size:13px}table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden}th,td{padding:10px 9px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{background:#eef3f7;color:var(--navy);font-size:13px}tr:hover td{background:#fbfcfd}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}input,select,textarea{width:100%;padding:9px 10px;border:1px solid #bcc7d3;border-radius:7px;background:#fff;font:inherit}textarea{min-height:90px}.muted{color:var(--muted)}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e8eef5;font-size:12px}.badge.paid{background:#dff3e4;color:#225f31}.badge.late{background:#fde7e7;color:#8a1c1c}.badge.draft{background:#fff4d6;color:#6d5100}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.invoice-head{display:flex;justify-content:space-between}.auth{max-width:460px;margin:9vh auto;background:#fff;border:1px solid var(--border);border-radius:14px;padding:28px}.error{background:#fde8e8;color:#8a1c1c;padding:10px;border-radius:8px;margin-bottom:14px}.inline{display:inline}.checkbox{width:auto}.right{text-align:right}.section-title{margin-top:26px}.timer{background:#fff;border:1px dashed var(--border);padding:12px;border-radius:10px;margin-bottom:14px}.timer-display{font-size:26px;font-weight:700;color:var(--navy)}
@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:relative}.nav{display:flex;flex-wrap:wrap}.content{padding:16px}.grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.searchbox input{min-width:0}.summary{grid-template-columns:1fr}}
.time-entry-row{cursor:pointer}.time-entry-row:hover td{background:#f3f7fb}

/* Navigation Plume & Paperasse */
.sidebar{display:flex;flex-direction:column;min-height:100vh;height:100vh;position:sticky;top:0}
.sidebar-top{min-height:0}
.brand{text-align:center;margin-bottom:28px}
.sidebar-logo{display:block;max-width:150px;max-height:92px;width:auto;height:auto;object-fit:contain;margin:0 auto 10px}
.brand-name{font-size:18px;font-weight:700;line-height:1.25;color:var(--on-primary,#fff)}
.nav-bottom{margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.16)}
.nav a,.nav-logout{transition:color .15s ease,background .15s ease}
.nav a:hover,.nav-logout:hover{color:var(--coral);background:rgba(255,255,255,.06)}
.logout-form{margin:0}
.nav-logout{display:block;width:100%;text-align:left;color:var(--on-primary,#fff);padding:10px 12px;border:0;border-radius:8px;margin:3px 0;background:transparent;cursor:pointer;font:inherit}
.app-topbar{justify-content:flex-end}
.btn.client{background:var(--coral);color:var(--on-coral,#17202a);font-weight:600}
.btn.case{background:var(--green);color:var(--on-green,#17202a);font-weight:600}
.btn.client:hover,.btn.case:hover{filter:brightness(.97)}
@media(max-width:900px){.sidebar{height:auto;min-height:auto;position:relative}.nav-bottom{margin-top:16px}.brand{text-align:left}.sidebar-logo{margin:0 0 10px;max-width:130px}.nav-logout{width:auto}}

/* Icônes de navigation et titres */
.nav a,.nav-logout{display:flex;align-items:center;gap:10px}
.nav-icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.content h1{color:var(--navy);font-weight:700}

/* Chronometre - carte compacte Plume & Paperasse */
.timer.timer-card{background:#fff;border:1px solid #dbe4ec;border-radius:14px;padding:16px 18px;margin-bottom:18px;box-shadow:0 2px 8px rgba(0,51,102,.05)}
.timer-top{display:flex;align-items:center;justify-content:space-between;gap:24px}
.timer-identity{display:flex;align-items:center;gap:13px;min-width:245px}
.timer-icon{width:42px;height:42px;border-radius:12px;background:#eef4f8;color:var(--navy);display:grid;place-items:center;flex:0 0 42px}
.timer-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.timer-label{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:1px}
.timer.timer-card .timer-display{font-size:30px;line-height:1.05;font-weight:700;letter-spacing:.5px;color:var(--navy)}
.timer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.timer-actions .btn{min-height:38px;padding:8px 14px}
.timer-note{margin-top:11px;padding-top:10px;border-top:1px solid #edf1f5;color:var(--muted);font-size:13px;line-height:1.35}
@media(max-width:760px){.timer-top{align-items:flex-start;flex-direction:column;gap:14px}.timer-actions{justify-content:flex-start}.timer-identity{min-width:0}.timer.timer-card{padding:15px}}

/* Dépenses & taxes */
.nav-finance{margin:22px 0 12px;padding:14px 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.nav-finance a{margin:0}
.btn.expense{background:var(--coral);color:var(--on-coral,#17202a);font-weight:600}
.btn.tax{background:var(--green);color:var(--on-green,#17202a);font-weight:600}
.btn.expense:hover,.btn.tax:hover{filter:brightness(.97)}
.period-filter{align-items:end;margin-bottom:16px}.period-filter .field:last-child{justify-content:flex-end}
.finance-metrics{margin:14px 0 20px}.tax-paid-card{border-color:#cfe7d4}.tax-paid-value{color:#39764a!important;font-size:24px!important}
.tax-panel{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;margin:20px 0}
.tax-panel-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:15px}.tax-panel-head h2{margin:0 0 5px;color:var(--navy)}
.tax-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tax-card h3{margin:0 0 12px;color:var(--navy)}
.tax-line{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #eef2f5}.tax-line:last-child{border-bottom:0}.tax-net{font-weight:600}.tax-balance{margin-top:5px;padding-top:12px;border-top:2px solid var(--navy);color:var(--navy);font-size:17px}
.tax-disclaimer{font-size:12px;color:var(--muted);margin:14px 0 0}.expense-row{cursor:pointer}.expense-row:hover td{background:#f3f7fb}
.tax-payment-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:14px;align-items:start}.tax-payment-form h3,.tax-history h3{color:var(--navy);margin-top:0}.tax-history-item{padding:12px 0;border-bottom:1px solid var(--border);line-height:1.5}.tax-history-item:last-child{border-bottom:0}.link-danger{border:0;background:transparent;padding:5px 0 0;color:#9b1c1c;cursor:pointer;font:inherit;font-size:12px}.expense-form-card{max-width:980px}.check-label{display:flex;align-items:center;gap:8px}.form-help{font-size:12px}.expense-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0;padding:14px;background:#f7f9fb;border:1px solid var(--border);border-radius:10px}.expense-preview>div{display:flex;flex-direction:column;gap:4px}.expense-preview span{font-size:12px;color:var(--muted)}.preview-total strong{color:var(--navy);font-size:18px}.expense-delete-form{margin-top:14px}
@media(max-width:900px){.nav-finance{margin:12px 0;padding:10px 0}.tax-columns,.tax-payment-grid{grid-template-columns:1fr}.expense-preview{grid-template-columns:repeat(2,1fr)}}

/* Dépenses et Taxes séparés */
.nav-finance{display:flex;flex-direction:column;gap:4px}
.expense-metrics .metric:nth-child(2) .value{color:#39764a}
.quarter-toolbar{margin:8px 0 18px;padding:16px 18px}
.quarter-nav{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}
.quarter-title{text-align:center;display:flex;flex-direction:column;gap:3px;color:var(--navy)}
.quarter-title strong{font-size:21px}.quarter-title span{font-size:13px;color:var(--muted)}
.quarter-selector{display:grid;grid-template-columns:minmax(120px,.6fr) minmax(210px,1fr) auto;gap:12px;align-items:end;max-width:650px;margin:16px auto 0;padding-top:14px;border-top:1px solid var(--border)}
.quarter-go{justify-content:flex-end}
.tax-overview-metrics .metric:nth-child(3) .value{color:var(--navy)}
.tax-period-lock{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#f7f9fb;border:1px solid var(--border);border-radius:9px;padding:10px 12px;margin:0 0 14px}
.tax-period-lock span{color:var(--muted);font-size:13px}.tax-period-lock strong{color:var(--navy);text-align:right}
.recent-tax-history{margin-top:24px}
@media(max-width:900px){.quarter-nav{grid-template-columns:1fr}.quarter-title{order:-1}.quarter-selector{grid-template-columns:1fr}.quarter-nav .btn{text-align:center}.tax-period-lock{align-items:flex-start;flex-direction:column}.tax-period-lock strong{text-align:left}}

/* Pièces justificatives des dépenses */
.receipt-field{padding-top:4px}
.receipt-current{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;background:#f7f9fb;border:1px solid var(--border);border-radius:9px;margin-bottom:8px}
.receipt-current>div{display:flex;flex-direction:column;gap:3px;min-width:0}.receipt-current strong{color:var(--navy);overflow-wrap:anywhere}.receipt-current .muted{font-size:12px}
.receipt-link{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-weight:600}
.expense-secondary-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px}.expense-secondary-actions form{margin:0}.expense-secondary-actions .expense-delete-form{margin:0}
@media(max-width:700px){.receipt-current{align-items:flex-start;flex-direction:column}}

/* Notes de crédit */
.btn.credit{background:var(--coral);color:var(--on-coral,#17202a);font-weight:650}.btn.credit:hover{filter:brightness(.97)}
.badge.credited{background:#fde8e1;color:#7d331f}.credit-create-panel{margin:24px 0;padding:18px 20px;background:#fff;border:1px solid #f2c6b7;border-left:4px solid var(--coral);border-radius:12px}.credit-create-panel h2{margin-top:0;color:var(--navy)}
.invoice-summary-extended{grid-template-columns:repeat(4,minmax(0,1fr))}.credit-balance-card{border-color:#f2c6b7}.credit-balance-card .value{color:#9a4028}
.credit-note-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:16px 0}.credit-note-info>div{display:flex;flex-direction:column;gap:5px}.credit-note-info strong{color:var(--navy)}
@media(max-width:1000px){.invoice-summary-extended,.credit-note-info{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.invoice-summary-extended,.credit-note-info{grid-template-columns:1fr}}


/* Relances de paiement */
.reminder-btn{background:var(--coral);color:var(--on-coral,#17202a);font-weight:650}.reminder-btn:hover{filter:brightness(.97)}
.reminder-last{font-size:11px;color:var(--muted);margin-top:4px;text-align:center}
.reminder-inline-panel{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:22px 0;padding:16px 18px;background:#fff;border:1px solid #f2c6b7;border-left:4px solid var(--coral);border-radius:12px}.reminder-inline-panel h2{margin:0 0 4px;color:var(--navy)}.reminder-inline-panel p{margin:0}
.reminder-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 22px}.reminder-summary .card{display:grid;grid-template-rows:1.4em auto;align-content:start;min-height:120px;row-gap:6px}.reminder-summary .label{margin:0;color:var(--muted);font-size:13px;font-weight:700;line-height:1.4}.reminder-summary .value{color:var(--navy);font-size:22px;font-weight:700;line-height:1.2}
.reminder-panel{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;margin:0}.reminder-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}.reminder-panel-head h2{margin:0 0 5px;color:var(--navy)}.reminder-panel-head p{margin:0}.client-email{padding:7px 10px;background:#f4f7fa;border-radius:8px;color:var(--navy);font-size:13px}
#reminder-form input,#reminder-form select,#reminder-form textarea{font-size:13px}.reminder-body{min-height:220px;line-height:1.5}.reminder-notes{min-height:75px}.reminder-actions{align-items:center}.reminder-mail{background:var(--navy)}.reminder-history{margin-top:26px}.reminder-history h2{color:var(--navy)}
@media(max-width:800px){.reminder-inline-panel,.reminder-panel-head{align-items:flex-start;flex-direction:column}.reminder-summary{grid-template-columns:1fr}}

/* Tableau de bord financier enrichi */
.dashboard-actions{margin-bottom:24px}
.dashboard-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:26px 0 12px}
.dashboard-section-head h2{margin:0;color:var(--navy);font-size:20px}
.dashboard-section-head p{margin:4px 0 0;color:var(--muted);font-size:13px}
.dashboard-section-head.compact{margin:0 0 18px;align-items:flex-start}
.dashboard-primary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.financial-card{position:relative;overflow:hidden;min-height:145px}
.financial-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--navy)}
.financial-card:nth-child(2):before{background:var(--coral)}
.financial-card.result-card:before{background:var(--green)}
.financial-card.result-card.negative:before{background:#9b1c1c}
.metric-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.045em;font-weight:700;color:var(--muted);margin-bottom:7px}
.financial-card .value{font-size:27px}
.result-card:not(.negative) .value{color:#39764a}.result-card.negative .value{color:#9b1c1c}
.metric-compare{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:11px;font-size:12px;font-weight:650;color:var(--muted)}
.metric-compare.up{color:#39764a}.metric-compare.down{color:#9b1c1c}.metric-compare.inverse.up{color:#9b1c1c}.metric-compare.inverse.down{color:#39764a}
.metric-compare small{width:100%;font-size:11px;font-weight:400;color:var(--muted)}
.dashboard-watch-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.dashboard-link-card{display:block;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}
.dashboard-link-card:hover{transform:translateY(-1px);border-color:#bdcbd8;box-shadow:0 4px 14px rgba(0,51,102,.06)}
.dashboard-link-card .value{font-size:24px}.metric-detail{font-size:12px;color:var(--muted);margin-top:7px;line-height:1.35}.positive-detail{color:#39764a}
.overdue-card{border-color:#eccaca}.overdue-card .value{color:#9b1c1c}.tax-watch-card{border-color:#cfe0d3}
.dashboard-split{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.8fr);gap:14px;margin-top:26px}
.dashboard-chart-card,.cash-summary-card{padding:20px}
.chart-legend{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;white-space:nowrap}.chart-legend span{width:11px;height:11px;border-radius:3px;display:inline-block}.legend-revenue{background:var(--navy)}.legend-expense{background:var(--coral);margin-left:5px}
.finance-chart{height:235px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:7px;align-items:end;padding-top:12px;border-bottom:1px solid var(--border)}
.chart-month{height:100%;display:flex;flex-direction:column;justify-content:flex-end;min-width:0}.chart-bars{height:200px;display:flex;justify-content:center;align-items:flex-end;gap:3px}.chart-bar{width:min(13px,42%);min-height:0;border-radius:3px 3px 0 0}.chart-bar.revenue{background:var(--navy)}.chart-bar.expense{background:var(--coral)}.chart-label{text-align:center;color:var(--muted);font-size:10px;padding-top:7px;white-space:nowrap;overflow:hidden}
.cash-summary-card{display:flex;flex-direction:column}.cash-line{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid #edf1f4;font-size:13px}.cash-line strong{color:var(--navy);white-space:nowrap}.cash-line.total{margin-top:3px;padding-top:14px;border-top:2px solid var(--navy);font-size:15px;font-weight:650}.cash-line.total strong{color:#39764a}.cash-line.total.negative strong{color:#9b1c1c}.cash-line.annual{color:var(--muted)}.cash-line.annual:last-child{border-bottom:0}
.recent-head{margin-top:28px}.recent-head>a{font-size:13px;font-weight:600}
@media(max-width:1200px){.dashboard-primary-grid{grid-template-columns:repeat(2,1fr)}.dashboard-watch-grid{grid-template-columns:repeat(3,1fr)}.dashboard-split{grid-template-columns:1fr}}
@media(max-width:700px){.dashboard-primary-grid,.dashboard-watch-grid{grid-template-columns:1fr}.dashboard-section-head{align-items:flex-start;flex-direction:column}.chart-legend{white-space:normal}.finance-chart{gap:3px}.chart-bars{gap:1px}.chart-label{font-size:9px}.dashboard-chart-card{padding:14px}}

/* Avances clients et débours refacturables */
.client-summary-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.advance-card .value{color:var(--navy)}
.finance-subsection{margin-top:30px;padding-top:20px;border-top:1px solid #dfe6ec}
.section-heading-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}
.compact-form-card{margin:12px 0 18px}
.rebill-panel{margin-top:4px;padding:16px;border:1px solid #dfe6ec;border-radius:12px;background:#f8fafb}
.rebill-fields{margin-top:12px}
.rebill-locked{background:#f4f6f8}
.badge.rebill{background:#e7f3e9;color:#285c36;white-space:nowrap}
.invoice-options-card{margin:18px 0;display:grid;gap:10px}
.advance-apply-panel{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin:28px 0 18px;padding:18px 20px;border:1px solid #dfe6ec;border-left:4px solid var(--green);border-radius:12px;background:#fbfdfb}
.advance-apply-panel h2{margin:0 0 5px}
.advance-apply-form{display:flex;align-items:flex-end;gap:10px;min-width:330px}
.advance-apply-form .field{margin:0;min-width:165px}
@media(max-width:800px){.advance-apply-panel,.advance-apply-form{display:block;min-width:0}.advance-apply-form .field{margin-bottom:10px}.section-heading-row{display:block}}

/* Recherche et filtres avancés */
.filter-card{background:#fff;border:1px solid #e3e8ee;border-radius:12px;padding:14px 16px;margin:0 0 18px;box-shadow:0 2px 8px rgba(0,51,102,.035)}
.filter-grid{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.filter-grid .field{min-width:145px;margin:0}.filter-grid .filter-grow{flex:1 1 280px}.filter-grid label{font-size:.82rem;color:#627080;margin-bottom:5px}
.filter-actions{display:flex;gap:8px;align-items:center;padding-bottom:1px}.btn.ghost{background:#fff;color:#5c6875;border:1px solid #d7dee6}.btn.ghost:hover{border-color:var(--coral);color:var(--coral);background:#fff}
.filter-check{display:flex;align-items:center;gap:7px;min-height:39px;margin:0 4px 0 0;font-size:.9rem;white-space:nowrap}.filter-check input{width:auto}
.search-page-box{max-width:900px}.search-page-row{display:flex;gap:10px}.search-page-row input{flex:1}.search-count{font-size:.88rem;color:#71808e;margin:0 0 10px}.search-type{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef4f8;color:var(--navy);font-size:.78rem;font-weight:700}.search-results td{vertical-align:middle}
@media(max-width:800px){.filter-grid{display:grid;grid-template-columns:1fr}.filter-grid .field,.filter-grid .filter-grow{min-width:0}.filter-actions{padding:0}.search-page-row{flex-direction:column}}

/* Sauvegarde et exports */
.settings-tools{margin-top:34px;padding-top:22px;border-top:1px solid var(--border)}
.settings-tools>h2{color:var(--navy);margin:0 0 14px}
.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tool-card h3{margin:0 0 7px;color:var(--navy)}
.tool-card p{margin:0 0 16px;line-height:1.5}
.backup-status{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid #edf1f4;font-size:13px}
.backup-status span{color:var(--muted)}.backup-status strong{color:var(--navy);text-align:right}
.tool-action-form{margin:16px 0 7px}.export-actions{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:900px){.tools-grid{grid-template-columns:1fr}.backup-status{align-items:flex-start;flex-direction:column;gap:3px}.backup-status strong{text-align:left}}

.storage-location-value>span{flex:0 0 auto}.storage-location-value>strong{min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word}

/* Journal d'activité */
.journal-intro{margin:4px 0 0}.journal-meta{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:8px 2px 10px;font-size:13px}.table-wrap{overflow-x:auto;border-radius:10px}.journal-table{min-width:980px}.journal-date{white-space:nowrap;color:var(--navy);font-weight:600}.journal-date span{color:var(--muted);font-weight:400;font-size:12px}.journal-details{min-width:280px;max-width:520px;line-height:1.4}.journal-link{font-weight:700}.journal-link:hover{color:var(--coral)}.activity-badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.activity-badge.create{background:#e4f2e7;color:#285c36}.activity-badge.edit{background:#e7eef6;color:var(--navy)}.activity-badge.delete{background:#fde7e7;color:#8a1c1c}


/* Paramètres d'apparence */
.appearance-card{margin:18px 0 26px;padding:20px;border:1px solid var(--border);border-radius:14px;background:#fff}
.appearance-card h2{margin:0 0 5px;color:var(--navy)}
.appearance-card>.muted{margin:0 0 18px;display:block}
.appearance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.color-field{display:grid;grid-template-columns:52px 1fr;gap:9px;align-items:center}
.color-field label{grid-column:1/-1}
.color-field input[type=color]{width:52px;height:40px;padding:2px;border-radius:8px;cursor:pointer}
.color-field input[type=text]{min-width:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase}
.appearance-preview{margin-top:18px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg)}
.preview-head{padding:11px 14px;background:var(--navy);color:var(--on-primary,#fff);font-weight:700}
.preview-body{padding:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--app-font,Arial,sans-serif)}
.preview-chip{display:inline-block;padding:7px 10px;border-radius:8px;font-weight:650}.preview-chip.coral{background:var(--coral);color:var(--on-coral,#17202a)}.preview-chip.green{background:var(--green);color:var(--on-green,#17202a)}.preview-link{color:var(--blue);font-weight:650}
.appearance-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
@media(max-width:900px){.appearance-grid{grid-template-columns:1fr}}

/* Encaissements avancés */
.payment-allocation-table input[type=number]{max-width:150px;margin:0}
.payment-allocation-table td:last-child,.payment-allocation-table th:last-child{text-align:right}
.payment-allocation-table input:disabled{background:#f4f6f8;color:#8a96a3}
.receipt-actions{display:flex;gap:8px;flex-wrap:wrap}

/* Clôture des trimestres de taxes */
.tax-closure-banner{display:flex;justify-content:space-between;align-items:center;gap:22px;margin:0 0 18px;padding:17px 19px;border-radius:13px;border:1px solid #cdd9e3;background:#fff}
.tax-closure-banner.closed{border-left:5px solid var(--green);background:#fbfdfb}.tax-closure-banner.reopened{border-left:5px solid var(--coral);background:#fffaf8}
.tax-closure-status{display:flex;align-items:center;gap:9px;color:var(--navy);font-size:16px}.tax-lock-icon{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:var(--on-green,#17202a);font-weight:800}
.tax-closure-banner p{margin:5px 0 0;font-size:13px}.tax-closure-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tax-reopen-card{margin:-8px 0 18px;border-left:4px solid var(--coral)}
.tax-close-section,.tax-payment-section{margin:28px 0}.tax-close-card{border-left:4px solid var(--green);padding:18px 20px}.tax-close-summary{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5eaef}.tax-close-summary strong{color:var(--navy);font-size:17px}.tax-close-summary span{font-weight:650}.tax-close-disabled{border-left:4px solid #c9d2db;background:#fafbfc}.tax-close-disabled strong{color:var(--navy)}.tax-close-disabled p{margin:5px 0 0;color:var(--muted)}
.tax-declared-card{border-color:#cfe0d3}.badge.refund{background:#e8eef8;color:#315d8a}
.btn.danger{background:#9b1c1c;color:#fff}.btn.danger:hover{filter:brightness(.95)}
@media(max-width:800px){.tax-closure-banner,.tax-close-summary{align-items:flex-start;flex-direction:column}.tax-closure-actions{justify-content:flex-start}}

/* Codes d'activité */
.activity-intro{margin:4px 0 0}.activity-help{margin-bottom:16px;border-left:4px solid var(--blue)}.activity-message{margin-bottom:16px;border-left:4px solid var(--green)}.activity-code-table{min-width:1050px}.activity-code-inactive td{color:var(--muted);background:#f7f8fa}.activity-code-inactive .activity-dot{opacity:.55}.activity-dot{display:inline-block;width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 2px rgba(0,0,0,.06)}.activity-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--activity-color) 16%,white);color:#27323c;font-size:12px;font-weight:700;white-space:nowrap}.activity-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--activity-color)}.color-row{display:flex;align-items:center;gap:12px}.activity-color{width:54px;height:38px;padding:3px;cursor:pointer}.activity-code-form-page{max-width:1100px}.activity-code-form{max-width:980px}.activity-code-form-grid{column-gap:20px;row-gap:16px}.activity-code-form-grid input:not(.checkbox){min-height:40px}.activity-code-form-grid .color-row{min-height:40px}.activity-code-option{justify-content:flex-end}.activity-code-option>label{display:flex;align-items:center;gap:8px;min-height:40px}.activity-code-option .checkbox{flex:0 0 auto}.activity-code-actions{display:grid;grid-template-columns:repeat(3,max-content);align-items:stretch;gap:10px;margin:20px 0 0}.activity-code-actions .btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px}.compact-actions{margin:0}
@media(max-width:900px){.activity-code-option{justify-content:flex-start}}@media(max-width:520px){.activity-code-actions{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.activity-code-actions .btn{padding-left:6px;padding-right:6px}}


/* Comptes à recevoir */
.receivables-page{min-width:0}.aging-head{align-items:center;margin-bottom:18px}.aging-head h1{margin:0 0 6px;color:#003366}.aging-head p{margin:0}.aging-head .actions{align-items:center;gap:10px}.aging-head .btn{min-height:40px;white-space:nowrap}.aging-metrics{margin:0 0 18px}.aging-late .value{color:#9a5b18}.aging-critical .value{color:#9b1c1c}.aging-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--border);background:#fff}.aging-table{min-width:860px}.aging-table tfoot th{border-top:2px solid var(--navy);background:#f5f8fb}.aging-client-row{cursor:pointer}.aging-client-row:hover td{background:#f6f9fb}.aging-client-row:focus{outline:2px solid var(--blue);outline-offset:-2px}.aging-oldest{font-size:12px;margin-top:3px}.aging-amount-late{color:#8a5a1f;font-weight:650}.aging-amount-old{color:#a34a26;font-weight:700}.aging-amount-critical{color:#9b1c1c;font-weight:750}.aging-toggle{border:0;background:transparent;color:var(--navy);font-size:19px;cursor:pointer;padding:4px 8px}.aging-detail-row td{background:#f7f9fb!important;padding:0}.aging-detail{padding:16px 18px 18px;border-left:4px solid var(--coral)}.aging-detail-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px;color:var(--navy)}.aging-invoice-table{border:1px solid #e1e7ed}.aging-invoice-table th,.aging-invoice-table td{padding:8px}.aging-hint{font-size:12px;margin:9px 2px 0}@media(max-width:900px){.aging-head,.aging-detail-head{display:block}.aging-head .actions,.aging-detail-head .actions{margin-top:12px}.aging-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.aging-head .actions{display:grid;grid-template-columns:1fr}.aging-head .btn{width:100%}.aging-metrics{grid-template-columns:1fr}}

/* Multi-utilisateurs et rôles */
.sidebar-user{margin:8px 8px 4px;padding:10px 11px;border-top:1px solid rgba(255,255,255,.13);display:flex;flex-direction:column;gap:2px;font-size:12px;color:rgba(255,255,255,.72)}
.sidebar-user strong{color:#fff;font-size:13px;overflow:hidden;text-overflow:ellipsis}.sidebar-user span{font-size:11px}
.user-intro{margin:4px 0 0}.roles-help{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.roles-help>div{padding:12px;border:1px solid var(--border);border-radius:10px;background:#f8fafb;display:flex;flex-direction:column;gap:4px}.roles-help strong{color:var(--navy)}.roles-help span{font-size:12px;color:var(--muted);line-height:1.45}
.users-table{min-width:850px}.role-badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}.role-badge.administrateur{background:#e7eef6;color:var(--navy)}.role-badge.gestionnaire{background:#e5f2e8;color:#285c36}.role-badge.collaborateur{background:#fdebe5;color:#8a432d}.badge.me{margin-left:7px;background:#eef3f7;color:#56616d}
.invoice-created-choice{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 16px;border-left:4px solid var(--green);background:#f3faf5}.invoice-created-choice h2,.invoice-created-choice p{margin:0}.invoice-created-choice p{margin-top:5px;color:#56616d}.invoice-created-choice .actions{margin:0;flex-shrink:0}.invoice-lifecycle-note{margin:8px 0 18px}.invoice-edit-form textarea{min-width:260px;min-height:70px}.invoice-edit-form table input{min-width:92px}.invoice-send-form,.email-template-form{max-width:920px}.invoice-email-body,.email-template-body{min-height:260px}.email-unavailable-notice{margin:0 0 16px;border-left:4px solid var(--coral);background:#fff5f1;padding:12px 14px}.email-unavailable-notice p{margin:4px 0 0}.invoice-attachment{display:flex;align-items:center;gap:12px;margin:16px 0;padding:12px;border:1px solid #d9e1e8;border-radius:7px;background:#f7f9fb}.invoice-attachment span{color:#66717c}.invoice-attachment strong{margin-right:auto}.email-template-variables{margin:14px 0;padding:12px;background:#f3f6f8;border-radius:7px}.email-template-variables>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.email-template-variables code{padding:4px 7px;background:#fff;border:1px solid #d9e1e8;border-radius:4px}
.invoice-total-breakdown{display:flex;flex-direction:column;gap:3px;margin-top:6px}.invoice-total-breakdown>span:first-child,.invoice-tax-line>span{white-space:nowrap}.invoice-tax-line{display:flex;flex-wrap:wrap;gap:3px 12px}
.email-config-form,.email-secret-status{max-width:920px}.email-config-status{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-items:center;max-width:920px;margin:0 0 16px;padding:13px 15px;border:1px solid var(--border);border-left:4px solid var(--coral);border-radius:8px;background:#fff}.email-config-status.configured{border-left-color:#3f9b5f;background:#f3faf5}.email-config-status span{font-size:12px;color:var(--muted)}.email-config-status strong{font-size:18px}.email-config-status small{grid-column:2;color:var(--muted)}.email-secret-status>div{display:flex;flex-direction:column;gap:7px;margin:12px 0}.email-secret-status>div>span{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:8px 10px;background:#f5f7fa;border-radius:5px}.email-secret-status .present{color:#287d46}.email-secret-status .missing{color:#a5442e}.email-secret-status form{margin-top:12px}.email-ready-notice{display:flex;align-items:center;gap:12px;max-width:920px;margin:0 0 16px;padding:12px 14px;border-left:4px solid #3f9b5f;background:#f3faf5}.email-ready-notice span{color:#466154}.error p{margin:5px 0 0}
.multiuser-note{margin-top:18px;border-left:4px solid var(--blue)}.multiuser-note strong{color:var(--navy)}.multiuser-note p{margin:5px 0 0;color:var(--muted);line-height:1.5}.user-form-card{max-width:900px}.form-error{border-left:4px solid #9b1c1c;color:#7b1515;margin-bottom:14px}.entry-owner{margin:-4px 0 14px}.collaborator-note{display:flex;gap:8px;align-items:center;margin-bottom:18px;border-left:4px solid var(--blue)}.collaborator-note strong{color:var(--navy)}.collaborator-note span{color:var(--muted);font-size:13px}.collaborator-dashboard{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.roles-help,.collaborator-dashboard{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.roles-help,.collaborator-dashboard{grid-template-columns:1fr}.collaborator-note{align-items:flex-start;flex-direction:column}}

/* Documents */
.documents-head{margin-bottom:16px}.documents-head h1{margin-bottom:5px}.documents-head p{margin:0}.documents-section{margin-top:28px;padding-top:18px;border-top:1px solid var(--border)}.documents-section h2{margin:0 0 4px}.documents-section .section-heading-row{margin-bottom:10px}.document-table{min-width:850px}.document-main-table{min-width:1100px}.document-row{cursor:pointer}.document-row:hover td{background:#f7f9fb}.document-category{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef3f7;color:var(--navy);font-size:12px;font-weight:700;white-space:nowrap}.document-filename{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny{font-size:11px;margin-top:2px}.document-stats{display:flex;gap:7px;align-items:center;margin:8px 2px 10px;color:var(--muted);font-size:13px}.document-stats strong{color:var(--navy)}.document-form-card{max-width:980px}.current-file{margin-top:7px;padding:8px 10px;border-radius:8px;background:#f5f8fa;font-size:12px;color:var(--muted)}.document-detail-card{max-width:1050px}.document-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.document-meta-grid>div{display:flex;flex-direction:column;gap:4px;padding:13px 0;border-bottom:1px solid #edf1f4}.document-meta-grid span,.document-notes>span{font-size:12px;color:var(--muted);font-weight:650}.document-meta-grid strong{color:#27323c;overflow-wrap:anywhere}.document-notes{padding-top:16px}.document-notes p{margin:6px 0 0;white-space:pre-wrap;line-height:1.55}.document-delete-form{margin-top:16px}.storage-meter-mini{display:flex;justify-content:space-between;gap:12px;margin-top:13px;padding-top:11px;border-top:1px solid #edf1f4;font-size:13px}.storage-meter-mini span{color:var(--muted)}.storage-meter-mini strong{color:var(--navy)}
@media(max-width:800px){.document-meta-grid{grid-template-columns:1fr}.document-detail-head{display:block}.document-detail-head .actions{margin-top:10px}}

/* Ergonomie V2 - navigation et fiches de travail inspirées des logiciels de gestion de dossiers */
.app-shell{grid-template-columns:238px minmax(0,1fr)}
.content{max-width:none;width:100%;padding:0 30px 36px}
.sidebar{padding:20px 14px 16px}
.brand{display:block;text-decoration:none;margin-bottom:22px}
.nav-section-label{margin:17px 12px 6px;color:rgba(255,255,255,.48);font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.nav-main,.nav-financial-work{display:flex;flex-direction:column;gap:1px}
.nav a,.nav-logout{padding:9px 11px;border-radius:7px;font-size:13px}
.nav a.active{background:rgba(255,255,255,.13);color:var(--coral);font-weight:700}
.nav a.active:before{content:"";position:absolute;left:0;width:3px;height:20px;border-radius:0 3px 3px 0;background:var(--coral)}
.nav a{position:relative}
.nav-bottom{padding-top:12px;margin-top:auto}
.sidebar-user{margin-top:10px}

.app-commandbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:68px;margin:0 -30px 24px;padding:12px 30px;background:color-mix(in srgb,var(--bg) 94%,white);border-bottom:1px solid #e1e6eb;backdrop-filter:blur(8px)}
.command-search{position:relative;flex:1;max-width:760px;margin:0}
.command-search input{width:100%;min-width:0;height:42px;padding:9px 14px 9px 39px;border-radius:9px;border:1px solid #cbd5df;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.02)}
.command-search input:focus{outline:2px solid color-mix(in srgb,var(--blue) 28%,transparent);border-color:var(--blue)}
.search-icon{position:absolute;left:13px;top:12px;width:18px;height:18px;fill:none;stroke:#71808e;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.quick-create{position:relative;flex:0 0 auto}
.quick-create>summary{list-style:none}.quick-create>summary::-webkit-details-marker{display:none}
.quick-create-btn{min-width:112px;text-align:center;font-weight:700}
.quick-create-menu{position:absolute;right:0;top:48px;width:285px;padding:7px;background:#fff;border:1px solid #d9e0e7;border-radius:11px;box-shadow:0 14px 35px rgba(20,39,58,.16);z-index:80}
.quick-create-menu a{display:flex;flex-direction:column;gap:2px;padding:10px 11px;border-radius:7px;color:var(--text)}
.quick-create-menu a:hover{background:#f5f8fa}.quick-create-menu strong{color:var(--navy);font-size:13px}.quick-create-menu span{font-size:11px;color:var(--muted)}
.quick-create-separator{height:1px;background:#e7ebef;margin:5px 7px}

.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 17px}.page-head h1{margin:0 0 4px}.page-head p{margin:0}
.compact-filter{padding:11px 13px;margin-bottom:12px}
.list-table-wrap{border:1px solid #dfe5eb;border-radius:10px;background:#fff}
.dense-table th,.dense-table td{padding:8px 9px;font-size:13px}.dense-table th{font-size:11px;text-transform:uppercase;letter-spacing:.025em;background:#f2f5f8;color:#536474}
.list-table tbody tr,.record-table tbody tr{cursor:default}.list-table tbody tr:hover td,.record-table tbody tr:hover td{background:#f4f8fb}
.open-row{cursor:pointer!important}.table-hint{margin:7px 2px 0;color:#8a96a3;font-size:11px}

.record-workspace{background:#fff;border:1px solid #dfe5eb;border-radius:12px;box-shadow:0 2px 8px rgba(0,51,102,.035);overflow:hidden;margin-bottom:20px}
.record-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:20px 22px 15px}
.record-title-block{min-width:0}.record-title-block h1{margin:3px 0 5px;font-size:26px;line-height:1.15}.record-eyebrow{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#657483;font-size:12px;font-weight:650}.record-eyebrow>a{color:var(--navy)}
.record-subtitle{display:flex;gap:7px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:13px}.record-subtitle a{font-weight:600}
.record-status{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.035em;background:#edf1f4;color:#5e6c78;white-space:nowrap}
.record-status.active{background:#e3f1e6;color:#2f6a3f}.record-status.inactive{background:#eef0f2;color:#697581}.record-status.neutral{background:#edf1f5;color:#526576}
.record-primary-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin:0}.record-primary-actions .btn{padding:8px 11px;font-size:12px}
.record-more{position:relative}.record-more>summary{list-style:none}.record-more>summary::-webkit-details-marker{display:none}.record-more-menu{position:absolute;right:0;top:40px;z-index:30;width:210px;background:#fff;border:1px solid #dbe2e8;border-radius:9px;padding:6px;box-shadow:0 12px 28px rgba(20,39,58,.14)}.record-more-menu a{display:block;padding:8px 9px;border-radius:6px;font-size:12px}.record-more-menu a:hover{background:#f4f7fa;color:var(--coral)}
.record-tabs{display:flex;gap:0;overflow-x:auto;padding:0 18px;border-top:1px solid #edf1f4;border-bottom:1px solid #e4e9ee;background:#fafbfc}.record-tabs a{display:flex;align-items:center;gap:5px;padding:11px 12px 9px;border-bottom:2px solid transparent;color:#5e6c78;font-size:12px;font-weight:650;white-space:nowrap}.record-tabs a:hover{color:var(--coral)}.record-tabs a.active{color:var(--navy);border-bottom-color:var(--coral)}.record-tabs a span{min-width:18px;padding:1px 5px;border-radius:999px;background:#e8edf2;text-align:center;font-size:9px}
.record-metrics{margin:0;padding:15px 18px 18px;gap:9px;background:#fbfcfd}.record-metrics .card{padding:12px 13px;border-radius:9px;box-shadow:none}.record-metrics .card b{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.035em;color:#708090;margin-bottom:5px}.record-metrics .card .value{font-size:19px;color:var(--navy)}
.record-info-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #edf1f4;background:#fbfcfd}.record-info-card>div{padding:12px 18px;border-right:1px solid #edf1f4}.record-info-card>div:last-child{border-right:0}.record-info-card .wide{grid-column:1/-1;border-top:1px solid #edf1f4}.record-info-card span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.04em;margin-bottom:4px}.record-info-card strong{font-size:13px;color:#344454}
.record-section{margin:22px 0 0;padding:18px 20px;background:#fff;border:1px solid #dfe5eb;border-radius:11px}.record-section-head{margin:0 0 10px}.record-section-head h2{margin:0 0 3px;font-size:17px;color:var(--navy)}.record-section-head p{margin:0;font-size:12px}.record-section-head .actions{margin:0}
.record-collapsible{padding:0;overflow:visible}.record-collapsible>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;cursor:pointer;list-style:none}.record-collapsible>summary::-webkit-details-marker{display:none}.record-collapsible>summary>span:first-child{display:flex;flex-direction:column;gap:2px}.record-collapsible>summary strong{color:var(--navy);font-size:15px}.record-collapsible>summary small{color:var(--muted);font-size:11px}.record-chevron{font-size:18px;color:#708090;transition:transform .15s ease}.record-collapsible[open] .record-chevron{transform:rotate(180deg)}.record-collapsible-body{padding:0 18px 18px;border-top:1px solid #edf1f4}.record-collapsible-body>p:first-child{margin-top:14px}

@media(max-width:1050px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.record-header{flex-direction:column}.record-primary-actions{justify-content:flex-start}.record-info-card{grid-template-columns:1fr 1fr}.record-info-card .wide{grid-column:1/-1}}
@media(max-width:900px){.content{padding:0 16px 28px}.app-commandbar{position:relative;margin:0 -16px 18px;padding:10px 16px}.sidebar{height:auto}.nav-section-label{display:none}.nav-main,.nav-financial-work{flex-direction:row;flex-wrap:wrap}.record-workspace{border-radius:9px}.record-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.app-commandbar{align-items:stretch}.quick-create-btn{min-width:96px}.quick-create-menu{width:min(285px,calc(100vw - 28px))}.page-head{flex-direction:column}.record-header{padding:16px}.record-primary-actions{width:100%}.record-tabs{padding:0 8px}.record-metrics{grid-template-columns:1fr}.record-info-card{grid-template-columns:1fr}.record-info-card>div{border-right:0;border-bottom:1px solid #edf1f4}.record-section{padding:15px}.command-search input{font-size:13px}}


/* ========================= V3 - ergonomie de gestion dense ========================= */
body{background:#f3f3f3;color:#111}.v3-shell{display:grid;grid-template-columns:196px minmax(0,1fr);grid-template-rows:48px minmax(0,1fr);min-height:100vh}.v3-global-header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 12px;background:#e8e8e8;border-bottom:1px solid #bfc2c5;position:sticky;top:0;z-index:60}.v3-brand{display:flex;align-items:center;gap:8px;color:#111;font-size:15px}.v3-brand img{width:29px;height:29px;object-fit:contain}.v3-userbar{display:flex;align-items:center;gap:8px;font-size:12px}.v3-user-role{color:#777}.v3-userbar form{margin:0}.v3-logout{border:0;background:transparent;font-size:20px;cursor:pointer}.v3-sidebar{grid-row:2;background:#fff;border-right:1px solid #bfc2c5;min-height:calc(100vh - 48px);display:flex;flex-direction:column;position:sticky;top:48px;height:calc(100vh - 48px);overflow:auto}.v3-collapse{align-self:flex-end;border:0;background:transparent;padding:7px 10px;font-size:12px;cursor:pointer}.v3-nav{display:flex;flex-direction:column}.v3-nav a{display:flex;align-items:center;gap:9px;padding:9px 12px;color:#111;font-size:13px;border-radius:0}.v3-nav a:hover{background:#eee}.v3-nav a.active{background:var(--coral);color:#fff;font-weight:700}.v3-nav-ico{display:inline-flex;width:19px;justify-content:center;font-size:17px;line-height:1}.v3-nav-bottom{margin-top:auto;border-top:0}.v3-context-head{padding:11px 12px 13px;border-bottom:1px solid #d3d3d3;display:flex;flex-direction:column;gap:3px}.v3-context-head strong{color:var(--navy)}.v3-context-head span{font-size:11px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v3-context-back{font-size:11px;margin-bottom:5px}.v3-content{min-width:0;background:#fff;min-height:calc(100vh - 48px);padding:0}.v3-titlebar{height:40px;border-bottom:1px solid #bfc2c5;background:#e7e7e7;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 12px}.v3-titlebar>strong{grid-column:2;font-size:14px}.v3-toolbar{grid-column:1;display:flex;gap:2px;align-items:center}.v3-toolbar button,.v3-toolbar a{width:31px;height:31px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;color:#111;font-size:22px;cursor:pointer;border-radius:2px}.v3-toolbar button:hover,.v3-toolbar a:hover{background:#d8d8d8}.v3-workarea{display:grid;grid-template-columns:320px minmax(0,1fr);height:calc(100vh - 88px);min-height:520px}.v3-filterpane{background:#e5e5e5;border-right:1px solid #c8c8c8;padding:10px;overflow:auto}.v3-filterform{display:flex;flex-direction:column;gap:8px}.v3-filter-search{display:flex;gap:5px;align-items:center}.v3-filter-search input{width:100%;height:31px;border:0;background:#fff;padding:5px 8px}.v3-filter-title{display:flex;justify-content:space-between;color:#777;font-size:12px;font-weight:700;border-bottom:1px solid #bababa;padding:5px 0}.v3-filter-choice{background:#fff;padding:8px;font-size:13px}.v3-filter-choice.active{box-shadow:inset 3px 0 0 var(--coral)}.v3-filterpane details{border-bottom:1px solid #bbb;padding:0 0 7px}.v3-filterpane summary{cursor:pointer;color:#666;font-size:12px;font-weight:700;padding:8px 0}.v3-filterpane label,.v3-filterpane details>span{display:block;font-size:12px;padding:3px 4px;color:#222}.v3-filterpane select,.v3-filterpane details input[type=date]{width:100%;height:30px;margin:3px 0;border:1px solid #ccc;background:#fff}.v3-filter-apply{margin-top:6px;padding:7px 9px;background:var(--navy);color:#fff;border:0;cursor:pointer}.v3-listpane{min-width:0;overflow:auto;background:#fff}.v3-listcount{text-align:center;color:#bbb;font-size:12px;height:32px;padding:8px}.v3-table-wrap{overflow:auto}.v3-table{width:100%;border-collapse:collapse;background:#fff;min-width:900px}.v3-table th{height:42px;padding:8px 12px;text-align:left;color:#aaa;font-size:11px;font-weight:700;border-bottom:1px solid #cfcfcf;border-right:1px solid #d1d1d1;background:#fff}.v3-table td{padding:9px 12px;font-size:12px;border:0}.v3-table tbody tr:nth-child(odd){background:#ededed}.v3-table tbody tr:hover{background:#dde8ef!important;cursor:pointer}.v3-subline{display:block;color:#777;font-size:10px;margin-top:2px}.v3-folder{color:#333}.v3-folder.open{color:#2dbd59}.v3-record-summary,.v3-finance-page,.v3-preferences{padding:20px 24px}.v3-section-title{display:flex;justify-content:space-between;align-items:center;color:#999;font-size:13px;font-weight:700;border-bottom:1px solid #c7c7c7;padding:6px 0;margin:4px 0 8px}.v3-section-title span{font-size:11px;color:#666;font-weight:400}.v3-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;margin:12px 4px 22px}.v3-info-grid>div{display:flex;flex-direction:column;gap:5px}.v3-info-grid .wide{grid-column:1/-1}.v3-info-grid label{font-size:11px;color:#777}.v3-info-grid strong{background:#f0f0f0;min-height:30px;padding:7px 8px;font-size:12px;font-weight:500}.v3-finance-strip{display:flex;align-items:stretch;gap:0;margin:5px 0 24px;flex-wrap:wrap}.v3-finance-strip>div{min-width:155px;border:1px solid #ddd;border-right:0;background:#fff;text-align:center}.v3-finance-strip>div:last-child{border-right:1px solid #ddd}.v3-finance-strip span{display:block;background:#dedede;padding:4px 8px;font-size:11px}.v3-finance-strip strong{display:block;padding:8px;font-size:13px}.v3-note-box{background:#f2f2f2;padding:10px;font-size:12px;white-space:pre-wrap}.v3-finance-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px;padding:28px 28px}.v3-finance-links>div{display:flex;gap:15px}.v3-finance-icon{font-size:34px;min-width:50px}.v3-finance-links section{display:flex;flex-direction:column;align-items:flex-start}.v3-finance-links small{color:#999;margin-bottom:7px}.v3-finance-links a{color:#111;font-size:12px;padding:2px 0}.v3-finance-links a:hover{text-decoration:underline;color:var(--navy)}.v3-admin-grid{padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:#e6e6e6;min-height:calc(100vh - 88px);align-content:start}.v3-admin-grid section{background:#f5f5f5;border:1px solid #d4d4d4;box-shadow:0 1px 2px rgba(0,0,0,.06);padding:9px}.v3-admin-grid h3{text-align:center;font-size:12px;margin:0 0 10px}.v3-admin-items{display:flex;gap:6px;flex-wrap:wrap}.v3-admin-items a{width:145px;min-height:112px;background:#fafafa;border:1px solid #ddd;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#111;padding:8px}.v3-admin-items a:hover{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08)}.v3-admin-items b{font-size:31px;margin-bottom:9px}.v3-admin-items span{font-size:12px;font-weight:700}.v3-admin-items small{font-size:10px;color:#666;margin-top:4px}.v3-pref-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 26px}.v3-pref-grid label{font-size:12px;color:#777}.v3-pref-grid select{display:block;width:100%;height:31px;margin-top:5px;border:0;background:#eee;padding:4px 7px}.v3-overlay[hidden]{display:none}.v3-overlay{position:fixed;inset:0;z-index:200}.v3-overlay-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.26)}.v3-overlay-window{position:absolute;inset:28px 38px 34px;background:#fff;border:1px solid #9c9c9c;box-shadow:0 12px 35px rgba(0,0,0,.25);display:flex;flex-direction:column}.v3-overlay-head{height:42px;background:#e5e5e5;border-bottom:1px solid #b9b9b9;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-size:13px;font-weight:700}.v3-overlay-head button{border:0;background:transparent;font-size:27px;cursor:pointer}.v3-overlay-body{overflow:auto;flex:1;padding:16px 18px;background:#fff}.v3-overlay-body .v3-global-header,.v3-overlay-body .v3-sidebar{display:none!important}.v3-overlay-body .v3-titlebar{margin:-16px -18px 15px}.overlay-open{overflow:hidden}
@media(max-width:1000px){.v3-shell{grid-template-columns:170px minmax(0,1fr)}.v3-workarea{grid-template-columns:260px minmax(0,1fr)}.v3-finance-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.v3-shell{display:block}.v3-global-header{position:sticky}.v3-sidebar{position:static;height:auto;min-height:0}.v3-nav{display:grid;grid-template-columns:repeat(2,1fr)}.v3-nav-bottom{margin-top:0}.v3-workarea{display:block;height:auto}.v3-filterpane{border-right:0}.v3-info-grid,.v3-pref-grid{grid-template-columns:1fr}.v3-finance-links,.v3-admin-grid{grid-template-columns:1fr}.v3-overlay-window{inset:10px}}

/* V3.1 — rythme visuel commun Plume & Paperasse */
body{font-size:14px;line-height:1.45}.v3-content{font-size:14px}.v3-table td{font-size:13px;line-height:1.4}.v3-table th{font-size:11.5px}.v3-record-summary,.v3-finance-page,.v3-preferences{padding:22px 26px}.form-page{padding:22px 26px}.form-page h1{margin:0 0 16px;color:var(--navy);font-size:24px}.person-form-card{max-width:1050px;margin:0}.v3-content>h1{margin:22px 26px 15px;font-size:24px}.v3-content>form:not(.logout-form){margin-left:26px;margin-right:26px}.v3-content>.topbar,.v3-content>.filter-card,.v3-content>.grid,.v3-content>.summary,.v3-content>.card{margin-left:26px;margin-right:26px}.field>label,.field>label.check-label,.v3-pref-grid label{font-weight:700;color:#344454}.field .form-help{margin-top:5px;color:var(--muted);font-size:12px;font-weight:400}.v3-toolbar{gap:6px}.v3-toolbar button,.v3-toolbar a{width:36px;height:32px;border:1px solid #c6cdd3;border-radius:7px;background:#f7f8f9;box-shadow:0 1px 1px rgba(0,0,0,.04);color:#273947;font-size:19px}.v3-toolbar button:hover,.v3-toolbar a:hover{background:#e7eef3;border-color:#9cabb6;color:var(--navy);box-shadow:0 2px 5px rgba(0,51,102,.12)}.v3-toolbar button:focus-visible,.v3-toolbar a:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.case-toolbar a,.case-toolbar button{width:auto;min-width:36px;padding:0 8px}.case-details-form{margin:10px 0 18px;box-shadow:none}.case-details-form textarea{min-height:96px}.case-status-actions{display:flex;justify-content:flex-end;padding-top:5px}.case-status-actions form{margin:0}.person-role-badges{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap}.person-role{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.025em}.client-role{background:#e4eef7;color:var(--navy)}.supplier-role{background:#e7f3e9;color:#285c36}.person-number-secondary{display:block;color:#39764a;font-weight:700;margin-top:2px}.people-table td{vertical-align:middle}.case-finance-note{max-width:850px;margin:18px 0;padding:12px 14px;border-left:4px solid var(--green);background:#f5f9f6;color:#44534a}.client-summary-grid{align-items:stretch}.client-summary-grid .card{display:flex;flex-direction:column;justify-content:space-between;min-height:92px}
@media(max-width:760px){.v3-record-summary,.v3-finance-page,.v3-preferences,.form-page{padding:17px 16px}.v3-content>h1{margin:17px 16px 12px}.v3-content>form:not(.logout-form){margin-left:16px;margin-right:16px}.v3-content>.topbar,.v3-content>.filter-card,.v3-content>.grid,.v3-content>.summary,.v3-content>.card{margin-left:16px;margin-right:16px}}

/* Filtres Personnes et navigation vers les modules filtrés */
.v3-filterpane details label:has(input[type="radio"]){display:flex;align-items:center;gap:8px;padding:5px 4px;line-height:1.25;cursor:pointer}.v3-filterpane details label input[type="radio"]{width:auto;min-width:14px;height:14px;margin:0;flex:0 0 auto}.person-context-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px;padding:9px 26px;background:#f3f6f8;border-bottom:1px solid #d9e0e6}.person-context-bar a{font-weight:700;color:var(--navy)}.person-context-bar strong{color:#536474}.person-module-page{padding:22px 26px}.advance-total{display:flex;flex-direction:column;gap:3px;min-width:180px;padding:12px 16px}.advance-total span{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:700}.advance-total strong{font-size:21px;color:var(--navy)}.person-contact-summary{margin-top:0}.person-summary-page .record-info-card{border-bottom:1px solid #edf1f4}
@media(max-width:760px){.person-context-bar{align-items:flex-start;flex-direction:column;padding:9px 16px}.person-module-page{padding:17px 16px}}

/* Import documentaire par glisser-déposer */
.document-row.is-selected td{background:#e3edf4!important}.document-f2-editor{display:flex;flex-direction:column;gap:4px}.document-f2-editor input{width:100%;min-width:220px;padding:6px 8px;border:1px solid var(--navy);border-radius:5px;background:#fff}.document-f2-editor .error{white-space:normal;font-size:11px}
.document-drop-zone{position:relative;cursor:pointer;padding-top:22px;padding-bottom:22px}.document-drop-zone input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.document-drop-zone{margin:0 26px 16px;padding:16px 20px;border:2px dashed #b7c5d1;border-radius:11px;background:#f8fafb;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;text-align:center;color:#526473;transition:.15s ease}.document-drop-zone strong{color:var(--navy)}.document-drop-zone.drag-active{border-color:var(--coral);background:#fff5f1}.document-drop-overlay{position:fixed;inset:48px 0 0 196px;z-index:180;background:rgba(255,255,255,.88);border:4px dashed var(--coral);display:grid;place-items:center;pointer-events:none}.document-drop-overlay[hidden]{display:none}.document-drop-overlay strong{padding:20px 28px;border-radius:12px;background:var(--navy);color:#fff;font-size:22px;box-shadow:0 8px 24px rgba(0,51,102,.18)}.document-drop-panel{margin:0 26px 18px;padding:18px 20px}.document-drop-panel[hidden]{display:none}.document-drop-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.document-drop-panel-head h2{margin:0 0 4px;color:var(--navy);font-size:19px}.document-drop-panel-head p{margin:0;overflow-wrap:anywhere}.document-drop-panel .error{margin:14px 0 0}
@media(max-width:1000px){.document-drop-overlay{left:170px}}@media(max-width:760px){.document-drop-zone,.document-drop-panel{margin-left:16px;margin-right:16px}.document-drop-overlay{inset:48px 0 0}.document-drop-panel-head{flex-direction:column}}

/* Panneaux secondaires rétractables */
.document-inline-name-form{padding-bottom:18px;margin-bottom:8px;border-bottom:1px solid #e1e7eb}.document-inline-name-form .field{max-width:720px}.document-inline-name-form input{font-size:15px}.document-inline-name-form .actions{margin-top:12px}.document-readonly-name{display:flex;flex-direction:column;gap:5px;padding-bottom:18px;margin-bottom:8px;border-bottom:1px solid #e1e7eb}.document-readonly-name span{font-size:12px;color:var(--muted);font-weight:700}.document-readonly-name strong{font-size:16px;color:var(--navy)}
.v3-workarea{position:relative;transition:grid-template-columns .16s ease}.filter-pane-toggle{width:100%;margin:0 0 5px;padding:6px 8px;border:1px solid #c8cdd2;border-radius:6px;background:#f7f7f7;color:#44515c;font:inherit;font-size:11px;font-weight:700;cursor:pointer;text-align:left}.filter-pane-toggle:hover{background:#fff;color:var(--navy)}.filter-pane-restore{position:absolute;z-index:12;left:5px;top:7px;width:28px;height:34px;border:1px solid #bfc8cf;border-radius:0 7px 7px 0;background:#fff;color:var(--navy);font-size:20px;font-weight:700;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.08)}.filter-pane-restore[hidden]{display:none}.v3-workarea.filters-collapsed{grid-template-columns:minmax(0,1fr)}.v3-workarea.filters-collapsed>.v3-filterpane{display:none}.v3-workarea.filters-collapsed>.v3-listpane{grid-column:1;width:100%}.document-rename-dialog{width:min(520px,calc(100vw - 32px));padding:0;border:1px solid #aeb9c2;border-radius:10px;box-shadow:0 18px 48px rgba(0,30,55,.28)}.document-rename-dialog::backdrop{background:rgba(16,30,42,.38)}.document-rename-dialog form{padding:18px}.document-rename-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.document-rename-head h2{margin:0;color:var(--navy);font-size:19px}.document-dialog-close{border:0;background:transparent;color:#51616e;font-size:27px;line-height:1;cursor:pointer}.document-rename-dialog .error{margin:12px 0}.document-context-return{margin-bottom:18px}
@media(max-width:760px){.v3-workarea.filters-collapsed{display:block}.filter-pane-restore{top:4px}.document-rename-card{margin:16px}}
.document-filters-toggle{grid-column:1/-1;justify-self:start;border:1px solid #c8cdd2;border-radius:6px;background:#fff;padding:6px 9px;color:#44515c;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.document-filters.is-collapsed{display:none}.document-filters-restore{margin:0 26px 12px;border:1px solid #c8cdd2;border-radius:6px;background:#fff;padding:7px 10px;color:var(--navy);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.document-filters-restore[hidden]{display:none}@media(max-width:760px){.document-filters-restore{margin-left:16px;margin-right:16px}}

/* Registre compact lorsqu'un dossier fournit déjà le contexte */
.case-activities-table{min-width:0;table-layout:fixed}.case-activities-table .activity-type{width:54px;text-align:center}.case-activities-table .activity-date{width:105px}.case-activities-table .activity-code{width:90px}.case-activities-table .activity-description{width:auto;white-space:normal;overflow-wrap:anywhere}.case-activities-table .activity-minutes{width:82px}.case-activities-table .activity-status{width:118px}.case-activities-table .activity-user{width:150px;white-space:normal;overflow-wrap:anywhere}
.v3-titlebar{height:44px}.v3-titlebar>strong{min-width:0;padding:0 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v3-workarea{height:calc(100vh - 92px)}.v3-toolbar{display:flex;align-items:center;flex-wrap:nowrap;gap:6px;min-width:max-content}.v3-toolbar button,.v3-toolbar a,.case-toolbar a,.case-toolbar button,.v3-toolbar .v3-action-tile{flex:0 0 36px;width:36px;min-width:36px;max-width:36px;height:32px;padding:0;white-space:nowrap;overflow:hidden}.v3-action-icon{display:block;width:19px;height:19px;flex:none;pointer-events:none}.v3-toolbar [hidden]{display:none!important}.v3-toolbar .v3-action-tile.is-disabled{background:#f1f1f1;border-color:#d7d7d7;color:#999;box-shadow:none;cursor:not-allowed}.activity-row{cursor:pointer}.activity-row.is-selected td{background:#dcebf5!important;box-shadow:inset 0 1px 0 #9fbfd4,inset 0 -1px 0 #9fbfd4}.activity-row:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.activity-selection-notice{margin:8px 26px 0;padding:8px 11px;border-left:3px solid #9b6a00;background:#fff6dd;color:#624500;font-size:12px}.activity-copy-notice{margin-bottom:14px;border-left:4px solid var(--blue);color:#344454}.fixed-context-value{display:block;min-height:39px;padding:9px 10px;border:1px solid #d5dde3;border-radius:7px;background:#f1f4f6;color:#344454;font-weight:600}.activity-destination{max-width:720px;margin-top:22px}.activity-destination h1{margin:0 0 14px;color:var(--navy);font-size:21px}.activity-destination form{margin:0}.activity-destination .field+.field{margin-top:14px}.activity-transfer-summary{display:grid;gap:9px;margin:16px 0;padding:16px;border:1px solid #dce3e8;border-radius:9px;background:#f7f9fa;text-align:center}.activity-transfer-summary span{font-weight:700;color:#263d4d}.activity-transfer-summary strong{color:var(--coral);font-size:12px;text-transform:uppercase}
@media(max-width:760px){.activity-selection-notice{margin-left:16px;margin-right:16px}.case-activities-table .activity-user{width:110px}}

/* Centre d’actions financières d’un dossier */
.case-finance-primary,.case-finance-access{display:grid;gap:12px;margin:14px 0 24px}.case-finance-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.case-finance-access{grid-template-columns:repeat(4,minmax(0,1fr))}.case-finance-tile{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px;align-items:center;min-height:78px;padding:12px 14px;border:1px solid #d7e0e6;border-radius:9px;background:#f8fafb;color:#273947;box-shadow:0 1px 2px rgba(0,51,102,.04)}.case-finance-tile:hover{border-color:#9fb6c6;background:#eef4f7;box-shadow:0 3px 9px rgba(0,51,102,.1)}.case-finance-tile.primary{min-height:92px;background:#f4f8fa}.case-finance-tile strong{align-self:end;color:var(--navy);font-size:14px}.case-finance-tile small{align-self:start;color:#667681;line-height:1.3}.case-finance-svg{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:#fff;border:1px solid #dce4e9;color:var(--navy)}.case-finance-svg .v3-action-icon{width:21px;height:21px}.fixed-finance-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px}.fixed-finance-context div{display:flex;flex-direction:column;gap:4px}.fixed-finance-context span{font-size:11px;color:var(--muted);font-weight:700}.fixed-finance-context strong{color:var(--navy)}@media(max-width:950px){.case-finance-access{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.case-finance-primary,.case-finance-access,.fixed-finance-context{grid-template-columns:1fr}}

/* Tableau de bord V3.1 */
.dashboard-v31-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:22px 26px 0;margin-bottom:22px}.dashboard-v31-head h1{margin:0;color:var(--navy)}.dashboard-v31-head p{margin:6px 0 0;color:var(--muted)}.dashboard-customize-trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid #d7e0e7;border-radius:9px;background:#fff;color:var(--navy);font:inherit;font-size:13px;font-weight:650;cursor:pointer;white-space:nowrap}.dashboard-customize-trigger:hover{border-color:var(--blue);background:#f5f9fc}.dashboard-customize-trigger .v3-action-icon{width:18px;height:18px}
.dashboard-v31-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 26px 26px}.dashboard-v31-tile{display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:13px;min-height:118px;padding:17px 16px;border:1px solid #dfe6ec;border-radius:13px;background:#fff;color:inherit;box-shadow:0 2px 8px rgba(0,51,102,.035);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.dashboard-v31-tile:hover{transform:translateY(-2px);border-color:#b9cad8;box-shadow:0 7px 18px rgba(0,51,102,.08)}.dashboard-v31-tile:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 35%,transparent);outline-offset:2px}.dashboard-v31-tile.attention{border-left:4px solid var(--coral)}.dashboard-v31-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--blue) 9%,white);color:var(--navy)}.dashboard-v31-icon .v3-action-icon{width:21px;height:21px}.dashboard-v31-copy{display:flex;flex-direction:column;min-width:0}.dashboard-v31-title{font-size:13px;color:#536271;font-weight:700}.dashboard-v31-value{margin-top:4px;color:var(--navy);font-size:25px;font-weight:760;line-height:1.1}.dashboard-v31-secondary{margin-top:7px;color:var(--muted);font-size:12px;line-height:1.3}.dashboard-v31-arrow{color:#8ca0b1}.dashboard-v31-arrow .v3-action-icon{width:18px;height:18px}.dashboard-v31-empty{grid-column:1/-1;display:flex;flex-direction:column;gap:6px;padding:30px;border:1px dashed #cdd8e1;border-radius:13px;background:#fafcfd;text-align:center;color:var(--muted)}
.dashboard-customize-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 40px);padding:0;border:0;border-radius:15px;box-shadow:0 22px 60px rgba(0,28,55,.24);color:#27323c}.dashboard-customize-dialog::backdrop{background:rgba(0,31,61,.38)}.dashboard-customize-dialog form{max-height:calc(100vh - 40px);padding:20px;overflow:auto}.dashboard-customize-head{display:flex;justify-content:space-between;gap:20px}.dashboard-customize-head h2{margin:0;color:var(--navy);font-size:20px}.dashboard-customize-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.dashboard-dialog-close{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #dce4ea;border-radius:8px;background:#fff;color:var(--navy);cursor:pointer}.dashboard-dialog-close:hover{background:#f3f7fa}.dashboard-dialog-close .v3-action-icon{width:18px;height:18px}.dashboard-customize-list{list-style:none;margin:18px 0;padding:0;border:1px solid #e0e7ed;border-radius:11px;overflow:hidden}.dashboard-customize-list li{display:grid;grid-template-columns:24px 30px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:49px;padding:7px 9px;background:#fff;border-bottom:1px solid #edf1f4}.dashboard-customize-list li:last-child{border-bottom:0}.dashboard-customize-list li.dragging{opacity:.5;background:#eef5fa}.dashboard-drag-handle{display:grid;place-items:center;color:#8393a2;cursor:grab}.dashboard-drag-handle .v3-action-icon,.dashboard-config-icon .v3-action-icon{width:18px;height:18px}.dashboard-config-icon{display:grid;place-items:center;color:var(--navy)}.dashboard-customize-list label{display:flex;align-items:center;gap:9px;cursor:pointer;font-weight:620}.dashboard-customize-list input{width:16px;height:16px;margin:0}.dashboard-order-buttons{display:flex;gap:3px}.dashboard-order-buttons button{width:30px;height:30px;display:grid;place-items:center;border:1px solid #e0e7ed;border-radius:7px;background:#fff;color:#607282;cursor:pointer}.dashboard-order-buttons button:hover{border-color:var(--blue);color:var(--navy);background:#f5f9fc}.dashboard-order-buttons .v3-action-icon{width:15px;height:15px}.dashboard-customize-actions{display:flex;justify-content:flex-end;gap:8px}
.dashboard-reminder-tile{grid-template-columns:42px minmax(0,1fr);align-items:start}.dashboard-reminder-total{margin-top:5px;color:var(--navy);font-size:32px;font-weight:800;line-height:1}.dashboard-reminder-counts{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px}.dashboard-reminder-counts>span,.dashboard-reminder-legend>span{display:inline-flex;align-items:center;gap:5px}.dashboard-reminder-counts .activity-dot,.dashboard-reminder-legend .activity-dot{width:9px;height:9px}.dashboard-reminder-counts strong{color:var(--navy);font-size:12px}.dashboard-reminder-counts b{font-size:12px}.dashboard-reminder-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.dashboard-reminder-week-total{color:var(--navy);font-size:18px;font-weight:800}.dashboard-reminder-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:5px;height:118px;margin-top:11px;padding-top:5px;border-bottom:1px solid var(--border)}.dashboard-reminder-day{display:grid;grid-template-rows:92px 20px;align-items:end;min-width:0;text-align:center}.dashboard-reminder-bar{display:flex;height:88px;flex-direction:column-reverse;justify-content:flex-start}.dashboard-reminder-bar>i{display:grid;place-items:center;min-height:2px;color:#fff;font-style:normal;font-size:9px;font-weight:800;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.4)}.dashboard-reminder-day small{overflow:hidden;color:var(--muted);font-size:9px;white-space:nowrap}.dashboard-reminder-legend{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:9px;color:var(--muted);font-size:10px}.dashboard-reminder-empty{margin-top:12px;color:var(--muted);font-size:13px}.dashboard-reminder-all{align-self:flex-start;margin-top:10px;color:var(--blue);font-size:12px;font-weight:750}.dashboard-reminder-settings{margin:18px 0;padding-top:17px;border-top:1px solid var(--border)}.dashboard-reminder-settings h3{margin:0;color:var(--navy);font-size:16px}.dashboard-reminder-settings>div>p{margin:4px 0 0;color:var(--muted);font-size:12px}.dashboard-reminder-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px}.dashboard-reminder-settings fieldset{min-width:0;margin:0;padding:11px;border:1px solid var(--border);border-radius:9px}.dashboard-reminder-settings legend{padding:0 5px;color:var(--navy);font-size:12px;font-weight:750}.dashboard-reminder-settings label{display:grid;grid-template-columns:16px 10px minmax(0,1fr);align-items:center;gap:7px;padding:5px 3px;cursor:pointer;font-size:12px}.dashboard-reminder-settings input{width:16px;height:16px;margin:0}.dashboard-reminder-settings .activity-dot{width:9px;height:9px}
@media(max-width:1050px){.dashboard-v31-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.dashboard-v31-head{padding:17px 16px 0;flex-direction:column}.dashboard-customize-trigger{white-space:normal}.dashboard-v31-grid,.dashboard-reminder-settings-grid{grid-template-columns:1fr}.dashboard-v31-grid{padding:0 16px 20px}.dashboard-customize-list li{grid-template-columns:20px 26px minmax(0,1fr)}.dashboard-order-buttons{grid-column:3;justify-self:end}}

/* Parcours financiers dans le contexte d'un dossier */
.financial-context-page{padding:22px 26px}.financial-context-page>h1,.financial-context-page>.topbar{margin-top:0}.financial-context-page>.card,.financial-context-page>form{margin-left:0;margin-right:0}.finance-empty-state{max-width:720px;padding:22px}.finance-empty-state strong{display:block;color:var(--navy);font-size:17px}.finance-empty-state p{color:var(--muted)}.payment-context-form{margin-top:16px}.payment-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.payment-mode-option{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border:1px solid #d7e1e8;border-radius:10px;background:#f8fafb;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.payment-mode-option:hover{border-color:#aebfcb;background:#f2f7f9}.payment-mode-option.selected{border-color:var(--blue);background:#f1f8fc;box-shadow:0 0 0 1px color-mix(in srgb,var(--blue) 18%,transparent)}.payment-mode-option input{width:auto;margin:3px 0 0;flex:0 0 auto}.payment-mode-option span{display:flex;flex-direction:column;gap:3px}.payment-mode-option strong{color:var(--navy)}.payment-mode-option small{color:var(--muted);line-height:1.35}.payment-live-totals{position:sticky;bottom:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0;padding:11px;border:1px solid #d7e1e8;border-radius:10px;background:#f7fafb;box-shadow:0 -3px 12px rgba(0,51,102,.05)}.payment-live-totals>div{display:flex;flex-direction:column;gap:3px;padding:4px 12px;border-right:1px solid #dce4e9}.payment-live-totals>div:last-child{border-right:0}.payment-live-totals span{font-size:11px;color:var(--muted);font-weight:700}.payment-live-totals strong{font-size:18px;color:var(--navy)}.case-advance-metrics{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;margin:0 0 18px}.case-advance-metrics .card{min-height:88px}.advance-overview{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}.case-advance-actions{grid-template-columns:minmax(0,380px);max-width:380px}
.fixed-finance-context.has-invoice{grid-template-columns:repeat(3,minmax(0,1fr))}.payment-source-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);gap:14px;margin-bottom:22px}.payment-source-panel{padding:16px;border:1px solid #dce4e9;border-radius:11px;background:#fbfcfd}.payment-source-panel h3{margin:0 0 4px;color:var(--navy)}.payment-source-panel>p{margin:0 0 14px}.advance-source-panel{display:flex;flex-direction:column;gap:18px}.advance-source-balance{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:9px;background:#f1f7f4}.advance-source-balance span{font-size:12px;color:var(--muted);font-weight:700}.advance-source-balance strong{font-size:25px;color:var(--navy)}.use-advance-balance{margin-top:4px;padding:9px 10px;border:1px solid #dce7e1;border-radius:8px;background:#f5f9f6;font-weight:700;color:#315d3d}.advance-source-panel input[readonly]{background:#eef4f1;color:#344f3c}.payment-live-totals.payment-live-totals-four{grid-template-columns:repeat(4,minmax(0,1fr))}.payment-detail-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.payment-detail-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.payment-detail-meta>div,.advance-created-detail>div{display:flex;flex-direction:column;gap:4px}.payment-detail-meta span,.advance-created-detail span{font-size:11px;color:var(--muted);font-weight:700}.advance-created-detail{display:flex;gap:32px;max-width:580px;margin-bottom:22px}.advance-created-detail strong{font-size:20px;color:var(--navy)}
@media(max-width:760px){.financial-context-page{padding:17px 16px}.fixed-finance-context.has-invoice,.payment-source-grid,.payment-modes,.payment-live-totals,.payment-live-totals.payment-live-totals-four,.payment-detail-summary,.payment-detail-meta,.case-advance-metrics,.advance-overview{grid-template-columns:1fr}.payment-live-totals>div{border-right:0;border-bottom:1px solid #dce4e9}.payment-live-totals>div:last-child{border-bottom:0}.advance-created-detail{flex-direction:column;gap:12px}.advance-apply-total{align-items:flex-end;flex-direction:column}}

/* ========================= Refonte visuelle globale Plume & Paperasse ========================= */
:root{
  --surface:#fff;
  --surface-soft:#f7f9fb;
  --surface-blue:#f1f7fb;
  --ink:#213142;
  --muted:#687789;
  --border:#dbe4ec;
  --border-strong:#c5d2dd;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:16px;
  --shadow-sm:0 2px 8px rgba(0,51,102,.045);
  --shadow-md:0 8px 24px rgba(0,51,102,.09);
}
body{background:var(--bg);color:var(--ink)}
.v3-shell{grid-template-columns:236px minmax(0,1fr);grid-template-rows:48px minmax(0,1fr);background:var(--bg)}
.v3-global-header{height:48px;padding:0 18px;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 1px 4px rgba(0,51,102,.04)}
.v3-brand{gap:10px;color:var(--navy);font-size:15px;font-weight:700;min-width:0}
.v3-brand img{width:32px;height:32px}
.v3-brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v3-userbar{gap:10px;color:var(--ink)}.v3-user-role{color:var(--muted)}
.v3-logout{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--navy);transition:.15s ease}
.v3-logout:hover{background:var(--surface-blue);border-color:var(--border)}.v3-logout .v3-action-icon{width:18px;height:18px}

/* Navigation principale et contextuelle */
.v3-sidebar{top:48px;height:calc(100vh - 48px);min-height:calc(100vh - 48px);padding:14px 12px;background:var(--navy);border-right:0;box-shadow:2px 0 12px rgba(0,32,64,.09)}
.v3-collapse{display:grid;place-items:center;align-self:flex-end;width:34px;height:34px;padding:0;margin:0 2px 10px;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-sm);background:rgba(255,255,255,.06);color:#fff}
.v3-collapse:hover{background:rgba(255,255,255,.13)}.v3-collapse .v3-action-icon{width:18px;height:18px}
.v3-nav{gap:6px}.v3-nav a{position:relative;display:flex;align-items:center;gap:11px;min-height:43px;padding:10px 12px;border:1px solid transparent;border-radius:10px;color:rgba(255,255,255,.88);font-size:15px;font-weight:600;line-height:1.2;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}
.v3-nav a:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.1);color:#fff;transform:translateX(2px)}
.v3-nav a.active{background:#fff;border-color:#fff;color:var(--navy);box-shadow:0 4px 14px rgba(0,22,44,.18);font-weight:750}
.v3-nav a.active:before{content:"";position:absolute;left:-5px;top:11px;width:3px;height:21px;border-radius:3px;background:var(--coral)}
.v3-nav-ico{display:grid;place-items:center;width:21px;height:21px;flex:0 0 21px;color:currentColor}.v3-nav-ico .v3-action-icon{width:20px;height:20px}
.v3-nav-bottom{margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.14)}
.v3-context-head{margin:0 2px 14px;padding:3px 8px 15px;border-bottom:1px solid rgba(255,255,255,.16);gap:4px}.v3-context-head strong{color:#fff;font-size:15px}.v3-context-head span{color:rgba(255,255,255,.68);font-size:12px}
.v3-context-back{display:inline-flex;align-items:center;gap:7px;margin:0 0 8px;color:#fff;font-size:13px;font-weight:700}.v3-context-back:hover{color:var(--green)}.v3-context-back .v3-action-icon{width:16px;height:16px}.v3-context-back span{color:inherit;font-size:inherit}

/* Structure, titres et espacements communs */
.v3-content{background:var(--bg);min-height:calc(100vh - 48px)}
.v3-titlebar{height:52px;padding:0 26px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--border);box-shadow:0 1px 3px rgba(0,51,102,.025)}
.v3-titlebar>strong{color:var(--navy);font-size:16px;font-weight:750}
.page-heading,.page-head,.dashboard-v31-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.page-heading h1,.page-head h1,.dashboard-v31-head h1,.v3-content>h1,.form-page h1{margin:0;color:var(--navy);font-size:28px;line-height:1.18;font-weight:780}.page-heading p,.page-head p,.dashboard-v31-head p{margin:7px 0 0;color:var(--muted);font-size:14px}
.v3-record-summary,.v3-finance-page,.v3-preferences,.form-page,.financial-context-page,.person-module-page{padding:28px clamp(20px,3vw,42px)}
.v3-section-title{margin:7px 0 14px;padding:0 0 9px;border-bottom:1px solid var(--border);color:var(--navy);font-size:13px;font-weight:800;letter-spacing:.055em}.v3-section-title span{color:var(--muted);font-size:12px;letter-spacing:0}
.section-title,.record-section-head h2,.tax-panel-head h2,.documents-section h2{color:var(--navy);font-weight:750}
.muted{color:var(--muted)}

/* Surfaces, formulaires et actions */
.card,.record-workspace,.record-section,.tax-panel,.filter-card,.appearance-card,.tool-card,.payment-source-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.card{padding:20px}.card:hover{border-color:var(--border-strong)}
input,select,textarea{min-height:40px;padding:9px 11px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 16%,transparent)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:9px 15px;border:1px solid var(--navy);border-radius:var(--radius-sm);background:var(--navy);color:#fff;font-weight:650;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,51,102,.15)}.btn.secondary,.btn.ghost{background:#fff;color:var(--blue);border-color:var(--blue)}.btn.secondary:hover,.btn.ghost:hover{background:var(--surface-blue)}.btn.green{background:#39764a;border-color:#39764a}.btn.danger,.btn.credit,.btn.expense,.reminder-btn{background:var(--coral);border-color:var(--coral);color:#402015}.btn.danger{background:#a43d31;border-color:#a43d31;color:#fff}
.actions{gap:10px}.error,.email-unavailable-notice,.credit-create-panel,.reminder-inline-panel{border-left:4px solid var(--coral);border-radius:var(--radius-md)}
.activity-message,.tax-close-card,.advance-apply-panel{border-left-color:var(--green)}.activity-help,.multiuser-note,.collaborator-note{border-left-color:var(--blue)}
.case-edit-actions{display:inline-flex;gap:8px}.case-edit-actions[hidden],#case-edit-button[hidden]{display:none}.case-summary [data-case-edit-field][readonly]{background:#f3f6f8;border-color:transparent;color:var(--ink);cursor:default}

/* Barres d’outils, filtres et tableaux */
.v3-toolbar{gap:7px}.v3-toolbar button,.v3-toolbar a{width:36px;height:34px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--navy);box-shadow:none}.v3-toolbar button:hover,.v3-toolbar a:hover{background:var(--surface-blue);border-color:var(--blue);color:var(--blue)}
.v3-workarea{grid-template-columns:300px minmax(0,1fr);height:calc(100vh - 100px);gap:0}.v3-filterpane{padding:18px 16px;background:#eef3f6;border-right:1px solid var(--border)}.v3-filterform{gap:11px}.v3-filter-search{position:relative}.v3-filter-search input{height:40px;padding-right:38px;border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.filter-search-icon{position:absolute;right:11px;top:10px;display:grid;color:var(--muted)}.filter-search-icon .v3-action-icon{width:18px;height:18px}.v3-filter-title{color:var(--navy);border-color:var(--border-strong)}.v3-filter-choice{border-radius:var(--radius-sm)}.v3-filterpane details{border-bottom:1px solid var(--border-strong)}.v3-filterpane summary{color:var(--navy)}.v3-filter-apply{min-height:38px;border-radius:var(--radius-sm);font:inherit;font-weight:700}.v3-listpane{background:#fff}.v3-listcount{height:auto;min-height:38px;padding:10px;color:var(--muted);background:var(--surface-soft);border-bottom:1px solid var(--border)}
.v3-filterform>.filter-actions{align-items:stretch;width:100%;padding:0}.v3-filterform>.filter-actions>.v3-filter-apply,.v3-filterform>.filter-actions>.btn{display:flex;flex:1 1 0;align-items:center;justify-content:center;min-width:0;min-height:44px;margin-top:6px;padding:9px 12px;border-radius:var(--radius-sm);font:inherit;font-size:13px;font-weight:700;line-height:1.2;text-align:center}
.v3-table th{height:44px;padding:10px 12px;background:#f2f6f9;color:#526678;border-right:0;border-bottom:1px solid var(--border);font-size:11px;letter-spacing:.04em}.v3-table td{padding:11px 12px;border-bottom:1px solid #edf1f4;background:#fff}.v3-table tbody tr:nth-child(odd){background:#fff}.v3-table tbody tr:hover td{background:#f2f8fc!important}
table{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}th{background:#f2f6f9;color:var(--navy)}

/* Indicateurs et tuiles financières */
.v3-finance-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:7px 0 28px}.v3-finance-strip>div,.v3-finance-strip>div:last-child{min-width:0;border:1px solid var(--border);border-top:4px solid var(--navy);border-radius:var(--radius-md);background:#fff;text-align:left;box-shadow:var(--shadow-sm);overflow:hidden}.v3-finance-strip>div:nth-child(2){border-top-color:var(--blue)}.v3-finance-strip>div:nth-child(3){border-top-color:var(--green)}.v3-finance-strip>div:nth-child(4){border-top-color:var(--coral)}.v3-finance-strip span{padding:12px 15px 3px;background:transparent;color:var(--muted);font-size:12px;font-weight:650}.v3-finance-strip strong{padding:2px 15px 14px;color:var(--navy);font-size:22px;line-height:1.2}
.case-finance-primary,.case-finance-access{align-items:stretch;gap:14px}.case-finance-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.case-finance-access{grid-template-columns:repeat(3,minmax(0,1fr))}.case-finance-tile{height:100%;min-height:104px;padding:17px;border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm);transition:.15s ease}.case-finance-tile.primary{min-height:116px;border-left-color:var(--navy);background:#fff}.case-finance-access .case-finance-tile:nth-child(2){border-left-color:var(--green)}.case-finance-access .case-finance-tile:nth-child(3){border-left-color:var(--coral)}.case-finance-tile:hover{transform:translateY(-2px);border-color:var(--blue);box-shadow:var(--shadow-md);background:#fff}.case-finance-tile strong{font-size:16px}.case-finance-tile small{font-size:12px}.case-finance-svg{width:44px;height:44px;border-radius:10px;background:var(--surface-blue);border:0;color:var(--navy)}
.v3-finance-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:10px 0 0}.v3-finance-links>div{min-height:190px;padding:20px;border:1px solid var(--border);border-top:4px solid var(--navy);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm)}.v3-finance-links>div:nth-child(2){border-top-color:var(--green)}.v3-finance-links>div:nth-child(3){border-top-color:var(--coral)}.v3-finance-links>div:nth-child(4){border-top-color:var(--blue)}.v3-finance-icon{display:grid;place-items:center;width:46px;height:46px;min-width:46px;border-radius:11px;background:var(--surface-blue);color:var(--navy)}.v3-finance-icon .v3-action-icon{width:24px;height:24px}.v3-finance-links small{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.v3-finance-links a{padding:4px 0;color:var(--navy);font-size:14px;font-weight:650}.v3-finance-links a:hover{text-decoration:none;color:var(--blue)}

/* Tableau de bord */
.dashboard-v31-head{padding:28px clamp(20px,3vw,42px) 0;margin-bottom:22px}.dashboard-v31-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0 clamp(20px,3vw,42px) 34px}.dashboard-v31-tile{min-height:132px;padding:20px;border-radius:var(--radius-lg);border-color:var(--border);box-shadow:var(--shadow-sm)}.dashboard-v31-tile:hover{transform:translateY(-3px);border-color:var(--blue);box-shadow:var(--shadow-md)}.dashboard-v31-tile.attention{border-left:5px solid var(--coral)}.dashboard-v31-icon{width:46px;height:46px;border-radius:12px;background:var(--surface-blue);color:var(--blue)}.dashboard-v31-title{color:var(--muted);font-size:13px}.dashboard-v31-value{margin-top:5px;color:var(--navy);font-size:29px;font-weight:800}.dashboard-v31-secondary{font-size:12px}.dashboard-customize-trigger{min-height:40px;padding:9px 13px;border-color:var(--border-strong);font-weight:700}.dashboard-customize-trigger:hover{box-shadow:var(--shadow-sm)}

/* Centre d’administration */
.admin-page{padding:28px clamp(20px,3vw,42px) 38px}.admin-page .page-heading{margin-bottom:22px}.v3-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:0;background:transparent;min-height:0}.v3-admin-grid .admin-group{padding:20px;border:1px solid var(--border);border-top:4px solid var(--navy);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}.v3-admin-grid .admin-group-green{border-top-color:var(--green)}.v3-admin-grid .admin-group-blue{border-top-color:var(--blue)}.v3-admin-grid .admin-group-coral{border-top-color:var(--coral)}.v3-admin-grid .admin-group-data{border-top-color:var(--navy)}
.admin-group-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:17px}.admin-group-head h2{margin:0;color:var(--navy);font-size:18px}.admin-group-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.admin-group-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:var(--surface-blue);color:var(--navy)}.admin-group-icon .v3-action-icon{width:20px;height:20px}
.v3-admin-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v3-admin-items a{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px;align-items:center;width:auto;min-height:88px;padding:13px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);color:var(--ink);text-align:left;transition:.15s ease}.v3-admin-items a:hover{transform:translateY(-2px);background:#fff;border-color:var(--blue);box-shadow:var(--shadow-md)}.admin-item-icon{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#fff;color:var(--blue);border:1px solid var(--border)}.admin-item-icon .v3-action-icon{width:20px;height:20px}.v3-admin-items span:not(.admin-item-icon){align-self:end;color:var(--navy);font-size:14px;font-weight:750}.v3-admin-items small{align-self:start;margin:2px 0 0;color:var(--muted);font-size:11px;line-height:1.3}

/* Fenêtres superposées */
.v3-overlay-backdrop{background:rgba(0,35,70,.38)}.v3-overlay-window{inset:30px 42px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:0 24px 70px rgba(0,28,55,.26);overflow:hidden}.v3-overlay-head{height:50px;padding:0 18px;background:#fff;border-bottom:1px solid var(--border);color:var(--navy);font-size:15px}.v3-overlay-head button{width:34px;height:34px;border-radius:var(--radius-sm);color:var(--navy)}.v3-overlay-head button:hover{background:var(--surface-blue)}.v3-overlay-body{padding:20px 22px;background:var(--bg)}.v3-overlay-body .v3-titlebar{margin:-20px -22px 20px}

@media(max-width:1150px){.v3-finance-links{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-finance-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-v31-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.v3-shell{grid-template-columns:210px minmax(0,1fr)}.v3-workarea{grid-template-columns:260px minmax(0,1fr)}.v3-admin-grid{grid-template-columns:1fr}.case-finance-access{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.v3-shell{display:block}.v3-global-header{position:sticky}.v3-sidebar{position:static;height:auto;min-height:0;padding:12px}.v3-collapse{display:none}.v3-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.v3-nav a{min-height:42px;font-size:14px}.v3-nav a:hover{transform:none}.v3-nav-bottom{margin-top:10px}.v3-workarea{display:block;height:auto}.v3-titlebar{padding:0 16px}.v3-record-summary,.v3-finance-page,.v3-preferences,.form-page,.financial-context-page,.person-module-page,.admin-page{padding:20px 16px}.page-heading h1,.page-head h1,.dashboard-v31-head h1,.v3-content>h1,.form-page h1{font-size:24px}.dashboard-v31-head{padding:20px 16px 0}.dashboard-v31-grid{padding:0 16px 24px}.v3-admin-items{grid-template-columns:1fr}.v3-overlay-window{inset:10px}.v3-finance-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.v3-brand strong{max-width:180px}.v3-user-name,.v3-user-role{display:none}.v3-nav{grid-template-columns:1fr 1fr}.v3-finance-strip,.case-finance-primary,.case-finance-access,.v3-finance-links,.dashboard-v31-grid{grid-template-columns:1fr}.v3-finance-links>div{min-height:0}.dashboard-v31-head{flex-direction:column}.admin-group-head{align-items:center}.v3-overlay-body{padding:16px}.v3-overlay-body .v3-titlebar{margin:-16px -16px 16px}}
.v3-folder,.table-type-icon{display:inline-grid;place-items:center;color:var(--muted)}.v3-folder.open{color:#39764a}.v3-folder .v3-action-icon,.table-type-icon .v3-action-icon{width:18px;height:18px}

/* Passe corrective — boutons, panneaux et espaces communs */
.v3-brand{padding:4px 0}.v3-brand img{width:30px;height:30px;margin-right:2px}
.v3-nav a{
  width:100%;
  background:rgba(255,255,255,.96);
  border-color:rgba(255,255,255,.7);
  color:var(--navy);
  box-shadow:0 1px 3px rgba(0,25,50,.12);
}
.v3-nav a:hover{background:#fff;border-color:var(--blue);color:var(--navy);box-shadow:0 4px 12px rgba(0,25,50,.18)}
.v3-nav a.active{background:var(--coral);border-color:var(--coral);color:var(--on-coral,#17202a);box-shadow:0 4px 13px rgba(0,25,50,.2)}
.v3-nav a.active:before{background:#fff}
.v3-nav-bottom{gap:6px}
.v3-context-back,.nav-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:38px;
  padding:8px 12px;
  border:1px solid var(--border-strong);
  border-radius:var(--radius-sm);
  background:#fff;
  color:var(--navy);
  font-size:13px;
  font-weight:700;
  line-height:1.2;
  box-shadow:0 1px 3px rgba(0,51,102,.05);
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.v3-context-back:hover,.nav-button:hover{background:var(--surface-blue);border-color:var(--blue);color:var(--navy);box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.v3-context-back{align-self:flex-start;margin-bottom:11px}.v3-context-back span{color:inherit}.v3-context-back .v3-action-icon,.nav-button .v3-action-icon{width:17px;height:17px}
.person-context-bar{min-height:58px;padding:10px clamp(20px,3vw,42px);background:#eef4f8;border-bottom:1px solid var(--border)}
.person-context-bar>a{color:var(--navy)}
.person-context-bar>strong{font-size:13px;color:var(--navy)}
.v3-toolbar .toolbar-nav-button{width:auto;min-width:36px;max-width:none;flex:0 0 auto;padding:0 11px;gap:7px;font-size:13px;font-weight:700}
.v3-toolbar .toolbar-nav-button span{display:inline}

.content-page{width:100%;padding:28px clamp(24px,3vw,42px) 40px}.content-page>.page-heading{margin-bottom:22px}
.content-panel,.context-panel{
  background:#fff;
  border:1px solid var(--border);
  border-left:4px solid var(--navy);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}
.content-panel{margin:20px 0;padding:22px}.content-panel--blue{border-left-color:var(--blue)}.content-panel--positive,.context-panel--positive{border-left-color:var(--green)}.content-panel--sensitive{border-left-color:var(--coral)}
.content-panel>h2{margin:0 0 14px;color:var(--navy);font-size:20px}.content-panel>.v3-section-title{margin-top:0}
.context-panel{display:flex;align-items:flex-start;gap:13px;margin:18px 0 22px;padding:17px 19px;background:#fbfdfb}
.context-panel-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:10px;background:color-mix(in srgb,var(--green) 24%,white);color:var(--navy)}.context-panel-icon .v3-action-icon{width:21px;height:21px}
.context-panel h2{margin:0;color:var(--navy);font-size:17px}.context-panel p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.45}

.report-filter{grid-template-columns:repeat(2,minmax(180px,260px)) auto;align-items:end;margin:0 0 16px;padding:18px}.report-filter .field:last-child{justify-content:flex-end}.report-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 20px}.report-summary .card{min-height:106px;border-top:4px solid var(--navy)}.report-summary .card:nth-child(2){border-top-color:var(--coral)}.report-summary b{display:block;color:var(--muted);font-size:12px}.report-summary .value{margin-top:6px;color:var(--navy);font-size:26px;font-weight:800}

:is(.dashboard-v31-grid>.dashboard-v31-tile,.advance-overview>.card,.expense-metrics>.card,.tax-overview-metrics>.card,.aging-metrics>.card,.summary:not(.advance-summary-grid,.payment-detail-summary,.report-summary,.statement-summary)>.card,.v3-admin-items>a,.tools-grid>.tool-card,.tax-columns>.tax-card,.advance-total,.advance-created-detail){border-top:4px solid var(--navy)}
.admin-page .v3-admin-items>a.accent-navy{border-top-color:var(--navy)}.admin-page .v3-admin-items>a.accent-coral{border-top-color:var(--coral)}.admin-page .v3-admin-items>a.accent-blue,.tools-grid>.tool-card:nth-child(2),.tax-columns>.tax-card:nth-child(2){border-top-color:var(--blue)}.admin-page .v3-admin-items>a.accent-green{border-top-color:var(--green)}.advance-created-detail{border-top-color:var(--green)}.dashboard-v31-tile.attention{border-top-color:var(--coral);border-left-width:1px}
:is(.dashboard-v31-grid,.advance-overview,.expense-metrics,.tax-overview-metrics,.aging-metrics,.summary:not(.advance-summary-grid,.payment-detail-summary,.report-summary,.statement-summary))>:nth-child(4n+2){border-top-color:var(--blue)}
:is(.dashboard-v31-grid,.advance-overview,.expense-metrics,.tax-overview-metrics,.aging-metrics,.summary:not(.advance-summary-grid,.payment-detail-summary,.report-summary,.statement-summary))>:nth-child(4n+3){border-top-color:var(--green)}
:is(.dashboard-v31-grid,.advance-overview,.expense-metrics,.tax-overview-metrics,.aging-metrics,.summary:not(.advance-summary-grid,.payment-detail-summary,.report-summary,.statement-summary))>:nth-child(4n){border-top-color:var(--coral)}

.case-finance-primary,.case-finance-access{width:100%;grid-auto-rows:1fr}.case-finance-tile{min-width:0;min-height:112px}.case-finance-tile.primary{min-height:124px}
.v3-finance-strip{align-items:stretch;grid-auto-rows:1fr}.v3-finance-strip>div{height:100%;min-height:94px;display:flex;flex-direction:column;justify-content:center}

.case-summary{display:flex;flex-direction:column;gap:20px}.case-summary>.content-panel{margin:0}.case-page-heading{margin-bottom:2px}.case-information-panel .v3-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:4px 0 0}.case-information-panel .v3-info-grid>div{min-width:0;padding:13px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft)}
.case-information-panel .v3-info-grid label{color:var(--muted);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.035em}.case-information-panel .v3-info-grid strong{min-height:0;padding:0;background:transparent;color:var(--navy);font-size:15px;font-weight:750}.case-information-panel .v3-info-grid a{display:block}.case-information-panel .v3-info-grid input{background:#fff}
.case-metrics-panel .v3-finance-strip{margin-bottom:0}.case-notes-panel .case-details-form{margin:0;padding:0;border:0;background:transparent;box-shadow:none}.case-notes-panel textarea{min-height:112px;background:#fff}.case-notes-panel .actions{margin-bottom:0}

.btn.secondary,.btn.ghost{background:#fff;color:var(--navy);border-color:var(--navy)}.btn.secondary:hover,.btn.ghost:hover{background:var(--surface-blue);border-color:var(--navy)}
.btn.green,.btn.positive{background:var(--green);border-color:var(--green);color:#173421}.btn.green:hover,.btn.positive:hover{background:color-mix(in srgb,var(--green) 88%,#fff)}
.btn.credit,.btn.expense,.reminder-btn{background:var(--coral);border-color:var(--coral);color:#402015}

@media(max-width:1000px){.case-finance-access{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter .field:last-child{grid-column:1/-1;align-items:flex-start}.case-information-panel .v3-info-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.content-page{padding:20px 16px 30px}.person-context-bar{padding:10px 16px}.person-context-bar .nav-button{width:auto}.report-summary,.report-filter{grid-template-columns:1fr}.report-filter .field:last-child{grid-column:auto}.content-panel{padding:18px}.context-panel{padding:15px}.case-information-panel .v3-info-grid{grid-template-columns:1fr}.case-information-panel .v3-info-grid .wide{grid-column:auto}}
@media(max-width:620px){.case-finance-primary,.case-finance-access{grid-template-columns:1fr}.v3-nav a{font-size:14px}.v3-toolbar .toolbar-nav-button span{display:none}.person-context-bar{align-items:stretch}.person-context-bar .nav-button{justify-content:flex-start}.context-panel{flex-direction:column}}

/* Passe corrective finale — titres, marges et surfaces cohérentes */
.v3-content h1,.v3-content h2,.v3-content h3,.card h2,.card h3{color:var(--navy)}
.v3-content>.content-page,.content-page,.v3-record-summary,.v3-finance-page,.v3-preferences,.form-page,.financial-context-page,.person-module-page,.admin-page{padding-left:clamp(32px,3vw,42px);padding-right:clamp(32px,3vw,42px)}
.dashboard-v31-head{padding-left:32px;padding-right:32px}.dashboard-v31-grid{padding-left:32px;padding-right:32px}
.person-context-bar{padding-left:32px;padding-right:32px}
.list-page{padding-top:28px}.list-page>.page-heading{margin-bottom:20px}
.list-page .v3-workarea{height:auto;min-height:calc(100vh - 214px);overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}
.list-page .v3-listpane{min-height:0}.list-page .v3-table{border:0;border-radius:0;box-shadow:none}
.filter-pane-restore{left:10px;top:8px;width:auto;min-width:62px;height:32px;padding:0 11px;border-radius:7px;background:#fff;color:var(--navy);font-size:12px;font-weight:750;line-height:1;box-shadow:var(--shadow-sm)}
.filter-pane-restore:hover{border-color:var(--blue);background:var(--surface-blue)}
.list-page .v3-workarea.filters-collapsed>.v3-listpane{padding-top:8px}

.documents-page>.topbar{margin:0 0 18px}.documents-page>.document-drop-zone,.documents-page>.document-drop-panel,.documents-page>.document-filters-restore,.documents-page>.document-filters,.documents-page>.v3-table-wrap{margin-left:0;margin-right:0}
.documents-page>.document-drop-zone{margin-top:0}.documents-page>.document-filters{margin-bottom:16px}

.v3-finance-page>.page-heading{margin-bottom:24px}
.finance-total-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 28px}
.finance-total-card{display:flex;align-items:center;gap:14px;min-width:0;min-height:112px;padding:18px;border:1px solid var(--border);border-top:4px solid var(--navy);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}
.finance-total-card.accent-blue{border-top-color:var(--blue)}.finance-total-card.accent-green{border-top-color:var(--green)}.finance-total-card.accent-coral{border-top-color:var(--coral)}
.finance-total-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:11px;background:var(--surface-blue);color:var(--navy)}.finance-total-icon .v3-action-icon{width:22px;height:22px}
.finance-total-card>div{display:flex;min-width:0;flex-direction:column;gap:4px}.finance-total-card span:not(.finance-total-icon){color:var(--muted);font-size:12px;font-weight:700}.finance-total-card strong{color:var(--navy);font-size:23px;line-height:1.15}
.v3-finance-page .finance-total-grid + .case-finance-primary{margin-top:0}
.finance-function-card{align-items:flex-start}.v3-finance-links .finance-function-card section{width:100%;min-width:0}.v3-finance-links .finance-function-card h2{margin:2px 0 12px;font-size:17px}
.v3-finance-links .finance-function-card a{display:block;width:100%;margin-top:6px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);line-height:1.25}
.v3-finance-links .finance-function-card a:hover{border-color:var(--blue);background:var(--surface-blue)}
.case-finance-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.case-finance-access{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-finance-primary .case-finance-tile,.case-finance-access .case-finance-tile{display:grid;align-content:center;width:100%;height:100%}

.preferences-form{max-width:960px;margin-top:0}.preferences-success{max-width:960px;margin:0 0 18px}.section-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:22px}.section-heading h2{margin:0;font-size:20px}.section-heading p{margin:4px 0 0;color:var(--muted)}.section-heading-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:10px;background:var(--surface-blue);color:var(--navy)}.section-heading-icon .v3-action-icon{width:21px;height:21px}
.v3-pref-grid{gap:18px}.v3-pref-grid label{color:var(--navy);font-size:13px}.v3-pref-grid select{height:42px;margin-top:7px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:8px;background:#fff;color:var(--ink)}
.preferences-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}.preferences-info-grid>div{display:flex;flex-direction:column;gap:4px;padding:15px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft)}.preferences-info-grid span{color:var(--muted);font-size:12px;font-weight:700}.preferences-info-grid strong{color:var(--navy);font-size:15px}.preferences-info-grid small{color:var(--muted)}
.density-comfortable .v3-table td,.density-comfortable table td{padding-top:14px;padding-bottom:14px}

@media(max-width:1150px){.finance-total-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.case-finance-access{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.v3-content>.content-page,.content-page,.v3-record-summary,.v3-finance-page,.v3-preferences,.form-page,.financial-context-page,.person-module-page,.admin-page{padding-left:16px;padding-right:16px}.dashboard-v31-head,.dashboard-v31-grid,.person-context-bar{padding-left:16px;padding-right:16px}.list-page .v3-workarea{min-height:0}.finance-total-grid,.preferences-info-grid{grid-template-columns:1fr}.documents-page>.topbar{margin-left:0;margin-right:0}}
@media(max-width:620px){.case-finance-primary,.case-finance-access,.v3-finance-links{grid-template-columns:1fr}.finance-total-card{min-height:96px}}

/* Passe ciblée — largeur des pages, en-tête et menu repliable */
.v3-shell{transition:grid-template-columns .18s ease}
.v3-shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}
.sidebar-collapsed .v3-sidebar{padding-left:9px;padding-right:9px}
.sidebar-collapsed .v3-collapse{align-self:center;margin-left:0;margin-right:0}
.sidebar-collapsed .v3-collapse .v3-action-icon{transform:rotate(180deg)}
.v3-collapse .v3-action-icon{transition:transform .18s ease}
.sidebar-collapsed .v3-nav a{justify-content:center;gap:0;padding-left:10px;padding-right:10px}
.sidebar-collapsed .v3-nav a:hover{transform:none}
.sidebar-collapsed .v3-nav a>span:not(.v3-nav-ico){display:none}
.sidebar-collapsed .v3-nav-ico{width:22px;height:22px;flex-basis:22px}
.sidebar-collapsed .v3-nav a.active:before{left:-4px}

.v3-brand{align-items:center;gap:10px;line-height:1.2;overflow:visible}
.v3-brand-logo{position:relative;display:block;width:32px;height:32px;flex:0 0 32px;overflow:visible;line-height:0}
.v3-brand-logo img,.v3-brand img{position:absolute;top:50%;left:50%;display:block;width:51px;height:51px;max-width:none;object-fit:contain;object-position:center;transform:translate(-50%,-50%)}

.v3-userbar{gap:7px;padding:3px 4px 3px 7px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}
.v3-global-search{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 9px;border-right:1px solid var(--border);border-radius:8px;color:var(--navy);font-size:12px;font-weight:750}.v3-global-search:hover,.v3-global-search:focus-visible{background:var(--surface-blue);color:var(--blue)}.v3-global-search .v3-action-icon{width:16px;height:16px}
.v3-user-profile{display:flex;align-items:center;gap:8px;min-width:0}
.v3-user-avatar{display:grid;place-items:center;width:29px;height:29px;flex:0 0 29px;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;font-weight:800;text-transform:uppercase}
.v3-user-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;line-height:1.12}
.v3-user-name{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--navy);font-size:12px;font-weight:750}
.v3-user-role{margin-top:2px;color:var(--muted);font-size:10px}
.v3-userbar form{display:flex}.v3-userbar .v3-logout{width:30px;height:30px;border-left:1px solid var(--border);border-radius:8px}

.time-page>.topbar,.collaborator-dashboard-page>.dashboard-section-head:first-child{margin:0 0 18px}
.time-page>.timer-card,.time-page>.time-filters{width:100%;margin-left:0;margin-right:0;border-radius:var(--radius-lg);box-sizing:border-box}
.time-page>.timer-card{margin-bottom:18px}.time-page>.time-filters{margin-bottom:18px}.time-page>table,.collaborator-dashboard-page>table{width:100%}
.collaborator-dashboard-page>.summary{margin-left:0;margin-right:0}

@media(max-width:760px){
  .v3-shell.sidebar-collapsed{display:block}
  .sidebar-collapsed .v3-nav a{justify-content:flex-start;gap:11px;padding:10px 12px}
  .sidebar-collapsed .v3-nav a>span:not(.v3-nav-ico){display:inline}
  .v3-userbar{border:0;background:transparent;padding:0}.v3-user-copy{display:none}
}

/* Règlements, avances et états de compte */
.payment-detail-head>.badge{align-self:flex-start;text-align:center}.payment-detail-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin:20px 0}.payment-detail-summary .card{display:grid;grid-template-rows:2.8em auto;align-content:start;height:112px;row-gap:6px;border-top:4px solid var(--navy)}.payment-detail-summary .card>b{line-height:1.4}.payment-detail-summary .value{color:var(--navy);font-size:16px;font-weight:700;line-height:1.2}.payment-detail-summary .card:nth-child(2){border-top-color:var(--coral)}.payment-detail-summary .card:nth-child(3){border-top-color:var(--blue)}.payment-detail-summary .card:nth-child(4){border-top-color:var(--green)}
.settlement-source-note{margin:0 0 18px;padding:12px 15px;border-left:4px solid var(--blue);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--surface-blue);color:#365063}.settlement-source-note strong{color:var(--navy)}
.advance-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0}.advance-summary-grid .card{border-top:4px solid var(--blue)}.advance-summary-grid .card:nth-child(2){border-top-color:var(--coral)}.advance-summary-grid .card:last-child{border-top-color:var(--green)}
.case-advance-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin:20px 0 26px}.case-advance-metrics .card{min-height:105px;border-top:4px solid var(--blue)}.case-advance-metrics .card:nth-child(2){border-top-color:var(--coral)}.case-advance-metrics .card:nth-child(3){border-top-color:var(--green)}.case-advance-metrics .card:nth-child(4){border-top-color:var(--navy)}
.statement-generator{display:flex;align-items:end;gap:14px;margin:22px 0 12px;padding:16px 18px}.statement-generator .field{width:min(260px,100%)}.statement-generator .btn{min-height:41px}
.statement-actions{margin:0 0 22px}.statement-invoices{margin-top:0}.statement-total{display:flex;justify-content:flex-end;align-items:center;gap:25px;margin:12px 0 26px;padding:15px 18px;border-radius:var(--radius-md);background:var(--navy);color:#fff}.statement-total span{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.statement-total strong{font-size:24px}
.statement-history-grid{display:grid;grid-template-columns:1fr;gap:18px}.statement-history-grid .record-section{margin:0}.statement-sent{border-left:4px solid var(--green);background:#f3f9f4}
.statement-client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.statement-client-card{display:flex;align-items:center;gap:14px;min-height:92px;color:var(--navy)}.statement-client-card>span:last-child{display:flex;min-width:0;flex-direction:column;gap:4px}.statement-client-card small{color:var(--muted)}.statement-client-card:hover{border-color:var(--blue);box-shadow:var(--shadow-md)}
@media(max-width:1000px){.payment-detail-summary,.case-advance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.advance-summary-grid,.statement-client-grid{grid-template-columns:1fr}.statement-generator{align-items:stretch;flex-direction:column}.statement-generator .field{width:100%}}
@media(max-width:620px){.payment-detail-summary,.case-advance-metrics{grid-template-columns:1fr}}

/* États de compte — sélection compacte, options et ventilation par facture */
.statement-client-search{max-width:880px;padding:22px;border-top:4px solid var(--blue)}
.statement-search-heading{display:flex;align-items:center;gap:13px;margin-bottom:20px}.statement-search-heading h2{margin:0;font-size:20px}.statement-search-heading p{margin:4px 0 0;color:var(--muted);font-size:13px}
.statement-client-search form>label{display:block;margin-bottom:7px;color:var(--navy);font-size:13px;font-weight:750}.statement-search-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.statement-search-field input{width:100%}
.statement-search-results{margin-top:16px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff}.statement-client-result{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:66px;padding:10px 13px;border-bottom:1px solid var(--border);color:var(--ink);transition:background .15s ease,border-color .15s ease}.statement-client-result:last-child{border-bottom:0}.statement-client-result:hover{background:var(--surface-blue)}
.statement-result-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--surface-blue);color:var(--navy)}.statement-result-icon .v3-action-icon{width:19px;height:19px}.statement-result-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.statement-result-copy strong{overflow:hidden;text-overflow:ellipsis;color:var(--navy);font-size:14px}.statement-result-copy small{display:flex;flex-wrap:wrap;gap:5px 13px;color:var(--muted)}.statement-result-action{display:inline-flex;align-items:center;gap:5px;color:var(--blue);font-size:12px;font-weight:750}.statement-result-action .v3-action-icon{width:16px;height:16px}.statement-search-empty{display:flex;flex-direction:column;gap:4px;padding:22px;text-align:center;color:var(--muted)}.statement-search-empty strong{color:var(--navy)}
.statement-generator{display:block;margin:22px 0 14px;padding:20px}.statement-generator-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:17px}.statement-generator-head h2{margin:0;font-size:20px}.statement-generator-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.statement-generator .statement-as-of{width:190px;flex:0 0 190px}.statement-case-field{width:min(520px,100%);margin-bottom:15px}.statement-fixed-scope{display:flex;flex-direction:column;gap:4px;width:min(520px,100%);margin-bottom:15px;padding:11px 13px;border:1px solid var(--border);border-radius:9px;background:var(--surface-soft)}.statement-fixed-scope span{color:var(--muted);font-size:11px;font-weight:750}.statement-fixed-scope strong{color:var(--navy)}
.statement-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.statement-mode-option{display:flex;align-items:flex-start;gap:9px;min-height:112px;padding:13px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.statement-mode-option:hover{border-color:var(--blue);background:var(--surface-blue)}.statement-mode-option.selected{border-color:var(--blue);background:var(--surface-blue);box-shadow:0 0 0 1px color-mix(in srgb,var(--blue) 16%,transparent)}.statement-mode-option input{width:auto;min-height:0;margin:3px 0 0;flex:0 0 auto}.statement-mode-option span{display:flex;flex-direction:column;gap:5px}.statement-mode-option strong{color:var(--navy);font-size:14px}.statement-mode-option small{color:var(--muted);font-size:12px;line-height:1.4}
.statement-period-fields{display:grid;grid-template-columns:repeat(2,minmax(180px,260px));gap:12px;margin-top:14px}.statement-period-fields[hidden]{display:none}.statement-generator-actions{display:flex;justify-content:flex-end;margin-top:17px}
.statement-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px}.statement-summary .card{display:flex;min-height:91px;flex-direction:column;justify-content:center;border-top:4px solid var(--navy)}.statement-summary .card:nth-child(2){border-top-color:var(--coral)}.statement-summary .card:nth-child(3){border-top-color:var(--green)}.statement-summary .card:nth-child(4){border-top-color:var(--blue)}.statement-summary b{color:var(--muted);font-size:12px}.statement-summary .value{margin-top:5px;color:var(--navy);font-size:22px;font-weight:800}
.statement-invoice-table{min-width:780px}.statement-invoice-row td{background:#fff}.statement-invoice-row td:nth-child(n+3){text-align:right}.statement-allocation-row>td{padding:0 12px 12px!important;background:#f8fafc}.statement-allocation-wrap{padding:10px 12px 4px;border-left:3px solid var(--blue)}.statement-allocation-title{display:block;margin-bottom:7px;color:var(--navy);font-size:12px}.statement-allocation-wrap table{width:100%;font-size:12px}.statement-allocation-wrap th{padding:7px 8px;background:#eaf2f7;color:var(--navy);font-size:11px}.statement-allocation-wrap td{padding:7px 8px;border-bottom:1px solid var(--border);vertical-align:top}.statement-allocation-wrap td:nth-child(n+2){text-align:right}.statement-allocation-wrap td small{display:block;margin-top:2px;color:var(--muted);font-size:10px}
@media(max-width:1000px){.statement-mode-grid{grid-template-columns:1fr}.statement-mode-option{min-height:0}.statement-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.statement-generator-head{flex-direction:column}.statement-generator .statement-as-of{width:100%;flex-basis:auto}.statement-period-fields,.statement-summary{grid-template-columns:1fr}.statement-generator-actions{justify-content:stretch}.statement-generator-actions .btn{width:100%}.statement-result-action{font-size:0}.statement-search-field{grid-template-columns:1fr}.statement-search-field .btn{width:100%}}

/* Détails de règlements — titres longs et tableaux mobiles */
.settlement-allocation-table{min-width:720px}.case-advance-history-table{min-width:700px}.payment-detail-meta strong{overflow-wrap:anywhere}
.client-finance-table{font-size:13px}.client-finance-table th,.client-finance-table td{vertical-align:middle}.client-advance-table{min-width:920px}.client-refund-table{min-width:820px}.client-finance-date{white-space:nowrap}.client-finance-table th:nth-child(2),.client-finance-table td:nth-child(2),.client-advance-table th:nth-child(3),.client-advance-table td:nth-child(3),.client-advance-table th:nth-child(4),.client-advance-table td:nth-child(4){text-align:right;white-space:nowrap}.client-finance-status{width:90px;min-width:90px;white-space:nowrap}.client-finance-actions{width:190px;min-width:190px}.client-finance-action-list{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}.client-finance-action-list>a,.client-finance-action-list form{white-space:nowrap}.client-finance-action-list form{margin:0}
@media(max-width:760px){.invoice-head{align-items:flex-start;flex-direction:column;gap:10px}.invoice-head>div{min-width:0}}

/* Tri réutilisable des listes */
th.sortable-column{padding:0}th.sortable-column>a{display:flex;align-items:center;justify-content:space-between;gap:7px;width:100%;padding:10px 12px;color:inherit;text-decoration:none;white-space:nowrap}th.sortable-column>a:hover,th.sortable-column>a:focus-visible{background:rgba(22,142,216,.10);color:var(--navy)}th.sortable-column.is-sorted>a{color:var(--navy)}.sort-indicator{min-width:1em;color:var(--muted);font-size:12px;text-align:center}.is-sorted .sort-indicator{color:var(--blue);font-weight:900}

/* Conteneur commun des tableaux */
.app-table-wrap{width:100%;max-width:100%;margin:16px 0 24px;overflow-x:auto;overflow-y:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);-webkit-overflow-scrolling:touch}.app-table-wrap>table{width:100%;margin:0;border:0;border-radius:0;box-shadow:none}.app-table-wrap>table>:is(thead,tbody,tfoot)>tr>:is(th:not(.sortable-column),td),.app-table-wrap>table>tr>:is(th:not(.sortable-column),td){padding:10px 12px;vertical-align:middle}.list-page .v3-listpane>.app-table-wrap{width:calc(100% - 32px);margin:8px 16px 24px}@media(max-width:760px){.app-table-wrap{margin:14px 0 20px}.list-page .v3-listpane>.app-table-wrap{width:calc(100% - 24px);margin:6px 12px 20px}}

/* Pages de listes et de détail harmonisées */
:is(.content-page,.financial-context-page)>h1:first-child{margin-top:0;margin-bottom:18px}:is(.content-page,.financial-context-page)>.topbar h1,.credit-detail-page .invoice-head h1{margin-top:0}.invoice-list-table{min-width:1100px}.expense-table{min-width:1000px}.tax-history-table,.credit-lines-table{min-width:720px}.search-results{min-width:640px}.taxes-page .section-heading-row .section-title,.taxes-page>.tax-payment-section>.section-title,.taxes-page>.recent-tax-history>.section-title{margin:0 0 14px}.credit-detail-page>.actions{margin:18px 0}
@media(max-width:760px){:is(.content-page,.financial-context-page)>.topbar{align-items:flex-start;flex-direction:column}}

/* Lignes de tableau navigables */
tr[data-row-link]{cursor:pointer}tr[data-row-link]:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}

/* Traitement immédiat du crédit client sur la facture */
.credit-treatment-grid{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.credit-treatment-choice>summary{list-style:none}.credit-treatment-choice>summary::-webkit-details-marker{display:none}
.credit-treatment-choice[open]{flex:1 1 100%}.credit-treatment-choice[open]>summary{margin-bottom:10px}
.credit-treatment-choice .compact-form-card{margin:0;max-width:none}

/* Tableaux : alignements, actions, largeur et pagination communs */
th.numeric,td.numeric{text-align:right;white-space:nowrap}
th.table-actions,td.table-actions{text-align:center;white-space:nowrap}.table-actions .inline{display:inline-flex;margin:0}.table-actions>a,.table-actions>button,.table-actions>.inline{vertical-align:middle}.table-actions>a+*,.table-actions>*+a{margin-left:6px}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wide{min-width:980px}.invoice-list-table{min-width:1180px}.journal-table{min-width:900px}.case-activities-table{min-width:860px!important;table-layout:auto!important}.activity-description,.journal-details{min-width:240px;white-space:normal}
.table-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:12px 0 24px;color:var(--muted);font-size:12px}.table-pagination .is-disabled{opacity:.5;pointer-events:none}@media(max-width:760px){.table-pagination{justify-content:space-between;flex-wrap:wrap}.table-pagination>span:not(.btn){order:-1;width:100%;text-align:center}}

/* Formulaires : largeur, rythme et actions communs */
.form-page-narrow{max-width:1040px}.app-form-card{width:100%;max-width:920px;margin:0;padding:22px}.financial-form-page{max-width:1080px}.financial-form-page-wide{max-width:1280px}.financial-form-page>.page-head,.financial-form-page>.topbar{margin-bottom:20px}.financial-form-page>.compact-form-card,.financial-form-page>.expense-form-card,.financial-form-page>.payment-context-form,.financial-form-page>.invoice-edit-form{width:100%;margin-left:0;margin-right:0}.invoice-create-form{width:100%;margin-left:0!important;margin-right:0!important}
.form-actions-common{align-items:center;gap:10px;margin:22px 0 0}.form-actions-common .btn{min-height:40px;padding:9px 15px;border-radius:var(--radius-sm)}
.success,.error{max-width:920px;margin:0 0 16px;padding:12px 14px;border:1px solid var(--border);border-left-width:4px;border-radius:var(--radius-md)}.success{border-left-color:var(--green);background:#f3faf5;color:#285c36}.error{border-left-color:var(--coral);background:#fff5f1;color:#8a1c1c}
@media(max-width:760px){.app-form-card{padding:17px}.form-actions-common{display:grid;grid-template-columns:1fr}.form-actions-common .btn{width:100%}.financial-form-page>.topbar{align-items:stretch;flex-direction:column}}

/* Finitions responsive sûres */
@media(max-width:760px){.topbar{align-items:stretch;flex-direction:column}.topbar>.actions{width:100%}.topbar>.actions .btn{flex:1 1 180px}.card{min-width:0}.v3-overlay-head{gap:10px}.v3-overlay-head>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.invoice-discount-preview{display:grid;gap:.35rem;max-width:32rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}
.invoice-discount-preview span{display:flex;justify-content:space-between;gap:1rem}
.invoice-message{margin:1rem 0;white-space:pre-wrap}
.invoice-message h2{margin-top:0}
.badge.cancelled{background:#fde7e7;color:#8a1c1c}.invoice-cancellation-panel{margin:14px 0 20px}.invoice-cancellation-panel>summary{list-style:none;width:max-content}.invoice-cancellation-panel>summary::-webkit-details-marker{display:none}.invoice-cancellation-panel .compact-form-card{max-width:760px;margin:10px 0 0;border-left:4px solid #9b1c1c}.invoice-cancellation-record{margin:14px 0 20px;border-left:4px solid #9b1c1c}.invoice-cancellation-record h2{margin-top:0}
