:root{--navy:#03283d;--deep:#021f31;--teal:#009d97;--teal2:#07b4a6;--gold:#eec05d;--ink:#092d55;--muted:#5a7391;--line:#d8e7f2;--bg:#edf7fb;--white:#fff;--red:#e53f55;--amber:#ef9c18;--blue:#1877d2;--shadow:0 4px 18px rgba(17,65,102,.045)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,'Segoe UI',Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.48}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a:hover,button:hover{filter:brightness(.96)}img{max-width:100%}h1,h2,h3,h4,p{margin:0}h1{font-size:clamp(1.6rem,2.2vw,2.15rem);letter-spacing:-.045em;line-height:1.13;font-weight:800}h2{font-size:1.12rem;letter-spacing:-.02em}h3{font-size:1rem}h4{font-size:.89rem}p{line-height:1.55}.hidden{display:none!important}.muted{color:var(--muted);font-size:.82rem}.empty{padding:24px!important;color:#7f95ad;text-align:center;font-size:.85rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:10px 16px;font-size:.82rem;line-height:1.25;font-weight:750;white-space:nowrap;border:1px solid transparent;box-shadow:none;min-height:38px}.btn-primary{color:white;background:linear-gradient(135deg,#079a96,#03b6aa)}.btn-outline{color:#048e91;background:white;border:1px solid #14b0a8}.btn-outline-light{color:white;border-color:#7ea1b0;background:transparent}.btn-danger-outline{color:#d62b43;border-color:#ef9bab;background:white}.btn-wide{width:100%}.status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-weight:750;font-size:.70rem;white-space:nowrap;line-height:1.2}.status.success{background:#dcf8ef;color:#008c77}.status.blue{background:#e0efff;color:#0b71c5}.status.danger{background:#ffe2e7;color:#df2741}.status.warning{background:#fff1d9;color:#d47d06}.status.neutral{background:#eaf0f6;color:#59718c}
/* Espace connecté, fidèle aux 8 références stratégiques PC */
.dashboard-body{background:var(--bg)}.app-frame{display:flex;min-height:100vh}.sidebar{background:linear-gradient(160deg,#00283b 0%,#022a42 65%,#00253a 100%);color:#f6fcff;width:292px;flex:0 0 292px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;z-index:12}.logo-side{display:flex;height:68px;align-items:center;justify-content:center;border-bottom:1px solid #14556d;padding:5px 16px}.logo-side img{max-width:232px;max-height:64px;width:auto;mix-blend-mode:screen}.side-nav{padding:14px 12px;overflow:auto;scrollbar-width:thin;flex:1}.side-nav a{min-height:44px;display:flex;align-items:center;gap:14px;font-size:.88rem;border-radius:6px;padding:8px 12px;margin:2px 0;transition:.15s;color:#f0f9ff}.side-nav a.active{background:linear-gradient(105deg,#008b90,#049e9b);font-weight:760}.side-nav a:hover:not(.active){background:#123c50}.side-icon{font-size:1.35rem;text-align:center;min-width:25px;font-family:'Segoe UI Symbol',Arial,sans-serif;font-weight:600}.side-help{margin:16px 18px 24px;padding:14px 14px;background:linear-gradient(130deg,#023348,#083049);border:1px solid #087f87;border-radius:14px;font-size:.80rem}.side-help strong{display:block;font-size:.89rem;margin-top:8px}.side-help p{font-size:.76rem;margin:4px 0 10px;color:#c9e0ea}.headset{font-size:1.6rem;color:#6df2e5}.side-support{border:1px solid #6b93a3;padding:10px;border-radius:8px;display:flex;justify-content:space-between;font-weight:600}.app-area{flex:1;min-width:0}.app-topbar{height:62px;background:white;border-bottom:1px solid #daeaf2;display:flex;align-items:center;justify-content:space-between;padding:0 27px;position:sticky;top:0;z-index:10;box-shadow:0 2px 12px rgba(0,43,68,.03)}.top-left,.top-actions{display:flex;align-items:center;gap:12px}.top-left b,.top-profile b{display:block;font-size:.87rem;color:#07375f}.top-left small,.top-profile small{display:block;color:#5c85a9;font-size:.71rem}.top-profile{white-space:nowrap}.company-disc{width:36px;height:36px;border-radius:100px;background:#03334a;color:#68ddd6;display:grid;place-items:center;border:2px solid #68adb9;font-size:1.3rem}.user-disc{width:35px;height:35px;border-radius:100px;background:linear-gradient(135deg,#124e64,#89d0cb);color:white;display:grid;place-items:center;font-weight:800;font-size:1.1rem}.top-actions{gap:18px}.locale,.bell,.logout button{border:1px solid var(--line);background:white;color:#08629d;border-radius:8px;padding:8px 10px;font-weight:700;font-size:.79rem}.bell{font-size:1.3rem;border:none}.logout button{border:none;font-size:1.1rem}.menu-toggle{display:none;border:none;background:transparent;font-size:1.5rem;color:var(--ink)}.app-content{padding:20px 24px 36px;max-width:1900px;margin:auto;display:grid;gap:14px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-heading p{color:#397198;font-size:.82rem;margin-top:4px}.page-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.search-inline{height:40px;background:white;border:1px solid var(--line);border-radius:8px;padding:9px 13px;color:var(--ink);font-size:.77rem;min-width:220px;flex:1}.filter-row{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}.filter-row>label{min-width:175px;flex:1;max-width:260px;display:flex;flex-direction:column;gap:3px;padding:10px 12px;background:white;border:1px solid var(--line);border-radius:8px;font-size:.71rem;font-weight:750;color:#35698d}.filter-row select{border:none;background:transparent;font-size:.76rem;color:var(--ink);padding:0;cursor:pointer}.metrics{display:grid;gap:11px}.metrics-4{grid-template-columns:repeat(4,minmax(0,1fr))}.metrics-6{grid-template-columns:repeat(6,minmax(0,1fr))}.metrics-8{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:#fff;border:1px solid var(--line);border-radius:10px;min-height:124px;padding:14px;box-shadow:var(--shadow)}.metric-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:white;font-size:1.4rem;background:#058e91;margin-bottom:3px}.metric-icon.red{background:linear-gradient(140deg,#f02c53,#c91b40)}.metric-icon.gold{background:#ac8e34}.metric-icon.green{background:#018c80}.metric-icon.blue{background:#1b7ad6}.metric-icon.amber{background:#f0a724}.metric-icon.navy{background:#0d6271}.metric-label{font-size:.78rem;font-weight:720;line-height:1.3}.metric-value{font-size:clamp(1rem,1.65vw,1.38rem);color:#07284d;font-weight:840;line-height:1.2;overflow-wrap:anywhere}.metric-card small{color:#5c84a7;font-size:.71rem}.panel,.detail-panel{background:white;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);min-width:0}.panel{padding:13px}.detail-panel{padding:14px;align-self:stretch}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px}.panel-heading a,.panel-heading button.table-link{font-size:.72rem;color:#008f96}.panel-heading h2,.detail-panel h2{font-size:.94rem}.panel h3{margin:12px 0 7px}.panel p{margin:5px 0}.table-scroll{width:100%;overflow:auto;scrollbar-width:thin}table{border-collapse:collapse;width:100%;min-width:460px}th{background:#f0f7fb;color:#416a8b;text-align:left;font-size:.70rem;font-weight:780;white-space:nowrap}th,td{padding:10px 8px;border-bottom:1px solid #e7f0f5;vertical-align:middle}td{font-size:.76rem;color:#2a5578}tbody tr:hover{background:#f5fbfe}tbody tr:last-child td{border-bottom:none}.table-link{font:inherit;color:#038f9a;background:none;border:none;font-weight:770;white-space:nowrap}.two-zone{display:grid;grid-template-columns:minmax(0,1fr) minmax(285px,355px);gap:14px;align-items:start}.grid{display:grid;gap:13px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2-1{grid-template-columns:1.2fr .8fr}.dashboard-grid{align-items:stretch}.detail-hero{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:9px}.detail-hero img{width:98px;height:72px;object-fit:cover;border-radius:7px}.detail-hero h3{font-size:1.05rem}.detail-hero p{font-size:.77rem;color:#43779a;margin:3px 0}.detail-tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);color:#5684a6;padding-bottom:10px;font-size:.78rem;font-weight:700}.detail-tabs .sel{color:#00a19c;border-bottom:2px solid #00a19c;padding-bottom:9px;margin-bottom:-11px}.detail-content h4{border-top:1px solid var(--line);padding-top:10px;margin:12px 0 9px;color:#064467}.detail-content dl,.detail-panel dl,.panel dl{display:grid;grid-template-columns:42% 58%;gap:10px 8px;font-size:.77rem;margin:12px 0}.detail-content dt,.detail-panel dt,.panel dt{color:#6486a2}.detail-content dd,.detail-panel dd,.panel dd{font-weight:730;color:#194766;margin:0;overflow-wrap:anywhere}.avatar-inline,.user-portrait{background:linear-gradient(135deg,#024f68,#1eafad);color:white;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:99px;margin-right:5px;font-weight:800}.user-portrait{width:70px;height:70px;font-size:1.8rem}.big-symbol{font-size:2.7rem;color:var(--teal)}.subtabs{display:flex;gap:18px;align-items:center;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px 16px;scrollbar-width:none}.subtabs a{font-size:.80rem;padding:9px 12px;white-space:nowrap;color:#547b99;font-weight:740}.subtabs a.active{color:#008b89;border-bottom:3px solid var(--teal)}.tabs.tiny{display:flex;background:white;border:1px solid var(--line);border-radius:9px;gap:2px}.tab{border:none;background:transparent;padding:9px 10px;font-size:.70rem;border-radius:7px;color:#457294}.tab.active{background:#062e47;color:white}.graph-dummy{height:230px;display:flex;align-items:flex-end;background:repeating-linear-gradient(to top,#fff 0,#fff 44px,#eaf1f6 45px);border-radius:5px;padding:20px;margin:10px 0}.graph-bars{height:100%;display:flex;align-items:flex-end;gap:7px;width:100%}.graph-bars span{flex:1;background:linear-gradient(to top,#008f8b,#23c3ad);min-width:3px;border-radius:3px 3px 0 0}.panel-form{display:grid;gap:12px}.panel-form label,.field-grid label,.auth-form label,.modal label{display:grid;gap:5px;font-size:.75rem;font-weight:730;color:#244b6d}.panel-form input,.panel-form select,.panel-form textarea,.modal input,.modal select,.modal textarea,.auth-form input{background:white;border:1px solid #c9deed;border-radius:8px;padding:10px 11px;color:#1b4a72;width:100%;min-height:39px;outline-color:#04a59d}.panel-form textarea,.modal textarea{min-height:70px;resize:vertical}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.inline-check{display:flex!important;gap:9px;align-items:flex-start;font-size:.78rem}.inline-check input{width:17px!important;height:17px;min-height:unset!important;flex:none}.info-note{font-size:.76rem;line-height:1.55;color:#276888;background:#e7f7fa;border:1px solid #d5eef0;border-radius:8px;padding:11px;margin:12px 0}.info-note p{margin:8px 0 0}.checklist{list-style:none;padding:0;margin:0}.checklist li{padding:9px 7px;border-bottom:1px solid #e8f1f6;font-size:.79rem}.checklist .positive{color:#068e84}.checklist .negative{color:#d62f46}.checklist .neutral{color:#738da4}.handover-grid{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(350px,1.35fr) minmax(270px,.8fr);gap:12px;align-items:start}.handover-grid>div{display:grid;gap:12px}.inspection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.inspection-grid div{background:#f4fafc;border:1px solid #dbedf5;border-radius:6px;padding:9px;font-size:.8rem;color:#08676d}.welcome-strip{padding:13px 16px;background:linear-gradient(90deg,#e1f8f5,#f1fcfa);border-radius:9px;font-size:.86rem;color:#185f74}.vehicle-card{display:flex;align-items:center;gap:18px}.vehicle-card img{width:190px;height:125px;object-fit:cover;border-radius:10px}.vehicle-card p{font-size:.82rem;margin:5px 0}.toast{padding:10px 14px;border-radius:8px;font-size:.82rem;font-weight:620}.toast.ok{background:#dafaf0;border:1px solid #a9e8d8;color:#056d5b}.toast.bad{background:#ffeced;border:1px solid #f9c8d0;color:#bd1737}.inline-form{display:flex;gap:6px}.inline-form input,.inline-form select{max-width:120px;border:1px solid var(--line);border-radius:6px;font-size:.72rem}.modal{width:min(610px,94vw);border:none;border-radius:15px;padding:24px;color:var(--ink);box-shadow:0 16px 80px rgba(0,20,40,.2)}.modal::backdrop{background:#022537aa}.modal form{display:grid;gap:14px}.modal-top{display:flex;justify-content:space-between}.modal-top button{background:transparent;border:none;font-size:1.4rem}.modal h2{font-size:1.4rem}
/* Site public & authentification */
.public-body,.auth-body{background:#03283c;color:white}.public-header{display:flex;align-items:center;gap:25px;min-height:86px;padding:8px max(30px,5vw);background:#03283b;border-bottom:1px solid #12727b}.public-logo img{width:270px;max-height:66px;object-fit:contain;mix-blend-mode:screen}.public-nav{display:flex;gap:25px;flex:1;align-items:center}.public-nav a,.auth-mini-nav a{font-size:.87rem;font-weight:630}.public-nav a.on{color:#47e2d5}.public-head-actions{display:flex;align-items:center;gap:12px}.public-head-actions .btn{padding:12px 19px}.lang-light{background:none;border:none;color:white;font-size:.87rem;white-space:nowrap}.mobile-public-toggle{display:none}.hero-public{min-height:590px;display:grid;grid-template-columns:1fr 1fr;align-items:center;background:radial-gradient(circle at 75% 50%,#07485b 0,#03283b 64%);overflow:hidden}.hero-copy{padding:7vw;z-index:1}.hero-kicker,.section-heading span{font-weight:820;font-size:.78rem;letter-spacing:.15em;color:#52d8cf}.hero-copy h1{font-size:clamp(2.7rem,5vw,5.7rem);margin:14px 0;color:white}.hero-copy em,.auth-story em,.auth-card em{color:var(--teal2);font-style:normal}.hero-copy p{max-width:580px;color:#d8e9f0;font-size:1.08rem}.gold-line{width:65px;height:5px;background:#f3c94d;margin:22px 0}.hero-visual{height:100%;min-height:530px;position:relative}.hero-visual img{height:100%;width:100%;object-fit:cover;object-position:48%;mask-image:linear-gradient(to right,transparent 0,#000 30%)}.hero-buttons{display:flex;gap:12px;margin:26px 0;flex-wrap:wrap}.hero-buttons .btn{padding:15px 20px}.trial-note{font-size:.88rem;color:#f6d76d}.public-section{padding:70px max(30px,6vw);background:#f5fbfe;color:var(--ink)}.section-heading{text-align:center;max-width:750px;margin:0 auto 36px}.section-heading h2{font-size:2.1rem;margin:10px}.section-heading p{color:#587d9a}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1200px;margin:auto}.feature-card{padding:27px;border-radius:15px;background:white;border:1px solid #deebf3;box-shadow:var(--shadow)}.feature-dot{font-size:2rem;color:#02a7a4}.feature-card h3{font-size:1.07rem;margin:10px 0}.feature-card p{color:#6584a0;font-size:.90rem}.public-cta{text-align:center;padding:65px 20px;background:#043a4c}.public-cta h2{font-size:2rem}.public-cta p{margin:14px 0 26px;color:#d7e9ef}.public-footer{border-top:1px solid #207c82;padding:25px max(30px,6vw);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.public-footer img{width:175px;mix-blend-mode:screen}.public-footer nav{display:flex;gap:20px;flex-wrap:wrap}.public-footer nav a{font-size:.78rem}.public-footer p{font-size:.69rem;color:#b7d2dd}.auth-mini-nav{display:flex;align-items:center;gap:20px;flex:1}.auth-stage{display:grid;grid-template-columns:1fr minmax(450px,.92fr);gap:35px;padding:38px max(26px,6vw);background:radial-gradient(circle at 35% 55%,#05506a,#002238 70%);min-height:660px}.auth-story{position:relative;min-height:590px;overflow:hidden}.auth-story h1{font-size:clamp(2.5rem,3.5vw,4rem);color:white;position:relative;z-index:1;margin-top:36px}.auth-story h1 span{font-size:1.4em}.auth-story h2{font-size:clamp(1.3rem,2vw,2rem);margin:16px 0;max-width:560px;position:relative;z-index:1}.auth-story p{max-width:500px;position:relative;z-index:1;font-size:1rem}.auth-story .trial-note{display:block;margin-top:16px;position:relative;z-index:1}.auth-car{position:absolute;bottom:0;left:0;width:100%;height:53%;object-fit:cover;object-position:center;mask-image:linear-gradient(to bottom,transparent,#000 35%);opacity:.93}.auth-card{background:white;color:var(--ink);border-radius:17px;padding:35px;align-self:start;min-width:0;box-shadow:0 7px 35px rgba(0,0,0,.12)}.auth-card h2{font-size:clamp(1.6rem,2.2vw,2.2rem)}.auth-card>p{color:#55739a;margin:8px 0 25px}.auth-form{display:grid;gap:14px}.auth-form label{font-size:.85rem}.auth-form input{height:48px;font-size:.86rem}.auth-form h3{margin:10px 0 -4px;font-size:.90rem}.auth-form .two-col{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.forgot-link{text-align:right;color:#00a9a1;font-size:.85rem}.auth-form .btn{min-height:50px}.auth-bottom{text-align:center;padding-top:20px;margin-top:20px;border-top:1px solid var(--line);font-size:.86rem}.auth-bottom a{color:#008f92;font-weight:770}.auth-warning{color:#c07d0d!important;font-size:.80rem}
@media(max-width:1480px){.sidebar{width:260px;flex-basis:260px}.app-content{padding:15px}.metric-card{padding:12px}.metrics-6 .metric-label{font-size:.7rem}.metrics-6 .metric-value{font-size:1.04rem}}
@media(max-width:1160px){.sidebar{width:228px;flex-basis:228px}.two-zone{grid-template-columns:minmax(0,1fr) 292px}.handover-grid{grid-template-columns:1fr 1fr}.handover-grid>aside{grid-column:span 2}.metrics-6{grid-template-columns:repeat(3,minmax(0,1fr))}.public-nav{gap:12px}.public-logo img{width:180px}}
@media(max-width:900px){.sidebar{position:fixed;left:-295px;width:280px;transition:left .2s;box-shadow:5px 0 30px rgba(0,0,0,.15)}.sidebar.open{left:0}.menu-toggle{display:inline-block}.app-topbar{padding:0 16px}.app-content{padding:15px}.metrics-4{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-8{grid-template-columns:repeat(2,minmax(0,1fr))}.two-zone{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr}.grid-2-1{grid-template-columns:1fr}.detail-panel{position:static}.auth-stage{grid-template-columns:1fr}.auth-story{min-height:300px}.auth-car{height:75%;width:70%;left:30%}.auth-card{max-width:750px;width:100%;margin:auto}.public-header{min-height:70px}.public-nav{display:none}.mobile-public-toggle{display:block;background:transparent;color:white;border:0;font-size:1.5rem;margin-left:auto}.public-head-actions{margin-left:auto}.public-nav.open{display:flex;position:absolute;left:0;right:0;top:70px;z-index:30;background:#003046;flex-direction:column;padding:20px}.hero-public{grid-template-columns:1fr}.hero-visual{min-height:300px;height:300px}.hero-copy{padding:45px}.hero-visual img{mask-image:linear-gradient(to bottom,transparent,#000 30%)}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.app-topbar{height:58px}.top-profile{display:none}.top-actions{gap:5px}.top-left b{font-size:.72rem}.top-left small{font-size:.65rem}.company-disc,.user-disc{width:29px;height:29px}.locale{padding:6px}.app-content{padding:12px;gap:12px}.page-heading{align-items:flex-start}.page-actions{width:100%}.page-actions .btn{flex:1}.search-inline{width:100%}.filter-row>label{min-width:110px;max-width:unset}.metrics-4,.metrics-6,.metrics-8{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{min-height:118px;padding:11px}.metric-label{font-size:.70rem}.metric-value{font-size:.95rem}.grid-2{grid-template-columns:1fr}.handover-grid{grid-template-columns:1fr}.handover-grid>aside{grid-column:auto}.field-grid{grid-template-columns:1fr}.vehicle-card{flex-direction:column;align-items:flex-start}.vehicle-card img{width:100%;max-height:200px}.public-header{gap:10px;padding:8px 14px}.public-logo img{width:145px}.public-head-actions .btn-outline-light{display:none}.public-head-actions .btn{padding:9px 12px;font-size:.74rem}.lang-light{display:none}.hero-copy{padding:35px 22px}.hero-copy h1{font-size:2.6rem}.hero-visual{height:240px;min-height:240px}.feature-grid{grid-template-columns:1fr}.public-section{padding:35px 18px}.public-footer{padding:26px 18px}.auth-mini-nav{display:none}.auth-stage{padding:16px 12px}.auth-story{min-height:350px;padding:10px}.auth-story h1{font-size:2.5rem;margin:15px 0}.auth-story h2{font-size:1.3rem}.auth-car{height:65%;width:100%;left:0}.auth-card{padding:24px 20px}.auth-form .two-col{grid-template-columns:1fr}.sidebar{height:100dvh}.subtabs{gap:2px;padding:3px}.subtabs a{font-size:.72rem}.panel{padding:11px}.top-actions .bell{font-size:1.1rem}}
