:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#182b48;background:#f2f6fb;font-synthesis:none;--navy:#0c1d34;--navy2:#122d50;--blue:#176ae8;--cyan:#21baff;--text:#182b48;--muted:#71829a;--border:#e3eaf2;--bg:#f2f6fb;--white:#fff;--green:#0aa878;--red:#db4661;--amber:#d48a22}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.52;cursor:not-allowed}a{color:var(--blue)}svg.ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.app-shell{display:grid;grid-template-columns:254px minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(158deg,#0d203a 0%,#0b1a2f 72%,#081728 100%);color:#dceaff;min-height:100vh;display:flex;flex-direction:column;padding:22px 14px 14px;position:sticky;top:0;height:100vh;z-index:20}.brand{padding:10px 8px 31px}.brand img{display:block;max-width:100%;height:auto}.nav-caption{font-size:10px;font-weight:750;letter-spacing:1.7px;color:#728cac;margin:0 12px 14px}.sidebar nav{display:flex;flex-direction:column;gap:4px;margin-bottom:31px}.nav-link{height:46px;border:0;background:transparent;text-align:left;color:#cad8eb;border-radius:11px;padding:0 12px;display:flex;align-items:center;gap:13px;font-weight:550;font-size:13.5px;position:relative;transition:.18s}.nav-link:hover{background:#1d3859;color:white}.nav-link.active{color:white;background:linear-gradient(98deg,#186de8,#1656a7);box-shadow:0 5px 16px #07142877}.nav-link.active:before{content:"";width:3px;height:20px;border-radius:9px;background:#8ce1ff;position:absolute;left:-14px}.nav-count{background:#ee4862;color:white;border-radius:30px;padding:2px 6px;font-size:10px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding:16px 12px;background:#122b49;border:1px solid #24415f;border-radius:14px}.sidebar-mini{display:flex;gap:8px;align-items:center;font-size:11px;font-weight:700}.mini-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#31d59a;box-shadow:0 0 0 3px #31d59a1f;flex-shrink:0}.sidebar-bottom p{color:#93aac5;font-size:11px;line-height:1.55;margin:9px 0}.sidebar-version{font-size:10px;color:#7295b8;border-top:1px solid #254461;padding-top:10px}.main-column{min-width:0;display:flex;flex-direction:column}.topbar{height:68px;display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #e4eaf1;padding:0 32px;position:sticky;top:0;z-index:12}.top-left,.top-actions{display:flex;align-items:center;gap:20px}.breadcrumb{font-size:13px;color:#93a0b2}.breadcrumb span{padding:0 11px;color:#b3bbca}.breadcrumb strong{color:#203350}.top-actions{gap:14px}.local-indicator{font-size:11px;color:#65819d;display:flex;gap:9px;align-items:center}.icon-btn{width:39px;height:39px;border:1px solid var(--border);background:white;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;color:#546982;position:relative}.icon-btn:hover{color:#176ae8;border-color:#b8d6ff}.indicator{position:absolute;right:7px;top:7px;width:7px;height:7px;background:#ee4862;border-radius:50%}.avatar{width:38px;height:38px;border-radius:50%;background:#0e2a4f;color:white;display:grid;place-items:center;font-size:12px;font-weight:800}.page{width:100%;max-width:1590px;margin:0 auto;padding:28px 32px 36px;flex:1}.footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 32px;border-top:1px solid #e3eaf2;color:#8595a8;font-size:11px}.link-button{border:0;background:transparent;color:#176ae8;padding:0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:22px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;color:#1c76e5;margin-bottom:8px}.page-heading h1,.hero h1{font-size:clamp(25px,2.3vw,34px);letter-spacing:-1.2px;margin:0 0 7px;line-height:1.15;color:#132641}.page-heading p{margin:0;color:#8290a5;font-size:13px;line-height:1.6}.heading-actions,.btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.btn{border:1px solid transparent;padding:11px 16px;border-radius:10px;background:#ecf3fb;color:#164173;font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.16s;min-height:39px}.btn svg.ico{width:16px;height:16px}.btn:hover{filter:brightness(.97);transform:translateY(-1px)}.btn-primary{background:linear-gradient(105deg,#1e7cf2,#0b57d3);color:white;box-shadow:0 6px 14px #176ae82b}.btn-secondary{background:#fff;border-color:#dbe5f1;color:#284968}.btn-ghost{background:#f1f5f9;color:#4d657e}.btn-danger{background:#fff1f3;border-color:#ffd6dc;color:#bd3450}.btn-green{background:#e4f9f1;color:#098763}.btn-sm{padding:8px 10px;min-height:32px}.card{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 19px #2b508009}.card-pad{padding:23px}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:18px}.card-header h2,.card-header h3{font-size:16px;letter-spacing:-.35px;margin:0 0 6px}.card-header p{color:#8190a2;font-size:12px;line-height:1.55;margin:0}.hero{min-height:226px;position:relative;border-radius:17px;overflow:hidden;background:linear-gradient(108deg,#0c2544 0%,#0f4176 59%,#1060a3 100%);color:#fff;padding:28px 34px;display:flex;align-items:center;margin-bottom:20px;isolation:isolate}.hero:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0,transparent 60px,#ffffff06 61px,#ffffff06 62px);z-index:-1}.hero-copy{position:relative;z-index:2;max-width:66%}.hero h1{color:white;font-size:clamp(28px,3vw,43px);margin-bottom:10px}.hero h1 span{color:#47cbff}.hero p{margin:0 0 20px;color:#c5d8ed;max-width:540px;font-size:13px;line-height:1.7}.hero-img{width:44%;height:100%;object-fit:cover;position:absolute;right:0;top:0;mask-image:linear-gradient(to right,transparent,black 34%);opacity:.9}.hero-actions{display:flex;gap:9px;flex-wrap:wrap}.hero .btn-secondary{background:#ffffff13;color:white;border-color:#ffffff44}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stat{padding:19px 19px 17px;min-width:0;position:relative;overflow:hidden}.stat-top{display:flex;align-items:center;gap:9px;font-size:11px;color:#6f7f92;font-weight:650;line-height:1.4;margin-bottom:12px}.stat-icon{height:37px;width:37px;background:#eaf3ff;color:#1d75de;border-radius:11px;display:grid;place-items:center}.stat-icon.green{background:#e5faf0;color:#07a77b}.stat-icon.red{background:#fff0f3;color:#d9556e}.stat-icon.purple{background:#f1edff;color:#8065d8}.stat-value{font-size:clamp(18px,2.2vw,27px);font-weight:850;letter-spacing:-1px;color:#19304e;white-space:nowrap}.stat-sub{font-size:11px;color:#91a0b0;margin-top:7px;line-height:1.45}.text-green{color:var(--green)!important}.text-red{color:var(--red)!important}.text-blue{color:var(--blue)!important}.text-muted{color:#8190a4}.text-amber{color:var(--amber)!important}.section-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:16px;margin-bottom:18px}.card .table-scroll{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:12px}.table th{background:#f6f9fd;color:#8290a2;font-weight:750;font-size:10.5px;text-transform:uppercase;letter-spacing:.3px;text-align:left;padding:12px 12px;white-space:nowrap}.table td{border-top:1px solid #edf1f5;padding:12px 12px;color:#324a66;white-space:nowrap}.table tr:hover td{background:#f8fbff}.table .highlight-row td{background:#ebf5ff;color:#174f90;font-weight:750}.table .right{text-align:right}.chip{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:100px;font-size:10px;font-weight:800;background:#e8f2ff;color:#216ad0}.chip.green{background:#e5faef;color:#068d66}.chip.amber{background:#fff5e7;color:#b57820}.chip.red{background:#ffedf1;color:#c43c58}.chip.gray{background:#f0f3f8;color:#75889e}.info-line{display:flex;gap:9px;align-items:flex-start;padding:12px 13px;background:#eef6ff;color:#456687;border:1px solid #d8eaff;border-radius:11px;font-size:11px;line-height:1.6}.info-line .ico{width:16px;height:16px;margin-top:1px}.info-line.warn{background:#fff9eb;border-color:#f9e6b7;color:#866522}.info-line.green{background:#effaf4;border-color:#d3eee0;color:#257c5e}.muted-note{font-size:11px;color:#8595a8;line-height:1.6;margin:10px 0}.vehicle-summary{display:flex;align-items:center;gap:14px;margin-bottom:12px}.vehicle-thumb{width:100px;height:67px;object-fit:cover;border-radius:9px;background:#d8e7f5}.vehicle-name{font-weight:850;font-size:16px;line-height:1.3;color:#18334e}.vehicle-sub{font-size:11px;color:#8797aa;margin:5px 0}.lines{display:grid;gap:0}.line{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #edf2f7;font-size:12px}.line:last-child{border-bottom:0}.line span:first-child{color:#7889a0}.line strong{text-align:right;color:#263d59}.progress{height:8px;background:#e7eff9;border-radius:10px;overflow:hidden}.progress>span{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,#2176ed,#35c7f7)}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label{color:#49607a;font-size:11px;font-weight:750}.field input,.field select,.field textarea{width:100%;padding:11px 12px;min-height:41px;border:1px solid #dbe5ef;background:#fbfdff;color:#243e5c;border-radius:9px;font-size:12px;outline:none;transition:.15s}.field textarea{resize:vertical;min-height:92px;line-height:1.6}.field input:focus,.field textarea:focus,.field select:focus{border-color:#348ef0;box-shadow:0 0 0 3px #3b92ef20}.field input[type=checkbox]{width:auto;min-height:auto}.field .hint{font-size:10px;line-height:1.5;color:#8999aa}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.form-section{margin-bottom:21px}.form-section h3{font-size:13px;margin:0 0 14px;display:flex;align-items:center;gap:8px;color:#183958}.form-section h3 .number{width:24px;height:24px;border-radius:50%;background:#eaf2ff;color:#176ae8;display:inline-grid;place-items:center;font-size:11px}.form-section .fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-section .fields .span2{grid-column:1 / -1}.toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}.segmented{display:flex;background:#edf3f9;border-radius:10px;padding:4px;gap:2px}.segmented button{padding:8px 12px;border:0;background:transparent;color:#76879e;font-size:11px;font-weight:700;border-radius:8px}.segmented button.active{background:white;color:#1760bf;box-shadow:0 2px 7px #223b5818}.chart-wrap{position:relative;min-width:0}.plot-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:10px;color:#72839a;margin:0 0 12px}.legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:5px}.svg-chart{width:100%;height:auto;display:block;overflow:visible}.chart-tip{font-size:10px;color:#8796a8;margin-top:8px}.insight{padding:18px;border-radius:12px;background:linear-gradient(125deg,#e8f9f0,#f3fff8);border:1px solid #d1f0df;margin-bottom:14px}.insight .label{font-size:11px;font-weight:800;color:#328260}.insight .big{color:#078965;font-size:24px;font-weight:900;margin:7px 0}.insight p{font-size:11px;color:#5e8272;line-height:1.6;margin:0}.insight.blue{background:linear-gradient(120deg,#eaf4ff,#f5faff);border-color:#d4e8ff}.insight.blue .label{color:#3975b6}.insight.blue .big{color:#126ada}.insight.blue p{color:#6182a4}.insight.red{background:#fff2f5;border-color:#ffe0e5}.insight.red .label,.insight.red .big{color:#c64b62}.vehicle-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:15px}.vehicle-card{padding:20px;display:flex;flex-direction:column;gap:12px}.vehicle-card.selected{border:1.5px solid #3c92e8;box-shadow:0 0 0 3px #358de313}.vehicle-head{display:flex;align-items:center;justify-content:space-between}.vehicle-circle{background:#edf5ff;color:#2073d9;width:40px;height:40px;border-radius:12px;display:grid;place-items:center}.tag-row{display:flex;flex-wrap:wrap;gap:7px}.scenario-card{padding:18px;border:1px solid #e0eaf4;border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:8px}.scenario-card.is-best{background:#f0fbf6;border-color:#92dbb9}.scenario-card .large{font-size:24px;font-weight:850;letter-spacing:-.5px}.scenario-card p{font-size:11px;color:#8391a1;line-height:1.5;margin:0}.stack{display:flex;flex-direction:column;gap:14px}.empty{padding:44px 25px;text-align:center}.empty .empty-icon{margin:auto auto 16px;height:58px;width:58px;background:#ebf4ff;color:#1b70d5;border-radius:18px;display:grid;place-items:center}.empty h3{margin:0 0 8px}.empty p{max-width:460px;margin:0 auto 18px;color:#7d8da1;line-height:1.7;font-size:13px}.toast{position:fixed;z-index:100;right:22px;bottom:22px;background:#112b4c;color:white;box-shadow:0 10px 32px #0003;padding:13px 19px;border-radius:12px;font-size:12px;opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s;max-width:380px;line-height:1.5}.toast.show{opacity:1;transform:translateY(0)}.modal-backdrop{position:fixed;inset:0;background:#081a31aa;backdrop-filter:blur(4px);z-index:60;display:grid;place-items:center;padding:22px}.modal{background:white;max-width:650px;width:100%;max-height:91vh;overflow:auto;border-radius:18px;box-shadow:0 22px 70px #0004}.modal-head{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-head h2{font-size:18px;margin:0}.modal-body{padding:23px}.modal-foot{border-top:1px solid var(--border);padding:15px 23px;display:flex;justify-content:flex-end;gap:9px}.small-heading{font-size:11px;color:#65809d;text-transform:uppercase;letter-spacing:1px;font-weight:850;margin:0 0 11px}.scroll-table{max-height:430px;overflow:auto}.select-vehicle{min-width:240px;max-width:320px}.mobile-only{display:none}.kpi-table{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.kpi-mini{padding:13px;border:1px solid var(--border);border-radius:11px;background:#fbfdff}.kpi-mini .label{font-size:10px;color:#8495a8}.kpi-mini strong{display:block;font-size:17px;margin:7px 0;color:#1d3554}.hr{border:0;border-top:1px solid var(--border);margin:18px 0}.help-text h3{font-size:14px;margin:22px 0 8px}.help-text p,.help-text li{color:#677c91;font-size:12px;line-height:1.8}.help-text code{background:#e9f2ff;padding:2px 5px;border-radius:4px}.switch{display:flex;align-items:center;gap:10px;font-size:12px;color:#526984}.switch input{accent-color:#1c75e6}.clickable{cursor:pointer}.no-print{}@media(max-width:1250px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy{max-width:75%}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;transform:translateX(-101%);transition:transform .2s;box-shadow:12px 0 35px #0a1f4544}.sidebar.open{transform:translateX(0)}.mobile-only{display:inline-flex}.topbar{padding:0 18px}.page{padding:22px 18px}.footer{padding:16px 18px;flex-wrap:wrap}.local-indicator{display:none}.hero{min-height:215px;padding:24px}.hero-copy{max-width:79%}.hero-img{opacity:.43}}@media(max-width:610px){.page-heading h1{font-size:25px}.hero-copy{max-width:100%}.hero-img{opacity:.2;width:80%}.hero h1{font-size:32px}.stat-grid{gap:10px}.stat{padding:15px}.stat-value{font-size:20px}.stat-top{font-size:10px;gap:6px}.stat-icon{height:31px;width:31px}.stat-icon .ico{width:16px;height:16px}.form-grid,.two-col,.three-col{grid-template-columns:1fr}.form-section .fields{grid-template-columns:1fr}.form-section .fields .span2{grid-column:auto}.kpi-table{grid-template-columns:1fr}.card-pad{padding:16px}.footer{font-size:10px}.breadcrumb{font-size:11px}.page-heading{align-items:flex-start}.heading-actions{width:100%}.select-vehicle{width:100%;max-width:none}.segmented{overflow:auto;max-width:100%}.segmented button{flex-shrink:0}.top-actions{gap:8px}.vehicle-summary{align-items:flex-start}.vehicle-thumb{width:90px}.plot-legend{gap:9px}.modal-body{padding:16px}}@media print{body{background:white!important}.app-shell{display:block}.sidebar,.topbar,.footer,.no-print,.btn,.icon-btn,#toast,#modal-root{display:none!important}.page{padding:0;max-width:none}.card{box-shadow:none;break-inside:avoid;border-color:#c8d3de}.hero{background:#11375e!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.stat-grid{grid-template-columns:repeat(4,1fr)}.section-grid{grid-template-columns:1fr 1fr}.plot-legend,.svg-chart{print-color-adjust:exact;-webkit-print-color-adjust:exact}.table{font-size:9px}.table th,.table td{padding:6px}.page-heading{margin-bottom:14px}}

/* V1.0.1 : barre d'en-tête supprimée ; accès au menu sur mobile uniquement. */
.mobile-menu-toggle{display:none;position:fixed;left:14px;top:12px;z-index:18;background:#0e2a4f;color:#fff;border-color:#2b527c;box-shadow:0 5px 17px #09192d35}
.vehicle-photo{position:relative;overflow:hidden;border-radius:10px;background:#eaf2fa;flex-shrink:0}
.vehicle-photo-summary{width:112px;height:83px}
.vehicle-photo-card{width:100%;height:160px;border-radius:12px}
.vehicle-photo img{display:block;width:100%;height:100%;object-fit:cover}
.vehicle-photo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#6484a6;height:100%;width:100%;background:linear-gradient(125deg,#e6f1ff,#f4f8fc);text-align:center;padding:10px}
.vehicle-photo-empty .ico{height:30px;width:30px;opacity:.8}
.vehicle-photo-empty small{font-size:10px;line-height:1.3}
.photo-credit{position:absolute;right:4px;bottom:4px;max-width:calc(100% - 8px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px;padding:3px 5px;color:white;text-decoration:none;background:#092747c9;border-radius:4px}
.photo-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:11px}
.photo-option{border:1px solid #d9e6f2;border-radius:12px;background:#fbfdff;min-width:0;overflow:hidden;padding:0;text-align:left}
.photo-option:hover,.photo-option:focus-visible{border-color:#126ada;outline:2px solid #126ada44}
.photo-option img{width:100%;height:100px;object-fit:cover;display:block}
.photo-option span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;padding:8px}
@media(max-width:900px){.mobile-menu-toggle{display:inline-flex}.page{padding-top:67px}}
@media print{.mobile-menu-toggle{display:none!important}}

.vehicle-card .vehicle-head{flex-direction:column;align-items:stretch;gap:8px}
.vehicle-card .vehicle-head .chip{align-self:flex-start}

/* V1.0.2 : date par défaut, mode mois du contrat et affichage de l'écart au pointeur. */
.chart-axis-toggle{flex-shrink:0}
.financial-plot{touch-action:pan-y;cursor:crosshair;outline-offset:2px}
.financial-plot:focus-visible{outline:2px solid #2677e5;border-radius:8px}
.chart-hover-marker{pointer-events:none}
.chart-hover-marker[hidden],.chart-hover-bubble[hidden]{display:none!important}
.chart-hover-bubble{position:absolute;z-index:8;bottom:72px;transform:translateX(-50%);width:max-content;max-width:min(260px,94%);background:#112b4d;box-shadow:0 10px 25px #0d27444d;color:#fff;border:1px solid #27496a;border-radius:10px;padding:11px 12px;display:flex;flex-direction:column;gap:5px;line-height:1.4;font-size:11px;pointer-events:none;white-space:normal}
.chart-hover-bubble strong{font-size:12px;color:#fff;margin-bottom:3px}
.chart-hover-bubble span{display:block;color:#d9e8fb}
.chart-hover-bubble span b{color:white;font-weight:800}
.chart-hover-bubble .chart-hover-total{border-top:1px solid #3a5674;padding-top:7px;margin-top:3px;color:#adf1d7;font-weight:650}
.chart-accessible-instructions{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:610px){.chart-axis-toggle button{padding:7px 9px;font-size:10px}.chart-hover-bubble{bottom:65px;font-size:10px}.chart-hover-bubble strong{font-size:11px}}
@media print{.chart-hover-marker,.chart-hover-bubble{display:none!important}}

.analysis-grid{grid-template-columns:minmax(0,1.9fr) minmax(300px,1fr)}
@media(max-width:1250px){.analysis-grid{grid-template-columns:minmax(0,1fr)}}
/* Le tableau des échéances doit défiler horizontalement sans élargir la page sur mobile. */
.section-grid>.card,.section-grid>section,.section-grid>aside{min-width:0}
.table-scroll{max-width:100%;min-width:0;overflow-x:auto}

/* V1.0.3 : fond marine premium, pleine largeur et bandeau sans marges */
:root{--bg:#0c1d34;background:#0c1d34}
body{background:radial-gradient(ellipse 65% 46% at 77% 9%,rgba(44,121,189,.23),transparent 75%),radial-gradient(ellipse 65% 65% at 30% 88%,rgba(26,97,164,.19),transparent 74%),linear-gradient(125deg,#0b1c32 0%,#112c4c 50%,#091c34 100%);background-attachment:fixed}
.main-column{min-width:0}
.page{max-width:none;width:100%;padding:0 16px 32px;margin:0;}
.hero{margin-top:0;border-radius:0 0 15px 15px;min-height:215px;background:radial-gradient(ellipse at 80% 10%,#2369a2 0%,transparent 55%),linear-gradient(120deg,#0c223c,#104678);}
.page>.hero:first-child{margin-top:0}
.page-heading{padding-top:18px}
.page>.toolbar:first-child{padding-top:16px}
.welcome-hero{min-height:280px}
.welcome-hero .hero-copy{max-width:820px}
@media(max-width:900px){.page{padding:0 12px 24px}.page>.hero:first-child{margin-top:0}.page:not(:has(.hero)){padding-top:67px}.hero{padding:26px 20px}.welcome-hero{padding-top:78px;min-height:325px}}
@media print{body{background:white!important}.page{padding:0!important}.hero{border-radius:0}}

/* AutoTiming V1.0.4 : contraste, luminosité et sélecteur premium */
:root{--bg:#1b3d63;background:#1b3d63}
body{background:radial-gradient(ellipse 75% 55% at 76% 12%,rgba(98,182,244,.28),transparent 72%),radial-gradient(ellipse 70% 60% at 26% 90%,rgba(79,157,230,.22),transparent 74%),linear-gradient(124deg,#193957 0%,#254e78 49%,#193e67 100%);background-attachment:fixed}
.page-heading h1,.page-heading .eyebrow{color:#f6fbff!important}
.page-heading p{color:#c4dbf3!important}
.page-heading{padding-top:24px}
.dashboard-financial-grid{grid-template-columns:minmax(0,2.65fr) minmax(285px,.85fr)}
.select-vehicle{appearance:none;-webkit-appearance:none;background:linear-gradient(150deg,#fff,#eaf4ff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231d5f9b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 15px center;border:1px solid #83b8e8;border-radius:14px;padding:13px 45px 13px 17px;min-height:47px;font-size:14px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:750;letter-spacing:.1px;color:#133860;box-shadow:0 5px 20px rgba(3,26,51,.14),inset 0 1px rgba(255,255,255,.9);cursor:pointer;transition:box-shadow .2s,border-color .2s}
.select-vehicle:hover{border-color:#2586df;box-shadow:0 6px 23px rgba(24,111,198,.22)}
.select-vehicle:focus-visible{outline:3px solid #69bafb;outline-offset:2px}
.select-vehicle option{font-weight:600;color:#183554;background:white}
@media(max-width:1250px){.dashboard-financial-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){.page-heading{padding-top:76px}}
@media print{.page-heading h1,.page-heading .eyebrow{color:#182b48!important}.page-heading p{color:#71829a!important}}

/* V1.0.5 : hiérarchie de la page Point de bascule et garage */
.sidebar-bottom{padding-bottom:18px}.sidebar-mini{margin-bottom:9px}
.vehicle-top-block{margin-bottom:17px;max-width:100%}.vehicle-top-block>.card{width:100%}
.vehicle-summary-premium{gap:20px;align-items:center;margin:3px 0 16px}
.vehicle-summary-premium .vehicle-photo-summary{width:230px;height:145px;border-radius:15px}
.vehicle-summary-premium .vehicle-name{font-size:19px;letter-spacing:-.25px}
.vehicle-summary-premium .vehicle-sub{font-size:12px}
.compact-vehicle-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}
.compact-vehicle-lines .line{padding:7px 0;font-size:11px}
.photo-credit{display:none!important}
.vehicle-search-toolbar{justify-content:flex-start;align-items:flex-end;gap:12px}
.vehicle-search-toolbar .field{width:min(420px,100%);flex:0 1 420px}
.vehicle-search-toolbar>.btn{min-height:41px}
@media(max-width:660px){.vehicle-summary-premium{align-items:flex-start;flex-direction:column}.vehicle-summary-premium .vehicle-photo-summary{width:100%;height:200px}.compact-vehicle-lines{grid-template-columns:1fr}.vehicle-search-toolbar .field{flex:1 1 100%}.vehicle-search-toolbar>.btn{width:100%;justify-content:center}}

/* V1.0.6 — mise en page des fiches et actions */
.vehicle-top-block{max-width:min(100%,1030px);margin-bottom:18px}
.vehicle-top-block>.card{width:100%}
.vehicle-summary-premium{display:grid;grid-template-columns:minmax(290px,48%) minmax(0,1fr);align-items:center;gap:24px}
.vehicle-summary-premium .vehicle-photo-summary{width:100%;height:260px;object-fit:cover;border-radius:15px}
.vehicle-summary-premium .vehicle-name{font-size:21px}
.compact-vehicle-lines{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.vehicle-card-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:auto;width:100%}
.vehicle-card-actions .btn{min-width:0;width:100%;justify-content:center;padding:9px 7px;white-space:nowrap}
.vehicle-card-actions .btn:nth-child(-n+2){grid-column:span 1}
.vehicle-card-actions .btn:last-child{grid-column:auto}
.vehicle-selected-btn{background:linear-gradient(125deg,#d8e5f2,#f5f9ff 42%,#c6dbed)!important;color:#375e84!important;border-color:#b9d2e7!important;box-shadow:inset 0 1px 0 #fff9,0 4px 12px #27425d13!important;cursor:default}
@media(max-width:750px){.vehicle-summary-premium{grid-template-columns:minmax(0,1fr)}.vehicle-summary-premium .vehicle-photo-summary{height:230px}.vehicle-top-block{max-width:100%}}
@media(max-width:430px){.vehicle-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-card-actions .btn{font-size:11px}.compact-vehicle-lines{grid-template-columns:1fr}}
@media print{.vehicle-top-block{max-width:100%}}

/* V1.0.8 — présentation recentrée et courbe premium */
.vehicle-top-block{width:min(100%,420px)!important;max-width:420px!important;margin:0 0 22px}
.vehicle-portrait-card{padding:20px!important}
.vehicle-portrait-identity{display:flex;align-items:flex-start;flex-direction:column;gap:6px;margin:0 0 15px}
.vehicle-portrait-identity .vehicle-name{font-size:20px;line-height:1.25}
.vehicle-portrait-identity .vehicle-sub{margin:0;font-size:11px}
.vehicle-portrait-identity .chip{margin-top:4px}
.vehicle-portrait-card .vehicle-photo-summary{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/10!important;max-height:280px!important;object-fit:cover!important;border-radius:13px!important;margin:0 0 14px!important}
.vehicle-portrait-card .compact-vehicle-lines{display:block!important}
.vehicle-portrait-card .compact-vehicle-lines .line{padding:8px 0;font-size:11px}
.dashboard-chart-row{display:block;width:100%;margin:18px 0}
.dashboard-chart-row>.card{width:100%;min-width:0}
.full-width-chart{background:linear-gradient(155deg,#ffffff 0%,#f6faff 64%,#eef5ff 100%);border:1px solid #cadff7;box-shadow:0 15px 45px #062d601a,inset 0 1px 0 #fff}
.full-width-chart .financial-chart-wrap{border:1px solid #dfebf7;border-radius:16px;background:linear-gradient(160deg,#fff 0%,#f6fbff 100%);padding:14px 15px 9px;box-shadow:inset 0 1px 10px #0e3f7108}
.full-width-chart .svg-chart{width:100%;height:auto;max-height:510px}
.full-width-chart .plot-legend{gap:22px;font-size:12px;margin-bottom:16px}
.full-width-chart .legend-dot{height:11px;width:11px;box-shadow:0 0 0 3px #e8f1fd}
.dashboard-advice-row{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:18px}
.vehicle-card-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:stretch}
.vehicle-card-actions .btn{padding:9px 5px;font-size:11px}
.vehicle-card-actions .btn:last-child{grid-column:4!important;justify-self:end}
.vehicle-analysis-button{width:100%;margin-top:3px;padding:13px 16px!important;min-height:46px;justify-content:center;font-size:13px;font-weight:800;background:linear-gradient(115deg,#0965d8,#1788fa 58%,#39a5fc)!important;box-shadow:0 8px 22px #116bdf3d;color:white!important}
.vehicle-analysis-button:hover{filter:brightness(1.07)}
@media(min-width:1150px){.dashboard-advice-row{grid-template-columns:1fr}}
@media(max-width:610px){.vehicle-top-block{max-width:100%!important;width:100%!important}.vehicle-card-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}.vehicle-card-actions .btn:last-child{grid-column:3!important}.full-width-chart .financial-chart-wrap{padding:6px}.full-width-chart .plot-legend{gap:10px;font-size:10px}}
@media print{.vehicle-top-block{max-width:420px!important}.full-width-chart .financial-chart-wrap{box-shadow:none}}

/* AutoTiming V1.0.9 : composition point de bascule et actions des véhicules */
.dashboard-overview-grid{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:18px;align-items:stretch;margin-bottom:18px}
.dashboard-overview-grid>.vehicle-top-block{width:100%!important;max-width:none!important;margin:0;min-width:0;height:100%}
.dashboard-overview-grid .vehicle-portrait-card{height:100%}
.dashboard-overview-side{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.dashboard-overview-side>.dashboard-advice-row{display:block;margin:0;min-width:0}
.dashboard-overview-side>.dashboard-advice-row>.card{height:100%}
.dashboard-overview-side>.card{height:100%;min-width:0}
.dashboard-schedule-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(300px,0.9fr);gap:18px;align-items:start}
.dashboard-schedule-grid>.card{min-width:0}
.dashboard-schedule-grid .scroll-table{max-height:480px}
.vehicle-card-actions{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px;width:100%}
.vehicle-card-actions .btn{width:100%;min-width:0;white-space:normal;line-height:1.25;min-height:38px}
.vehicle-card-actions .btn:nth-child(1),.vehicle-card-actions .btn:nth-child(2),.vehicle-card-actions .btn:nth-child(3){grid-column:span 2!important}
.vehicle-card-actions .btn:nth-child(4){grid-column:1/span 3!important;justify-self:start}
.vehicle-card-actions .btn:nth-child(5){grid-column:4/span 3!important;justify-self:end}
@media(max-width:1550px){.dashboard-overview-side{grid-template-columns:1fr}.dashboard-overview-grid{grid-template-columns:minmax(290px,390px) minmax(0,1fr)}}
@media(max-width:1150px){.dashboard-schedule-grid{grid-template-columns:1fr}}
@media(max-width:820px){.dashboard-overview-grid{grid-template-columns:1fr}.dashboard-overview-grid>.vehicle-top-block{max-width:420px!important}.dashboard-overview-side{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.dashboard-overview-side{grid-template-columns:1fr}.vehicle-card-actions{grid-template-columns:repeat(6,minmax(0,1fr))!important}.vehicle-card-actions .btn:nth-child(5){grid-column:4/span 3!important}}
@media print{.dashboard-overview-grid{grid-template-columns:360px minmax(0,1fr)}.dashboard-overview-side{grid-template-columns:1fr}.dashboard-schedule-grid{grid-template-columns:1.6fr 1fr}}


/* AutoTiming V1.0.10 — echeancier pleine largeur, titres et micro-interactions */
.dashboard-schedule-grid{grid-template-columns:minmax(0,1fr)!important;align-items:stretch}
.dashboard-schedule-grid>.card{width:100%;min-width:0}
.dashboard-schedule-grid .scroll-table{max-height:none!important;height:auto!important;overflow-y:visible!important;overflow-x:auto!important}
.dashboard-schedule-grid .table{font-size:clamp(13px,.84vw,16px)}
.dashboard-schedule-grid .table th{font-size:clamp(11px,.76vw,14px);padding:15px 16px}
.dashboard-schedule-grid .table td{padding:14px 16px}
.card-header h2,.card-header h3{font-size:clamp(22px,1.65vw,29px);line-height:1.18;letter-spacing:-.6px;font-weight:800}
.vehicle-portrait-identity .vehicle-name{font-size:19px}
.btn,.nav-link,.icon-btn,.segmented button,.vehicle-analysis-button{transition:transform .17s ease,box-shadow .2s ease,filter .18s ease,background-color .2s ease}
.btn:active:not(:disabled),.nav-link:active:not(:disabled),.icon-btn:active:not(:disabled),.segmented button:active:not(:disabled){transform:translateY(1px) scale(.975);filter:brightness(.94)}
.btn:focus-visible,.nav-link:focus-visible,.icon-btn:focus-visible{outline:3px solid #62bdff;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.btn,.nav-link,.icon-btn,.segmented button,.vehicle-analysis-button{transition:none!important}.btn:active,.nav-link:active,.icon-btn:active,.segmented button:active{transform:none!important}}
@media(max-width:760px){.dashboard-schedule-grid .table{font-size:12px}.dashboard-schedule-grid .table th{font-size:11px;padding:11px 9px}.dashboard-schedule-grid .table td{padding:11px 9px}}
@media print{.dashboard-schedule-grid .scroll-table{overflow:visible!important;max-height:none!important}.dashboard-schedule-grid .table{font-size:9px}.dashboard-schedule-grid .table th,.dashboard-schedule-grid .table td{padding:6px}}

/* AutoTiming V1.0.11 — repères et échéances */
.financial-plot{cursor:default;outline:none!important;outline-offset:0!important}
.financial-plot:focus,.financial-plot:focus-visible{outline:none!important;box-shadow:none!important}
.best-month-glow{position:relative;background:linear-gradient(105deg,#d9f8e8,#f0fff6,#d9f8e8)!important;background-size:220% 100%;animation:bestMonthShimmer 4s ease-in-out infinite}
.best-month-glow td{background:transparent!important;border-top:1px solid #9bddbc;border-bottom:1px solid #9bddbc}
.best-month-glow td:first-child{border-left:3px solid #0fa675;color:#086947;font-weight:800}
.best-month-glow td:last-child{border-right:1px solid #9bddbc}
@keyframes bestMonthShimmer{0%,100%{background-position:100% 0}50%{background-position:0 0}}
@media(prefers-reduced-motion:reduce){.best-month-glow{animation:none;background:#e4f8ec!important}}

/* AutoTiming V1.0.13 : sélection des photos sans légende, aperçu agrandi */
.modal:has(#photo-choice-area){width:min(1100px,96vw);max-width:1100px;max-height:94dvh;display:flex;flex-direction:column;overflow:hidden}
.modal:has(#photo-choice-area) .modal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}
#photo-choice-area .photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#photo-choice-area .photo-option{display:flex;align-items:center;justify-content:center;min-height:255px;padding:10px;border-radius:13px;background:#ecf3fa;overflow:hidden}
#photo-choice-area .photo-option img{display:block;width:100%;height:245px;object-fit:contain;object-position:center;background:transparent}
#photo-choice-area .photo-option span{display:none!important}
@media(max-width:700px){.modal:has(#photo-choice-area){width:calc(100vw - 20px);max-height:96dvh}#photo-choice-area .photo-gallery{grid-template-columns:1fr;gap:12px}#photo-choice-area .photo-option{min-height:225px}#photo-choice-area .photo-option img{height:215px}}
@media(max-width:430px){#photo-choice-area .photo-option{min-height:190px}#photo-choice-area .photo-option img{height:180px}}

/* AutoTiming V1.0.14 : sélection premium du véhicule actif */
.active-vehicle-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.active-vehicle-field{min-width:230px;flex:1 1 250px}
.add-vehicle-toolbar{min-height:48px;white-space:nowrap;border-radius:14px}
.vehicle-picker{position:relative;min-width:230px;width:100%;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.vehicle-picker>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;background:linear-gradient(145deg,#fff,#e8f3ff);border:1px solid #91bfe9;border-radius:15px;min-height:48px;padding:12px 16px;color:#173e67;font-size:14px;font-weight:750;box-shadow:0 5px 20px #031a3322,inset 0 1px #fff;transition:border-color .18s,box-shadow .18s}
.vehicle-picker>summary::-webkit-details-marker{display:none}
.vehicle-picker>summary:hover,.vehicle-picker[open]>summary{border-color:#2989e6;box-shadow:0 7px 23px #1768bb2a}
.vehicle-picker>summary:focus-visible{outline:3px solid #69bafb;outline-offset:2px}
.picker-chevron{font-size:23px;line-height:1;color:#2974b4;transition:transform .18s}
.vehicle-picker[open] .picker-chevron{transform:rotate(180deg)}
.vehicle-picker-menu{position:absolute;top:calc(100% + 7px);left:0;right:0;z-index:30;background:#fff;border:1px solid #c9dff5;border-radius:15px;box-shadow:0 17px 35px #071b3650;padding:6px;max-height:290px;overflow-y:auto}
.vehicle-picker-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 13px;border:0;border-radius:10px;background:transparent;text-align:left;color:#244465;font-size:13px;font-weight:650;cursor:pointer;transition:background .15s,color .15s}
.vehicle-picker-option:hover,.vehicle-picker-option:focus-visible{background:#eaf4ff;color:#0957a8;outline:none}
.vehicle-picker-option.is-current{background:linear-gradient(105deg,#eaf3ff,#dcecff);color:#0e5eb9}
@media(max-width:650px){.active-vehicle-row{width:100%}.active-vehicle-field{flex:1 1 100%;min-width:0}.vehicle-picker{min-width:0}.add-vehicle-toolbar{width:100%}}
@media print{.vehicle-picker-menu{display:none!important}}

/* AutoTiming V1.0.15 : barre d'actions et edition du contrat */
.dashboard-action-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 22px;margin-bottom:29px}
.dashboard-action-toolbar .active-vehicle-row{flex:1 1 470px;min-width:0;flex-wrap:nowrap}
.dashboard-action-toolbar .active-vehicle-field{flex:1 1 250px;max-width:500px}
.dashboard-header-buttons{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto;padding-bottom:0}
.modal:has(#vehicle-form){width:70vw;max-width:1500px;max-height:94dvh;display:flex;flex-direction:column;overflow:hidden}
.modal:has(#vehicle-form) .modal-head{flex:0 0 auto}
.modal:has(#vehicle-form) .modal-body{overflow-y:auto;min-height:0;overscroll-behavior:contain;padding:26px 30px}
.modal:has(#vehicle-form) .form-section .fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 19px}
.modal:has(#vehicle-form) .form-section .fields .span2{grid-column:span 2}
@media(max-width:1050px){.dashboard-action-toolbar{flex-wrap:wrap}.dashboard-header-buttons{margin-left:auto}.modal:has(#vehicle-form){width:92vw}.modal:has(#vehicle-form) .form-section .fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.dashboard-action-toolbar .active-vehicle-row{flex-wrap:wrap;flex-basis:100%}.dashboard-action-toolbar .active-vehicle-field{max-width:none;flex-basis:100%}.dashboard-header-buttons{width:100%;justify-content:flex-end}.modal:has(#vehicle-form){width:calc(100vw - 16px);max-height:96dvh}.modal:has(#vehicle-form) .modal-body{padding:18px}.modal:has(#vehicle-form) .form-section .fields{grid-template-columns:1fr}.modal:has(#vehicle-form) .form-section .fields .span2{grid-column:1}}

/* AutoTiming V1.0.16 : sélecteur plus compact et recommandation immédiate */
.dashboard-action-toolbar .active-vehicle-row{flex:0 1 auto}
.dashboard-action-toolbar .active-vehicle-field{flex:0 1 250px;width:250px;max-width:250px;min-width:0}
.dashboard-action-toolbar .vehicle-picker{min-width:0}
.vehicle-picker>summary{justify-content:flex-start}
.insight .big.recommend-now{font-size:clamp(32px,3.2vw,44px);line-height:1.12;letter-spacing:-.8px}
@media(max-width:650px){.dashboard-action-toolbar .active-vehicle-row{flex:1 1 100%}.dashboard-action-toolbar .active-vehicle-field{flex:1 1 250px;width:min(250px,100%);max-width:250px}}

.vehicle-year{font-size:11px;color:#6f8298;margin:2px 0 0}.vehicle-portrait-identity .vehicle-year{margin-top:-2px}.picker-current{display:flex;flex-direction:column;line-height:1.15}.picker-current-main{font-weight:800}.picker-current-meta{font-size:11px;color:#6f8298;margin-top:3px}.vehicle-picker-option-text{display:flex;flex-direction:column;min-width:0}.vehicle-picker-option-main{font-weight:800}.vehicle-picker-option-meta{font-size:11px;color:#6f8298;margin-top:3px}
/* V1.0.20 : espacement compact des informations contractuelles sur Mes véhicules */
.vehicle-card > .line{padding-top:5px;padding-bottom:5px;}

/* V1.0.22 : statut en haut à droite et actions de sélection premium. */
.vehicle-card{position:relative}
.vehicle-card .vehicle-head .chip{position:absolute;top:12px;right:12px;z-index:2;align-self:auto;box-shadow:0 3px 12px #0b27401c}
.vehicle-card-actions .btn[data-action="select-vehicle"]:not(.vehicle-selected-btn){background:linear-gradient(125deg,#36a7ff 0%,#1c75ed 50%,#1251bd 100%)!important;color:#fff!important;border:1px solid #438ff4!important;box-shadow:inset 0 1px 0 #ffffff80,0 6px 15px #1776e345!important}
.vehicle-card-actions .vehicle-selected-btn{background:linear-gradient(120deg,#65eeb4 0%,#19b975 45%,#08784f 100%)!important;color:#fff!important;border:1px solid #2fc98e!important;box-shadow:inset 0 1px 0 #ffffff8c,0 6px 16px #1599684a!important}

.contract-24-analysis{margin-top:16px;padding:14px 16px;border:1px solid #f0d9af;border-radius:12px;background:#fffaf1;color:#72501d;font-size:12px;line-height:1.65}.contract-24-analysis>strong{display:block;font-size:13px;color:#975e19;margin-bottom:6px}.contract-24-analysis p{margin:6px 0 0}.contract-24-analysis p:last-child{color:#806d53;font-size:11px}

.chart-hover-bubble .chart-hover-total{margin-bottom:-4px}.chart-hover-bubble .chart-hover-result{color:#adf1d7;font-weight:650}

/* V1.0.28 : lisibilité de l'infobulle et du repère 24 mois */
.chart-hover-bubble .chart-hover-total{font-size:14px!important;color:#65e2b3!important;font-weight:850!important;margin-bottom:0!important;line-height:1.25}
.chart-hover-bubble .chart-hover-result,.chart-hover-bubble .chart-hover-result b{color:#fff!important;font-weight:800!important}
.contract-24-analysis{padding:18px!important;background:#fffaf2;border-color:#ecd5a9;line-height:1.45}
.contract-24-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.contract-24-icon{width:46px;height:46px;border-radius:12px;background:#da912b;color:#fff;display:grid;place-items:center;font-size:20px;font-weight:900;flex-shrink:0}
.contract-24-heading>div{display:flex;flex-direction:column;gap:3px}
.contract-24-heading strong{font-size:15px;color:#785019}
.contract-24-heading span:not(.contract-24-icon){font-size:11px;color:#957442}
.contract-24-intro{font-size:12px!important;color:#775b37!important;margin:0 0 14px!important;line-height:1.55}
.contract-24-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.contract-24-metrics>div{background:#fff;border:1px solid #f0e3ca;border-radius:10px;padding:11px 12px;display:flex;flex-direction:column;gap:5px;min-width:0}
.contract-24-metrics span{color:#846f54;font-size:10px;font-weight:650}
.contract-24-metrics strong{color:#5d431e;font-size:16px;white-space:normal}
.contract-24-metrics small{font-size:10px;color:#8b6b41}
.contract-24-metrics .contract-24-equity{background:#fff2d9;border-color:#efcf97}
.contract-24-subtitle{font-size:12px;font-weight:800;color:#785019;margin:15px 0 8px}
.contract-24-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.contract-24-month{border:1px solid #f0e3ca;background:white;border-radius:9px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.contract-24-month.is-reference{border-color:#d99a43;background:#fff0d5}
.contract-24-month>span{color:#7b6546;font-size:11px;font-weight:800}
.contract-24-month strong{color:#65471e;font-size:15px}
.contract-24-month small{color:#947e5e;font-size:10px}
.contract-24-conclusion{margin-top:13px;padding:11px 13px;background:#fff3df;border-left:3px solid #d88e2a;color:#654a27;font-size:12px;line-height:1.5;border-radius:0 8px 8px 0}
@media(max-width:760px){.contract-24-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.contract-24-metrics strong{font-size:14px}.contract-24-months{gap:5px}.contract-24-month{padding:8px 6px}.contract-24-month strong{font-size:12px}.chart-hover-bubble .chart-hover-total{font-size:13px!important}}

.exit-insight{margin-bottom:18px}.exit-insight h3{font-size:13px;margin:18px 0 12px}.exit-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.exit-overview>div,.exit-checkpoint{border:1px solid #dce8f3;background:#f8fbff;border-radius:12px;padding:14px;min-width:0}.exit-overview span,.exit-checkpoint span{display:block;font-size:11px;color:#6b8099;line-height:1.55}.exit-overview strong{display:block;margin-top:8px;font-size:15px;line-height:1.35;color:#173656}.exit-checkpoints{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px}.exit-checkpoint strong{display:block;margin-bottom:7px;font-size:13px;color:#163755}.exit-checkpoint span{padding:3px 0}.exit-checkpoint b{color:#183b5e}@media(max-width:750px){.exit-overview{grid-template-columns:1fr}}

/* Accueil premium V1.0.30 */
.home-panel{display:flex;flex-direction:column;gap:22px}.home-hero{min-height:300px;border-radius:22px;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 80% 15%,#237de2 0,transparent 38%),linear-gradient(118deg,#081c33 4%,#103e70 67%,#155aa7);box-shadow:0 18px 42px #0c2b5040;padding:37px 40px;color:#fff}.home-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0,transparent 62px,#ffffff08 63px,#ffffff08 64px);pointer-events:none}.home-hero-shine{position:absolute;width:400px;height:400px;right:-120px;top:-200px;background:radial-gradient(circle,#4ac6ff44,transparent 68%);pointer-events:none}.home-hero-copy{max-width:650px;position:relative;z-index:2}.home-kicker{font-size:10px;font-weight:850;letter-spacing:2px;color:#2794e5;text-transform:uppercase}.home-hero .home-kicker{color:#75d8ff}.home-hero h1{font-size:clamp(33px,4.5vw,58px);letter-spacing:-2px;line-height:1.08;margin:14px 0}.home-hero h1 span{color:#6edaff}.home-hero p{color:#d6e7fa;font-size:13px;line-height:1.7;max-width:490px}.home-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.home-hero-outline{background:#ffffff18;color:#fff;border:1px solid #ffffff60}.home-watermark{position:absolute;right:-22px;bottom:45px;width:39%;min-width:260px;opacity:.13;transform:rotate(-8deg);pointer-events:none}.home-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.home-kpi{background:#fff;border:1px solid #e4ebf4;border-radius:17px;padding:20px;box-shadow:0 5px 20px #163b6409;display:flex;flex-direction:column;gap:12px;min-width:0}.home-kpi>span{font-size:10px;font-weight:800;color:#7189a3;letter-spacing:1px}.home-kpi strong{font-size:clamp(20px,2.5vw,29px);color:#173c63;overflow-wrap:anywhere}.home-kpi .home-kpi-name{font-size:20px}.home-kpi small{font-size:11px;color:#899aad;line-height:1.5}.home-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:12px}.home-heading h2{color:#183553;font-size:25px;margin:7px 0}.home-heading p{color:#7d91a6;font-size:12px;margin:0}.home-launcher-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.home-launcher{position:relative;display:flex;flex-direction:column;gap:17px;min-height:207px;padding:20px;text-align:left;border-radius:17px;border:1px solid #e2eaf5;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 6px 22px #1735570a;transition:transform .18s,box-shadow .18s,border-color .18s;overflow:hidden}.home-launcher:hover,.home-launcher:focus-visible{transform:translateY(-4px);box-shadow:0 13px 30px #13569f20;border-color:#a3cfff;outline:none}.home-launcher-featured{background:linear-gradient(145deg,#13395f,#155aa7);border-color:#2369b2}.home-launcher-icon{width:45px;height:45px;background:#e6f3ff;color:#1978df;border-radius:13px;display:grid;place-items:center}.home-launcher-featured .home-launcher-icon{background:#ffffff26;color:#fff}.home-launcher-body{display:flex;flex-direction:column;gap:8px;flex:1}.home-launcher-body strong{font-size:16px;color:#193651}.home-launcher-body small{color:#8193a5;font-size:11px;line-height:1.6;flex:1}.home-launcher-action{color:#1975e4;font-size:11px;font-weight:800;margin-top:12px}.home-launcher-action span{margin-left:5px}.home-launcher-featured .home-launcher-body strong,.home-launcher-featured .home-launcher-action{color:#fff}.home-launcher-featured .home-launcher-body small{color:#d1e5fc}.home-footnote{display:flex;gap:10px;align-items:flex-start;background:#eef6ff;border:1px solid #d8e7f8;color:#5d7c9b;border-radius:12px;padding:15px 17px;font-size:11px;line-height:1.5}.home-footnote .ico{width:16px;height:16px}@media(max-width:1250px){.home-launcher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:610px){.home-hero{padding:28px 23px;min-height:290px}.home-kpi-grid{gap:10px}.home-kpi{padding:15px}.home-launcher-grid{grid-template-columns:1fr}.home-launcher{min-height:155px}.home-watermark{opacity:.07}.home-heading{align-items:flex-start}.home-heading .btn{width:100%}}

/* Accueil : titre du panneau de contrôle plus lisible */
.home-panel .home-heading h2{color:#fff;font-size:clamp(29px,3.2vw,40px);font-weight:850;letter-spacing:-.7px;background:linear-gradient(110deg,#12365e,#1766b0);border-radius:12px;padding:12px 17px;display:inline-block;box-shadow:0 5px 15px #0a35612b}

/* V1.0.32 : accueil compact et tuiles de navigation lisibles */
.home-panel .home-heading h2{background:none!important;border-radius:0!important;padding:0!important;box-shadow:none!important;color:#173c63!important;display:block!important;margin:0!important;font-size:clamp(28px,3.2vw,40px)!important}
.home-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-kpi-link{text-align:left;font:inherit;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}
.home-kpi-link:hover,.home-kpi-link:focus-visible{transform:translateY(-3px);border-color:#8dbcf2;box-shadow:0 12px 25px #1452a01a;outline:none}
.home-launcher{gap:14px}
.home-launcher-head{display:flex;align-items:center;gap:13px;min-width:0}
.home-launcher-head strong{font-size:19px;line-height:1.25;color:#193651;font-weight:850;overflow-wrap:anywhere}
.home-launcher-icon{flex:0 0 47px;width:47px;height:47px}
.home-launcher-body{gap:13px}
.home-launcher-body small{font-size:13px;line-height:1.55}
.home-launcher-action{font-size:13px}
.home-launcher-featured .home-launcher-head strong{color:#fff}
@media(max-width:700px){.home-kpi-grid{grid-template-columns:1fr}.home-launcher-head strong{font-size:18px}}

/* V1.0.33 — accueil, pied de page et vignettes de synthèse */
.home-panel .home-heading h2{color:#fff!important;font-weight:900!important;text-shadow:0 2px 13px #092b526b}
.footer-centered{display:flex;justify-content:center;align-items:center;text-align:center;gap:5px;flex-wrap:wrap}
.footer-centered a{color:#176ae8;text-decoration:none}.footer-centered a:hover{text-decoration:underline}
.brand a{display:block;border-radius:8px}.brand a:focus-visible{outline:2px solid #68caff;outline-offset:4px}
.home-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,220px))!important;justify-content:center;gap:20px!important;align-items:stretch}
.home-kpi-link{width:100%;aspect-ratio:1/1;min-height:0;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#eef6ff 54%,#fff 100%);box-shadow:0 9px 28px #1350a117, inset 0 1px #fff;border:1px solid #cddff3}
.home-kpi-link:before{content:"";position:absolute;top:-70%;left:-70%;width:55%;height:230%;transform:rotate(30deg);background:linear-gradient(90deg,transparent,#ffffffa9,transparent);transition:left .55s;pointer-events:none}
.home-kpi-link:hover:before,.home-kpi-link:focus-visible:before{left:130%}
.home-kpi-link:hover,.home-kpi-link:focus-visible{box-shadow:0 15px 30px #176ae82e, inset 0 1px #fff}
@media(max-width:760px){.home-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}.home-kpi-link{padding:11px;aspect-ratio:auto;min-height:155px}.home-kpi-link strong{font-size:clamp(15px,3.8vw,23px)}.home-kpi-link .home-kpi-name{font-size:clamp(13px,2.7vw,18px)}.home-kpi-link>span{font-size:9px}.home-kpi-link small{font-size:10px}}
@media(max-width:410px){.home-kpi-grid{grid-template-columns:1fr!important}.home-kpi-link{aspect-ratio:auto;min-height:115px;padding:17px}.home-kpi-link strong{font-size:22px}}

/* AutoTiming V1.0.34 : contrôle simplifié, alertes et filigrane. */
.main-column{position:relative;isolation:isolate}
.main-column::before{content:"";position:fixed;pointer-events:none;z-index:-1;width:min(56vw,800px);height:min(55vh,410px);left:calc(254px + (100vw - 254px)/2);top:52%;transform:translate(-50%,-50%);background:url("../image/logo.svg") center/contain no-repeat;opacity:.065}
.page{position:relative;z-index:0}
.global-alert-button{position:fixed;right:24px;top:17px;width:49px;height:49px;display:flex;align-items:center;justify-content:center;border:1px solid #b5cff0;border-radius:15px;background:linear-gradient(135deg,#fff,#eaf4ff);color:#176ae8;box-shadow:0 6px 20px #144e9522;z-index:44;cursor:pointer;transition:transform .17s,box-shadow .17s}
.global-alert-button:hover{transform:translateY(-2px);box-shadow:0 10px 24px #144e9533}
.global-alert-button .ico{width:23px;height:23px}
.global-alert-badge{position:absolute;top:-7px;right:-7px;min-width:21px;height:21px;padding:0 5px;display:grid;place-items:center;background:#e32c45;color:#fff;border-radius:999px;border:2px solid #fff;font-size:10px;font-weight:900;box-shadow:0 2px 9px #a5234655}
.global-alert-badge[hidden]{display:none!important}
.home-launcher-grid{gap:19px}
.home-launcher{padding:24px!important}
.home-launcher-icon{width:62px!important;height:62px!important;flex:0 0 62px!important}
.home-launcher-icon .ico{width:31px!important;height:31px!important}
.home-launcher-head{gap:16px!important}
.home-launcher-head strong{font-size:clamp(20px,1.55vw,24px)!important}
.home-launcher-body small{font-size:15px!important;line-height:1.55!important}
.home-launcher-action{font-size:15px!important}
.vehicle-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,355px),1fr));gap:21px}
.vehicle-card{padding:23px;gap:16px}
.vehicle-card .vehicle-photo-card{height:auto!important;aspect-ratio:16/10!important;max-height:none!important;overflow:hidden}
.vehicle-card .vehicle-photo-card img{width:100%;height:100%;object-fit:contain;object-position:center;image-rendering:auto}
@media(max-width:900px){.main-column::before{left:50%;width:min(75vw,650px)}.global-alert-button{top:13px;right:15px}}
@media(max-width:610px){.home-launcher{padding:18px!important}.home-launcher-icon{width:53px!important;height:53px!important;flex-basis:53px!important}.home-launcher-head strong{font-size:19px!important}.home-launcher-body small{font-size:14px!important}.vehicle-cards{grid-template-columns:1fr}}
@media print{.main-column::before{display:none!important}}

/* V1.0.35 : retouches demandées */
.vehicle-search-toolbar .field label{font-size:16px!important;font-weight:850!important;color:#fff!important}
.brand{padding:7px 0 24px}
.brand a img{width:100%;max-width:none;height:auto}

.vehicle-search-toolbar .field{background:linear-gradient(125deg,#0e3157,#19518c);padding:10px 13px;border-radius:12px;box-shadow:0 6px 18px #0d325320}.vehicle-search-toolbar .field label{margin-bottom:1px}

/* V1.0.36 : logo, typographies et actions des véhicules */
@media(min-width:901px){.app-shell{grid-template-columns:290px minmax(0,1fr)}.sidebar{padding-left:9px;padding-right:9px}.brand{padding:6px 0 25px}.brand a,.brand img{display:block;width:100%;max-width:none}}
.home-launcher-head strong{font-size:clamp(23px,1.85vw,28px)!important}
.home-launcher-body small{font-size:17px!important;line-height:1.55!important}
.vehicle-card .vehicle-name{font-size:23px;line-height:1.22;letter-spacing:-.35px}
.vehicle-card .vehicle-sub.vehicle-trim{font-size:16px;line-height:1.35;color:#556f8b;font-weight:700}
.vehicle-card .vehicle-sub.vehicle-year{font-size:15px;line-height:1.35;font-weight:650}
.vehicle-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
.vehicle-card-actions .btn{grid-column:auto!important;min-height:41px!important;font-size:12px!important}
.vehicle-card-actions .btn:nth-child(n){grid-column:auto!important;justify-self:stretch!important}
.vehicle-card-actions .btn:nth-child(1),.vehicle-card-actions .btn:nth-child(2){grid-column:span 1!important}
.vehicle-delete-confirm p{font-size:14px;line-height:1.65;color:#3d5570;margin:0 0 12px}
@media(max-width:610px){.home-launcher-head strong{font-size:23px!important}.home-launcher-body small{font-size:16px!important}.vehicle-card .vehicle-name{font-size:21px}}

/* V1.0.37 : recherche sans panneau colore ; cloche uniquement sur accueil */
.vehicle-search-toolbar .field{background:none!important;padding:0!important;border-radius:0!important;box-shadow:none!important}
.vehicle-search-toolbar .field label{text-shadow:0 1px 3px #142c4c,0 0 2px #142c4c}
.global-alert-button[hidden]{display:none!important}

/* V1.0.38 : trois cadres de paramètres sur ordinateur */
.settings-three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch;margin-bottom:18px}.settings-three-col>.card{min-width:0}.settings-three-col .two-col{grid-template-columns:1fr}@media(max-width:1190px){.settings-three-col{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-three-col>.card:last-child{grid-column:1/-1}}@media(max-width:730px){.settings-three-col{grid-template-columns:1fr}.settings-three-col>.card:last-child{grid-column:auto}}
