/* V2.3 — typographie locale et surfaces nettes, sans modifier les règles métier. */
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:200 900;font-display:swap;src:url('../fonts/source-sans-3-latin-wght-normal.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:italic;font-weight:200 900;font-display:swap;src:url('../fonts/source-sans-3-latin-wght-italic.woff2') format('woff2')}
:root{--nav:#163451;--nav2:#10283f;--bg:#f3f5f8;--card:#fff;--text:#1c2e42;--muted:#526479;--line:#dce4ed;--gold:#ad7a39;--bs-body-font-family:'Source Sans 3',system-ui,sans-serif;--bs-body-color:var(--text);--bs-border-color:var(--line)}
body{font-family:'Source Sans 3',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;font-weight:400;line-height:1.55;color:var(--text);background:var(--bg);font-kerning:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit}h1,h2,h3,h4{color:var(--nav);font-weight:700;line-height:1.2;letter-spacing:-.025em}strong,b{font-weight:650}small,.small{font-size:.875em;line-height:1.45}a{text-underline-offset:3px}a:not(.btn):focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #7397bb;outline-offset:3px}
.content>.container-fluid{padding:30px clamp(18px,2.8vw,40px)!important}.page-title{margin-bottom:26px;align-items:center;gap:16px}.page-title h1{font-size:clamp(26px,2.25vw,34px);font-weight:700;letter-spacing:-.035em}.page-title p{font-size:15px;color:var(--muted);margin-top:7px}
.sidebar{background:linear-gradient(168deg,#163451 0%,#10283f 100%);border-right:1px solid #203e59;box-shadow:none}.sidebar .brand{padding-bottom:22px}.brand strong{font-size:17px;font-weight:650;letter-spacing:-.02em}.brand small{font-size:12px;letter-spacing:.03em;color:#b9cbdc}.brand-mark{border-radius:12px;background:#fff;color:var(--nav);box-shadow:0 2px 6px #00000012}.sidebar nav{gap:4px}.sidebar nav a{font-size:14px;font-weight:500;line-height:1.35;padding:10px 12px;color:#d6e1ec;border:1px solid transparent;border-radius:8px}.sidebar nav a:hover{background:#ffffff0d;border-color:#ffffff10}.sidebar nav a.active{background:#ffffff14;border-color:#ffffff1c;color:#fff;font-weight:650;box-shadow:inset 3px 0 #d1a46b}.sidebar-account-user strong{font-size:15px}.sidebar-account-action{border-radius:8px;font-size:14px}.topbar{min-height:68px;background:#fff;border-bottom:1px solid #dce4ed;box-shadow:0 1px 0 #16345103}.topbar-user strong{font-size:16px;font-weight:650}.topbar-user span{font-size:13px;color:#526479}.menu-btn{border:1px solid #dce4ed;border-radius:9px;color:var(--nav);background:#fff}
.card-pro,.metric{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 2px 4px #17365d03,0 8px 24px #17365d04}.card-pro{padding:24px}.card-pro h2{font-size:20px;font-weight:650;margin-bottom:14px}.card-pro h3{font-size:18px}.metric span{font-size:14px;color:var(--muted)}.metric strong,.v2-metrics strong{font-variant-numeric:tabular-nums lining-nums;font-size:29px;font-weight:650;line-height:1.15;letter-spacing:-.03em;color:var(--nav)}.v2-metrics{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.v2-metrics .card-pro{gap:14px;padding:22px;border-top:3px solid #b7c9dc}.v2-metrics .card-pro:first-child{border-top-color:var(--gold)}.v2-metrics span{font-size:15px;line-height:1.3;color:var(--muted)}
.form-label{font-size:15px;font-weight:600;color:#263e55;margin-bottom:7px}.form-control,.form-select{font-family:inherit;font-size:16px;line-height:1.5;min-height:46px;padding:10px 13px;border:1px solid #cbd6e2;border-radius:9px;background-color:#fff;color:#1c2e42;box-shadow:inset 0 1px 2px #16345102}.form-select{padding-right:36px}.form-control::placeholder{color:#728096;opacity:1}.form-control:focus,.form-select:focus{border-color:#597fa6;box-shadow:0 0 0 3px #366a9d17;background:#fff}.form-control[readonly]{background:#f4f6f9;color:#526479}.form-control:disabled,.form-select:disabled{background:#eef2f6;color:#607086}textarea.form-control{min-height:108px}input[type=number]{font-variant-numeric:tabular-nums lining-nums}.input-group-text{font-size:13px;font-weight:600;color:#53667c;background:#f4f6f9;border-color:#cbd6e2;padding:8px 11px}.form-control+small,.form-select+small,.v2-form small{display:block;margin-top:6px;font-size:13px;color:#53667c;line-height:1.45}
.btn{font-family:inherit;font-size:15px;font-weight:600;line-height:1.35;border-radius:9px;min-height:42px;padding:10px 16px;letter-spacing:0;transition:background-color .15s,border-color .15s,box-shadow .15s}.btn-sm{font-size:13px;min-height:34px;padding:7px 11px}.btn-lg{font-size:17px;min-height:48px}.btn-primary{--bs-btn-bg:#163451;--bs-btn-border-color:#163451;--bs-btn-hover-bg:#244a6e;--bs-btn-hover-border-color:#244a6e;background:#163451;border-color:#163451;box-shadow:0 2px 3px #16345110}.btn-primary:hover{background:#244a6e;border-color:#244a6e}.btn-outline-primary{color:#244a6e;border-color:#b0c2d5;background:#fff}.btn-outline-primary:hover{color:#fff;background:#244a6e;border-color:#244a6e}.btn-outline-secondary{border-color:#cbd6e2;color:#475d74;background:#fff}.btn-outline-secondary:hover{background:#edf2f7;color:#163451;border-color:#a9bbcd}.btn:disabled{opacity:.6}.export-actions{gap:9px}
.table{--bs-table-bg:transparent;--bs-table-color:#243b52;--bs-table-border-color:#e2e8f0;font-size:15px;line-height:1.4;margin-bottom:12px}.table>:not(caption)>*>*{padding:14px 13px;border-bottom-color:#e2e8f0;vertical-align:middle;box-shadow:none}.table thead th{font-size:12px;text-transform:uppercase;letter-spacing:.065em;font-weight:650;color:#52667c;background:#f2f5f8;border-bottom:1px solid #cfdbe7;padding-top:13px;padding-bottom:13px}.table tbody tr:hover>*{background-color:#f7f9fc}.table tfoot th,.table tfoot td{background:#edf3f8;color:#163451;font-weight:650;border-top:1px solid #bfcede}.table .text-end,.table td:nth-last-child(1){font-variant-numeric:tabular-nums lining-nums}.table small{font-size:12px;color:#64758a;margin-top:4px;line-height:1.4}.table-responsive{border-radius:10px}.table a:not(.btn){color:#234f78;font-weight:600;text-decoration:none}.table a:not(.btn):hover{text-decoration:underline}.badge,.status-pill{font-family:inherit;font-weight:600;font-size:12px;line-height:1.3;white-space:normal;border-radius:6px;padding:6px 9px}.text-bg-success,.status-success{background:#e8f3ed!important;color:#205e40!important}.text-bg-warning,.status-warning{background:#fff3dd!important;color:#805718!important}.text-bg-danger,.status-danger{background:#fbecec!important;color:#9b3434!important}
.alert{border-radius:10px;border:1px solid;line-height:1.5;padding:14px 18px;font-size:15px}.alert-info{background:#edf4fa;border-color:#cfdfef;color:#2a516f}.alert-warning{background:#fff7e8;border-color:#ead7b2;color:#7c581e}.alert-danger{background:#fff0ef;border-color:#eac5c1;color:#923c36}.alert-success{background:#edf7f1;border-color:#c4ddce;color:#2c6347}.text-secondary,.text-muted{color:#526479!important}
.v2-grid{grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:16px}.v2-amount-card{padding:18px;border-color:#d5dfea;border-radius:11px;box-shadow:0 1px 3px #16345103;gap:8px}.v2-amount-card>span{font-size:16px;font-weight:650;letter-spacing:-.015em;color:#163451}.v2-amount-card small{font-size:13px;color:#52667c;min-height:24px}.v2-amount-card:focus-within{border-color:#688aae;box-shadow:0 0 0 3px #366a9d10}.v2-form h2{font-size:20px}.v2-form-footer{padding-top:22px;margin-top:26px}.v2-form-footer>strong{font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:-.015em}.v2-preview{background:#f0f5fa;border:1px solid #d3dfeb;border-left:3px solid #ad7a39;border-radius:9px;color:#284b6b;font-size:15px;line-height:1.6}.v2-form details{border:1px solid #dce4ed;border-radius:10px;padding:14px 16px;background:#fafbfd}.v2-form summary{font-weight:600;color:#345574;cursor:pointer}.funding-row{padding:10px 0;border-bottom:1px solid #e2e8f0}.v2-document-ref{letter-spacing:.04em;font-weight:600}.v2-print{max-width:1080px;margin:0 auto;padding:clamp(20px,3vw,38px)}.v2-signatures{gap:24px}.v2-signatures>div{padding-top:16px;border-top-color:#b6c8d9}.export-summary-band{background:#163451;border-radius:10px;color:white;padding:20px 24px}.export-summary-band strong{font-weight:650;font-variant-numeric:tabular-nums}.export-document{border:1px solid #dce4ed;border-radius:12px;box-shadow:0 6px 26px #16345106}.export-brand-header{border-bottom-color:#bfcedb}.export-logo{background:#163451}.export-table th{font-weight:650}.export-table td{font-variant-numeric:tabular-nums}.export-footer{color:#607086}
.login-body{background:radial-gradient(ellipse at 30% 0%,#e8eef5 0%,#f7f9fb 60%)}.login-card{border:1px solid #dce4ed;box-shadow:0 12px 40px #17365d0b;padding:36px;border-radius:16px}.login-card h1{font-size:28px;line-height:1.15;font-weight:650;letter-spacing:-.035em}.login-logo{border-radius:12px;background:#163451}.login-card .form-label{font-size:15px}
.table-responsive{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(min-width:1600px){.content>.container-fluid{max-width:1660px;margin-inline:auto}.v2-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr))}}
@media(max-width:900px){.content>.container-fluid{padding:22px 18px!important}.sidebar nav a{min-height:42px;display:flex;align-items:center}.page-title{align-items:flex-start;flex-wrap:wrap}.card-pro{padding:20px}.export-actions{width:100%}}
@media(max-width:575px){.content>.container-fluid{padding:20px 14px!important}.page-title h1{font-size:27px}.page-title p{font-size:14px}.card-pro{padding:17px;border-radius:12px}.v2-grid,.v2-metrics{grid-template-columns:1fr}.v2-metrics .card-pro{padding:19px}.v2-metrics strong{font-size:28px}.form-control,.form-select{font-size:16px}.table{font-size:14px}.table>:not(caption)>*>*{padding:12px 10px}.export-actions .btn{flex:1;min-width:140px}.login-card{padding:26px}.v2-print{padding:18px}.v2-signatures{grid-template-columns:1fr}.v2-form-footer{align-items:stretch}.card-pro.d-flex,.d-flex.no-print{flex-wrap:wrap;gap:10px}.v2-form details{padding:12px}.topbar{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{body{font-family:'Source Sans 3',sans-serif;color:#172e45;background:#fff}.content>.container-fluid{padding:0!important}.card-pro,.metric,.export-document{box-shadow:none;border-color:#cbd5e1}.page-title h1{font-size:22pt}.table{font-size:9pt}.table>:not(caption)>*>*{padding:7px 8px}.v2-print{padding:0;max-width:none;border:0}.v2-signatures{grid-template-columns:repeat(3,1fr)}.v2-metrics{grid-template-columns:repeat(3,1fr)}.v2-metrics strong{font-size:16pt}.btn{box-shadow:none}}
