:root {
    --ink: #17342f;
    --ink-2: #244943;
    --forest: #165d4a;
    --forest-dark: #103e34;
    --mint: #dcebe5;
    --paper: #f5f4ef;
    --panel: #ffffff;
    --line: #e2e5df;
    --muted: #70807b;
    --amber: #e7a83f;
    --red: #bb4a42;
    --shadow: 0 14px 40px rgba(25, 50, 43, .07);
    --radius: 18px;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif; font-size: 15px; line-height: 1.5; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3, .brand { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", system-ui, sans-serif; }
h1 { margin-bottom: 8px; font-size: clamp(30px, 3vw, 43px); line-height: 1.08; letter-spacing: -.045em; }
h2 { margin-bottom: 6px; font-size: 20px; letter-spacing: -.025em; }
h3 { margin-bottom: 5px; }
p { color: var(--muted); }

.app-shell { padding-left: 250px; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 30; display: flex; width: 250px; height: 100vh; box-sizing: border-box; flex-direction: column; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; background: var(--ink); color: white; padding: 26px 18px 18px; }
.brand { display: inline-flex; align-items: center; gap: 11px; font-size: 19px; font-weight: 800; letter-spacing: -.03em; }
.brand > span:last-child { display: flex; flex-direction: column; line-height: 1.05; }
.brand-name { min-width: 0; }
.brand-name strong { display: inline-flex; align-items: baseline; gap: .2em; color: var(--forest); font-family: Rockwell, "Roboto Slab", Georgia, serif; font-size: 14px; font-weight: 700; font-synthesis: none; letter-spacing: -.01em; line-height: 1.25; text-transform: uppercase; white-space: nowrap; }
.brand-word-moto { color: #e60515; }
.brand-word-flux { color: #111; }
.brand-word-service { color: #69be28; }
.brand small { margin-top: 4px; color: #a9bbb6; font-family: "DM Sans", sans-serif; font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.brand .brand-tagline { margin-top: 4px; color: #687a74; font-size: 8px; font-weight: 650; letter-spacing: .08em; line-height: 1.35; white-space: nowrap; }
.sidebar .brand-tagline, .brand.light .brand-tagline { color: #f3faf8; }
.brand-mark { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; border-radius: 13px; color: #fff; background: #e60515; font-size: 20px; font-weight: 1000; line-height: 1; letter-spacing: -.075em; -webkit-text-stroke: .65px currentColor; paint-order: stroke fill; }
.brand-mark > svg { display: block; width: 88%; height: auto; max-height: 88%; }
.brand.light .brand-name strong { color: #7bd3b2; }
.sidebar .brand-word-flux, .brand.light .brand-word-flux { color: #fff; }
.sidebar .brand-word-service, .brand.light .brand-word-service { color: #69be28; font-weight: inherit; text-shadow: 0 0 10px rgba(105,190,40,.2); }
.auth-story .brand.light .brand-mark { color: #fff; }
.nav { display: flex; flex: 1; flex-direction: column; gap: 5px; margin-top: 42px; }
.nav-label { margin: 18px 12px 8px; color: #78928b; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.nav a { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 10px 13px; border-radius: 11px; color: #b9cac5; font-weight: 600; transition: .18s ease; }
.nav a span { display: grid; width: 23px; place-items: center; color: #86a39a; font-size: 18px; }
.nav a:hover, .nav a.active { color: white; background: rgba(255,255,255,.09); }
.nav a.active span { color: var(--amber); }
.nav-rule { display: flex; gap: 11px; margin: auto 5px 6px; padding: 16px; border: 1px solid rgba(255,255,255,.11); border-radius: 14px; background: rgba(255,255,255,.045); }
.nav-rule-icon { display: grid; flex: 0 0 27px; height: 27px; place-items: center; border-radius: 50%; color: var(--ink); background: var(--amber); font-weight: 800; }
.nav-rule div { display: flex; flex-direction: column; }
.nav-rule strong { font-size: 12px; }
.nav-rule small { margin-top: 3px; color: #9eb1ac; font-size: 10px; line-height: 1.35; }
.sidebar-user { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; padding: 16px 5px 0; border-top: 1px solid rgba(255,255,255,.1); }
.sidebar-user > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; }
.sidebar-user strong, .sidebar-user small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user strong { font-size: 12px; }.sidebar-user small { color: #91aaa3; font-size: 10px; }
.logout-button { display:flex; align-items:center; flex-direction:column; gap:1px; padding:5px 3px; border:0; border-radius:8px; color:#c9d7d3; background:transparent; cursor:pointer; }.logout-button:hover,.logout-button:focus-visible { color:white; background:rgba(255,255,255,.09); }.logout-button > span { font-size:18px; line-height:1; }.logout-button > small { color:inherit; font-size:7px; font-weight:800; text-transform:uppercase; }
.avatar { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: var(--ink); background: var(--mint); font-size: 11px; font-weight: 800; }
.avatar.small { width: 30px; height: 30px; }.icon-button { border: 0; color: inherit; background: transparent; cursor: pointer; font-size: 18px; }
.mobile-header { display: none; }
.main-content { min-height: 100vh; padding: 43px clamp(28px, 4vw, 64px) 70px; }
.main-content > * { max-width: 1480px; margin-right: auto; margin-left: auto; }

.page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.page-header p { margin-bottom: 0; }.welcome-header h1 { font-size: 39px; }
.eyebrow { display: block; margin-bottom: 8px; color: var(--forest); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow.light { color: #b8ccc6; }.back-link { display: block; width: fit-content; margin-bottom: 19px; color: var(--muted); font-size: 13px; font-weight: 600; }
.back-link:hover, .text-link:hover { color: var(--forest); }
.title-line { display: flex; align-items: center; flex-wrap: wrap; gap: 13px; }.title-line h1, .title-line h2, .title-line h3 { margin-bottom: 0; }
.header-actions { display: flex; gap: 9px; }

.button { display: inline-flex; min-height: 41px; align-items: center; justify-content: center; gap: 9px; padding: 10px 17px; border: 1px solid transparent; border-radius: 10px; font-weight: 700; cursor: pointer; transition: transform .15s, box-shadow .15s, background .15s; }
.button:hover { transform: translateY(-1px); }.button.primary { color: white; background: var(--forest); box-shadow: 0 7px 18px rgba(22,93,74,.18); }.button.primary:hover { background: var(--forest-dark); }
.button.secondary { border-color: var(--line); color: var(--ink); background: white; }.button.secondary:hover { border-color: #c5d0cb; }
.button.ghost { color: var(--muted); background: transparent; }.button.light { color: var(--ink); background: white; }.button.danger { color: white; background: var(--red); }
.button.large { min-height: 49px; padding: 13px 20px; }.button.small { min-height: 34px; padding: 7px 11px; border-radius: 8px; font-size: 12px; }.button.full { width: 100%; }
.text-link { color: var(--forest); font-size: 13px; font-weight: 700; }.text-danger { border: 0; color: var(--red); background: transparent; cursor: pointer; font-weight: 700; }
.panel { border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); box-shadow: 0 1px 0 rgba(19,52,47,.02); }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }.panel-heading .eyebrow { margin-bottom: 5px; }.panel-heading h2, .panel-heading h3 { margin-bottom: 0; }

.stat-grid { display: grid; gap: 14px; margin-bottom: 20px; }.stat-grid.four { grid-template-columns: repeat(4, 1fr); }.stat-grid.five { grid-template-columns: repeat(5, 1fr); }
.stat-card { display: flex; align-items: center; gap: 15px; min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 15px; background: white; }
.stat-icon { display: grid; flex: 0 0 42px; height: 42px; place-items: center; border-radius: 12px; font-size: 19px; }.stat-icon.green,.stat-icon.teal { color: #17654e; background: #dceee7; }.stat-icon.orange { color: #9a6417; background: #f8ead2; }.stat-icon.red { color: #a8433c; background: #f7dfdc; }.stat-icon.blue { color: #376b9b; background: #dfebf5; }
.stat-card > div { min-width: 0; }.stat-card small { color: var(--muted); font-size: 11px; font-weight: 600; }.stat-card strong { display: block; margin: 1px 0 0; font-family: "Manrope"; font-size: 27px; line-height: 1.1; }.stat-card p { margin: 3px 0 0; overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .85fr); gap: 20px; margin-bottom: 20px; }.dashboard-grid .panel { padding: 25px; }
.bike-list { display: flex; flex-direction: column; }.bike-row { display: grid; grid-template-columns: 64px minmax(130px,1fr) auto auto 18px; align-items: center; gap: 14px; padding: 12px 0; border-top: 1px solid #edf0ec; }.bike-row:first-child { border-top: 0; }.bike-row img { width: 64px; height: 48px; border-radius: 9px; object-fit: cover; }.bike-main { display: flex; min-width: 0; flex-direction: column; }.bike-main strong, .bike-main small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.bike-main small, .timeline-list small { color: var(--muted); font-size: 11px; }.row-arrow { color: #a1aca8; font-size: 24px; }.photo-count { color: var(--muted); font-size: 11px; font-weight: 700; }
.timeline-list > a { position: relative; display: grid; grid-template-columns: 14px 1fr auto; gap: 11px; align-items: center; padding: 12px 0; }.timeline-list > a:not(:last-child)::after { position: absolute; top: 31px; bottom: -9px; left: 5px; width: 1px; content: ""; background: var(--line); }.timeline-list a > span:nth-child(2) { display: flex; flex-direction: column; }.timeline-dot { z-index: 1; width: 11px; height: 11px; border: 3px solid white; border-radius: 50%; outline: 1px solid currentColor; background: currentColor; }
.service-banner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; padding: 27px 31px; border-radius: var(--radius); color: white; background: linear-gradient(118deg, #143f36, #1b6652); overflow: hidden; }.service-banner::after { width: 190px; height: 190px; margin: -120px -100px -120px 0; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ""; }.service-banner > .button { z-index: 1; grid-column: 3; grid-row: 1; }.service-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; color: var(--ink); background: var(--amber); font-family: "Manrope"; font-size: 21px; font-weight: 800; }.service-banner h2 { margin-bottom: 3px; }.service-banner p { margin-bottom: 0; color: #b9d0ca; font-size: 13px; }

.badge { display: inline-flex; width: fit-content; align-items: center; gap: 5px; padding: 5px 9px; border-radius: 99px; font-size: 10px; font-weight: 800; white-space: nowrap; }.badge::before { width: 6px; height: 6px; border-radius: 50%; content: ""; background: currentColor; }.badge.green { color: #277358; background: #e0f0e9; }.badge.blue { color: #376a9b; background: #e4edf6; }.badge.orange { color: #9d6618; background: #fbecd3; }.badge.red { color: #ad4841; background: #f8e2df; }.badge.purple { color: #795798; background: #eee5f5; }.badge.slate { color: #64736e; background: #e9edeb; }
.timeline-dot.green { color: #3c8a69; }.timeline-dot.blue { color: #4d7fae; }.timeline-dot.orange { color: #d49435; }.timeline-dot.red { color: #c45b52; }.timeline-dot.purple { color: #8b67a9; }

.filter-bar { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }.search-field { position: relative; flex: 1; }.search-field span { position: absolute; top: 50%; left: 14px; color: var(--muted); transform: translateY(-50%); }.search-field input { width: 100%; padding-left: 38px; }
input, select, textarea { width: 100%; border: 1px solid #d8dedb; border-radius: 9px; outline: none; color: var(--ink); background: white; transition: border .15s, box-shadow .15s; }
input, select { min-height: 42px; padding: 9px 12px; } textarea { resize: vertical; padding: 11px 12px; }
input:focus, select:focus, textarea:focus { border-color: #4c8b78; box-shadow: 0 0 0 3px rgba(37,117,93,.1); }
label { color: #425b54; font-size: 12px; font-weight: 700; }.form-stack { display: flex; flex-direction: column; gap: 16px; }.form-stack label { display: flex; flex-direction: column; gap: 6px; }
.bike-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }.bike-card { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: white; transition: transform .18s, box-shadow .18s; }.bike-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }.bike-photo { position: relative; display: block; height: 210px; overflow: hidden; background: #dfe6e2; }.bike-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }.bike-card:hover .bike-photo img { transform: scale(1.025); }.bike-photo .badge { position: absolute; top: 13px; left: 13px; }.photo-pill { position: absolute; right: 13px; bottom: 12px; padding: 5px 9px; border-radius: 99px; color: white; background: rgba(18,39,34,.72); backdrop-filter: blur(6px); font-size: 10px; font-weight: 700; }.bike-card-body { padding: 18px; }.bike-card-body h2 { margin-bottom: 4px; }.bike-card-body p { margin-bottom: 17px; font-size: 12px; }.bike-card-body p span { margin: 0 4px; color: #bac2bf; }.dealer-label { display: block; margin-bottom: 5px; color: var(--forest); font-weight: 800; text-transform: uppercase; }.bike-card-meta { display: grid; grid-template-columns: .8fr 1.2fr; gap: 12px; padding-top: 14px; border-top: 1px solid #edf0ec; }.bike-card-meta span { display: flex; min-width: 0; flex-direction: column; }.bike-card-meta small { color: var(--muted); font-size: 9px; text-transform: uppercase; }.bike-card-meta strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.damage-chip { margin-top: 13px; padding: 7px 9px; border-radius: 8px; color: #a64840; background: #f9e8e5; font-size: 11px; font-weight: 700; }

.detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 22px; align-items: start; }.detail-main { display: flex; min-width: 0; flex-direction: column; gap: 20px; }.detail-side { display: flex; flex-direction: column; gap: 16px; }.sticky-card { position: sticky; top: 30px; padding: 24px; }.form-section { position: relative; display: grid; grid-template-columns: 44px 1fr; column-gap: 15px; padding: 25px; }.form-section .form-grid, .form-section .dropzone, .form-section .photo-guidance, .form-section .error.block { grid-column: 2; }.section-number { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; color: var(--forest); background: var(--mint); font-family: "Manrope"; font-size: 11px; font-weight: 800; }.section-title { margin-bottom: 20px; }.section-title h2 { margin-bottom: 3px; }.section-title p { margin-bottom: 0; font-size: 12px; }.form-grid { display: grid; gap: 16px; }.form-grid.two { grid-template-columns: repeat(2, minmax(0,1fr)); }.form-grid.three { grid-template-columns: repeat(3, minmax(0,1fr)); }.form-grid label { display: flex; min-width: 0; flex-direction: column; gap: 6px; }.form-grid .full { grid-column: 1 / -1; }.input-suffix { position: relative; }.input-suffix span { position: absolute; top: 50%; right: 12px; color: var(--muted); transform: translateY(-50%); }.input-suffix input { padding-right: 45px; }.error { color: var(--red); font-size: 10px; }.error.block { margin-top: 10px; }.dropzone { display: flex; min-height: 170px; align-items: center; justify-content: center; flex-direction: column; border: 1.5px dashed #b8c9c2; border-radius: 14px; background: #f9fbfa; cursor: pointer; text-align: center; }.dropzone.dragover { border-color: var(--forest); background: #eff7f4; }.dropzone input { position: absolute; width: 1px; height: 1px; opacity: 0; }.dropzone small { margin: 3px 0 10px; color: var(--muted); font-weight: 400; }.dropzone b { padding: 5px 10px; border-radius: 99px; color: var(--forest); background: var(--mint); font-size: 10px; }.upload-icon { display: grid; width: 38px; height: 38px; margin-bottom: 8px; place-items: center; border-radius: 10px; color: var(--forest); background: var(--mint); font-size: 22px; }.photo-guidance { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 10px; }.photo-guidance span { padding: 7px; border-radius: 7px; color: var(--muted); background: #f2f4f2; font-size: 9px; text-align: center; }.check-list { margin: 18px 0; padding: 0; list-style: none; }.check-list li { position: relative; padding: 7px 0 7px 22px; color: var(--muted); font-size: 12px; }.check-list li::before { position: absolute; left: 0; color: var(--forest); content: "✓"; font-weight: 800; }.rule-box { display: flex; gap: 11px; margin: 17px 0; padding: 13px; border-radius: 10px; background: #edf6f2; }.rule-box > span { display: grid; flex: 0 0 23px; height: 23px; place-items: center; border-radius: 50%; color: white; background: var(--forest); font-size: 10px; }.rule-box p { display: flex; margin: 0; flex-direction: column; color: var(--muted); font-size: 10px; }.rule-box strong { color: var(--ink); font-size: 11px; }.fine-print { margin: 13px 0 0; font-size: 10px; text-align: center; }

.photo-gallery { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: repeat(2, 160px); gap: 8px; overflow: hidden; border-radius: var(--radius); }.gallery-photo { position: relative; overflow: hidden; padding: 0; border: 0; cursor: zoom-in; background: #dfe5e2; }.gallery-photo.featured { grid-row: 1 / 3; }.gallery-photo:nth-child(n+6) { display: none; }.gallery-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s; }.gallery-photo:hover img { transform: scale(1.025); }.gallery-photo span { position: absolute; bottom: 8px; left: 8px; padding: 4px 8px; border-radius: 6px; color: white; background: rgba(14,36,30,.65); font-size: 9px; }.photo-proof { display: flex; align-items: center; gap: 11px; margin-top: -10px; padding: 12px 16px; border: 1px solid #d4e8df; border-radius: 11px; background: #edf7f3; }.photo-proof > span { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; color: white; background: var(--forest); font-weight: 800; }.photo-proof p { display: flex; margin: 0; flex-direction: column; font-size: 11px; }.photo-proof strong { color: var(--ink); }.detail-main > .panel { padding: 26px; }.spec-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }.spec-grid > div { display: flex; justify-content: space-between; gap: 10px; padding: 13px 0; border-top: 1px solid #edf0ec; }.spec-grid > div:nth-child(-n+2) { border-top: 0; }.spec-grid > div:nth-child(odd) { padding-right: 23px; border-right: 1px solid #edf0ec; }.spec-grid > div:nth-child(even) { padding-left: 23px; }.spec-grid dt { color: var(--muted); font-size: 11px; }.spec-grid dd { margin: 0; font-weight: 700; text-align: right; }.accent-value { color: var(--forest); }.notes-box { margin-top: 18px; padding: 15px; border-radius: 10px; background: #f5f7f5; }.notes-box p { margin: 4px 0 0; font-size: 12px; }.counter { display: grid; min-width: 28px; height: 28px; padding: 0 8px; place-items: center; border-radius: 9px; color: var(--forest); background: var(--mint); font-size: 11px; font-weight: 800; }.empty-inline { display: flex; align-items: center; gap: 12px; padding: 15px; border-radius: 11px; background: #f4f8f6; }.empty-inline > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: white; background: var(--forest); }.empty-inline p { margin: 2px 0 0; font-size: 11px; }.damage-list { display: flex; flex-direction: column; gap: 12px; }.damage-item { display: grid; grid-template-columns: 120px 1fr; gap: 16px; padding: 13px; border: 1px solid #ebdedb; border-radius: 12px; background: #fffafa; }.damage-item button { overflow: hidden; padding: 0; border: 0; border-radius: 8px; cursor: zoom-in; }.damage-item img { width: 120px; height: 100%; min-height: 100px; object-fit: cover; }.damage-item strong { display: block; margin: 6px 0 2px; font-size: 11px; }.damage-item p { margin-bottom: 6px; font-size: 12px; }.damage-item small { color: var(--muted); font-size: 10px; }.damage-form { margin-top: 16px; border-top: 1px solid var(--line); padding-top: 16px; }.damage-form summary { width: fit-content; list-style: none; }.damage-form form { margin-top: 16px; }.damage-form .button.danger { margin-top: 14px; }.file-field input { padding: 8px; }.file-field small { color: var(--muted); font-weight: 400; }.transport-card h2 { font-size: 21px; }.route-mini { display: flex; flex-direction: column; margin: 20px 0; }.route-mini > span { display: grid; grid-template-columns: 12px 1fr; column-gap: 9px; }.route-mini i { grid-row: 1 / 3; width: 9px; height: 9px; margin-top: 4px; border: 2px solid var(--forest); border-radius: 50%; }.route-mini small, .route-mini strong { grid-column: 2; }.route-mini small { color: var(--muted); font-size: 9px; text-transform: uppercase; }.route-mini strong { font-size: 11px; }.route-mini > b { width: 1px; height: 25px; margin-left: 4px; background: #b7cbc4; }.transport-history { padding: 20px; }.transport-history a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 0; border-top: 1px solid var(--line); }.transport-history a span:first-child { display: flex; flex-direction: column; }.transport-history small { color: var(--muted); font-size: 10px; }.delete-form { text-align: center; }
.lightbox { width: min(1000px, 92vw); padding: 0; border: 0; border-radius: 16px; background: #10231f; box-shadow: 0 30px 90px rgba(0,0,0,.35); }.lightbox::backdrop { background: rgba(7,20,17,.78); backdrop-filter: blur(5px); }.lightbox img { width: 100%; max-height: 82vh; object-fit: contain; }.lightbox button { position: absolute; top: 10px; right: 10px; z-index: 1; width: 36px; height: 36px; border: 0; border-radius: 50%; color: white; background: rgba(0,0,0,.55); cursor: pointer; font-size: 22px; }

.summary-bike { display: flex; align-items: center; gap: 11px; margin: 16px 0; padding-bottom: 16px; border-bottom: 1px solid var(--line); }.summary-bike img { width: 64px; height: 48px; border-radius: 8px; object-fit: cover; }.summary-bike span { display: flex; flex-direction: column; }.summary-bike small { color: var(--muted); }.order-summary dl, .invoice-card dl { margin: 0; }.order-summary dl div, .invoice-card dl div { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; }.order-summary dt, .invoice-card dt { color: var(--muted); font-size: 11px; }.order-summary dd, .invoice-card dd { margin: 0; font-size: 11px; font-weight: 700; }.estimate { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 18px 0 0; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.estimate span { color: var(--muted); font-size: 11px; }.estimate strong { color: var(--forest); font-family: "Manrope"; font-size: 20px; }
.table-panel { overflow: hidden; }.responsive-table { overflow-x: auto; }table { width: 100%; border-collapse: collapse; }th { padding: 13px 17px; color: var(--muted); background: #f5f7f5; font-size: 9px; letter-spacing: .09em; text-align: left; text-transform: uppercase; }td { padding: 15px 17px; border-top: 1px solid #edf0ec; vertical-align: middle; }td > strong, td > small { display: block; }td > small { margin-top: 2px; color: var(--muted); font-size: 10px; }.route-cell { display: flex; max-width: 250px; flex-direction: column; color: #4d635d; font-size: 10px; }.route-cell i { color: var(--amber); font-style: normal; }.row-action { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; color: var(--forest); background: var(--mint); font-size: 20px; }.empty-state { display: flex; min-height: 270px; align-items: center; justify-content: center; flex-direction: column; padding: 30px; text-align: center; }.empty-state > span { display: grid; width: 48px; height: 48px; margin-bottom: 12px; place-items: center; border-radius: 14px; color: var(--forest); background: var(--mint); font-size: 21px; }.empty-state p { margin-bottom: 15px; }.empty-state.small { min-height: 210px; padding: 10px; }
.route-hero { display: grid; grid-template-columns: 1fr minmax(150px,.7fr) 1fr; align-items: center; gap: 20px; margin-bottom: 20px; padding: 25px 30px; border-radius: var(--radius); color: white; background: var(--ink); }.route-hero > div { display: grid; grid-template-columns: auto 1fr; gap: 2px 12px; }.route-pin { display: grid; grid-row: 1 / 3; width: 37px; height: 37px; place-items: center; border-radius: 50%; color: var(--ink); background: var(--amber); font-weight: 800; }.route-pin.end { color: white; background: var(--forest); outline: 2px solid #6a9d8e; }.route-hero small, .route-hero strong { grid-column: 2; }.route-hero small { color: #a3b9b2; font-size: 10px; }.route-hero strong { font-size: 12px; }.route-distance { display: flex; align-items: center; gap: 9px; color: var(--amber); font-size: 10px; }.route-distance i { flex: 1; border-top: 1px dashed #759189; }.event-timeline { margin: 0; padding: 0; list-style: none; }.event-timeline li { position: relative; display: grid; grid-template-columns: 30px 1fr; gap: 13px; padding-bottom: 22px; }.event-timeline li:not(:last-child)::after { position: absolute; top: 26px; bottom: 2px; left: 14px; width: 1px; content: ""; background: #d7dfdc; }.event-dot { z-index: 1; display: grid; width: 30px; height: 30px; place-items: center; border: 7px solid #edf1ef; border-radius: 50%; color: white; background: currentColor; font-size: 8px; }.event-timeline li.current .event-dot { border-width: 0; background: var(--forest); }.event-timeline .title-line { justify-content: space-between; }.event-timeline time { color: var(--muted); font-size: 10px; }.event-timeline p { margin: 3px 0; font-size: 12px; }.event-timeline small { color: #8c9995; font-size: 9px; }.invoice-card > p { margin-bottom: 20px; }

.tab-nav { display: flex; gap: 4px; margin-bottom: 23px; overflow-x: auto; border-bottom: 1px solid #dbe0dd; }.tab-nav a { position: relative; padding: 11px 14px 13px; color: var(--muted); font-size: 12px; font-weight: 700; white-space: nowrap; }.tab-nav a.active { color: var(--forest); }.tab-nav a.active::after { position: absolute; right: 10px; bottom: -1px; left: 10px; height: 2px; content: ""; background: var(--forest); }.section-heading { display: flex; align-items: center; justify-content: space-between; margin: 28px 0 15px; }.section-heading h2 { margin-bottom: 2px; }.section-heading p { margin: 0; font-size: 12px; }.inline-form { display: flex; align-items: center; gap: 7px; }.inline-form select { min-width: 125px; }.mono { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 11px; }.photo-count.invalid { color: var(--red); }.admin-cards { display: grid; gap: 14px; }.admin-transport-card { padding: 22px; }.card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }.card-top h2 { margin-bottom: 2px; }.card-top p { margin: 0; font-size: 11px; }.transport-route-line { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: center; margin: 18px 0; padding: 14px; border-radius: 10px; background: #f5f7f5; }.transport-route-line span { display: flex; min-width: 0; flex-direction: column; }.transport-route-line small { color: var(--muted); font-size: 9px; text-transform: uppercase; }.transport-route-line strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.transport-route-line b { color: var(--amber); }.admin-update-form { display: grid; grid-template-columns: .8fr 1fr .65fr 1.4fr auto; gap: 10px; align-items: end; margin-bottom: 10px; }.admin-update-form label { display: flex; flex-direction: column; gap: 4px; }.damage-admin-grid { grid-template-columns: repeat(2, 1fr); }.damage-admin-card { display: grid; grid-template-columns: 150px 1fr; gap: 17px; padding: 14px; }.damage-admin-card > img { width: 150px; height: 100%; min-height: 160px; border-radius: 10px; object-fit: cover; }.damage-admin-card strong { display: block; margin-top: 13px; }.damage-admin-card p { margin: 3px 0 7px; font-size: 12px; }.damage-admin-card small { color: var(--muted); font-size: 10px; }.damage-admin-card form { margin-top: 12px; }.quick-actions { display: flex; flex-direction: column; }.quick-actions > a { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 10px; padding: 13px 0; border-top: 1px solid var(--line); }.quick-actions > a > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; color: var(--forest); background: var(--mint); }.quick-actions div { display: flex; flex-direction: column; }.quick-actions small { color: var(--muted); font-size: 10px; }.quick-actions b { color: #9caaa5; font-size: 20px; }.settings-grid { display: grid; gap: 15px; }.settings-card { padding: 23px; }.settings-card .form-grid { margin-bottom: 17px; }.settings-heading { margin-top: 35px; }.switch { display: inline-flex; cursor: pointer; }.switch input { position: absolute; opacity: 0; }.switch span { position: relative; display: block; width: 39px; height: 22px; border-radius: 99px; background: #cfd6d3; transition: .18s; }.switch span::after { position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; content: ""; background: white; box-shadow: 0 1px 3px rgba(0,0,0,.15); transition: .18s; }.switch input:checked + span { background: var(--forest); }.switch input:checked + span::after { transform: translateX(17px); }.entity-chip { padding: 5px 8px; border-radius: 7px; color: var(--forest); background: var(--mint); font-size: 10px; font-weight: 800; }.narrow-input { max-width: 70px; }

.flash-stack { position: fixed; top: 18px; right: 24px; z-index: 100; display: flex; width: min(420px, calc(100vw - 32px)); flex-direction: column; gap: 8px; }.flash { display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 9px; padding: 13px 14px; border: 1px solid #cee1d9; border-radius: 11px; background: white; box-shadow: var(--shadow); font-size: 12px; font-weight: 600; }.flash > span { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; color: white; background: var(--forest); }.flash.warning > span { background: #c8892c; }.flash.error > span { background: var(--red); }.flash button { border: 0; color: #9aa6a2; background: transparent; cursor: pointer; font-size: 18px; }.form-alert { margin-bottom: 14px; padding: 11px 13px; border: 1px solid #ebcbc7; border-radius: 9px; color: #a6423b; background: #fbefed; font-size: 12px; }

.guest-content { min-height: 100vh; }.auth-page { display: grid; min-height: 100vh; grid-template-columns: minmax(430px, .95fr) minmax(520px, 1.05fr); }.auth-story { position: relative; display: flex; overflow: hidden; padding: 40px clamp(35px, 5vw, 75px); flex-direction: column; color: white; background: radial-gradient(circle at 85% 20%, rgba(50,130,104,.5), transparent 35%), linear-gradient(145deg, #102f29, #17483c); }.auth-story::before { position: absolute; right: -180px; bottom: -210px; width: 570px; height: 570px; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; content: ""; box-shadow: 0 0 0 75px rgba(255,255,255,.022), 0 0 0 150px rgba(255,255,255,.018); }.brand.light .brand-mark { color: var(--ink); }.auth-copy { position: relative; z-index: 1; max-width: 560px; margin: auto 0 35px; }.auth-copy h1 { margin-bottom: 22px; font-size: clamp(39px, 4.7vw, 66px); line-height: 1.03; }.auth-copy h1 em { color: var(--amber); font-style: normal; }.auth-copy > p { max-width: 500px; color: #b6cbc4; font-size: 16px; }.auth-points { display: flex; gap: 28px; margin-top: 35px; }.auth-points span { display: flex; align-items: baseline; gap: 7px; color: #b6cbc4; font-size: 11px; }.auth-points b { color: white; font-family: "Manrope"; font-size: 25px; }.route-card { position: relative; z-index: 1; width: min(470px, 100%); padding: 17px 20px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(255,255,255,.07); backdrop-filter: blur(8px); }.route-card > div:not(.route-line) { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 8px; font-weight: 700; }.route-card i { width: 210px; border-top: 1px dashed #799a90; }.route-card b { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; color: var(--ink); background: var(--amber); font-size: 10px; }.route-card b.outline { border: 1px solid #73988c; color: white; background: transparent; }.route-line { display: flex; justify-content: space-between; padding: 8px 31px 8px 0; color: #91aea5; font-size: 9px; }.route-line strong { color: var(--amber); }.auth-panel { display: flex; align-items: center; justify-content: center; padding: 45px clamp(35px, 6vw, 90px); background: #fbfbf8; }.auth-form-wrap { width: min(470px, 100%); }.auth-form-wrap h2 { margin-bottom: 6px; font-size: 34px; }.auth-form-wrap > .muted { margin-bottom: 26px; }.password-field { position: relative; display: block; }.password-field input { padding-right: 55px; }.password-field button { position: absolute; top: 50%; right: 10px; border: 0; color: var(--forest); background: transparent; transform: translateY(-50%); cursor: pointer; font-size: 10px; font-weight: 800; }.demo-box { display: flex; margin-top: 20px; padding: 12px; flex-direction: column; gap: 6px; border-radius: 11px; background: #eff4f1; }.demo-box > span { margin: 0 4px 3px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.demo-box button { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border: 1px solid transparent; border-radius: 8px; color: var(--ink); background: transparent; cursor: pointer; text-align: left; }.demo-box button:hover { border-color: #d5e0dc; background: white; }.demo-box small { color: var(--muted); font-size: 9px; }.auth-switch { margin: 19px 0 0; font-size: 12px; text-align: center; }.auth-switch a { color: var(--forest); font-weight: 800; }.form-stack.compact { gap: 13px; }.form-stack.compact .form-grid { gap: 11px; }.back-link + .eyebrow { margin-top: 15px; }.error-page { display: flex; min-height: 100vh; align-items: center; justify-content: center; flex-direction: column; padding: 30px; text-align: center; }.error-page .brand { margin-bottom: 50px; }.error-code { color: var(--amber); font-family: "Manrope"; font-size: 90px; font-weight: 800; line-height: 1; opacity: .8; }.error-page p { max-width: 500px; }

@media (max-width: 1200px) {
    .stat-grid.five { grid-template-columns: repeat(3, 1fr); }.bike-grid { grid-template-columns: repeat(2, 1fr); }.admin-update-form { grid-template-columns: repeat(3, 1fr); }.admin-update-form .wide { grid-column: span 2; }.admin-update-form .button { grid-column: 3; }.damage-admin-grid { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
    .app-shell { padding: 0; }.sidebar { transform: translateX(-101%); transition: transform .2s; box-shadow: 20px 0 50px rgba(10,30,24,.18); }.sidebar.open { transform: translateX(0); }.mobile-header { position: sticky; top: 0; z-index: 20; display: flex; height: 62px; align-items: center; justify-content: space-between; padding: 0 18px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.92); backdrop-filter: blur(10px); }.mobile-header .brand-mark { width: 38px; height: 38px; flex-basis: 38px; font-size: 16px; }.mobile-header .brand { font-size: 16px; }.mobile-header .brand-name strong { font-size: 10px; letter-spacing: .025em; }.main-content { padding: 30px 22px 60px; }.stat-grid.four { grid-template-columns: repeat(2, 1fr); }.dashboard-grid { grid-template-columns: 1fr; }.detail-layout { grid-template-columns: 1fr; }.sticky-card { position: static; }.auth-page { grid-template-columns: 1fr; }.auth-story { display: none; }.auth-panel { min-height: 100vh; }.bike-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
    .main-content { padding: 24px 14px 50px; }.page-header { align-items: stretch; flex-direction: column; }.page-header > .button, .header-actions .button { flex: 1; }.header-actions { width: 100%; }.welcome-header h1 { font-size: 33px; }.stat-grid.four, .stat-grid.five { grid-template-columns: repeat(2, 1fr); }.stat-card { align-items: flex-start; padding: 14px; }.stat-icon { flex-basis: 34px; height: 34px; }.dashboard-grid .panel, .detail-main > .panel { padding: 18px; }.bike-row { grid-template-columns: 54px 1fr auto; }.bike-row img { width: 54px; }.bike-row .photo-count, .bike-row .badge { display: none; }.bike-grid { grid-template-columns: 1fr; }.bike-photo { height: 230px; }.filter-bar { align-items: stretch; flex-direction: column; }.form-section { grid-template-columns: 1fr; padding: 18px; }.form-section .form-grid, .form-section .dropzone, .form-section .photo-guidance, .form-section .error.block { grid-column: 1; }.section-number { margin-bottom: 10px; }.form-grid.two, .form-grid.three { grid-template-columns: 1fr; }.form-grid .full { grid-column: auto; }.photo-guidance { grid-template-columns: repeat(2,1fr); }.service-banner { grid-template-columns: auto 1fr; padding: 20px; }.service-banner > .button { grid-column: 1 / -1; grid-row: auto; }.service-banner::after { display: none; }.photo-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 220px 110px; }.gallery-photo.featured { grid-column: 1 / -1; grid-row: 1; }.gallery-photo:nth-child(n+4) { display: none; }.spec-grid { grid-template-columns: 1fr; }.spec-grid > div, .spec-grid > div:nth-child(odd), .spec-grid > div:nth-child(even) { padding: 12px 0; border-right: 0; border-top: 1px solid #edf0ec; }.spec-grid > div:first-child { border-top: 0; }.damage-item { grid-template-columns: 1fr; }.damage-item img { width: 100%; height: 160px; }.route-hero { grid-template-columns: 1fr; }.route-distance { padding-left: 14px; transform: rotate(90deg); transform-origin: left center; width: 70px; }.route-distance b { transform: rotate(-90deg); }.admin-update-form { grid-template-columns: 1fr; }.admin-update-form .wide, .admin-update-form .button { grid-column: auto; }.damage-admin-card { grid-template-columns: 1fr; }.damage-admin-card > img { width: 100%; height: 190px; }.auth-panel { padding: 35px 20px; }.auth-form-wrap h2 { font-size: 30px; }.flash-stack { top: 70px; right: 16px; }.inline-form { align-items: stretch; flex-direction: column; }.route-card i { width: 100px; }
}
@media (max-width: 520px) { .brand-tagline { display: none; } }

/* Centre de sécurité administrateur */
.stat-grid.six { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.security-events-panel { margin-bottom: 20px; padding: 25px; }
@media (max-width: 1200px) { .stat-grid.six { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 680px) { .stat-grid.six { grid-template-columns: repeat(2, minmax(0, 1fr)); }.security-events-panel { padding: 18px; } }

/* Marketplace, acheteur et application chauffeur */
.public-header { position: sticky; top: 0; z-index: 25; display: flex; max-width: 1380px; height: 76px; align-items: center; justify-content: space-between; margin: 0 auto; padding: 0 28px; background: rgba(245,244,239,.94); backdrop-filter: blur(12px); }
.public-header nav { display: flex; align-items: center; gap: 25px; font-size: 12px; font-weight: 700; }
.public-header[data-mfs-header] { gap: 24px; }
.public-header[data-mfs-header] .brand { flex-shrink: 0; }
@media (max-width:1000px) {
    .public-header[data-mfs-header] { height: auto; min-height: 76px; flex-wrap: wrap; gap: 10px 24px; padding-top: 14px; padding-bottom: 14px; }
    .public-header[data-mfs-header] nav { max-width: 100%; flex-wrap: wrap; gap: 8px 20px; }
}
@media (max-width:700px) {
    .public-header[data-mfs-header] { position: relative; padding: 14px 15px; }
    .public-header[data-mfs-header] nav { width: 100%; font-size: 13px; }
    .public-header[data-mfs-header] nav > a:not(.button) { display: inline-flex; align-items: center; min-height: 36px; }
}
.market-hero { display: grid; max-width: 1320px; min-height: 400px; grid-template-columns: 1.35fr .65fr; align-items: end; gap: 45px; margin: 12px auto 55px; padding: clamp(38px,6vw,78px); border-radius: 26px; color: white; background: radial-gradient(circle at 85% 15%,rgba(50,142,113,.52),transparent 35%),linear-gradient(135deg,#102f29,#185746); overflow: hidden; }
.market-hero.inside-app { min-height: 330px; margin-top: 0; }
.market-hero h1 { max-width: 780px; font-size: clamp(40px,5vw,69px); }.market-hero h1 em { color: var(--amber); font-style: normal; }.market-hero p { max-width: 700px; color: #bdd0ca; font-size: 16px; }.market-hero form { display: flex; max-width: 650px; gap: 8px; margin-top: 28px; }.market-hero .search-field input { min-height: 50px; border: 0; }.market-promise { display: flex; flex-direction: column; gap: 11px; }.market-promise > span { display: flex; align-items: center; gap: 13px; padding: 15px 17px; border: 1px solid rgba(255,255,255,.13); border-radius: 13px; color: #c3d5cf; background: rgba(255,255,255,.06); font-size: 12px; }.market-promise > span b { min-width: 32px; color: var(--amber); font-family: "Manrope"; font-size: 25px; }
.market-section { max-width: 1320px; margin: 0 auto 70px; padding: 0 28px; }.main-content > .market-section { padding: 0; }.market-grid { grid-template-columns: repeat(3,1fr); }.market-bike-card .seller-type { position: absolute; top: 13px; left: 13px; padding: 5px 9px; border-radius: 99px; color: white; background: rgba(20,52,45,.78); backdrop-filter: blur(5px); font-size: 10px; font-weight: 800; }.market-price { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin: 15px 0; }.market-price strong { color: var(--forest); font-family: "Manrope"; font-size: 22px; }.market-price span { max-width: 120px; color: var(--muted); font-size: 9px; text-align: right; }.public-footer { display: flex; max-width: 1320px; align-items: center; justify-content: space-between; gap: 20px; margin: 0 auto; padding: 28px; border-top: 1px solid var(--line); }.public-footer span { font-family: "Manrope"; font-weight: 800; }.public-footer p { margin: 0; font-size: 11px; }.public-footer a { color: var(--forest); font-weight: 700; }.market-detail-header,.market-detail { max-width: 1320px; margin-right: auto; margin-left: auto; }.guest-content > .market-detail-header { margin-top: 40px; }.guest-content > .market-detail { margin-bottom: 70px; }.transport-included { display: flex; align-items: center; gap: 17px; }.transport-included h2 { margin-bottom: 3px; }.transport-included p { margin-bottom: 0; font-size: 12px; }.purchase-card .purchase-price { display: block; margin: 3px 0 5px; color: var(--forest); font-family: "Manrope"; font-size: 34px; }.purchase-card > p { font-size: 12px; }
.public-price-hidden{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:.48em .72em;border:1px solid #cfe0d8;border-radius:999px;color:#315d50!important;background:linear-gradient(180deg,#fff,#edf5f1);box-shadow:0 5px 16px rgba(18,65,52,.08);font-size:.78rem!important;font-weight:750!important;line-height:1.25;letter-spacing:0;text-transform:none}.market-price .public-price-hidden{font-family:"Manrope";font-size:.78rem!important}.purchase-card .purchase-price.public-price-hidden{margin:8px 0 9px;font-size:.86rem!important}.engraving-price .public-price-hidden,.air-clean-price .public-price-hidden,.detailing-price-card .public-price-hidden{color:#fff!important;border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.12);box-shadow:none}.detailing-formula-prices .public-price-hidden{font-size:.75rem!important}.auth-service-card .public-price-hidden{white-space:normal}
.buyer-purchases { display: flex; flex-direction: column; gap: 18px; }.buyer-purchase-card { overflow: hidden; }.buyer-bike { display: grid; grid-template-columns: 150px 1fr auto; align-items: center; gap: 20px; padding: 20px; }.buyer-bike img { width: 150px; height: 105px; border-radius: 12px; object-fit: cover; }.buyer-bike h2 { margin-bottom: 3px; }.buyer-bike p { margin: 0; font-size: 11px; }.tracking-steps { display: grid; grid-template-columns: repeat(4,1fr); padding: 18px 25px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #f8f9f7; }.tracking-steps div { position: relative; display: grid; grid-template-columns: 32px 1fr; column-gap: 10px; align-items: center; }.tracking-steps div:not(:last-child)::after { position: absolute; top: 16px; right: 10px; left: 42px; height: 2px; content: ""; background: #d9dfdc; }.tracking-steps span { z-index: 1; display: grid; grid-row: 1 / 3; width: 32px; height: 32px; place-items: center; border: 2px solid #cbd4d0; border-radius: 50%; color: #899691; background: white; font-size: 11px; font-weight: 800; }.tracking-steps .done span { border-color: var(--forest); color: white; background: var(--forest); }.tracking-steps strong { font-size: 11px; }.tracking-steps small { color: var(--muted); font-size: 9px; }.buyer-card-footer { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; }.buyer-card-footer > span { display: flex; align-items: center; gap: 8px; }.buyer-card-footer small { color: var(--muted); font-size: 10px; }
.create-driver { position: relative; margin-left: auto; }.create-driver > summary { list-style: none; }.create-driver > form { position: absolute; top: 49px; right: 0; z-index: 15; width: 430px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: 0 22px 60px rgba(18,45,38,.18); }.create-driver .form-grid { margin-bottom: 15px; }
.driver-rule-banner { display: flex; align-items: center; gap: 15px; margin-bottom: 18px; padding: 17px 20px; border-radius: 14px; color: white; background: var(--ink); }.driver-rule-banner > span { display: grid; flex: 0 0 42px; height: 42px; place-items: center; border-radius: 12px; color: var(--ink); background: var(--amber); font-family: "Manrope"; font-size: 20px; font-weight: 800; }.driver-rule-banner p { margin: 2px 0 0; color: #afc3bd; font-size: 11px; }.mission-list { display: flex; flex-direction: column; gap: 13px; }.mission-card { display: grid; grid-template-columns: 150px 1fr 170px; align-items: center; gap: 20px; padding: 14px; transition: transform .15s,box-shadow .15s; }.mission-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }.mission-card > img { width: 150px; height: 145px; border-radius: 12px; object-fit: cover; }.mission-main .title-line { justify-content: space-between; }.mission-main .eyebrow { margin: 0; }.mission-main h2 { margin: 9px 0 2px; }.mission-main > p { margin: 0; font-size: 10px; }.mission-route { display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: center; margin-top: 12px; padding-top: 11px; border-top: 1px solid var(--line); }.mission-route span { display: flex; min-width: 0; flex-direction: column; }.mission-route small { color: var(--muted); font-size: 9px; }.mission-route strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.mission-route b { color: var(--amber); }.mission-proof-count { display: flex; flex-direction: column; gap: 8px; }.mission-proof-count > span { display: flex; justify-content: space-between; padding: 9px 10px; border-radius: 9px; color: var(--muted); background: #f0f3f1; font-size: 9px; }.mission-proof-count > span.complete { color: #276b55; background: #e2f0ea; }.mission-proof-count b { font-size: 11px; }.mission-proof-count i { color: var(--forest); font-size: 25px; font-style: normal; text-align: right; }.driver-route-card { display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; align-items: center; margin-bottom: 18px; padding: 20px; }.driver-route-card > div { display: grid; grid-template-columns: 40px 1fr; column-gap: 11px; }.driver-route-card .route-pin { grid-row: 1 / 4; }.driver-route-card small,.driver-route-card strong,.driver-route-card a { grid-column: 2; }.driver-route-card small { color: var(--muted); font-size: 9px; }.driver-route-card strong { font-size: 12px; }.driver-route-card a { width: fit-content; margin-top: 4px; color: var(--forest); font-size: 10px; font-weight: 800; }.driver-route-card > b { color: var(--amber); }.driver-workflow { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }.proof-stage { padding: 22px; }.proof-stage.locked { opacity: .68; }.proof-stage > header { display: grid; grid-template-columns: 39px 1fr auto; gap: 12px; align-items: start; margin-bottom: 18px; }.proof-step { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; color: var(--forest); background: var(--mint); font-weight: 800; }.proof-stage.complete .proof-step { color: white; background: var(--forest); }.proof-stage header .eyebrow { margin-bottom: 2px; }.proof-stage header h2 { margin-bottom: 1px; }.proof-stage header p { margin: 0; font-size: 10px; }.proof-stage header > b { padding: 5px 8px; border-radius: 8px; color: var(--forest); background: var(--mint); font-size: 10px; }.camera-upload { display: flex; min-height: 190px; align-items: center; justify-content: center; flex-direction: column; margin-bottom: 12px; border: 2px dashed #a9c5bb; border-radius: 14px; background: #f1f8f5; cursor: pointer; text-align: center; }.camera-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; }.camera-upload > span { display: grid; width: 46px; height: 46px; margin-bottom: 8px; place-items: center; border-radius: 50%; color: white; background: var(--forest); font-size: 22px; }.camera-upload small { margin: 3px 0 10px; color: var(--muted); font-weight: 400; }.camera-upload b { padding: 5px 9px; border-radius: 99px; color: var(--forest); background: white; font-size: 9px; }.proof-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; margin-bottom: 13px; }.proof-grid button { position: relative; overflow: hidden; padding: 0; border: 0; border-radius: 9px; background: #dde5e1; cursor: zoom-in; }.proof-grid img { width: 100%; height: 90px; object-fit: cover; }.proof-grid button span { position: absolute; top: 5px; right: 5px; display: grid; width: 19px; height: 19px; place-items: center; border-radius: 50%; color: white; background: var(--forest); font-size: 9px; }.proof-validated { padding: 11px; border-radius: 9px; color: #24664f; background: #e2f1eb; font-size: 11px; font-weight: 700; text-align: center; }.proof-locked { padding: 14px; border-radius: 9px; color: var(--muted); background: #f1f3f2; font-size: 11px; text-align: center; }.proof-total { padding: 6px 10px; border-radius: 9px; color: var(--forest); background: var(--mint); font-weight: 800; }.proof-summary { display: grid; grid-template-columns: 1fr 70px 1fr; align-items: center; margin-bottom: 20px; }.proof-summary > div { display: grid; grid-template-columns: 35px 1fr; column-gap: 10px; align-items: center; }.proof-summary > div > span { display: grid; grid-row: 1 / 3; width: 34px; height: 34px; place-items: center; border: 2px solid #ccd6d2; border-radius: 50%; color: var(--muted); font-weight: 800; }.proof-summary > div.complete > span { border-color: var(--forest); color: white; background: var(--forest); }.proof-summary strong { font-size: 11px; }.proof-summary small { color: var(--muted); font-size: 9px; }.proof-summary > i { height: 2px; background: var(--line); }.proof-view-groups { display: flex; flex-direction: column; gap: 16px; }.proof-view-groups h3 { font-size: 12px; }
@media (max-width:1100px) { .market-grid { grid-template-columns:repeat(2,1fr); }.driver-workflow { grid-template-columns:1fr; }.mission-card { grid-template-columns:120px 1fr; }.mission-card > img { width:120px; }.mission-proof-count { grid-column:1 / -1; flex-direction:row; }.mission-proof-count > span { flex:1; }.admin-update-form { grid-template-columns:repeat(3,1fr); } }
@media (max-width:700px) { .public-header { height:64px; padding:0 15px; }.public-header nav > a:not(.button) { display:none; }.market-hero { min-height:auto; grid-template-columns:1fr; margin:0 10px 36px; padding:32px 22px; border-radius:18px; }.market-hero h1 { font-size:39px; }.market-hero form { flex-direction:column; }.market-promise { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }.market-promise > span { align-items:flex-start; flex-direction:column; padding:10px; font-size:9px; }.market-promise > span b { font-size:20px; }.market-section { padding:0 14px; }.market-grid { grid-template-columns:1fr; }.guest-content > .market-detail-header,.guest-content > .market-detail { margin-right:14px; margin-left:14px; }.public-footer { align-items:flex-start; flex-direction:column; padding:22px 14px; }.buyer-bike { grid-template-columns:90px 1fr; gap:12px; padding:14px; }.buyer-bike img { width:90px; height:80px; }.buyer-bike > .badge { grid-column:1 / -1; }.tracking-steps { grid-template-columns:1fr; gap:13px; padding:16px; }.tracking-steps div:not(:last-child)::after { top:31px; bottom:-13px; left:15px; width:2px; height:auto; }.buyer-card-footer { align-items:stretch; flex-direction:column; gap:12px; }.mission-card { grid-template-columns:82px 1fr; gap:11px; }.mission-card > img { width:82px; height:95px; }.mission-route { grid-column:1 / -1; grid-template-columns:1fr; }.mission-route b { transform:rotate(90deg); }.mission-proof-count { grid-column:1 / -1; }.driver-route-card { grid-template-columns:1fr; }.driver-route-card > b { transform:rotate(90deg); }.proof-stage { padding:16px; }.proof-grid { grid-template-columns:repeat(2,1fr); }.proof-grid img { height:120px; }.proof-summary { grid-template-columns:1fr; gap:11px; }.proof-summary > i { width:2px; height:18px; margin-left:16px; }.transport-included { align-items:flex-start; }.market-detail-header { margin-top:20px; }.create-driver { width:100%; margin-left:0; }.create-driver > summary { width:100%; }.create-driver > form { position:static; width:100%; margin-top:9px; }.section-heading { align-items:stretch; flex-direction:column; } }

/* Paiement direct vendeur et règlement du transport */
.bank-registration { margin: 5px 0; padding: 16px; border: 1px solid #d8e3df; border-radius: 12px; background: #f3f8f6; }.bank-registration legend { padding: 0 6px; color: var(--forest); font-weight: 800; }.bank-registration > p { margin: 0 0 13px; color: var(--muted); font-size: 10px; }.bank-registration .form-grid { margin: 0; }.seller-bank-preview { display: flex; margin: 15px 0; padding: 14px; flex-direction: column; gap: 3px; border: 1px solid #cfe0da; border-radius: 11px; background: #f0f7f4; }.seller-bank-preview small { color: var(--muted); font-size: 9px; text-transform: uppercase; }.seller-bank-preview strong { color: var(--forest); }.seller-bank-preview span { font-family: ui-monospace,Consolas,monospace; font-size: 10px; }.bank-settings-form { padding: 24px; }.security-bank-card { padding: 24px; }.security-bank-card > span { display: grid; width: 42px; height: 42px; margin-bottom: 14px; place-items: center; border-radius: 12px; color: white; background: var(--forest); font-weight: 800; }.security-bank-card > small { display: block; margin-top: 15px; color: var(--muted); font-size: 9px; }.transport-payment-trace { display: flex; margin: 12px 0; padding: 12px; flex-direction: column; border-radius: 9px; background: #edf6f2; }.transport-payment-trace small { color: var(--muted); font-size: 9px; }.transport-payment-trace strong { color: var(--forest); font-family: ui-monospace,Consolas,monospace; font-size: 11px; }.transport-payment-trace span { font-size: 9px; }.payment-tracking { grid-template-columns: repeat(5,1fr); }.payment-flow-panel { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(320px,.8fr); gap: 18px; padding: 20px; background: #fbfcfa; }.bank-transfer-card { display: grid; grid-template-columns: 44px 1fr; gap: 14px; padding: 18px; border: 1px solid #d8e5e0; border-radius: 13px; background: white; }.payment-step-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; color: white; background: var(--forest); font-size: 18px; font-weight: 800; }.bank-transfer-card h3 { margin: 3px 0 12px; }.bank-transfer-card dl { display: grid; gap: 6px; margin: 0; }.bank-transfer-card dl div { display: grid; grid-template-columns: 55px 1fr; gap: 10px; }.bank-transfer-card dt { color: var(--muted); font-size: 9px; text-transform: uppercase; }.bank-transfer-card dd { margin: 0; overflow-wrap: anywhere; font-family: ui-monospace,Consolas,monospace; font-size: 11px; font-weight: 700; }.bank-transfer-card p { margin: 11px 0 0; color: var(--forest); font-size: 10px; font-weight: 700; }.payment-proof-form { display: flex; justify-content: center; flex-direction: column; gap: 12px; padding: 18px; border: 1px dashed #adc9bf; border-radius: 13px; background: #eef7f3; }.payment-proof-form label { display: flex; flex-direction: column; gap: 7px; }.payment-proof-form input { background: white; }.payment-proof-form small { color: var(--muted); font-size: 9px; }.proof-waiting,.waiting-buyer,.transport-paid-note,.proof-received { display: flex; align-items: center; gap: 12px; padding: 16px; border-radius: 12px; background: #eaf5f0; }.proof-waiting > span,.waiting-buyer > span,.transport-paid-note > span,.proof-received > span { display: grid; flex: 0 0 34px; height: 34px; place-items: center; border-radius: 50%; color: white; background: var(--forest); font-weight: 800; }.proof-waiting div,.waiting-buyer div,.transport-paid-note div,.proof-received div { display: flex; min-width: 0; flex-direction: column; }.proof-waiting small,.waiting-buyer small,.transport-paid-note small { color: var(--muted); font-size: 10px; }.proof-waiting a,.proof-received a { margin-top: 4px; color: var(--forest); font-size: 10px; font-weight: 800; }.payment-warning { grid-column: 1 / -1; padding: 12px 16px; border-radius: 10px; color: #773c32; background: #fae9e5; }.payment-warning p { margin: 3px 0 0; font-size: 11px; }.seller-payment-rule { display: grid; grid-template-columns: 38px 1fr auto 38px 1fr auto 38px 1fr; align-items: center; gap: 12px; margin-bottom: 20px; padding: 17px 20px; border-radius: 14px; color: white; background: var(--ink); }.seller-payment-rule > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 10px; color: var(--ink); background: var(--amber); font-weight: 800; }.seller-payment-rule p { display: flex; margin: 0; flex-direction: column; color: #b3c6c0; font-size: 9px; }.seller-payment-rule strong { color: white; font-size: 11px; }.seller-payment-rule i { color: var(--amber); font-style: normal; }.seller-sales-list { display: flex; flex-direction: column; gap: 15px; }.seller-sale-card { display: grid; grid-template-columns: 180px 1fr; gap: 20px; padding: 16px; }.seller-sale-card.attention { border: 2px solid #e3bd6a; }.seller-sale-card > img { width: 180px; height: 100%; min-height: 190px; border-radius: 12px; object-fit: cover; }.seller-sale-main .title-line { justify-content: space-between; }.seller-sale-main h2 { margin: 4px 0 2px; }.seller-sale-main p { margin: 0; font-size: 10px; }.sale-amounts { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 14px 0; }.sale-amounts > div { display: flex; padding: 10px; flex-direction: column; border-radius: 9px; background: #f4f7f5; }.sale-amounts dt { color: var(--muted); font-size: 9px; }.sale-amounts dd { margin: 2px 0 0; font-size: 11px; font-weight: 800; }.seller-proof-actions { display: grid; grid-template-columns: minmax(240px,.8fr) minmax(330px,1.2fr); gap: 12px; padding: 14px; border-radius: 12px; background: #fbf5e8; }.seller-proof-actions form { display: flex; flex-direction: column; gap: 10px; }.charge-confirm { display: flex; align-items: flex-start; gap: 9px; padding: 10px; border-radius: 9px; background: white; font-size: 10px; }.charge-confirm input { width: auto; margin-top: 2px; }.reject-proof { grid-column: 1 / -1; }.reject-proof summary { color: #88483d; cursor: pointer; font-size: 10px; font-weight: 800; }.reject-proof form { display: grid; grid-template-columns: 1fr auto; align-items: end; margin-top: 10px; }.reject-proof label { display: flex; flex-direction: column; gap: 4px; }.reject-proof textarea { min-height: 60px; }.transport-paid-note { justify-content: flex-start; }.transport-paid-note .button { margin-left: auto; }.waiting-buyer { background: #f1f3f2; }.waiting-buyer > span { color: var(--muted); background: #d9dfdc; }
.demo-payment-note { color: var(--muted); font-size: 9px; line-height: 1.45; }
@media (max-width:1000px) { .payment-tracking { grid-template-columns:1fr; gap:13px; }.payment-tracking div:not(:last-child)::after { top:31px; bottom:-13px; left:15px; width:2px; height:auto; }.payment-flow-panel { grid-template-columns:1fr; }.seller-payment-rule { grid-template-columns:38px 1fr; }.seller-payment-rule i { display:none; }.seller-sale-card { grid-template-columns:130px 1fr; }.seller-sale-card > img { width:130px; }.seller-proof-actions { grid-template-columns:1fr; } }
@media (max-width:700px) { .bank-registration .form-grid { grid-template-columns:1fr; }.payment-flow-panel { padding:14px; }.bank-transfer-card { grid-template-columns:1fr; }.seller-sale-card { grid-template-columns:1fr; }.seller-sale-card > img { width:100%; height:180px; }.sale-amounts { grid-template-columns:1fr; }.seller-proof-actions { padding:10px; }.transport-paid-note { align-items:flex-start; flex-wrap:wrap; }.transport-paid-note .button { width:100%; margin-left:0; }.reject-proof form { grid-template-columns:1fr; } }

.password-reset-page{display:grid;min-height:100vh;place-items:center;padding:32px;background:linear-gradient(145deg,#102f28,#1a5647)}.password-reset-card{width:min(560px,100%);padding:34px}.password-reset-card>.brand{display:inline-flex;margin-bottom:38px}.password-reset-card h1{margin:8px 0 12px}.password-reset-card>p{margin:0 0 24px;color:var(--muted);line-height:1.55}.password-reset-card .form-alert{margin-bottom:18px}
.two-factor-card{position:relative}.two-factor-shield{display:grid;width:48px;height:48px;margin-bottom:18px;place-items:center;border-radius:15px;color:white;background:var(--forest);font-size:22px;font-weight:800;box-shadow:0 9px 22px rgba(23,101,78,.2)}.two-factor-code{height:62px!important;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:30px!important;font-weight:800;letter-spacing:.32em;text-align:center}.two-factor-card .form-stack>small{margin-top:-9px;color:var(--muted);font-size:12px;line-height:1.45}.two-factor-actions{display:flex;justify-content:space-between;gap:18px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.two-factor-actions button{padding:0;border:0;background:transparent;cursor:pointer}.two-factor-local{display:flex;margin:0 0 20px;padding:14px;border:1px solid #efd39c;border-radius:11px;flex-direction:column;color:#6b4a05;background:#fff4d8}.two-factor-local span{margin:4px 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:22px;font-weight:800;letter-spacing:.12em}.two-factor-local small{font-size:11px;line-height:1.4}.two-factor-cycle{margin:20px 0 0!important;padding:11px 13px;border-radius:10px;color:var(--forest)!important;background:var(--mint);font-size:12px;font-weight:700;text-align:center}

/* Bridge Open Banking · parcours en trois paiements */
.bridge-tracking { grid-template-columns:repeat(7,minmax(0,1fr)); }
.tracking-steps > .active span { background:#285fa2; color:#fff; }
.bridge-payment-panel { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }
.bridge-payment-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.bridge-payment-heading h3 { margin:4px 0 6px; font-size:clamp(1.35rem,2vw,2rem); }
.bridge-payment-heading p { max-width:780px; margin:0; color:var(--muted); }
.bridge-payment-grid { display:grid; grid-template-columns:repeat(3,minmax(260px,1fr)); gap:12px; width:100%; padding:14px; border-radius:20px; background:#163b33; box-shadow:0 16px 38px rgba(22,59,51,.14); }
.bridge-payment-card { display:flex; flex-direction:column; min-width:0; min-height:340px; padding:22px; border:1px solid rgba(255,255,255,.16); border-radius:14px; color:#fff; background:#163b33; box-shadow:none; }
.bridge-payment-card.bridge-payment-transport { background:#225f52; }
.bridge-payment-card.paid { border-color:#79ba9e; }
.bridge-payment-card.initiated { border-color:#8db4df; }
.bridge-payment-card header { display:flex; align-items:center; gap:10px; }
.bridge-payment-card header > span { display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; border-radius:11px; background:#f7f7f3; color:#173c32; font-weight:900; }
.bridge-payment-card.bridge-payment-transport header > span { background:#efaa32; }
.bridge-payment-card.bridge-payment-accompaniment header > span { color:#fff; background:#c43d76; }
.bridge-payment-card header div { min-width:0; flex:1; }
.bridge-payment-card header small,.bridge-payment-card header h4 { display:block; margin:0; }
.bridge-payment-card header small { color:#c4d5cf; }
.bridge-payment-card header h4 { color:#fff; line-height:1.25; }
.bridge-payment-card header .badge { color:#173c32; background:#f7f7f3; }
.bridge-part-amount { display:block; margin:22px 0 16px; font-size:clamp(1.65rem,2.2vw,2rem); letter-spacing:-.04em; color:#fff; white-space:nowrap; }
.bridge-payment-card dl { display:grid; gap:7px; margin:0 0 16px; }
.bridge-payment-card dl div { display:flex; justify-content:space-between; gap:16px; padding-bottom:9px; border-bottom:1px dashed rgba(255,255,255,.2); }
.bridge-payment-card dt { color:#c4d5cf; }
.bridge-payment-card dd { margin:0; text-align:right; font-weight:700; overflow-wrap:anywhere; }
.bridge-payment-card form { margin-top:auto; }
.bridge-paid-line,.bridge-pending-line { margin-top:auto; padding:12px; border-radius:12px; font-weight:800; }
.bridge-paid-line { color:#0c684e; background:#def5e9; }
.bridge-pending-line { color:#164f89; background:#e5f0ff; }
.bridge-status-reason { display:block; margin-top:10px; color:var(--muted); }
.bridge-seller-amounts { grid-template-columns:repeat(4,minmax(0,1fr)); }
.bridge-seller-statuses { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:14px 0; }
.bridge-seller-statuses > div { display:flex; align-items:center; gap:10px; padding:12px; border:1px solid #dce5e2; border-radius:14px; background:#f9fbfa; }
.bridge-seller-statuses > div > span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#173c32; color:#fff; font-weight:900; }
.bridge-seller-statuses p { min-width:0; flex:1; margin:0; }
.bridge-seller-statuses strong,.bridge-seller-statuses small { display:block; }
.bridge-admin-card { display:grid; gap:20px; margin-bottom:24px; }
.bridge-admin-status { display:flex; align-items:center; gap:18px; }
.bridge-wordmark { font-size:2rem; font-weight:900; letter-spacing:-.08em; color:#1966d2; }
.bridge-admin-status > div { flex:1; }
.bridge-admin-status strong,.bridge-admin-status small { display:block; }
.bridge-admin-status p { margin:4px 0 0; color:var(--muted); }
.bridge-admin-checks { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.bridge-admin-checks span { display:flex; align-items:center; gap:8px; padding:12px; border-radius:12px; font-weight:700; }
.bridge-admin-checks .ok { background:#e3f7ec; color:#0b6348; }
.bridge-admin-checks .missing { background:#fff0cf; color:#73500b; }
.bridge-admin-checks b { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:currentColor; color:#fff; }
.bridge-beneficiary-form { display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:14px; }
.bridge-beneficiary-form fieldset { display:grid; grid-template-columns:1fr 1fr; gap:10px; min-width:0; padding:14px; border:1px solid #dce5e2; border-radius:14px; }
.bridge-beneficiary-form legend { padding:0 6px; font-weight:900; color:#173c32; }
.bridge-beneficiary-form label { display:grid; gap:6px; }
.bridge-admin-help { padding:14px 16px; border-left:4px solid #2a69bc; border-radius:10px; background:#eff6ff; }
.bridge-admin-help p { margin:4px 0; }
.bridge-admin-help code { overflow-wrap:anywhere; }
.bridge-sandbox-page { min-height:calc(100vh - 120px); display:grid; place-items:center; padding:40px 20px; background:radial-gradient(circle at 20% 10%,#deecff,transparent 35%),#f4f7fb; }
.bridge-sandbox-shell { width:min(680px,100%); padding:28px; border:1px solid #d8e3f2; border-radius:26px; background:#fff; box-shadow:0 28px 70px rgba(25,61,110,.14); }
.bridge-sandbox-brand { display:flex; justify-content:space-between; align-items:center; color:#1966d2; }
.bridge-sandbox-brand span { font-size:2rem; font-weight:900; letter-spacing:-.08em; }
.bridge-sandbox-brand b { padding:7px 10px; border-radius:999px; background:#e7f0ff; font-size:.7rem; letter-spacing:.08em; }
.bridge-sandbox-hero { margin:32px 0 20px; }
.bridge-sandbox-hero h1 { margin:5px 0; font-size:clamp(2rem,5vw,3.2rem); }
.bridge-sandbox-hero p { color:var(--muted); }
.bridge-sandbox-transfer { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:18px; padding:20px; border-radius:18px; background:#f4f8fd; }
.bridge-sandbox-transfer small,.bridge-sandbox-transfer strong,.bridge-sandbox-transfer em { display:block; }
.bridge-sandbox-transfer strong { margin-top:4px; font-size:1.25rem; }
.bridge-sandbox-transfer em { margin-top:5px; color:var(--muted); font-style:normal; }
.bridge-sandbox-transfer > span { font-size:1.8rem; color:#1966d2; }
.bridge-sandbox-bank { display:flex; align-items:center; gap:12px; margin:16px 0; padding:14px; border:1px solid #dce5ee; border-radius:14px; }
.bridge-sandbox-bank > span { font-size:1.6rem; }
.bridge-sandbox-bank div { flex:1; }
.bridge-sandbox-bank strong,.bridge-sandbox-bank small { display:block; }
.bridge-sandbox-bank b { color:#1966d2; }
.bridge-sandbox-cancel { display:block; margin:14px auto; text-align:center; color:var(--muted); }
.bridge-sandbox-notice { margin:18px 0 0; padding-top:16px; border-top:1px solid #e3e8ee; color:var(--muted); font-size:.85rem; }
@media (max-width:1000px) { .bridge-payment-grid,.bridge-seller-statuses { grid-template-columns:1fr; }.bridge-seller-amounts { grid-template-columns:repeat(2,minmax(0,1fr)); }.bridge-admin-checks { grid-template-columns:repeat(2,minmax(0,1fr)); }.bridge-beneficiary-form { grid-template-columns:1fr; }.bridge-tracking { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:650px) { .bridge-payment-heading,.bridge-admin-status { flex-direction:column; }.bridge-admin-checks,.bridge-seller-amounts { grid-template-columns:1fr; }.bridge-beneficiary-form fieldset { grid-template-columns:1fr; }.bridge-tracking { grid-template-columns:repeat(2,minmax(0,1fr)); }.bridge-sandbox-transfer { grid-template-columns:1fr; }.bridge-sandbox-transfer > span { transform:rotate(90deg); justify-self:center; } }

/* Options de livraison, remise partenaire et modèle économique vendeur */
.form-section .delivery-choice-grid,.form-section .delivery-option-error,.form-section .delivery-access-analysis,.form-section .partner-recommendation,.form-section .partner-comparison { grid-column:2; min-width:0; }
.delivery-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0 18px; }
.delivery-choice { position:relative; display:grid; grid-template-columns:52px 1fr; align-items:center; gap:12px; margin:0; padding:15px; border:2px solid #d9e2de; border-radius:13px; background:#fff; cursor:pointer; transition:border-color .15s,box-shadow .15s,background .15s; }
.delivery-choice:hover,.delivery-choice.selected { border-color:var(--forest); background:#f1f8f5; box-shadow:0 7px 18px rgba(22,80,64,.08); }
.delivery-choice input { position:absolute; width:1px; height:1px; opacity:0; }
.delivery-choice-icon { display:grid; width:50px; height:50px; place-items:center; border-radius:11px; color:#fff; background:var(--forest); font-size:17px; font-weight:900; }
.delivery-choice.partner .delivery-choice-icon { color:#4c3709; background:var(--amber); font-size:12px; }
.delivery-choice > span:last-child { display:flex; flex-direction:column; gap:3px; }.delivery-choice strong { font-size:11px; }.delivery-choice small { color:var(--muted); font-size:8px; line-height:1.45; }
.mfs-service-preview{display:grid;grid-template-columns:46px 1fr;gap:10px;align-items:start;margin:14px 0;padding:13px;border:1px solid #cfe0d9;border-radius:14px;background:#f2f8f5}.mfs-service-preview .mfs-badge{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--forest);color:#fff;font-weight:900}.mfs-service-preview div{display:flex;flex-direction:column;gap:3px}.mfs-service-preview strong{font-size:12px}.mfs-service-preview small{color:var(--muted);font-size:9px;line-height:1.45}.mfs-service-preview em{color:var(--forest);font-size:9px;font-style:normal;font-weight:800}
.mfs-options{margin:14px 0 16px;border:1px solid #cfe0d9;border-radius:14px;background:#f7fbf9;overflow:hidden}.mfs-options>summary{display:flex;justify-content:space-between;align-items:center;padding:12px;cursor:pointer;list-style:none}.mfs-options>summary::-webkit-details-marker{display:none}.mfs-options>summary span{display:flex;align-items:center;gap:8px}.mfs-options>summary span>b{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--forest);color:#fff;font-size:10px}.mfs-options>summary strong{font-size:12px}.mfs-options>summary em{font-size:9px;color:var(--forest);font-style:normal;font-weight:800}.mfs-options>p{margin:0;padding:0 12px 12px;color:var(--muted);font-size:9px;line-height:1.5}.mfs-options fieldset{border:0;border-top:1px solid #dce9e4;margin:0;padding:8px}.mfs-options legend{padding:8px 4px 5px;color:var(--forest);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.mfs-option-row{display:grid;grid-template-columns:18px 1fr auto;align-items:start;gap:8px;margin:0;padding:9px 7px;border-radius:10px;cursor:pointer}.mfs-option-row:hover,.mfs-option-row:has(input:checked){background:#e9f5ef}.mfs-option-row input{margin-top:2px;accent-color:var(--forest)}.mfs-option-row span{display:flex;flex-direction:column;gap:2px}.mfs-option-row strong{font-size:10px}.mfs-option-row small{font-size:8px;color:var(--muted);line-height:1.35}.mfs-option-row>b{font-size:10px;white-space:nowrap}.mfs-option-done{display:grid;grid-template-columns:28px 1fr;gap:8px;margin:0 8px 8px;padding:9px;border-radius:10px;background:#e6f5ec}.mfs-option-done>span{display:grid;place-items:center;border-radius:50%;background:#1d8a55;color:#fff}.mfs-option-done p{margin:0;font-size:9px}.mfs-option-done strong{display:block}
.delivery-option-error { display:block; margin:-8px 0 14px; }.purchase-address-fields { margin-top:0; }
.delivery-access-analysis { display:grid; grid-template-columns:50px 1fr; align-items:center; gap:13px; margin:-5px 0 17px; padding:13px 15px; border:1px solid #edc0ba; border-radius:12px; background:#fff4f2; }.delivery-access-analysis[hidden] { display:none; }.delivery-access-analysis>div { display:flex; min-width:0; flex-direction:column; gap:2px; }.delivery-access-analysis small { color:#8d5e57; font-size:7px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.delivery-access-analysis strong { color:#852d26; font-size:11px; }.delivery-access-analysis p { margin:0; color:#795852; font-size:8px; line-height:1.45; }.delivery-access-analysis.success { border-color:#b9d4ca; background:#edf7f3; }.delivery-access-analysis.success small { color:#58746b; }.delivery-access-analysis.success strong { color:var(--forest); }.delivery-access-analysis.success p { color:#587068; }.heavy-vehicle-sign { position:relative; display:grid; width:46px; height:46px; place-items:center; border:4px solid #d74335; border-radius:50%; background:white; }.heavy-vehicle-sign::after { position:absolute; width:45px; height:4px; border-radius:4px; background:#d74335; content:""; transform:rotate(-43deg); }.heavy-vehicle-sign b { filter:grayscale(1); font-size:20px; }.dealer-access-sign { display:grid; width:46px; height:46px; place-items:center; border-radius:50%; color:white; background:var(--forest); font-size:18px; font-weight:900; }
.partner-recommendation { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:12px; margin-top:15px; padding:13px; border:1px solid #b9d4ca; border-radius:11px; background:#edf7f3; }
.partner-recommendation[hidden] { display:none; }.partner-recommendation > span { display:grid; width:40px; height:40px; place-items:center; border-radius:10px; color:#fff; background:var(--forest); font-size:16px; }.partner-recommendation > div { display:flex; min-width:0; flex-direction:column; }.partner-recommendation small { color:var(--muted); font-size:8px; text-transform:uppercase; }.partner-recommendation strong { color:var(--forest); font-size:11px; }.partner-recommendation p { margin:2px 0 0; color:var(--muted); font-size:9px; }.partner-recommendation > b { padding:7px 9px; border-radius:8px; color:#59420c; background:var(--amber); font-size:10px; }
.partner-comparison { display:grid; gap:14px; margin-top:16px; padding:16px; border:1px solid #bed7ce; border-radius:14px; background:#f4faf7; }
.partner-comparison[hidden] { display:none; }
.partner-comparison-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }.partner-comparison-head>div { display:flex; flex-direction:column; gap:2px; }.partner-comparison-head small { color:#58746b; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.partner-comparison-head strong { color:var(--forest); font-family:"Manrope",sans-serif; font-size:15px; }.partner-comparison-head p { margin:0; color:var(--muted); font-size:10px; }.partner-comparison-head>b { flex:0 0 auto; padding:8px 11px; border-radius:9px; color:#59420c; background:var(--amber); font-size:11px; }
.partner-choice-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }.partner-choice-card { position:relative; display:grid; grid-template-columns:31px minmax(0,1fr) auto; align-items:start; gap:9px; min-height:112px; padding:12px; border:2px solid #d6e4df; border-radius:12px; background:white; cursor:pointer; transition:border-color .15s,box-shadow .15s,transform .15s; }.partner-choice-card:hover,.partner-choice-card.selected { border-color:var(--forest); box-shadow:0 8px 22px rgba(22,80,64,.12); transform:translateY(-1px); }.partner-choice-card input { position:absolute; width:1px; height:1px; opacity:0; }.partner-choice-card>span:nth-child(3) { display:flex; min-width:0; flex-direction:column; gap:4px; }.partner-choice-card strong { color:var(--ink); font-size:11px; line-height:1.25; }.partner-choice-card small { color:var(--muted); font-size:9px; line-height:1.4; text-transform:none; }.partner-choice-card a { width:fit-content; color:var(--forest); font-size:9px; font-weight:800; }.partner-choice-card>b { color:var(--forest); font-size:10px; white-space:nowrap; }.partner-rank { display:grid; width:29px; height:29px; place-items:center; border-radius:9px; color:white; background:var(--forest); font-size:11px; font-weight:900; }
.partner-map-panel { overflow:hidden; border:1px solid #cbdcd6; border-radius:12px; background:white; }.partner-map-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; }.partner-map-toolbar>strong { font-size:11px; }.partner-map-toolbar>div { display:flex; flex-wrap:wrap; gap:5px; }.partner-map-toolbar button { padding:7px 9px; border:1px solid #cbdcd6; border-radius:8px; color:var(--forest); background:white; cursor:pointer; font-size:9px; font-weight:800; }.partner-map-toolbar button.active { border-color:var(--forest); color:white; background:var(--forest); }.partner-map-panel iframe { display:block; width:100%; height:310px; border:0; }
.partner-trip-table table { width:100%; }.partner-trip-table th,.partner-trip-table td { padding:10px; text-align:left; }.partner-trip-table th { color:#58746b; background:#e6f1ed; font-size:9px; }.partner-trip-table td { border-bottom:1px solid #e4ebe8; font-size:10px; }.partner-trip-table td:first-child { display:flex; flex-direction:column; gap:2px; }.partner-trip-table td small { color:var(--muted); font-size:8px; }.partner-trip-table td a { color:var(--forest); font-weight:800; white-space:nowrap; }.partner-estimate-note { margin:0; color:var(--muted); font-size:9px; }.partner-empty { padding:18px; border:1px dashed #b6ccc4; border-radius:11px; background:white; text-align:center; }.partner-empty p { margin:4px 0 0; color:var(--muted); font-size:10px; }
.partner-eco-choice{margin:16px 0 4px;padding:16px;border:1px solid #cfe2d8;border-radius:14px;background:#f5fbf7}.partner-eco-choice legend{padding:0 7px;color:var(--forest);font-size:14px;font-weight:900}.partner-eco-choice>p{margin:0 0 13px;color:var(--muted);font-size:12px;line-height:1.5}.partner-eco-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.partner-eco-mode{position:relative;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:4px 9px;margin:0;padding:13px 38px 13px 12px;border:2px solid #d7e2de;border-radius:12px;background:#fff;cursor:pointer;transition:opacity .18s,filter .18s,border-color .18s,box-shadow .18s,transform .18s}.partner-eco-mode::after{position:absolute;top:14px;right:13px;width:16px;height:16px;border:2px solid #9aaba5;border-radius:50%;content:"";background:#fff;box-shadow:inset 0 0 0 3px #fff}.partner-eco-mode input{position:absolute;width:1px;height:1px;opacity:0}.partner-eco-mode>span{grid-row:1/4;display:grid;width:36px;height:36px;place-items:center;border-radius:10px;background:#eaf4f0;font-size:18px}.partner-eco-mode strong{font-size:12px}.partner-eco-mode small{grid-column:2/4;color:var(--muted);font-size:10px;line-height:1.35}.partner-eco-mode b{grid-column:2/4;width:fit-content;margin-top:3px;padding:4px 7px;border-radius:7px;color:#17633f;background:#e5f5eb;font-size:10px}.partner-eco-mode.selected{border-color:#198455;box-shadow:0 8px 20px rgba(25,132,85,.13);transform:translateY(-1px)}.partner-eco-mode.selected::after{border-color:#198455;background:#198455}.partner-eco-mode.is-muted{opacity:.48;filter:grayscale(.85)}.partner-eco-mode.is-muted:hover,.partner-eco-mode:focus-within{opacity:.86;filter:none}.carbon-congratulations{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:10px;margin-top:13px;padding:12px;border:1px solid #9dd3b5;border-radius:11px;color:#114c34;background:#e8f8ee}.carbon-congratulations>span{font-size:24px}.carbon-congratulations p{margin:0;font-size:12px;line-height:1.45}.carbon-congratulations strong{display:block;font-size:13px}.carbon-congratulations[hidden]{display:none}
.purchase-summary .purchase-discount-row { color:#17633f; }.purchase-summary .purchase-surcharge-row { color:#a33b31; }.purchase-summary .purchase-discount-row[hidden],.purchase-summary .purchase-surcharge-row[hidden] { display:none; }.purchase-summary .purchase-total-row { margin-top:7px; padding-top:14px; border-top:2px solid var(--forest); }.purchase-summary .purchase-total-row dt { color:var(--ink); font-weight:900; }.purchase-summary .purchase-total-row dd { color:var(--forest); font-family:"Manrope",sans-serif; font-size:17px; font-weight:900; }
.purchase-summary .purchase-discount-row.eco{padding:8px;border-radius:8px;background:#eaf7ef}.purchase-summary .purchase-discount-row.eco[hidden]{display:none}
.purchase-summary .purchase-payment-part{margin-top:5px;padding:10px;border:1px solid #d8e4df;border-radius:10px;background:#f4f8f6}.purchase-summary .purchase-payment-part dt{font-weight:850;color:var(--forest)}.purchase-summary .purchase-payment-part dd{font-weight:900;color:var(--ink);text-align:right}
.purchase-summary .purchase-payment-part dd small{color:var(--forest);font-size:8px;font-weight:1000;letter-spacing:.08em}
.purchase-form{padding-bottom:105px}
.purchase-payment-float{position:fixed;z-index:25;left:calc(250px + (100vw - 250px)/2);bottom:18px;display:grid;width:min(1080px,calc(100vw - 298px));grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;padding:7px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(17,43,37,.96);box-shadow:0 18px 50px rgba(8,25,20,.32);backdrop-filter:blur(14px);transform:translateX(-50%)}
.purchase-payment-float-item{display:grid;min-width:0;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;color:white}
.purchase-payment-float-item>span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:var(--ink);background:#fff;font-family:"Manrope",sans-serif;font-size:14px;font-weight:1000}
.purchase-payment-float-item>div{display:flex;min-width:0;flex-direction:column}.purchase-payment-float-item small{color:#a9c2bb;font-size:8px;font-weight:900;letter-spacing:.12em}.purchase-payment-float-item b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.purchase-payment-float-item>strong{display:flex;align-items:center;gap:6px;font-family:"Manrope",sans-serif;font-size:16px;font-weight:1000;white-space:nowrap}.purchase-payment-float-item>strong em{padding:3px 5px;border-radius:5px;color:#17342f;background:#fff;font-size:8px;font-style:normal;letter-spacing:.08em}
.purchase-payment-float-item.payment-two{background:rgba(36,100,82,.72)}.purchase-payment-float-item.payment-two>span{background:var(--amber)}.purchase-payment-float-item.payment-three>span{color:#fff;background:#b64d77}
@media(max-width:1000px){.purchase-form{padding-bottom:100px}.purchase-payment-float{left:50%;bottom:10px;width:calc(100vw - 20px)}}
@media(max-width:650px){.purchase-form{padding-bottom:112px}.purchase-payment-float{gap:3px;padding:5px;border-radius:14px}.purchase-payment-float-item{grid-template-columns:24px 1fr;gap:4px;padding:7px 5px}.purchase-payment-float-item>span{width:23px;height:23px;border-radius:7px;font-size:10px}.purchase-payment-float-item>div{min-width:0}.purchase-payment-float-item small{font-size:6px}.purchase-payment-float-item b{font-size:8px;white-space:normal;line-height:1.15}.purchase-payment-float-item>strong{grid-column:1/-1;justify-content:center;gap:3px;font-size:11px}.purchase-payment-float-item>strong em{padding:2px 3px;font-size:6px}}
.minimum-price-note { margin:12px 0; padding:10px; border-radius:9px; color:#675121; background:#fff4d9; font-size:8px; line-height:1.5; }.minimum-price-note strong { color:#4c390c; }
.seller-commission-promise { display:grid; grid-template-columns:56px minmax(0,1fr) auto; align-items:center; gap:17px; margin-bottom:20px; padding:18px 20px; border:1px solid #bad4ca; border-radius:14px; background:linear-gradient(105deg,#edf8f3,#fffaf0); }
.seller-commission-promise > span { display:grid; width:54px; height:54px; place-items:center; border-radius:14px; color:#fff; background:var(--forest); font-family:"Manrope",sans-serif; font-size:15px; font-weight:900; }.seller-commission-promise h2 { margin:2px 0 4px; font-size:15px; }.seller-commission-promise p { max-width:820px; margin:0; color:var(--muted); font-size:9px; line-height:1.55; }.seller-commission-promise > b { padding:8px 11px; border-radius:99px; color:#5a4108; background:var(--amber); font-size:9px; white-space:nowrap; }
.commission-tier-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.commission-tier-card { display:grid; grid-template-columns:40px minmax(0,1fr) 120px auto; align-items:center; gap:13px; padding:16px; }.commission-tier-order { display:grid; width:38px; height:38px; place-items:center; border-radius:10px; color:#fff; background:var(--forest); font-size:10px; font-weight:900; }.commission-tier-card > div { min-width:0; }.commission-tier-card > div small { color:var(--muted); font-size:7px; text-transform:uppercase; }.commission-tier-card h3 { margin:3px 0; font-size:12px; }.commission-tier-card p { margin:0; color:var(--muted); font-size:8px; }.commission-tier-card label { position:relative; margin:0; color:var(--muted); font-size:8px; }.commission-tier-card label input { min-height:40px; padding-right:28px; }.commission-tier-card label span { position:absolute; right:10px; bottom:12px; color:var(--forest); font-size:10px; font-weight:900; }.commission-tier-card .button { min-height:40px; }
.sale-amounts.commerce { grid-template-columns:repeat(5,1fr); }.sale-amounts .positive dd { color:#17633f; }.sale-amounts .platform-due dd { color:#83550d; }.sale-delivery-option { display:flex; align-items:center; gap:8px; margin:-5px 0 13px; padding:9px 11px; border-radius:8px; color:#405f56; background:#eef5f2; font-size:9px; }.sale-delivery-option strong { color:var(--forest); }
@media(max-width:1000px){.sale-amounts.commerce{grid-template-columns:repeat(3,1fr)}.seller-commission-promise{grid-template-columns:48px 1fr}.seller-commission-promise>b{grid-column:2;width:fit-content}.delivery-choice-grid{grid-template-columns:1fr}.commission-tier-grid{grid-template-columns:1fr}.partner-choice-list{grid-template-columns:1fr}.partner-choice-card{min-height:auto}}
@media(max-width:700px){.sale-amounts.commerce{grid-template-columns:1fr}.seller-commission-promise{grid-template-columns:1fr;padding:15px}.seller-commission-promise>b{grid-column:1}.partner-recommendation{grid-template-columns:38px 1fr}.partner-recommendation>b{grid-column:2;width:fit-content}.delivery-access-analysis{grid-template-columns:42px 1fr;padding:11px}.heavy-vehicle-sign,.dealer-access-sign{width:40px;height:40px}.commission-tier-card{grid-template-columns:38px 1fr}.commission-tier-card>label,.commission-tier-card>.button{grid-column:2}.commission-tier-card>.button{width:100%}.partner-comparison{padding:11px}.partner-comparison-head,.partner-map-toolbar{align-items:flex-start;flex-direction:column}.partner-map-panel iframe{height:255px}}

/* Calendrier acheteur et engagements de livraison */
.purchase-timing-preview { display:grid; gap:18px; padding:22px; background:linear-gradient(130deg,#f4faf7 0%,#fff 55%,#fff8e9 100%); }
.timing-preview-head { display:flex; align-items:center; gap:14px; }.timing-preview-head h2 { margin:2px 0 3px; }.timing-preview-head p { margin:0; color:var(--muted); font-size:14px; }
.timing-calendar-icon { display:grid; flex:0 0 52px; height:52px; place-items:center; border-radius:15px; color:white; background:var(--forest); box-shadow:0 9px 20px rgba(18,83,65,.18); font-size:24px; }
.timing-preview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.timing-preview-grid article { display:flex; min-height:102px; padding:14px; flex-direction:column; justify-content:center; gap:4px; border:1px solid #d6e4df; border-radius:13px; background:white; }.timing-preview-grid article.partner { border-color:#ebcf8c; background:#fffaf0; }.timing-preview-grid small { color:var(--forest); font-size:12px; font-weight:900; text-transform:uppercase; }.timing-preview-grid strong { color:var(--ink); font-size:15px; line-height:1.35; }.timing-preview-grid span { color:var(--muted); font-size:13px; }
.availability-commitment { display:grid; grid-template-columns:38px 1fr; align-items:center; gap:12px; padding:14px 16px; border-radius:12px; color:#503e17; background:#fff0c9; }.availability-commitment b { display:grid; width:36px; height:36px; place-items:center; border-radius:50%; color:#fff; background:#a56d00; font-size:18px; }.availability-commitment p { margin:0; font-size:14px; line-height:1.5; }.availability-commitment strong { color:#362a0e; }
.form-section .schedule-rule-grid,.form-section .date-planning-grid,.form-section .calendar-validation,.form-section .availability-flow { grid-column:2; min-width:0; }
.purchase-calendar-section { overflow:hidden; background:linear-gradient(145deg,#fff 0%,#f7fbf9 100%); }
.schedule-rule-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:16px 0; }.schedule-rule-grid article { display:grid; grid-template-columns:44px 1fr; align-items:center; gap:10px; padding:12px; border:1px solid #d8e5e0; border-radius:12px; background:white; }.schedule-rule-grid article>span { display:grid; width:42px; height:42px; place-items:center; border-radius:12px; color:white; background:var(--forest); font-family:"Manrope",sans-serif; font-size:18px; font-weight:900; }.schedule-rule-grid .closed-days>span { color:#664907; background:var(--amber); }.schedule-rule-grid article div { display:flex; min-width:0; flex-direction:column; }.schedule-rule-grid small { color:var(--muted); font-size:12px; text-transform:uppercase; }.schedule-rule-grid strong { font-size:14px; line-height:1.35; }
.date-planning-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.date-planning-card { display:grid; grid-template-columns:46px 1fr; gap:10px; margin:0; padding:15px; border:2px solid #d5e3de; border-radius:14px; background:#fff; box-shadow:0 8px 22px rgba(19,68,56,.06); }.date-planning-card:focus-within { border-color:var(--forest); box-shadow:0 0 0 4px rgba(22,93,74,.09); }.date-planning-card.delivery { border-color:#d5e3de; }.date-planning-card.delivery:focus-within { border-color:var(--forest); }.date-planning-card.is-invalid { border-color:#ce5b4e; box-shadow:0 0 0 4px rgba(178,55,43,.08); }.date-planning-icon { display:grid; width:44px; height:44px; place-items:center; border-radius:12px; color:white; background:var(--forest); font-weight:900; }.date-planning-card.delivery .date-planning-icon { color:#513b0a; background:var(--amber); }.date-planning-copy { display:flex; min-width:0; flex-direction:column; gap:2px; }.date-planning-copy small { color:var(--muted); font-size:12px; font-weight:900; text-transform:uppercase; }.date-planning-copy strong { color:var(--ink); font-size:15px; }.date-planning-copy em { color:var(--forest); font-size:13px; font-style:normal; font-weight:800; }.date-planning-card input[type=date] { grid-column:1 / -1; min-height:50px; padding:10px 13px; border:1px solid #bccfc8; border-radius:10px; color:var(--ink); background:#f8fbfa; font:800 16px/1.2 "Manrope",sans-serif; color-scheme:light; accent-color:var(--forest); cursor:pointer; }.date-planning-card input[type=date]::-webkit-calendar-picker-indicator { width:22px; height:22px; padding:5px; border-radius:7px; background-color:#e4f1ec; cursor:pointer; }.date-selection { grid-column:1 / -1; color:var(--muted); font-size:13px; text-transform:capitalize; }.date-planning-card>.error { grid-column:1 / -1; font-size:13px; line-height:1.4; }
.calendar-validation { margin:10px 0 0; padding:11px 13px; border:1px solid #e6bbb4; border-radius:10px; color:#8d2f28; background:#fff2f0; font-size:14px; font-weight:800; }.calendar-validation[hidden] { display:none; }
.availability-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:10px; margin:16px 0; padding:15px; border-radius:14px; color:white; background:var(--ink); }.availability-flow>div { display:grid; grid-template-columns:34px 1fr; align-items:center; gap:9px; }.availability-flow>div>span { display:grid; width:32px; height:32px; place-items:center; border-radius:9px; color:var(--ink); background:var(--amber); font-weight:900; }.availability-flow p { display:flex; margin:0; flex-direction:column; color:#b7c9c3; font-size:12px; line-height:1.4; }.availability-flow strong { color:white; font-size:14px; }.availability-flow i { color:var(--amber); font-size:20px; font-style:normal; }
@media(max-width:1000px){.timing-preview-grid,.schedule-rule-grid{grid-template-columns:1fr}.date-planning-grid{grid-template-columns:1fr}.availability-flow{grid-template-columns:1fr}.availability-flow i{display:none}}
@media(max-width:700px){.form-section .delivery-choice-grid,.form-section .delivery-option-error,.form-section .delivery-access-analysis,.form-section .partner-recommendation,.form-section .partner-comparison,.form-section .schedule-rule-grid,.form-section .date-planning-grid,.form-section .calendar-validation,.form-section .availability-flow{grid-column:1}.purchase-timing-preview{padding:16px}.timing-preview-head{align-items:flex-start}.timing-preview-head p,.availability-commitment p{font-size:13px}.timing-preview-grid strong{font-size:14px}.schedule-rule-grid{margin-top:12px}.schedule-rule-grid article{grid-template-columns:42px 1fr}.date-planning-card{grid-template-columns:42px 1fr;padding:12px}.availability-flow{padding:12px}.availability-flow>div{grid-template-columns:32px 1fr}}

/* Signatures d'enlèvement, signature client et réserves de livraison */
.handover-form { display: flex; flex-direction: column; gap: 14px; }
.handover-form > label:not(.camera-upload) { display: flex; flex-direction: column; gap: 6px; }
.signature-pad { padding: 12px; border: 1px solid #cfdad6; border-radius: 12px; background: #f8faf9; }
.signature-pad.invalid { border-color: var(--red); background: #fdf5f4; }
.signature-pad > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.signature-pad > div strong { font-size: 11px; }
.signature-pad > div button { padding: 4px 7px; border: 0; color: var(--forest); background: transparent; cursor: pointer; font-size: 10px; font-weight: 800; }
.signature-pad canvas { display: block; width: 100%; height: 150px; border: 1px dashed #9eb8af; border-radius: 9px; outline: none; background: white; cursor: crosshair; touch-action: none; }
.signature-pad canvas:focus { border-color: var(--forest); box-shadow: 0 0 0 3px rgba(37,117,93,.1); }
.signature-pad > small { display: block; margin-top: 7px; color: var(--muted); font-size: 9px; }
.signature-pad > small.valid { color: var(--forest); font-weight: 800; }
.delivery-condition { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; padding: 0; border: 0; }
.delivery-condition legend { grid-column: 1 / -1; margin-bottom: 6px; color: #425b54; font-size: 12px; font-weight: 800; }
.delivery-condition label { display: flex; align-items: flex-start; gap: 9px; padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: white; cursor: pointer; }
.delivery-condition input { flex: 0 0 auto; width: auto; min-height: auto; margin: 3px 0 0; accent-color: var(--forest); }
.delivery-condition label > span { display: flex; flex-direction: column; }
.delivery-condition label small { margin-top: 2px; color: var(--muted); font-size: 9px; font-weight: 400; }
.handover-confirmation { display: grid; grid-template-columns: 135px 1fr; align-items: center; gap: 13px; padding: 12px; border-radius: 11px; background: #e8f3ee; }
.handover-confirmation img { width: 135px; height: 70px; border: 1px solid #cdded7; border-radius: 8px; background: white; object-fit: contain; }
.handover-confirmation > div { display: flex; min-width: 0; flex-direction: column; }
.handover-confirmation span { color: var(--forest); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.handover-confirmation strong { margin: 2px 0; font-size: 12px; }
.handover-confirmation small { color: var(--muted); font-size: 9px; }
.delivery-reservations { margin-top: 11px; padding: 12px; border-radius: 10px; }
.delivery-reservations strong { font-size: 11px; }
.delivery-reservations p { margin: 5px 0 0; font-size: 10px; }
.delivery-reservations.no-reservations { color: #25644f; background: #e5f2ec; }
.delivery-reservations.has-reservations { color: #874c28; background: #fbecd9; }
.delivery-reservations.has-reservations p { color: #765744; }
.handover-records-panel { padding: 24px; }
.handover-records { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; }
.handover-record { padding: 15px; border: 1px solid var(--line); border-radius: 13px; background: #fafbf9; }
.handover-record > header { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.handover-record > header > span { display: grid; flex: 0 0 31px; height: 31px; place-items: center; border: 2px solid #ccd6d2; border-radius: 50%; color: var(--muted); font-size: 10px; font-weight: 800; }
.handover-record.signed > header > span { border-color: var(--forest); color: white; background: var(--forest); }
.handover-record > header div { display: flex; flex-direction: column; }
.handover-record > header strong { font-size: 11px; }
.handover-record > header small { color: var(--muted); font-size: 9px; }
.handover-record > img { width: 100%; height: 92px; border: 1px solid #dbe3df; border-radius: 9px; background: white; object-fit: contain; }
.handover-record > p { display: flex; margin: 9px 0 0; flex-direction: column; }
.handover-record > p strong { color: var(--ink); font-size: 11px; }
.handover-record > p span { color: var(--muted); font-size: 9px; }
.handover-record .delivery-reservations { margin-top: 10px; }
.signature-waiting { padding: 18px; border-radius: 9px; color: var(--muted); background: #eef1ef; font-size: 10px; text-align: center; }
@media (max-width:700px) { .delivery-condition,.handover-records { grid-template-columns:1fr; }.handover-confirmation { grid-template-columns:105px 1fr; }.handover-confirmation img { width:105px; }.signature-pad canvas { height:170px; } }

/* Géolocalisation du transport */
.gps-mission-state { display: inline-flex; margin-top: 7px; padding: 4px 8px; border-radius: 99px; color: #17634e; background: #e2f2eb; font-size: 9px; font-weight: 800; }
.google-route-button { grid-column: 1 / -1; width: 100%; margin-top: 2px; }
.driver-gps-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 15px; margin-bottom: 18px; padding: 17px 20px; border-color: #e0bb6b; background: #fffaf0; }
.driver-gps-card.active { border-color: #91c3b0; background: #edf8f3; box-shadow: 0 0 0 3px rgba(30,112,85,.06); }
.driver-gps-card.invalid { border-color: var(--red); background: #fff5f3; }
.driver-gps-card.closed { border-color: var(--line); background: #f5f7f6; }
.gps-pulse { position: relative; display: grid; width: 45px; height: 45px; place-items: center; border-radius: 50%; color: white; background: var(--amber); font-size: 22px; font-weight: 800; }
.driver-gps-card.active .gps-pulse { background: var(--forest); box-shadow: 0 0 0 7px rgba(22,93,74,.11); }
.driver-gps-card.active .gps-pulse::after { position: absolute; inset: -7px; border: 2px solid rgba(22,93,74,.26); border-radius: 50%; content: ''; animation: gps-pulse 1.8s ease-out infinite; }
@keyframes gps-pulse { 0% { opacity: .8; transform: scale(.78); } 80%,100% { opacity: 0; transform: scale(1.35); } }
.driver-gps-card .eyebrow { margin-bottom: 2px; }.driver-gps-card h2 { margin: 0; font-size: 17px; }.driver-gps-card p { margin: 2px 0 0; font-size: 10px; }
.gps-done { padding: 7px 10px; border-radius: 99px; color: var(--forest); background: #e3efe9; font-size: 10px; font-weight: 800; }
.next-stage-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 15px; margin-bottom: 18px; padding: 17px 20px; border-color: #b8d1c7; background: linear-gradient(105deg,#f0f8f4,#fff); }
.next-stage-card.complete { border-color: var(--line); background: #f5f7f6; }
.next-stage-icon { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 12px; color: white; background: var(--forest); font-size: 19px; font-weight: 800; }
.next-stage-card.complete .next-stage-icon { color: var(--forest); background: var(--mint); }
.next-stage-card .eyebrow { margin-bottom: 1px; }.next-stage-card h2 { margin: 0; font-size: 17px; }.next-stage-card p { margin: 2px 0 0; font-size: 10px; }
.business-day-note { display: inline-flex; margin-top: 5px; color: #7b5a22; font-size: 9px; font-weight: 700; }
.next-stage-countdown { min-width: 116px; padding: 10px 13px; border-radius: 11px; color: var(--forest); background: var(--mint); font-family: "Manrope",system-ui,sans-serif; font-size: 15px; text-align: center; }
.live-location-panel { overflow: hidden; margin-bottom: 18px; }
.live-location-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 22px 24px 17px; }
.live-location-heading .eyebrow { margin-bottom: 3px; }.live-location-heading p { margin: 7px 0 0; font-size: 10px; }
.live-location-badge { padding: 5px 9px; border-radius: 99px; color: var(--muted); background: #eef1ef; font-size: 9px; font-weight: 800; }
.live-location-badge.active { color: #17634e; background: #dff2e9; }
.location-privacy { max-width: 190px; padding-left: 20px; color: var(--muted); font-size: 9px; text-align: right; }
.location-privacy::before { content: '●'; margin-right: 5px; color: var(--forest); }
.location-map-wrap { position: relative; min-height: 285px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #e9eeeb; }
.location-map-wrap iframe { display: block; width: 100%; height: 285px; border: 0; }
.location-map-wrap.empty { display: grid; place-items: center; background-color: #eef2ef; background-image: linear-gradient(rgba(34,72,62,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(34,72,62,.05) 1px, transparent 1px); background-size: 32px 32px; }
.location-map-empty { display: flex; align-items: center; flex-direction: column; padding: 24px; text-align: center; }.location-map-empty[hidden] { display: none; }
.location-map-empty > span { display: grid; width: 48px; height: 48px; margin-bottom: 9px; place-items: center; border-radius: 50%; color: white; background: var(--forest); font-size: 23px; }
.location-map-empty strong { font-size: 12px; }.location-map-empty small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.location-meta { display: flex; align-items: center; gap: 28px; padding: 13px 24px; }.location-meta[hidden] { display: none; }
.location-meta > span { display: flex; flex-direction: column; }.location-meta small { color: var(--muted); font-size: 8px; text-transform: uppercase; }.location-meta strong { font-size: 10px; }.location-meta .text-link { margin-left: auto; }
@media (max-width:700px) {
    .driver-gps-card { grid-template-columns: auto 1fr; padding: 15px; }.driver-gps-card .button,.driver-gps-card .gps-done { grid-column: 1 / -1; width: 100%; }
    .next-stage-card { grid-template-columns: auto 1fr; padding: 15px; }.next-stage-countdown { grid-column: 1 / -1; width: 100%; }
    .live-location-heading { flex-direction: column; padding: 18px; }.location-privacy { max-width: none; padding: 0; text-align: left; }
    .location-map-wrap,.location-map-wrap iframe { min-height: 240px; height: 240px; }.location-meta { align-items: flex-start; flex-wrap: wrap; gap: 12px 22px; padding: 12px 18px; }.location-meta .text-link { width: 100%; margin-left: 0; }
}

/* Accueil et connexion interactifs */
.auth-home-actions { display:flex; align-items:center; justify-content:space-between; margin-bottom:34px; color:var(--forest); font-size:11px; font-weight:800; }
.auth-home-actions a:last-child { padding:7px 11px; border:1px solid var(--line); border-radius:8px; background:white; }
.demo-box button.active { border-color:#8db7a8; background:white; box-shadow:0 4px 14px rgba(22,93,74,.09); }
.demo-selection { margin:3px 4px 0; color:var(--forest); font-size:9px; font-weight:700; }
.market-live { padding:16px 17px; border:1px solid rgba(255,255,255,.16); border-radius:14px; background:rgba(7,31,25,.35); box-shadow:0 16px 40px rgba(5,26,21,.18); backdrop-filter:blur(9px); }
.market-live > div:first-child { display:grid; grid-template-columns:1fr auto; align-items:center; gap:2px 12px; }
.market-live > div:first-child small { color:#9fbab2; font-size:8px; letter-spacing:.1em; text-transform:uppercase; }
.market-live > div:first-child strong { color:white; font-family:ui-monospace,Consolas,monospace; font-size:13px; }
.market-live > div:first-child i { grid-column:2; grid-row:1 / 3; padding:5px 8px; border-radius:99px; color:#ffe2a8; background:rgba(231,168,63,.16); font-size:8px; font-style:normal; font-weight:800; }
.market-live p { display:flex; align-items:center; justify-content:space-between; margin:14px 0 9px; color:white; font-size:11px; font-weight:800; }
.market-live p b { min-width:auto; font-size:13px; }
.market-live-track { height:5px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.12); }
.market-live-track span { display:block; width:24%; height:100%; padding:0; border:0; border-radius:inherit; background:var(--amber); transition:width .65s ease; }
.market-live > small:last-child { display:block; min-height:27px; margin-top:8px; color:#b9cec7; font-size:9px; }
.market-showcase { grid-column:1 / -1; min-width:0; padding:13px; border:1px solid rgba(255,255,255,.18); border-radius:17px; background:linear-gradient(145deg,rgba(7,31,25,.58),rgba(19,80,64,.4)); box-shadow:0 18px 44px rgba(5,26,21,.22); backdrop-filter:blur(12px); }
.market-showcase-head { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:9px; margin-bottom:10px; }
.market-showcase-head > div:first-child { display:flex; min-width:0; flex-direction:column; }
.market-showcase-head small { color:#9fbab2; font-size:7px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.market-showcase-head strong { overflow:hidden; color:#fff; font-family:"Manrope"; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.market-showcase-head > span { padding:5px 8px; border:1px solid rgba(255,255,255,.14); border-radius:99px; color:#ffe2a8; background:rgba(231,168,63,.13); font-size:8px; font-weight:800; white-space:nowrap; }
.market-showcase-controls { display:flex; gap:5px; }
.market-showcase-controls button { display:grid; width:27px; height:27px; padding:0; place-items:center; border:1px solid rgba(255,255,255,.17); border-radius:9px; color:#fff; background:rgba(255,255,255,.08); cursor:pointer; transition:background .18s,transform .18s; }
.market-showcase-controls button:hover,.market-showcase-controls button:focus-visible { background:rgba(255,255,255,.2); transform:translateY(-1px); outline:none; }
.market-showcase-viewport { height:176px; overflow:hidden auto; border-radius:12px; scroll-behavior:smooth; scrollbar-width:none; }
.market-showcase-viewport::-webkit-scrollbar { display:none; }
.market-showcase-track { display:grid; width:100%; height:max-content; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:84px; grid-auto-flow:row; gap:7px; }
.market-showcase figure { position:relative; overflow:hidden; margin:0; border-radius:10px; background:#173b32; isolation:isolate; }
.market-showcase figure.featured { grid-row:span 2; }
.market-showcase figure::after { position:absolute; inset:35% 0 0; z-index:1; content:""; background:linear-gradient(transparent,rgba(3,18,14,.78)); pointer-events:none; }
.market-showcase img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease,filter .3s ease; }
.market-showcase figure:hover img { filter:saturate(1.08); transform:scale(1.055); }
.market-showcase figcaption { position:absolute; right:7px; bottom:6px; left:7px; z-index:2; overflow:hidden; color:#fff; font-size:7px; font-weight:700; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.market-showcase-progress { height:3px; margin:9px 2px 0; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.1); }
.market-showcase-progress i { display:block; width:8%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--amber),#ffd47e); transition:width .2s ease; }
.market-empty { margin-top:18px; padding:40px 24px; }
.market-bike-card[hidden] { display:none; }
@media (max-width:700px) { .auth-home-actions { margin-bottom:26px; }.market-live,.market-showcase { grid-column:1 / -1; }.market-live > small:last-child { min-height:0; }.market-showcase { padding:11px; }.market-showcase-head { grid-template-columns:minmax(0,1fr) auto; }.market-showcase-head > span { display:none; }.market-showcase-controls { grid-column:2; grid-row:1; }.market-showcase-viewport,.market-showcase-track { height:151px; }.market-showcase-track { grid-template-rows:repeat(2,72px); grid-auto-columns:112px; }.market-showcase figcaption { font-size:6.5px; } }
@media (prefers-reduced-motion:reduce) { .market-live-track span,.market-showcase-progress i,.market-showcase img { transition:none; }.market-showcase-viewport { scroll-behavior:auto; } }

/* WMS · Agence de Bonneuil */
.wms-header { align-items:center; padding:23px 25px; border:1px solid #cfe1da; border-radius:18px; background:linear-gradient(120deg,#f5fbf8,#fff 60%); }
.wms-header p { max-width:760px; }
.wms-live { display:flex; align-items:center; gap:8px; padding:9px 13px; border:1px solid #bcd9cd; border-radius:99px; color:var(--forest); background:#eaf7f1; font-size:12px; font-weight:800; white-space:nowrap; }
.wms-live i { width:8px; height:8px; border-radius:50%; background:#22a06b; box-shadow:0 0 0 5px rgba(34,160,107,.12); }
.wms-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:17px; }
.wms-kpis article { display:grid; grid-template-columns:46px 1fr; align-items:center; gap:12px; min-width:0; padding:17px; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:0 7px 24px rgba(20,60,49,.05); }
.wms-kpi-icon { display:grid; width:46px; height:46px; place-items:center; border-radius:13px; color:#fff; background:var(--forest); font-size:18px; font-weight:900; }
.wms-kpi-icon.available { color:#185845; background:#dff3ea; }.wms-kpi-icon.inbound { color:#84590f; background:#fff0cd; }.wms-kpi-icon.outbound { color:#315c91; background:#e6eef8; }
.wms-kpis article div { display:flex; min-width:0; flex-direction:column; }.wms-kpis small { color:var(--muted); font-size:12px; }.wms-kpis strong { color:var(--ink); font-family:"Manrope"; font-size:25px; line-height:1.15; }.wms-kpis strong em { color:#91a19b; font-size:14px; font-style:normal; }.wms-kpis p { margin:2px 0 0; color:var(--muted); font-size:12px; }
.wms-overview-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr); gap:16px; margin-bottom:17px; }
.wms-capacity-card,.wms-tariffs { padding:21px; }.wms-capacity-card .panel-heading > strong { color:var(--forest); font-size:14px; }.wms-capacity-bar { height:10px; margin:18px 0; overflow:hidden; border-radius:99px; background:#e5ece9; }.wms-capacity-bar i { display:block; min-width:2px; height:100%; border-radius:inherit; background:linear-gradient(90deg,#165d4a,#43a981); }
.wms-zones { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }.wms-zones > div { display:flex; padding:12px; flex-direction:column; border:1px solid #e0e8e4; border-radius:11px; background:#f9fbfa; }.wms-zones span { color:var(--muted); font-size:12px; }.wms-zones strong { margin:4px 0 8px; font-size:17px; }.wms-zones strong small { color:var(--muted); font-size:12px; }.wms-zones i { height:4px; overflow:hidden; border-radius:9px; background:#e2e9e6; }.wms-zones i b { display:block; height:100%; background:var(--forest); }
.wms-tariffs dl { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; margin:2px 0 0; }.wms-tariffs dl div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid #edf1ef; }.wms-tariffs dt { color:#52655e; font-size:12px; }.wms-tariffs dt b { display:block; width:max-content; margin-top:2px; padding:2px 5px; border-radius:5px; color:#8b5b0e; background:#fff0cf; font-size:10px; text-transform:uppercase; }.wms-tariffs dd { margin:0; color:var(--forest); font-size:13px; font-weight:900; white-space:nowrap; }
.wms-workflow { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; margin-bottom:30px; }.wms-operation-card { padding:22px; }.wms-operation-card > header { display:grid; grid-template-columns:48px 1fr; align-items:start; gap:13px; margin-bottom:20px; }.wms-operation-card header h2,.wms-operation-card header p { margin:2px 0; }.wms-operation-card header p { color:var(--muted); font-size:13px; }.wms-step { display:grid; width:48px; height:48px; place-items:center; border-radius:14px; color:#fff; background:var(--forest); font-weight:900; }.wms-step.outbound { color:#132d27; background:var(--amber); }
.wms-scan-field { margin-bottom:15px; }.wms-scan-field > label { display:block; margin-bottom:6px; font-size:13px; font-weight:800; }.wms-scan-field > div { display:grid; grid-template-columns:1fr auto; gap:7px; }.wms-scan-field input { min-width:0; font-family:ui-monospace,Consolas,monospace; font-weight:800; text-transform:uppercase; }.wms-scan-field input.scan-success { border-color:#2b9b72; box-shadow:0 0 0 4px rgba(43,155,114,.12); }
.wms-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:16px 0; padding:0; border:0; }.wms-options legend { grid-column:1/-1; margin-bottom:3px; font-size:13px; font-weight:900; }.wms-options label { display:flex; align-items:center; gap:9px; margin:0; padding:11px; border:1px solid #dce6e2; border-radius:10px; background:#fbfcfb; cursor:pointer; }.wms-options label:has(input:checked) { border-color:#8db8a8; background:#edf7f3; }.wms-options label.mandatory { border-color:#ead6a7; background:#fff8e9; cursor:default; }.wms-options input { flex:0 0 auto; width:17px; height:17px; accent-color:var(--forest); }.wms-options label > span { display:flex; min-width:0; flex-direction:column; }.wms-options b { font-size:12px; }.wms-options small { color:var(--muted); font-size:11px; }.wms-options.single { grid-template-columns:1fr; }
.wms-total { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:16px 0; padding:14px 16px; border-radius:12px; color:#fff; background:#143b31; }.wms-total > span { display:flex; flex-direction:column; font-size:13px; font-weight:800; }.wms-total small { color:#b5c9c2; font-size:11px; font-weight:500; }.wms-total strong { color:var(--amber); font-family:"Manrope"; font-size:24px; }
.wms-exit-preview { display:grid; grid-template-columns:40px 1fr; align-items:center; gap:10px; min-height:72px; margin:16px 0; padding:12px; border:1px dashed #bdcbc6; border-radius:11px; background:#f7f9f8; }.wms-exit-preview > span { display:grid; width:40px; height:40px; place-items:center; border-radius:10px; color:#70827b; background:#e7ecea; }.wms-exit-preview div { display:flex; min-width:0; flex-direction:column; }.wms-exit-preview strong { font-size:13px; }.wms-exit-preview small { color:var(--muted); font-size:12px; }.wms-exit-preview.found { border-style:solid; border-color:#8ab8a6; background:#ecf7f2; }.wms-exit-preview.found > span { color:#fff; background:var(--forest); }
.wms-stock-heading { margin-top:7px; }.wms-filter { display:grid; grid-template-columns:minmax(220px,1fr) 190px auto; align-items:end; gap:10px; margin-bottom:13px; padding:13px; }.wms-filter label { margin:0; font-size:12px; }.wms-stock-list { display:flex; flex-direction:column; gap:9px; margin-bottom:29px; }.wms-stock-row { display:grid; grid-template-columns:minmax(270px,1.25fr) 150px minmax(210px,.8fr) minmax(170px,.65fr); align-items:center; gap:15px; padding:13px; }
.wms-stock-id { display:grid; grid-template-columns:48px 1fr; align-items:center; gap:11px; min-width:0; }.wms-stock-id > span { display:grid; width:48px; height:48px; place-items:center; border-radius:12px; color:#fff; background:linear-gradient(145deg,#174e40,#22745d); font-family:"Manrope"; font-size:20px; font-weight:900; }.wms-stock-id > div { display:flex; min-width:0; flex-direction:column; }.wms-stock-id small { color:var(--forest); font-family:ui-monospace,Consolas,monospace; font-size:11px; font-weight:800; }.wms-stock-id strong { overflow:hidden; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }.wms-stock-id p { margin:2px 0 0; color:var(--muted); font-size:12px; }
.wms-stock-location { display:flex; flex-direction:column; }.wms-stock-location small { color:var(--muted); font-size:11px; }.wms-stock-location strong { margin-bottom:5px; font-family:"Manrope"; font-size:17px; }.wms-stock-location .badge { width:max-content; }.wms-stock-services { display:flex; flex-wrap:wrap; gap:5px; }.wms-stock-services span { padding:4px 6px; border-radius:6px; color:#46645a; background:#edf4f1; font-size:10px; font-weight:800; }.wms-stock-services strong { width:100%; margin-top:2px; color:var(--forest); font-size:13px; }
.wms-stock-actions { display:flex; align-items:flex-start; flex-direction:column; gap:6px; }.wms-stock-actions form { margin:0; }.wms-stock-actions details { position:relative; }.wms-stock-actions summary { color:var(--forest); cursor:pointer; font-size:11px; font-weight:800; }.wms-stock-actions details form { position:absolute; top:24px; right:0; z-index:5; display:grid; grid-template-columns:105px auto; gap:5px; width:230px; padding:9px; border:1px solid var(--line); border-radius:9px; background:#fff; box-shadow:var(--shadow); }.wms-stock-actions details input { min-width:0; padding:7px; }.wms-stock-actions .text-link { padding:0; border:0; background:none; cursor:pointer; }
.wms-history { padding:5px 18px; }.wms-history article { display:grid; grid-template-columns:40px 1fr auto; align-items:center; gap:12px; padding:13px 0; border-bottom:1px solid #edf1ef; }.wms-history article:last-child { border-bottom:0; }.wms-history-icon { display:grid; width:38px; height:38px; place-items:center; border-radius:10px; color:#fff; background:#778781; font-weight:900; }.wms-history-icon.entry { background:var(--forest); }.wms-history-icon.exit { color:#4d370c; background:var(--amber); }.wms-history-icon.battery { background:#367ac0; }.wms-history article div { display:flex; min-width:0; flex-direction:column; }.wms-history strong { font-size:13px; }.wms-history p { margin:2px 0; color:#53675f; font-size:12px; }.wms-history small { color:var(--muted); font-size:11px; }.wms-history article > b { color:var(--forest); font-size:13px; white-space:nowrap; }
.wms-scanner { width:min(92vw,520px); padding:20px; border:0; border-radius:18px; box-shadow:0 28px 90px rgba(5,26,21,.35); }.wms-scanner::backdrop { background:rgba(6,25,20,.74); backdrop-filter:blur(4px); }.wms-scanner-head { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:15px; }.wms-scanner-head h2 { margin:2px 0; }.wms-scanner-head > button { width:36px; height:36px; border:0; border-radius:10px; color:#fff; background:var(--ink); cursor:pointer; font-size:20px; }.wms-camera { position:relative; overflow:hidden; aspect-ratio:4/3; border-radius:14px; background:#07120f; }.wms-camera video { width:100%; height:100%; object-fit:cover; }.wms-camera > span { position:absolute; top:50%; left:50%; width:72%; height:35%; border:2px solid var(--amber); border-radius:12px; box-shadow:0 0 0 999px rgba(0,0,0,.2); transform:translate(-50%,-50%); }.wms-scanner > p { margin:12px 0; color:var(--muted); font-size:13px; text-align:center; }.wms-scanner.has-error > p { color:#a84438; }
@media(max-width:1100px){.wms-kpis{grid-template-columns:repeat(2,1fr)}.wms-overview-grid,.wms-workflow{grid-template-columns:1fr}.wms-stock-row{grid-template-columns:minmax(250px,1.2fr) 130px minmax(180px,.8fr)}.wms-stock-actions{grid-column:1/-1;flex-direction:row;align-items:center}}
@media(max-width:700px){.wms-header{align-items:flex-start;padding:18px}.wms-live{margin-top:8px}.wms-kpis{grid-template-columns:1fr 1fr;gap:7px}.wms-kpis article{grid-template-columns:38px 1fr;padding:12px;gap:8px}.wms-kpi-icon{width:38px;height:38px}.wms-kpis strong{font-size:20px}.wms-overview-grid{grid-template-columns:1fr}.wms-zones{grid-template-columns:repeat(2,1fr)}.wms-tariffs dl{grid-template-columns:1fr}.wms-operation-card{padding:16px}.wms-operation-card>.form-grid.two{grid-template-columns:1fr}.wms-scan-field>div{grid-template-columns:1fr}.wms-options{grid-template-columns:1fr}.wms-filter{grid-template-columns:1fr}.wms-stock-row{grid-template-columns:1fr 1fr;gap:12px}.wms-stock-id{grid-column:1/-1}.wms-stock-services{justify-content:flex-end;text-align:right}.wms-stock-actions{grid-column:1/-1;align-items:flex-start;flex-direction:column}.wms-stock-actions details form{right:auto;left:0}.wms-history{padding:4px 12px}.wms-history article{grid-template-columns:36px 1fr}.wms-history article>b{grid-column:2}.wms-scanner{padding:14px}}

/* Étiquette logistique après enlèvement */
@media (min-width:1101px) { .driver-workflow { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.label-action-card { display:grid; grid-template-columns:58px 1fr auto; align-items:center; gap:12px; padding:13px; border:1px solid #bed2ca; border-radius:12px; background:#f2f8f5; }
.label-mini-barcode { width:58px; height:47px; border:7px solid white; background:repeating-linear-gradient(90deg,#101817 0 2px,transparent 2px 4px,#101817 4px 5px,transparent 5px 8px); box-shadow:0 0 0 1px #d4ddda; }
.label-action-card div { display:flex; min-width:0; flex-direction:column; }.label-action-card small { color:var(--muted); font-size:8px; text-transform:uppercase; }.label-action-card strong { color:var(--forest); font-size:16px; }.label-action-card code { overflow:hidden; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.label-action-card .button { padding:9px 11px; font-size:9px; }
.label-confirm-form { margin-top:12px; }.label-confirm-form small { display:block; margin-top:7px; color:var(--muted); font-size:8px; text-align:center; }
.label-confirmation { display:flex; align-items:center; gap:10px; margin-top:12px; padding:12px; border-radius:10px; color:var(--forest); background:var(--mint); }.label-confirmation > span { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; color:white; background:var(--forest); }.label-confirmation div { display:flex; flex-direction:column; }.label-confirmation small { color:#517469; font-size:8px; }
.transport-steps-card { display:grid; grid-template-columns:1fr 44px 1fr 44px 1fr; align-items:center; gap:10px; margin-bottom:18px; padding:16px 20px; }
.transport-steps-card > i { height:2px; background:var(--line); }.transport-step { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:9px; min-width:0; }.transport-step > span { display:grid; width:34px; height:34px; place-items:center; border:2px solid #c8d2ce; border-radius:50%; color:var(--muted); font-size:11px; font-weight:800; }.transport-step.done > span { border-color:var(--forest); color:white; background:var(--forest); }.transport-step.current > span { border-color:var(--amber); color:var(--ink); background:#fff1d3; }.transport-step div { display:flex; min-width:0; flex-direction:column; }.transport-step strong { font-size:10px; }.transport-step small { overflow:hidden; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.transport-step a { color:var(--forest); font-size:8px; font-weight:800; white-space:nowrap; }
.proof-summary.three { grid-template-columns:1fr 34px 1fr 34px 1fr; }
@media (max-width:700px) { .label-action-card { grid-template-columns:48px 1fr; }.label-mini-barcode { width:48px; }.label-action-card .button { grid-column:1/-1; width:100%; }.transport-steps-card { grid-template-columns:1fr; gap:8px; }.transport-steps-card > i { width:2px; height:14px; margin-left:16px; }.transport-step { grid-template-columns:34px 1fr; }.transport-step a { grid-column:2; }.proof-summary.three { grid-template-columns:1fr; } }

/* Pièce d’identité privée du destinataire */
.payment-tracking { grid-template-columns:repeat(6,1fr); }
.recipient-id-panel { margin:0 18px 16px; padding:17px; border:1px solid #d5e1dd; border-radius:13px; background:#f7faf8; }.recipient-id-panel.verified { border-color:#afcebf; background:#eff8f3; }
.recipient-id-heading { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:12px; }.recipient-id-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:11px; color:white; background:var(--forest); font-size:17px; font-weight:800; }.recipient-id-heading h3 { margin:2px 0; font-size:13px; }.recipient-id-heading p { margin:0; color:var(--muted); font-size:9px; }.recipient-id-heading > b { padding:6px 9px; border-radius:99px; color:#73510c; background:#fff0c8; font-size:8px; }.recipient-id-panel.verified .recipient-id-heading > b { color:#1d654f; background:#dcefe6; }
.recipient-id-current { display:grid; grid-template-columns:150px 1fr; gap:14px; align-items:center; margin-top:14px; padding:12px; border:1px solid #d8e3df; border-radius:11px; background:white; }.recipient-id-current img { width:150px; height:92px; border-radius:8px; object-fit:cover; }.recipient-id-current > div { display:flex; min-width:0; flex-direction:column; }.recipient-id-current strong { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.recipient-id-current small { color:var(--muted); font-size:9px; }.recipient-id-current span { margin-top:5px; color:var(--forest); font-size:9px; font-weight:800; }.recipient-id-current a { margin-top:5px; color:var(--forest); font-size:9px; font-weight:800; }
.recipient-id-form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px 14px; margin-top:14px; }.identity-upload { display:flex; align-items:center; gap:11px; padding:11px 13px; border:1px dashed #9ebdb2; border-radius:10px; background:white; cursor:pointer; }.identity-upload input { position:absolute; width:1px; height:1px; opacity:0; }.identity-upload > span { display:grid; width:35px; height:35px; place-items:center; border-radius:9px; color:white; background:var(--forest); }.identity-upload > div { display:flex; flex-direction:column; }.identity-upload strong { font-size:10px; }.identity-upload small { color:var(--muted); font-size:8px; }.identity-consent { display:flex; grid-column:1/-1; align-items:flex-start; gap:8px; color:var(--muted); font-size:9px; }.identity-consent input { width:auto; margin-top:1px; }
.driver-identity-check { margin-bottom:14px; padding:14px; border:2px solid #d6ae57; border-radius:13px; background:#fffaf0; }.driver-identity-title { display:grid; grid-template-columns:36px 1fr auto; align-items:center; gap:10px; margin-bottom:12px; }.driver-identity-title > span { display:grid; width:36px; height:36px; place-items:center; border-radius:10px; color:white; background:var(--forest); }.driver-identity-title div { display:flex; flex-direction:column; }.driver-identity-title small { color:var(--muted); font-size:7px; text-transform:uppercase; }.driver-identity-title strong { font-size:11px; }.driver-identity-title > b { padding:5px 7px; border-radius:99px; color:#6e4a00; background:#ffe6aa; font-size:7px; }.driver-identity-photo { position:relative; display:block; overflow:hidden; border-radius:10px; background:#dfe8e4; }.driver-identity-photo img { display:block; width:100%; height:190px; object-fit:contain; background:#eef3f1; }.driver-identity-photo > span { position:absolute; right:8px; bottom:8px; padding:6px 8px; border-radius:7px; color:white; background:#102d25df; font-size:8px; font-weight:800; }.driver-identity-check dl { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:10px 0; }.driver-identity-check dl div { display:flex; padding:9px; flex-direction:column; border-radius:8px; background:white; }.driver-identity-check dt { color:var(--muted); font-size:7px; text-transform:uppercase; }.driver-identity-check dd { margin:2px 0 0; font-size:9px; font-weight:800; }.identity-confirm { display:flex; align-items:flex-start; gap:9px; padding:11px; border:1px solid #abc6bc; border-radius:9px; background:#edf7f3; }.identity-confirm input { width:auto; margin-top:3px; }.identity-confirm span { display:flex; flex-direction:column; }.identity-confirm strong { font-size:10px; }.identity-confirm small { color:var(--muted); font-size:8px; }.driver-identity-check > p { margin:9px 2px 0; color:var(--muted); font-size:8px; }.identity-verified-result { display:flex; align-items:center; gap:10px; margin-bottom:12px; padding:11px; border-radius:9px; color:var(--forest); background:var(--mint); }.identity-verified-result > span { display:grid; width:31px; height:31px; place-items:center; border-radius:50%; color:white; background:var(--forest); }.identity-verified-result > div { display:flex; flex-direction:column; }.identity-verified-result small { color:#58766d; font-size:8px; }
@media(max-width:700px){.recipient-id-panel{margin:0 12px 14px;padding:14px}.recipient-id-heading{grid-template-columns:38px 1fr}.recipient-id-heading>b{grid-column:1/-1;width:fit-content}.recipient-id-current{grid-template-columns:1fr}.recipient-id-current img{width:100%;height:160px}.recipient-id-form{grid-template-columns:1fr}.recipient-id-form .button{width:100%}.driver-identity-check dl{grid-template-columns:1fr}.driver-identity-photo img{height:165px}}

/* Constructeurs accompagnés — accueil */
.maker-trust { max-width:1320px; margin:-24px auto 58px; padding:34px 0 25px; border:1px solid #dfe6e2; border-radius:24px; background:#fff; box-shadow:0 22px 60px rgba(17,58,47,.08); overflow:hidden; }
.maker-trust-heading { display:grid; grid-template-columns:minmax(0,1fr) 230px; align-items:end; gap:44px; padding:0 42px 28px; }
.maker-trust-heading h2 { max-width:760px; margin:5px 0 9px; color:var(--ink); font-size:clamp(28px,3.2vw,43px); line-height:1.04; }
.maker-trust-heading p { max-width:790px; margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
.maker-trust-stat { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:2px 11px; padding-left:25px; border-left:1px solid var(--line); }
.maker-trust-stat > strong { grid-row:1 / 3; color:var(--forest); font-family:"Manrope",system-ui,sans-serif; font-size:52px; line-height:1; }
.maker-trust-stat > span { color:var(--ink); font-size:10px; font-weight:800; line-height:1.25; text-transform:uppercase; }
.maker-trust-stat button { display:flex; grid-column:1 / -1; align-items:center; justify-content:center; gap:8px; margin-top:11px; padding:9px 12px; border:0; border-radius:9px; color:white; background:var(--forest); font-size:9px; font-weight:800; cursor:pointer; }
.maker-trust-stat button b { color:var(--amber); font-size:14px; letter-spacing:-3px; }
.maker-marquees { display:flex; flex-direction:column; gap:10px; padding:15px 0; border-top:1px solid #eef1ef; border-bottom:1px solid #eef1ef; background:#f7f9f8; }
.maker-marquee { --maker-duration:52s; position:relative; display:flex; width:100%; overflow:hidden; }
.maker-marquee::before,.maker-marquee::after { position:absolute; top:0; bottom:0; z-index:2; width:70px; content:""; pointer-events:none; }
.maker-marquee::before { left:0; background:linear-gradient(90deg,#f7f9f8,transparent); }.maker-marquee::after { right:0; background:linear-gradient(-90deg,#f7f9f8,transparent); }
.maker-track { display:flex; width:max-content; animation:maker-scroll var(--maker-duration) linear infinite; will-change:transform; }
.maker-marquee.reverse .maker-track { animation-name:maker-scroll-reverse; animation-duration:58s; transform:translateX(-50%); }
.maker-trust.is-fast .maker-marquee { --maker-duration:24s; }.maker-trust.is-fast .maker-marquee.reverse .maker-track { animation-duration:27s; }
.maker-group { display:flex; flex-shrink:0; align-items:center; gap:10px; padding-right:10px; }
.maker-logo { display:flex; min-width:168px; height:67px; align-items:center; gap:11px; padding:10px 15px; border:1px solid #dfe5e2; border-radius:12px; color:#182721; background:white; box-shadow:0 5px 15px rgba(25,57,49,.04); }
.maker-logo i { position:relative; display:grid; min-width:42px; height:42px; place-items:center; padding:0 5px; overflow:hidden; border-radius:9px; color:white; background:#263a34; font-family:"Manrope",Arial,sans-serif; font-size:12px; font-style:normal; font-weight:900; letter-spacing:-.05em; }
.maker-logo i > span { position:relative; z-index:0; }.maker-logo i img { position:absolute; inset:0; z-index:1; display:block; width:100%; height:100%; padding:5px; border-radius:inherit; background:white; object-fit:contain; }
.maker-logo strong { max-width:105px; font-family:"Manrope",Arial,sans-serif; font-size:11px; font-weight:900; line-height:1.02; text-transform:uppercase; }
.maker-logo.tone-red i { background:#d92828; }.maker-logo.tone-blue i { background:#1659a7; }.maker-logo.tone-green i { background:#19774d; }.maker-logo.tone-orange i { color:#171b19; background:#f18825; }.maker-logo.tone-black i { background:#191d1c; }
.maker-logo.tone-red > strong { color:#d51f2b; }.maker-logo.tone-blue > strong { color:#1559a6; }.maker-logo.tone-green > strong { color:#4da72b; }.maker-logo.tone-orange > strong { color:#e66e18; }.maker-logo.tone-black > strong { color:#171b19; }
.maker-logo.brand-honda i { min-width:52px; height:52px; }.maker-logo.brand-kawasaki i { min-width:68px; height:42px; }.maker-logo.brand-honda i img,.maker-logo.brand-kawasaki i img { padding:0; background:transparent; }
.maker-logo.brand-kawasaki > strong { color:#55b72c; }
.maker-trust-note { display:flex; align-items:center; justify-content:center; gap:8px; margin:20px 22px 0; color:#50645d; font-size:10px; font-weight:700; text-align:center; }.maker-trust-note span { color:var(--forest); }
@keyframes maker-scroll { to { transform:translateX(-50%); } }
@keyframes maker-scroll-reverse { to { transform:translateX(0); } }
@media(max-width:700px){
    .maker-trust { margin:-13px 10px 38px; padding-top:25px; border-radius:18px; }
    .maker-trust-heading { grid-template-columns:1fr; gap:20px; padding:0 20px 22px; }
    .maker-trust-heading h2 { font-size:30px; }.maker-trust-heading p { font-size:11px; }
    .maker-trust-stat { grid-template-columns:auto 1fr; padding:15px 0 0; border-top:1px solid var(--line); border-left:0; }
    .maker-trust-stat > strong { font-size:42px; }.maker-trust-stat button { grid-column:auto; grid-row:1 / 3; margin:0 0 0 auto; }
    .maker-marquee::before,.maker-marquee::after { width:28px; }.maker-logo { min-width:145px; height:60px; padding:8px 11px; }.maker-logo i { min-width:32px; height:32px; }.maker-logo strong { max-width:91px; font-size:9px; }
}
@media(prefers-reduced-motion:reduce){.maker-track,.maker-marquee.reverse .maker-track{animation:none;transform:none}.maker-marquee{overflow-x:auto;scrollbar-width:thin}.maker-trust-stat button{display:none}}

/* Exploitation multi-secteurs et tournées */
.operations-header { align-items:flex-end; }.operations-capacity { display:grid; grid-template-columns:210px minmax(280px,1fr) 130px 130px; align-items:center; gap:22px; margin-bottom:18px; padding:22px 25px; background:linear-gradient(105deg,#102f29,#185746); color:white; }
.capacity-number { display:flex; align-items:flex-end; gap:10px; }.capacity-number span { color:var(--amber); font-family:"Manrope",sans-serif; font-size:46px; font-weight:900; line-height:.9; }.capacity-number small { max-width:80px; color:#b7cbc5; font-size:9px; line-height:1.25; }
.capacity-progress > div { display:flex; justify-content:space-between; gap:15px; font-size:10px; }.capacity-progress > div b { color:var(--amber); }.capacity-progress > span,.round-load > span { display:block; height:7px; margin:9px 0 5px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.13); }.capacity-progress > span i,.round-load > span i { display:block; height:100%; border-radius:inherit; background:var(--amber); }.capacity-progress > small { color:#9fb8b1; font-size:8px; }
.capacity-kpi { padding-left:19px; border-left:1px solid rgba(255,255,255,.14); }.capacity-kpi strong { display:block; color:white; font-family:"Manrope",sans-serif; font-size:27px; }.capacity-kpi small { color:#a9c0b9; font-size:8px; text-transform:uppercase; }
.round-create { margin-bottom:27px; padding:0; overflow:hidden; }.round-create > summary { display:flex; align-items:center; justify-content:space-between; padding:18px 22px; cursor:pointer; list-style:none; background:#f7faf8; }.round-create > summary span { display:flex; flex-direction:column; }.round-create > summary small { color:var(--muted); font-size:8px; text-transform:uppercase; }.round-create > summary strong { font-size:15px; }.round-create > summary b { color:var(--forest); font-size:21px; }.round-create form { padding:20px 22px 23px; border-top:1px solid var(--line); }
.form-grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); }.form-grid.four .wide { grid-column:span 2; }
.round-list { display:flex; flex-direction:column; gap:18px; }.round-card { padding:22px; }.round-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }.round-card-header h2 { margin:3px 0; font-size:23px; }.round-card-header p { margin:0; color:var(--muted); font-size:9px; }
.round-route { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:18px; margin:17px 0 13px; padding:14px 16px; border-radius:11px; color:white; background:var(--ink); }.round-route span { display:flex; flex-direction:column; }.round-route span:last-child { text-align:right; }.round-route small { color:#9db5ae; font-size:8px; text-transform:uppercase; }.round-route strong { font-size:10px; }.round-route b { color:var(--amber); }
.round-load { display:grid; grid-template-columns:160px 1fr; align-items:center; gap:15px; margin-bottom:15px; }.round-load div { display:flex; flex-direction:column; }.round-load strong { font-size:10px; }.round-load small { color:var(--muted); font-size:8px; }.round-load > span { margin:0; background:#e8eeeb; }.round-load > span i { background:var(--forest); }
.round-assignment-form { display:grid; grid-template-columns:1.2fr 1fr 1fr 2fr auto; align-items:end; gap:9px; padding:13px; border:1px solid var(--line); border-radius:11px; background:#f7f9f8; }.round-assignment-form label,.round-add-stop label,.round-stop label { margin:0; }.round-assignment-form label { font-size:8px; }.round-assignment-form input,.round-assignment-form select { min-height:36px; padding:7px 9px; font-size:9px; }
.round-stops { display:flex; flex-direction:column; gap:8px; margin:17px 0 11px; }.round-empty { margin:0; padding:18px; border:1px dashed #bfd0ca; border-radius:10px; color:var(--muted); font-size:10px; text-align:center; }.round-stop { display:grid; grid-template-columns:60px 78px minmax(170px,1.4fr) 150px minmax(170px,1fr) 105px auto; align-items:end; gap:8px; padding:11px; border:1px solid var(--line); border-left:4px solid var(--forest); border-radius:10px; background:white; }.round-stop.delivery { border-left-color:var(--amber); }.round-stop.done { opacity:.72; background:#eef7f3; }.round-stop.skipped { border-left-color:#bf5143; background:#fff7f5; }.round-stop input,.round-stop select { min-height:35px; padding:7px 8px; font-size:9px; }.round-stop label small { display:block; margin-bottom:4px; color:var(--muted); font-size:7px; text-transform:uppercase; }.stop-type { align-self:center; padding:6px 7px; border-radius:7px; color:var(--forest); background:var(--mint); font-size:7px; font-weight:900; text-align:center; }.stop-type.delivery { color:#72520c; background:#fff0cb; }.stop-main { display:flex; align-self:center; min-width:0; flex-direction:column; }.stop-main strong,.stop-main small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.stop-main strong { font-size:10px; }.stop-main small { color:var(--muted); font-size:8px; }
.round-add-stop { display:grid; grid-template-columns:1.5fr .8fr 70px 160px 1.4fr auto; align-items:end; gap:8px; padding:13px; border:1px dashed #a9c3ba; border-radius:11px; background:#f3f8f6; }.round-add-stop label { font-size:8px; }.round-add-stop input,.round-add-stop select { min-height:36px; padding:7px 8px; font-size:9px; }
.operation-search { display:flex; align-items:center; gap:7px; margin-left:auto; }.operation-search input { min-width:210px; min-height:36px; }.operation-search > a { color:var(--forest); font-size:8px; font-weight:800; }.pagination { display:flex; justify-content:center; gap:6px; margin:20px 0; }.pagination a { display:grid; width:34px; height:34px; place-items:center; border:1px solid var(--line); border-radius:8px; color:var(--forest); background:white; font-size:10px; font-weight:800; }.pagination a.active { color:white; border-color:var(--forest); background:var(--forest); }
@media(max-width:1100px){.operations-capacity{grid-template-columns:1fr 1.5fr}.capacity-kpi{border-left:0}.form-grid.four{grid-template-columns:repeat(2,1fr)}.round-assignment-form{grid-template-columns:repeat(2,1fr)}.round-assignment-form .wide{grid-column:1/-1}.round-stop{grid-template-columns:55px 76px 1fr 150px}.stop-instructions{grid-column:1/3}.round-add-stop{grid-template-columns:repeat(3,1fr)}.round-add-stop .wide{grid-column:span 2}}
@media(max-width:700px){.operations-header{align-items:stretch}.operations-capacity{grid-template-columns:1fr 1fr;padding:18px}.capacity-number,.capacity-progress{grid-column:1/-1}.capacity-kpi{padding:10px 0 0;border-top:1px solid rgba(255,255,255,.12)}.form-grid.four{grid-template-columns:1fr}.form-grid.four .wide{grid-column:auto}.round-card{padding:15px}.round-card-header{flex-direction:column}.round-route{grid-template-columns:1fr}.round-route span:last-child{text-align:left}.round-route b{transform:rotate(90deg)}.round-load{grid-template-columns:1fr}.round-assignment-form,.round-stop,.round-add-stop{grid-template-columns:1fr}.round-assignment-form .wide,.stop-instructions,.round-add-stop .wide{grid-column:auto}.stop-type{justify-self:start}.round-stop .button,.round-add-stop .button{width:100%}.operation-search{width:100%;margin:0;flex-wrap:wrap}.operation-search input{min-width:0;flex:1}}

/* Tableaux d'activité, équipes et comptabilité */
.activity-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:27px; }.activity-capacity-card,.activity-chart { padding:22px; }.activity-capacity-card .panel-heading > strong { color:var(--forest); font-family:"Manrope",sans-serif; font-size:27px; }.activity-capacity-bar { height:12px; margin:18px 0 11px; overflow:hidden; border-radius:99px; background:#e5ece8; }.activity-capacity-bar span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--forest),#45a57f); }.activity-capacity-card > p { color:var(--muted); font-size:10px; line-height:1.55; }.activity-capacity-card .inline-form { margin-top:14px; }.activity-capacity-card .inline-form label { max-width:160px; font-size:8px; }
.activity-bars { display:grid; height:190px; grid-template-columns:repeat(7,1fr); align-items:end; gap:9px; padding-top:15px; }.activity-bars > div { display:grid; grid-template-rows:135px auto auto; gap:3px; text-align:center; }.activity-bars span { display:flex; align-items:end; justify-content:center; border-radius:8px 8px 3px 3px; background:#f0f4f2; }.activity-bars i { display:block; width:60%; min-height:5px; border-radius:6px 6px 2px 2px; background:var(--forest); }.activity-bars strong { font-size:10px; }.activity-bars small { color:var(--muted); font-size:8px; }
.team-create-grid { display:grid; grid-template-columns:1.15fr .85fr .85fr; gap:18px; margin-bottom:18px; }.team-create-card { padding:0; overflow:hidden; }.team-create-card summary { display:flex; align-items:center; gap:12px; padding:17px 19px; background:#f5f8f6; cursor:pointer; list-style:none; }.team-create-card summary > span { display:grid; width:35px; height:35px; place-items:center; border-radius:9px; color:white; background:var(--forest); }.team-create-card summary div { display:flex; flex-direction:column; }.team-create-card summary small { color:var(--muted); font-size:8px; text-transform:uppercase; }.team-create-card summary strong { font-size:13px; }.team-create-card form { padding:18px; border-top:1px solid var(--line); }
.sector-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:18px; }.sector-card { display:grid; grid-template-columns:46px 1fr; align-items:center; gap:11px; padding:16px; }.sector-card .stat-icon { width:46px; height:46px; font-size:10px; }.sector-card > div { display:flex; min-width:0; flex-direction:column; }.sector-card > div strong { font-size:11px; }.sector-card > div small { overflow:hidden; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.sector-card p { grid-column:1/-1; margin:7px 0 0; padding-top:9px; border-top:1px solid var(--line); color:var(--muted); font-size:8px; }
.geography-heading { margin-top:30px; }.sector-management-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }.sector-editor-card { position:relative; padding:18px; }.sector-editor-card.is-archived { opacity:.75; background:#f4f5f4; }.sector-editor-head { display:grid; grid-template-columns:46px 1fr auto; align-items:center; gap:11px; margin-bottom:15px; }.sector-editor-head .stat-icon { width:46px; height:46px; font-size:9px; }.sector-editor-head > div { display:flex; min-width:0; flex-direction:column; }.sector-editor-head > div strong { font-size:12px; }.sector-editor-head > div small { color:var(--muted); font-size:8px; }.sector-editor-form .form-grid { margin-bottom:11px; }.sector-active-check { display:flex; align-items:center; gap:8px; align-self:end; min-height:42px; padding:9px 11px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:white; font-size:9px; font-weight:800; }.sector-active-check input { width:auto; margin:0; }.sector-department-list { min-height:31px; margin:0 0 11px; padding:9px 10px; border-radius:8px; color:var(--muted); background:#f5f8f6; font-size:8px; line-height:1.45; }.sector-editor-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; }.sector-editor-actions > span { color:var(--muted); font-size:8px; }.sector-delete-form { margin-top:12px; padding-top:10px; border-top:1px solid var(--line); text-align:right; }.sector-delete-form .text-danger,.department-actions .text-danger { padding:5px 0; font-size:8px; }.department-table { margin-bottom:27px; }.department-table input,.department-table select { min-width:125px; min-height:35px; padding:7px 8px; font-size:9px; }.department-table .department-code-input { width:64px; min-width:64px; font-weight:900; text-align:center; }.department-actions { display:flex; align-items:center; gap:10px; }.department-actions form { margin:0; }
.accounting-hero { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-bottom:18px; padding:28px 32px; color:white; background:linear-gradient(120deg,#102f29,#1d6753); }.accounting-hero h2 { margin:5px 0; color:white; font-size:30px; }.accounting-hero p { max-width:700px; margin:0; color:#b8cec7; font-size:11px; }.accounting-hero > span { display:flex; min-width:235px; flex-direction:column; padding:17px 20px; border:1px solid rgba(255,255,255,.12); border-radius:13px; background:rgba(255,255,255,.07); }.accounting-hero > span small { color:#a9c2ba; font-size:8px; text-transform:uppercase; }.accounting-hero > span strong { margin-top:4px; color:var(--amber); font-family:"Manrope",sans-serif; font-size:27px; }
.management-hero { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-bottom:18px; padding:28px 32px; color:white; background:linear-gradient(120deg,#102f29,#1d6753); }.management-hero.hr-hero { background:linear-gradient(120deg,#302345,#6f4a87); }.management-hero.it-hero { background:linear-gradient(120deg,#10283b,#1d617b); }.management-hero h2 { margin:5px 0; color:white; font-size:30px; }.management-hero p { max-width:760px; margin:0; color:#d2dfdb; font-size:11px; line-height:1.5; }.management-hero>span { display:flex; min-width:190px; flex-direction:column; padding:17px 20px; border:1px solid rgba(255,255,255,.14); border-radius:13px; background:rgba(255,255,255,.08); }.management-hero>span small { color:#cfddd8; font-size:8px; text-transform:uppercase; }.management-hero>span strong { margin-top:4px; color:var(--amber); font-family:"Manrope",sans-serif; font-size:30px; }
.compact-stats { margin-top:-7px; }.compact-stats .stat-card { min-height:94px; }.management-columns { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(250px,.7fr); gap:18px; margin:25px 0; }.management-form-card { padding:21px; }.management-form-card>summary { display:flex; align-items:center; gap:11px; margin:-21px -21px 18px; padding:17px 21px; border-bottom:1px solid var(--line); background:#f5f8f6; cursor:pointer; list-style:none; }.management-form-card>summary>span { display:grid; width:34px; height:34px; place-items:center; border-radius:9px; color:white; background:var(--forest); }.management-form-card>summary>div { display:flex; flex-direction:column; }.management-form-card>summary small { color:var(--muted); font-size:8px; text-transform:uppercase; }.management-form-card>summary strong { font-size:13px; }.management-form-card .panel-heading { margin-bottom:15px; }.management-note { align-self:start; padding:24px; }.management-note h3 { margin-top:14px; font-size:20px; }.management-note p,.management-note li { color:var(--muted); font-size:10px; line-height:1.6; }.management-note ul { padding-left:18px; }
.health-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:24px; }.health-card { display:flex; min-height:138px; align-items:flex-start; flex-direction:column; padding:18px; }.health-card>.badge { align-self:flex-end; }.health-card>small { margin-top:auto; color:var(--muted); font-size:8px; text-transform:uppercase; }.health-card>strong { margin-top:3px; font-size:16px; }.health-card>p { margin:3px 0 0; font-size:8px; }.ticket-update-form { display:grid; min-width:240px; gap:6px; }.ticket-update-form input,.ticket-update-form select { min-height:34px; padding:7px 8px; font-size:8px; }
.route-admin-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:11px; margin:0 0 18px; }.route-admin-summary article { display:flex; align-items:center; gap:11px; padding:14px; }.route-admin-icon { display:grid; width:39px; height:39px; flex:0 0 auto; place-items:center; border-radius:10px; color:white; font-size:17px; font-weight:900; }.route-admin-icon.ai { color:#143f36; background:#f0b94d; }.route-admin-icon.ok { background:#238a65; }.route-admin-icon.warning { background:#bd3f34; }.route-admin-icon.returned { background:#397c9e; }.route-admin-summary article>div { display:flex; min-width:0; flex-direction:column; }.route-admin-summary small { color:var(--muted); font-size:7px; text-transform:uppercase; }.route-admin-summary strong { margin-top:2px; font-size:14px; }.route-admin-summary p { margin:1px 0 0; color:var(--muted); font-size:7px; }.admin-route-monitor { margin:18px 0; overflow:hidden; }.admin-route-monitor>.panel-heading { padding:17px 18px 8px; }.admin-route-monitor .panel-heading p { margin:3px 0 0; font-size:8px; }.admin-route-monitor-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; padding:8px 18px 16px; }.admin-route-monitor-stats span { display:flex; min-height:56px; justify-content:center; flex-direction:column; padding:9px 11px; border:1px solid var(--line); border-radius:9px; background:#f7faf8; }.admin-route-monitor-stats small { color:var(--muted); font-size:7px; text-transform:uppercase; }.admin-route-monitor-stats strong { margin-top:2px; font-size:17px; }.ai-settings-overview { margin-bottom:26px; padding:0; overflow:hidden; }.ai-settings-status { display:grid; grid-template-columns:50px 1fr auto; align-items:center; gap:13px; padding:18px 20px; color:white; background:linear-gradient(110deg,#123b32,#1c6753); }.ai-settings-status>span { display:grid; width:48px; height:48px; place-items:center; border-radius:12px; color:#183f35; background:#f0b94d; font-size:22px; font-weight:900; }.ai-settings-status>div { display:flex; flex-direction:column; }.ai-settings-status small { color:#a9c8be; font-size:7px; text-transform:uppercase; }.ai-settings-status strong { margin-top:2px; color:white; font-size:16px; }.ai-settings-status p { margin:3px 0 0; color:#bdd4cd; font-size:8px; }.ai-settings-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); }.ai-settings-grid>div { display:flex; min-height:67px; justify-content:center; flex-direction:column; padding:12px 15px; background:white; }.ai-settings-grid small { color:var(--muted); font-size:7px; text-transform:uppercase; }.ai-settings-grid strong { margin-top:3px; font-size:9px; }.regulation-settings-list { display:grid; grid-template-columns:repeat(6,1fr); gap:7px; padding:15px 18px; background:#f7faf8; }.regulation-settings-list span { display:flex; min-height:56px; justify-content:center; flex-direction:column; padding:8px 10px; border:1px solid #dce7e2; border-radius:8px; background:white; }.regulation-settings-list b { color:var(--forest); font-size:12px; }.regulation-settings-list small { margin-top:2px; color:var(--muted); font-size:6.5px; }.ai-settings-help { margin:0; padding:10px 18px; border-top:1px solid var(--line); color:#5e716a; background:#edf4f1; font-size:7px; }.ai-settings-help code { color:#174f41; font-weight:800; }
@media(max-width:1100px){.team-create-grid{grid-template-columns:1fr 1fr}.team-create-grid>:first-child{grid-column:1/-1}.route-admin-summary{grid-template-columns:1fr 1fr}.regulation-settings-list{grid-template-columns:repeat(3,1fr)}.management-columns{grid-template-columns:1fr}.health-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){.activity-grid{grid-template-columns:1fr}.sector-grid{grid-template-columns:repeat(2,1fr)}.ai-settings-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.activity-bars{gap:4px}.activity-bars i{width:72%}.team-create-grid,.sector-management-grid,.sector-grid,.route-admin-summary{grid-template-columns:1fr}.team-create-grid>:first-child{grid-column:auto}.sector-editor-head{grid-template-columns:46px 1fr}.sector-editor-head>.badge{grid-column:1/-1;justify-self:start}.sector-editor-actions{align-items:stretch;flex-direction:column}.sector-editor-actions .button{width:100%}.department-actions{align-items:flex-start;flex-direction:column}.accounting-hero,.management-hero{align-items:stretch;flex-direction:column;padding:23px}.accounting-hero>span,.management-hero>span{min-width:0}.health-grid{grid-template-columns:1fr}.management-form-card{padding:16px}.management-form-card>summary{margin:-16px -16px 16px;padding:15px 16px}.admin-header+.tab-nav{overflow-x:auto;justify-content:flex-start}.admin-route-monitor>.panel-heading,.ai-settings-status{align-items:stretch;grid-template-columns:42px 1fr}.admin-route-monitor .button,.ai-settings-status>.badge{grid-column:1/-1}.admin-route-monitor-stats,.ai-settings-grid{grid-template-columns:1fr 1fr}.regulation-settings-list{grid-template-columns:1fr 1fr}}
.driver-round-list { display:flex; flex-direction:column; gap:15px; margin-bottom:28px; }.driver-round-card { padding:18px; }.driver-round-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }.driver-round-card header h2 { margin:3px 0; font-size:20px; }.driver-round-card header p { margin:0; color:var(--muted); font-size:8px; }.driver-round-card .round-route { margin:13px 0; padding:11px 14px; }
.driver-stop-list { display:flex; margin:0; padding:0; flex-direction:column; gap:7px; list-style:none; }.driver-stop-list li { display:grid; grid-template-columns:32px 1fr auto; align-items:center; gap:10px; padding:10px; border:1px solid var(--line); border-radius:9px; }.driver-stop-list li > span { display:grid; width:31px; height:31px; place-items:center; border-radius:9px; color:white; background:var(--forest); font-weight:900; }.driver-stop-list li > div { display:flex; min-width:0; flex-direction:column; }.driver-stop-list small { color:var(--muted); font-size:7px; text-transform:uppercase; }.driver-stop-list strong { font-size:10px; }.driver-stop-list p { margin:2px 0 0; overflow:hidden; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.driver-stop-list li.done { opacity:.65; background:#eff7f3; }.driver-stop-list li.done > span::after { content:'✓'; }.driver-stop-list li.done > span { font-size:0; }
.driver-order-form { margin-top:12px; }.driver-order-toolbar,.driver-order-submit,.driver-order-locked { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:9px; padding:11px 13px; border:1px solid #c6ded4; border-radius:10px; background:#eef7f3; }.driver-order-toolbar>div { display:flex; flex-direction:column; gap:2px; }.driver-order-toolbar strong,.driver-order-locked strong { color:var(--forest); font-size:10px; }.driver-order-toolbar small,.driver-order-submit small,.driver-order-locked span { color:var(--muted); font-size:7.5px; }.driver-order-toolbar>span { flex:0 0 auto; padding:6px 9px; border-radius:999px; color:#31554a; background:#d8ebe3; font-size:7px; font-weight:900; text-transform:uppercase; }.driver-order-form.is-dirty .driver-order-toolbar { border-color:#e9ad35; background:#fff7e5; }.driver-order-form.is-dirty .driver-order-toolbar>span { color:#6d4804; background:#f5d896; }.driver-order-form .driver-stop-list li { transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease; }.driver-order-form .driver-stop-list li.is-moving { border-color:var(--amber); box-shadow:0 6px 18px rgba(32,63,53,.13); transform:scale(1.005); }.driver-order-buttons { display:flex!important; flex-direction:column!important; gap:5px; }.driver-order-buttons button { display:grid; width:39px; height:34px; place-items:center; border:1px solid #a9c6bb; border-radius:8px; color:var(--forest); background:white; font-size:16px; font-weight:950; cursor:pointer; }.driver-order-buttons button:hover:not(:disabled),.driver-order-buttons button:focus-visible { color:white; border-color:var(--forest); background:var(--forest); }.driver-order-buttons button:disabled { opacity:.3; cursor:not-allowed; }.driver-order-submit { align-items:center; margin:9px 0 0; border-style:dashed; }.driver-order-submit .button:disabled { opacity:.5; cursor:not-allowed; }.driver-order-locked { justify-content:flex-start; border-color:#ead9ae; background:#fff8e8; }.driver-order-locked span { margin-left:auto; }
@media(max-width:700px){.driver-round-card>header{flex-direction:column}.driver-stop-list li{grid-template-columns:32px 1fr}.driver-stop-list .button{grid-column:1/-1;width:100%}.driver-order-toolbar,.driver-order-submit,.driver-order-locked{align-items:stretch;flex-direction:column}.driver-order-toolbar>span{align-self:flex-start}.driver-order-buttons{grid-column:1/-1;flex-direction:row!important}.driver-order-buttons button{height:42px;flex:1}.driver-order-submit .button{width:100%}.driver-order-locked span{margin-left:0}}

/* Préparation tactile des tournées */
.tactile-page-header { margin-bottom:18px; }.tactile-page-header h1 { font-size:clamp(27px,3vw,40px); }.tactile-page-header p { max-width:790px; }
.tactile-summary { display:grid; grid-template-columns:1.15fr 1.7fr .7fr .8fr; align-items:center; gap:1px; margin-bottom:13px; overflow:hidden; border-radius:14px; color:white; background:linear-gradient(108deg,#123b32,#1b6752); box-shadow:var(--shadow); }.tactile-summary>div { display:grid; min-height:72px; align-content:center; padding:13px 20px; border-left:1px solid rgba(255,255,255,.1); }.tactile-summary>div:first-child { grid-template-columns:auto auto 1fr; align-items:center; gap:8px; border-left:0; }.tactile-summary strong { font-family:"Manrope",sans-serif; font-size:21px; }.tactile-summary small { color:#b9cec8; font-size:9px; }.tactile-live-dot { width:9px; height:9px; border-radius:50%; background:#65d9a7; box-shadow:0 0 0 5px rgba(101,217,167,.12); }.tactile-capacity span { display:block; height:8px; margin-bottom:7px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.12); }.tactile-capacity i { display:block; height:100%; border-radius:inherit; background:var(--amber); }
.tactile-round-create { display:none; margin-bottom:13px; }.tactile-round-create[open] { display:block; }.tactile-round-create summary,.tactile-round-settings summary { display:flex; align-items:center; justify-content:space-between; padding:15px 19px; cursor:pointer; list-style:none; }.tactile-round-create summary span,.tactile-round-settings summary span { display:flex; flex-direction:column; }.tactile-round-create summary small,.tactile-round-settings summary small { color:var(--muted); font-size:8px; text-transform:uppercase; }.tactile-round-create form { padding:18px; border-top:1px solid var(--line); }
.department-selector { margin-bottom:12px; padding:14px 15px; }.department-selector>header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:10px; }.department-selector header h2 { margin:0; font-size:17px; }.department-selector header p { margin:2px 0 0; font-size:9px; }.department-selector-list { display:flex; gap:7px; overflow-x:auto; padding:2px 0 5px; scrollbar-width:thin; }.department-selector-card { display:flex; flex:0 0 122px; min-height:88px; align-items:center; justify-content:flex-start; flex-direction:column; padding:10px 7px 7px; border:1px solid #dce4e0; border-radius:10px; background:#f8faf9; transition:.15s ease; }.department-selector-card:hover { border-color:#90b4a7; transform:translateY(-1px); }.department-selector-card strong { color:var(--forest); font-family:"Manrope",sans-serif; font-size:16px; }.department-selector-card small { width:104px; overflow:hidden; color:var(--muted); font-size:7px; text-align:center; text-overflow:ellipsis; white-space:nowrap; }.department-selector-card.is-selected { color:white; border-color:var(--forest); background:var(--forest); box-shadow:0 6px 14px rgba(22,93,74,.16); }.department-selector-card.is-selected strong,.department-selector-card.is-selected small { color:white; }
.department-selector-workspace{margin:0;padding:12px 14px 10px;border-bottom:1px solid #dfe9e5;background:linear-gradient(180deg,#fff,#f7faf8)}.department-selector-workspace>header{margin-bottom:7px}.department-selector-workspace header h2{font-size:14px}.department-selector-workspace header p{font-size:7.5px}.department-selector-workspace .department-selector-card{flex-basis:138px;min-height:92px}.department-selector-workspace .department-selector-card:hover{transform:none}.department-selector-workspace .department-selector-card.all{flex-basis:146px}.department-selector-workspace .department-card-metrics{grid-template-columns:1fr 1fr;gap:4px 6px}.department-selector-workspace .department-motorcycles{justify-self:start}.department-selector-workspace .department-weight{justify-self:end;color:#48665c;font-size:7px;font-weight:900;white-space:nowrap}.department-selector-workspace .department-pickups{justify-self:start}.department-selector-workspace .department-urgent{justify-self:end}.department-selector-workspace .is-selected .department-weight{color:#fff}.department-hover-preview{position:fixed;z-index:10000;display:block;width:min(320px,calc(100vw - 20px));padding:10px;visibility:hidden;border:1px solid #bcd5cc;border-radius:12px;color:#173b32;background:#fff;box-shadow:0 16px 42px rgba(11,48,39,.22);opacity:0;pointer-events:none;text-align:left;transform:translateY(5px);transition:opacity .12s ease,transform .12s ease,visibility .12s}.department-hover-preview.is-visible{visibility:visible;opacity:1;transform:translateY(0)}.department-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 8px;border-bottom:1px solid #e0eae6}.department-preview-head b{font-size:10px}.department-preview-head small{width:auto!important;color:#64766f!important;font-size:7px!important}.department-preview-list{display:grid;gap:4px;margin-top:7px}.department-preview-row{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:7px;padding:6px;border-radius:8px;background:#f3f8f6}.department-preview-row>i{display:grid;width:25px;height:25px;place-items:center;border-radius:7px;color:#fff;background:#1b7d62;font-style:normal;font-weight:950}.department-preview-row>span{display:flex;min-width:0;flex-direction:column}.department-preview-row>span b{font-size:8px}.department-preview-row small{width:auto!important;max-width:170px;color:#61756e!important;font-size:6.5px!important;text-align:left!important}.department-preview-row>em{display:flex;align-items:flex-end;flex-direction:column;color:#29483f;font-size:7px;font-style:normal;font-weight:900}.department-preview-row>em small{color:#6b7d77!important;text-align:right!important}.department-preview-more,.department-preview-empty{display:block;width:auto!important;margin-top:7px;color:#60736c!important;font-size:7px!important;text-align:center!important}.department-preview-empty{padding:12px}

/* Aperçu opérationnel navigable des positions d'un département. */
.department-hover-preview{width:min(650px,calc(100vw - 20px));max-height:min(620px,calc(100vh - 20px));padding:0;overflow:hidden;border:1px solid #a9c9be;border-radius:16px;pointer-events:auto;cursor:default;box-shadow:0 22px 60px rgba(8,43,35,.3)}
.department-hover-preview:focus{outline:3px solid rgba(26,132,105,.25);outline-offset:2px}
.department-preview-head{position:relative;z-index:2;padding:14px 16px;border-bottom:1px solid #d7e7e1;background:#fff}
.department-preview-head>span{display:flex;min-width:0;flex-direction:column;gap:3px}
.department-preview-head b{font-size:15px;line-height:1.2}
.department-preview-head small{max-width:none!important;color:#60746d!important;font-size:11px!important;font-weight:650!important}
.department-preview-head>strong{flex:0 0 auto;padding:6px 9px;border-radius:99px;color:#0f604d;background:#e6f3ee;font-size:11px}
.department-preview-list{display:grid;max-height:min(530px,calc(100vh - 95px));margin:0;padding:10px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#7bb6a4 #edf5f2;gap:8px;background:#f4f8f6}
.department-preview-row{position:relative;display:grid;grid-template-columns:76px minmax(205px,1fr) 70px;align-items:start;gap:12px;min-height:108px;padding:12px 13px;border:1px solid #b9d8ce;border-left:6px solid #14815f;border-radius:12px;background:#f4fbf8;color:#143d33;cursor:default}
.department-preview-row.is-delivery{border-color:#b9d5ee;border-left-color:#1976c9;background:#f1f8fe;color:#123c61}
.department-preview-row.is-urgent{border-color:#f0a9a5;border-left-color:#d5251c;background:#fff4f3;color:#751913;box-shadow:0 0 0 2px rgba(213,37,28,.07)}
.department-preview-row:focus,.department-preview-row:hover{outline:2px solid rgba(19,111,87,.22);outline-offset:1px}
.department-preview-row.is-delivery:focus,.department-preview-row.is-delivery:hover{outline-color:rgba(25,118,201,.23)}
.department-preview-row.is-urgent:focus,.department-preview-row.is-urgent:hover{outline-color:rgba(213,37,28,.27)}
.department-preview-stage{display:flex!important;align-items:center;flex-direction:column!important;gap:5px;text-align:center}
.department-preview-stage i{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;color:#fff;background:#14815f;font-size:23px;font-style:normal;font-weight:950;box-shadow:0 5px 12px rgba(20,129,95,.2)}
.is-delivery .department-preview-stage i{background:#1976c9;box-shadow:0 5px 12px rgba(25,118,201,.2)}
.is-urgent .department-preview-stage i{background:#d5251c;box-shadow:0 5px 12px rgba(213,37,28,.22)}
.department-preview-stage small{max-width:none!important;color:inherit!important;font-size:10px!important;font-weight:900!important;text-align:center!important;text-transform:uppercase}
.department-preview-identity{display:flex!important;min-width:0;flex-direction:column!important;gap:3px}
.department-preview-identity>b{font-size:14px!important;line-height:1.1}
.department-preview-identity>strong{overflow:hidden;font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.department-preview-identity small{max-width:none!important;color:#526d65!important;font-size:10.5px!important;line-height:1.35}
.is-delivery .department-preview-identity small{color:#496980!important}
.is-urgent .department-preview-identity small{color:#80504c!important}
.department-preview-identity small span{font-weight:900;text-transform:uppercase}
.department-preview-metrics{display:flex!important;align-items:flex-end;flex-direction:column!important;gap:3px;color:inherit;text-align:right}
.department-preview-metrics b{font-size:15px!important;line-height:1}
.department-preview-metrics span{font-size:11px;font-weight:850}
.department-preview-metrics small{max-width:none!important;color:inherit!important;font-size:10px!important;text-align:right!important}
.department-preview-photo{grid-column:2/4;display:block!important;width:100%;margin-top:3px;padding-top:7px;border-top:1px dashed currentColor;color:#286d5a;font-size:10.5px;font-weight:850;opacity:.9}
.is-delivery .department-preview-photo{color:#1767a9}.is-urgent .department-preview-photo{color:#a3221b}
.department-preview-photo img{display:block;width:100%;height:auto;max-height:0;margin-top:0;border-radius:10px;object-fit:contain;background:#e9eeec;opacity:0;transition:max-height .2s ease,margin-top .2s ease,opacity .15s ease}
.department-preview-row:hover .department-preview-photo img,.department-preview-row:focus .department-preview-photo img,.department-preview-photo:hover img{max-height:240px;margin-top:8px;opacity:1}
.department-preview-photo.is-empty{color:#788a84;font-weight:650}
.department-preview-urgent{grid-column:1/4;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:2px;padding:7px 10px;border-radius:8px;color:#fff;background:#d5251c;font-size:12px;letter-spacing:.08em;box-shadow:0 5px 12px rgba(213,37,28,.2)}
.department-preview-urgent i{display:grid;width:18px;height:18px;place-items:center;border-radius:50%;color:#d5251c;background:#fff;font-style:normal;font-weight:950}
.department-preview-urgent small{max-width:none!important;color:#fff!important;font-size:10px!important;font-weight:700!important;letter-spacing:0;text-align:left!important}
.department-preview-empty{padding:28px;font-size:12px!important}
@media(max-width:700px){.department-hover-preview{width:calc(100vw - 12px)}.department-preview-row{grid-template-columns:62px minmax(130px,1fr) 62px;padding:10px 8px;gap:8px}.department-preview-stage i{width:38px;height:38px}.department-preview-identity>b{font-size:13px!important}.department-preview-identity>strong{white-space:normal}.department-preview-photo{grid-column:1/4}}

/* Espace multi-départements : panneaux Apple compacts, ouverts sans quitter la préparation. */
.department-workspace-dock[hidden]{display:none}
.department-workspace-dock{position:fixed;z-index:9000;top:132px;right:14px;bottom:14px;width:min(1180px,calc(100vw - 34vw));padding:9px;border:1px solid rgba(255,255,255,.76);border-radius:24px;background:rgba(238,244,241,.68);box-shadow:0 28px 80px rgba(13,37,31,.24),0 2px 12px rgba(13,37,31,.09);pointer-events:none;backdrop-filter:blur(30px) saturate(1.28);animation:department-dock-in .2s cubic-bezier(.2,.76,.28,1)}
.department-workspace-dock[data-count="1"]{width:min(430px,calc(100vw - 360px))}.department-workspace-dock[data-count="2"]{width:min(760px,calc(100vw - 360px))}.department-workspace-dock[data-count="3"]{width:min(980px,calc(100vw - 360px))}
.department-workspace-grid{display:grid;width:100%;height:100%;grid-template-columns:repeat(var(--department-dock-count),minmax(0,1fr));gap:9px;overflow:hidden;pointer-events:none}
.department-workspace-dock .department-hover-preview.is-docked{position:relative;inset:auto;display:flex;width:auto;min-width:0;height:100%;max-height:none;visibility:visible;overflow:hidden;border-color:rgba(60,60,67,.13);border-radius:18px;flex-direction:column;background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(21,46,39,.1);opacity:1;pointer-events:auto;transform:none;backdrop-filter:blur(22px)}
.department-workspace-dock .department-preview-head{display:grid;grid-template-columns:minmax(0,1fr) auto 28px;gap:7px;padding:12px 11px;background:rgba(255,255,255,.9);backdrop-filter:blur(18px)}
.department-workspace-dock .department-preview-head b{font-size:13px}.department-workspace-dock .department-preview-head small{font-size:8.5px!important;line-height:1.25}.department-workspace-dock .department-preview-head>strong{padding:5px 7px;font-size:9px}
.department-preview-dock-close{display:none;width:27px;height:27px;padding:0;place-items:center;border:0;border-radius:50%;color:#5d5d63;background:#e9e9ed;cursor:pointer;font:inherit;font-size:18px;line-height:1;transition:background .15s ease,transform .15s ease}.is-docked .department-preview-dock-close{display:grid}.department-preview-dock-close:hover,.department-preview-dock-close:focus-visible{color:#1d1d1f;background:#d7d7dc;outline:2px solid rgba(0,122,255,.2);transform:scale(1.06)}
.department-workspace-dock .department-preview-list{min-height:0;max-height:none;flex:1;padding:8px;gap:7px;background:rgba(245,247,246,.78)}
.department-workspace-dock .department-preview-row{grid-template-columns:43px minmax(0,1fr) auto;gap:8px;min-height:96px;padding:9px 8px;border-left-width:4px;border-radius:12px;cursor:grab;box-shadow:0 1px 2px rgba(0,0,0,.025)}
.department-workspace-dock .department-preview-row:active{cursor:grabbing}.department-workspace-dock .department-preview-row.is-selected{outline:3px solid rgba(231,168,63,.38);outline-offset:-1px;box-shadow:0 8px 18px rgba(20,54,45,.1)}
.department-workspace-dock .department-preview-stage{gap:3px}.department-workspace-dock .department-preview-stage i{width:34px;height:34px;border-radius:10px;font-size:18px}.department-workspace-dock .department-preview-stage small{font-size:7px!important}
.department-preview-drag{display:grid;width:27px;height:22px;place-items:center;border:1px solid rgba(60,60,67,.12);border-radius:7px;color:#527068;background:rgba(255,255,255,.82);cursor:grab;font-size:14px;line-height:1;touch-action:none}.department-preview-drag:active{cursor:grabbing}
.department-workspace-dock .department-preview-identity{gap:2px}.department-workspace-dock .department-preview-identity>b{font-size:11px!important}.department-workspace-dock .department-preview-identity>strong{font-size:10.5px;white-space:normal}.department-workspace-dock .department-preview-identity small{font-size:8px!important;line-height:1.25}
.department-workspace-dock .department-preview-metrics{gap:2px}.department-workspace-dock .department-preview-metrics b{font-size:11px!important}.department-workspace-dock .department-preview-metrics span{font-size:8.5px}.department-workspace-dock .department-preview-metrics small{font-size:7.5px!important}
.department-workspace-dock .department-preview-photo{grid-column:1/4;padding-top:5px;font-size:8px}.department-workspace-dock .department-preview-row:hover .department-preview-photo img,.department-workspace-dock .department-preview-row:focus .department-preview-photo img,.department-workspace-dock .department-preview-photo:hover img{max-height:150px;margin-top:6px}
.department-workspace-dock .department-preview-urgent{grid-column:1/4;padding:5px 7px;font-size:9px}.department-workspace-dock .department-preview-urgent small{font-size:8px!important}
.department-workspace-dock .department-preview-head b{font-size:14px}.department-workspace-dock .department-preview-head small{font-size:10px!important}.department-workspace-dock .department-preview-head>strong{font-size:10px}
.department-workspace-dock .department-preview-row{min-height:146px;padding:10px 9px;gap:9px}.department-workspace-dock .department-preview-stage small{font-size:8.5px!important;line-height:1.15}.department-workspace-dock .department-preview-identity>b{font-size:13px!important}.department-workspace-dock .department-preview-identity>strong{font-size:12px;line-height:1.32;overflow-wrap:anywhere}.department-workspace-dock .department-preview-identity small{overflow:visible;font-size:10px!important;line-height:1.35;overflow-wrap:anywhere;white-space:normal}.department-workspace-dock .department-preview-metrics b{font-size:13px!important}.department-workspace-dock .department-preview-metrics span{font-size:10px}.department-workspace-dock .department-preview-metrics small{font-size:9px!important;white-space:normal}
.department-workspace-dock .department-preview-photo:not(.is-empty){display:grid!important;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:9px;padding:7px;border:1px solid rgba(60,60,67,.1);border-radius:10px;background:rgba(255,255,255,.78);font-size:9.5px;cursor:zoom-in}.department-workspace-dock .department-preview-photo img{display:block;grid-column:1;grid-row:1;width:82px;height:62px;max-height:62px;margin:0;border-radius:8px;object-fit:cover;opacity:1}.department-workspace-dock .department-preview-photo>span{grid-column:2;grid-row:1;line-height:1.35}.department-workspace-dock .department-preview-photo.is-photo-open{grid-template-columns:1fr}.department-workspace-dock .department-preview-photo.is-photo-open>span{grid-column:1;grid-row:1}.department-workspace-dock .department-preview-photo.is-photo-open img,.department-workspace-dock .department-preview-row:hover .department-preview-photo img,.department-workspace-dock .department-preview-row:focus .department-preview-photo img{grid-column:1;grid-row:2;width:100%;height:auto;max-height:190px;margin-top:2px;object-fit:contain;opacity:1}.department-workspace-dock .department-preview-photo.is-empty{padding:8px;border:1px dashed rgba(60,60,67,.18);border-radius:9px;background:rgba(255,255,255,.58);font-size:9.5px;font-weight:750;text-align:center}
.department-workspace-dock[data-count="4"] .department-preview-row{grid-template-columns:38px minmax(0,1fr);}.department-workspace-dock[data-count="4"] .department-preview-metrics{grid-column:2;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:3px 7px;text-align:left}.department-workspace-dock[data-count="4"] .department-preview-metrics small{text-align:left!important}.department-workspace-dock[data-count="4"] .department-preview-photo,.department-workspace-dock[data-count="4"] .department-preview-urgent{grid-column:1/3}
.department-workspace-dock .department-preview-row:hover .department-preview-photo:not(.is-photo-open) img,.department-workspace-dock .department-preview-row:focus .department-preview-photo:not(.is-photo-open) img{display:block;grid-column:1;grid-row:1;width:82px;height:62px;max-height:62px;margin:0;border-radius:8px;object-fit:cover;opacity:1}
.department-photo-peek[hidden]{display:none}.department-photo-peek{position:fixed;z-index:12000;width:min(460px,calc(100vw - 24px));overflow:hidden;border:1px solid rgba(255,255,255,.82);border-radius:24px;color:#1d1d1f;background:rgba(250,250,252,.9);box-shadow:0 32px 90px rgba(10,30,25,.3),0 4px 14px rgba(10,30,25,.12),inset 0 1px rgba(255,255,255,.9);opacity:0;pointer-events:none;transform:translateY(10px) scale(.965);backdrop-filter:blur(32px) saturate(1.32);transition:opacity .16s ease,transform .22s cubic-bezier(.2,.78,.24,1);will-change:opacity,transform}.department-photo-peek.is-visible{opacity:1;transform:none}.department-photo-peek>header{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px;border-bottom:1px solid rgba(60,60,67,.11);background:rgba(255,255,255,.8)}.department-photo-peek>header span{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.department-photo-peek>header b{padding:6px 9px;border-radius:999px;color:#0d6b50;background:#def3ea;font-size:9px}.department-photo-peek.is-delivery>header b{color:#145f99;background:#e2f1fd}.department-photo-peek.is-urgent>header b{color:#a51e18;background:#ffe1de}.department-photo-peek figure{display:grid;height:300px;margin:0;padding:14px;place-items:center;background:radial-gradient(circle at 50% 28%,#fff,#e9eeec)}.department-photo-peek figure img{width:100%;height:100%;border-radius:17px;object-fit:contain;filter:drop-shadow(0 15px 18px rgba(17,38,32,.13))}.department-photo-peek footer{display:grid;padding:15px 17px 17px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;border-top:1px solid rgba(60,60,67,.1);background:rgba(255,255,255,.82)}.department-photo-peek footer div{display:flex;min-width:0;flex-direction:column}.department-photo-peek footer small{color:#0e7257;font-size:11px;font-weight:850}.department-photo-peek.is-delivery footer small{color:#1768a8}.department-photo-peek.is-urgent footer small{color:#b4261f}.department-photo-peek footer strong{margin-top:2px;overflow:hidden;font-size:18px;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap}.department-photo-peek footer span{margin-top:5px;color:#69736f;font-size:10px}.department-photo-peek footer span b{color:#354b44;font-weight:750}.department-photo-peek footer em{max-width:118px;color:#858b88;font-size:9px;font-style:normal;line-height:1.35;text-align:right}
@media(max-width:700px){.department-photo-peek{width:calc(100vw - 18px);border-radius:20px}.department-photo-peek figure{height:230px}.department-photo-peek footer{grid-template-columns:1fr}.department-photo-peek footer em{text-align:left}}
.department-selector-card.is-docked{border-color:#007aff!important;box-shadow:0 0 0 3px rgba(0,122,255,.14),0 8px 20px rgba(20,55,46,.08)!important}.department-selector-card.is-docked::before{position:absolute;top:6px;right:7px;width:7px;height:7px;border:2px solid #fff;border-radius:50%;background:#007aff;box-shadow:0 1px 3px rgba(0,0,0,.18);content:""}.department-selector-card{position:relative}
.department-workspace-dock.is-limit-warning{animation:department-dock-shake .28s ease}.department-workspace-dock.is-limit-warning::after{position:absolute;right:18px;bottom:18px;padding:8px 11px;border-radius:10px;color:#fff;background:#b52a23;box-shadow:0 8px 20px rgba(120,25,20,.25);content:"4 départements maximum";font-size:10px;font-weight:850}
@keyframes department-dock-in{from{opacity:0;transform:translateX(18px) scale(.985)}to{opacity:1;transform:none}}@keyframes department-dock-shake{25%{transform:translateX(-7px)}50%{transform:translateX(6px)}75%{transform:translateX(-3px)}to{transform:none}}
@media(max-width:1100px){.department-workspace-dock{left:315px;width:auto}.department-workspace-dock[data-count="1"]{left:auto;width:min(410px,calc(100vw - 330px))}.department-workspace-dock[data-count="2"],.department-workspace-dock[data-count="3"]{width:auto}}
@media(max-width:900px){.department-workspace-dock,.department-workspace-dock[data-count]{top:126px;right:8px;bottom:8px;left:8px;width:auto;padding:7px;border-radius:20px}.department-workspace-grid{overflow-x:auto;grid-template-columns:repeat(var(--department-dock-count),minmax(260px,1fr));scroll-snap-type:x mandatory}.department-workspace-dock .department-hover-preview.is-docked{scroll-snap-align:start}}
.department-focus-exit{display:inline-flex;min-height:34px;align-items:center;justify-content:center;padding:7px 11px;border-radius:9px;color:#fff;background:#176b55;font-size:9px;font-weight:900;white-space:nowrap;box-shadow:0 5px 13px rgba(18,91,72,.17)}
.department-focus-exit:hover,.department-focus-exit:focus-visible{color:#fff;background:#105441;outline:2px solid #a8d6c7;outline-offset:2px}
body.operations-department-focus{padding-left:0}
.operations-department-focus .sidebar{visibility:hidden;opacity:0;pointer-events:none;transform:translateX(-105%)}
.operations-department-focus .mobile-header{display:none!important}
.operations-department-focus .main-content{width:100%;max-width:none;padding:18px 22px 56px}
.operations-department-focus .main-content>*{max-width:none}
.operations-department-focus .tactile-planner{grid-template-columns:minmax(380px,.72fr) minmax(760px,1.8fr);gap:14px}
.operations-department-focus .tactile-files-sticky-head>.tactile-selected-head,.operations-department-focus .tactile-files-panel>.tactile-column-labels,.operations-department-focus .tactile-files-panel>.tactile-assigned-list{display:none}
.operations-department-focus .department-selector-workspace{box-shadow:0 7px 18px rgba(16,58,47,.08)}
.operations-department-focus .tactile-backlog-heading{padding:18px 18px 10px;border-top:0;background:#f8fbfa}
.operations-department-focus .tactile-backlog-heading h2{font-size:20px}
.operations-department-focus .tactile-backlog-heading p{font-size:10px}
.operations-department-focus .tactile-backlog{max-height:calc(100vh - 265px);min-height:420px;padding:0 10px 14px}
.operations-department-focus .tactile-file-card{min-height:74px;margin:6px 0;padding-top:7px;padding-bottom:7px}
@media(max-width:1180px){.operations-department-focus .tactile-planner{grid-template-columns:300px minmax(0,1fr)}}
@media(max-width:900px){.operations-department-focus .main-content{padding:10px}.operations-department-focus .tactile-planner{grid-template-columns:1fr}.operations-department-focus .department-selector-workspace{position:static}.operations-department-focus .tactile-backlog{max-height:none;min-height:0}}
.route-ai-confirm{width:min(760px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:0;overflow:hidden;border:0;border-radius:24px;color:#163c32;background:#fff;box-shadow:0 30px 90px rgba(7,32,26,.34)}
.route-assistant-status{display:grid;min-height:43px;padding:5px 10px 5px 6px;border:1px solid #d9bd6a;border-radius:11px;grid-template-columns:33px auto;align-items:center;gap:7px;color:#173f34;background:#fff8e4;text-decoration:none}.route-assistant-status>span:first-child{display:grid;width:32px;height:32px;place-items:center;border-radius:9px;background:#f1b341;font-size:18px}.route-assistant-status>span:last-child{display:flex;flex-direction:column}.route-assistant-status small{color:#8c6615;font-size:7px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.route-assistant-status strong{font-size:9px;white-space:nowrap}.route-assistant-status:hover{border-color:#a97a13;background:#fff3ce}
.route-ai-confirm::backdrop{background:rgba(7,24,20,.58);backdrop-filter:blur(4px)}
.route-ai-confirm[open]{animation:route-ai-in .2s ease-out}
.route-ai-confirm-shell{display:flex;max-height:calc(100dvh - 28px);flex-direction:column}
.route-ai-confirm-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;padding:20px 22px;color:#fff;background:radial-gradient(circle at 12% 0,rgba(241,179,65,.25),transparent 34%),linear-gradient(125deg,#10392f,#1b735a)}
.route-ai-character{position:relative;display:grid;width:68px;height:68px;place-items:center;border:2px solid rgba(255,255,255,.45);border-radius:20px;background:linear-gradient(145deg,#fff6d9,#f0b441);font-size:38px;box-shadow:0 12px 28px rgba(6,35,27,.25)}
.route-ai-character i{position:absolute;right:-6px;bottom:-5px;display:grid;width:25px;height:25px;place-items:center;border:3px solid #195a49;border-radius:50%;color:#654600;background:#f6c75e;font-size:11px;font-style:normal}
.route-ai-confirm-head>div{min-width:0}.route-ai-confirm-head small{display:flex;align-items:center;gap:6px;color:#bfe0d5;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.route-ai-live-dot{width:7px;height:7px;border-radius:50%;background:#6beaaf;box-shadow:0 0 0 4px rgba(107,234,175,.12)}
.route-ai-confirm-head h2{margin:4px 0 2px;color:#fff;font-size:22px}.route-ai-confirm-head p{margin:0;color:#d3e9e2;font-size:12px}.route-ai-confirm-head>button{display:grid;width:39px;height:39px;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:12px;color:#fff;background:rgba(255,255,255,.09);cursor:pointer;font-size:24px}.route-ai-confirm-head>button:hover{background:rgba(255,255,255,.18)}
.route-ai-confirm-body{min-height:0;padding:20px 22px;overflow:auto;background:linear-gradient(180deg,#f7fbf9,#fff)}
.route-ai-lead{margin:0 0 15px;color:#395c52;font-size:14px;line-height:1.55}
.route-ai-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.route-ai-metrics>span{display:flex;min-height:72px;padding:12px;border:1px solid #d8e6e1;border-radius:13px;flex-direction:column;justify-content:center;background:#fff}.route-ai-metrics small{color:#6d827a;font-size:9px;font-weight:850;text-transform:uppercase}.route-ai-metrics strong{margin-top:3px;color:#153f34;font-size:18px}.route-ai-metrics>span:last-child strong{color:#c32920}
.route-ai-analysis{margin-top:13px;padding:15px 16px;border:1px solid #d1e2db;border-radius:15px;background:#edf7f3}.route-ai-analysis>div:first-child{display:flex;align-items:center;gap:8px}.route-ai-analysis>div:first-child span{display:grid;width:27px;height:27px;place-items:center;border-radius:8px;color:#5b4000;background:#f1b341;font-size:12px}.route-ai-analysis>div:first-child strong{font-size:13px}.route-ai-analysis ul{display:grid;gap:7px;margin:11px 0 13px;padding:0;list-style:none}.route-ai-analysis li{position:relative;padding-left:18px;color:#405f56;font-size:12px;line-height:1.4}.route-ai-analysis li::before{position:absolute;left:1px;color:#198363;content:'✓';font-weight:950}.route-ai-analysis li.is-warning{color:#a52b24;font-weight:850}.route-ai-analysis li.is-warning::before{color:#cf2e25;content:'!'}
.route-ai-capacity{display:grid;grid-template-columns:minmax(120px,1fr) auto;align-items:center;gap:12px}.route-ai-capacity>span{height:8px;overflow:hidden;border-radius:99px;background:#d5e5df}.route-ai-capacity i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#16805f,#61b48f);transition:width .25s ease}.route-ai-capacity small{color:#527067;font-size:10px;font-weight:800}.route-ai-confirm.has-capacity-warning .route-ai-analysis{border-color:#efb4af;background:#fff1f0}.route-ai-confirm.has-capacity-warning .route-ai-capacity i{background:#d52d24}.route-ai-confirm.has-capacity-warning .route-ai-capacity small{color:#a72a23}
.route-ai-proposals{margin-top:13px;padding:15px 16px;border:1px solid #e2cd91;border-radius:15px;background:linear-gradient(145deg,#fff9e9,#fff)}.route-ai-proposals[hidden]{display:none}.route-ai-proposals>header{display:flex;align-items:center;justify-content:space-between;gap:14px}.route-ai-proposals>header>div{display:flex;min-width:0;flex-direction:column}.route-ai-proposals>header span{color:#936810;font-size:8px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.route-ai-proposals>header strong{margin:2px 0;color:#173f34;font-size:14px}.route-ai-proposals>header small{color:#6f756d;font-size:10px}.route-ai-proposals>header button{min-height:35px;padding:0 12px;border:0;border-radius:9px;color:#fff;background:#176f56;cursor:pointer;font:inherit;font-size:9px;font-weight:900;white-space:nowrap}.route-ai-proposals>header button[hidden]{display:none}.route-ai-proposals>header button:disabled{color:#195843;background:#d9eee5;cursor:default}.route-ai-proposal-list{display:grid;max-height:245px;margin-top:12px;overflow:auto;gap:6px;scrollbar-width:thin}.route-ai-proposal{display:grid;grid-template-columns:30px minmax(110px,.65fr) minmax(260px,1.35fr);align-items:center;gap:9px;padding:8px;border:1px solid #e4e8e5;border-radius:10px;background:#fff}.route-ai-proposal>b{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;color:#fff;background:#267b61;font-size:11px}.route-ai-proposal>span:not(.route-ai-proposal-signals){display:flex;min-width:0;flex-direction:column}.route-ai-proposal strong{overflow:hidden;color:#173f34;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.route-ai-proposal small{overflow:hidden;color:#68766f;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.route-ai-proposal-signals{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:4px}.route-ai-proposal-signals i{padding:4px 6px;border-radius:6px;color:#4f625b;background:#edf3f0;font-size:7.5px;font-style:normal;font-weight:800}.route-ai-proposal.is-urgent{border-color:#e59b95;background:#fff6f5}.route-ai-proposal.is-urgent>b,.route-ai-proposal.is-urgent .route-ai-proposal-signals i:first-child{color:#fff;background:#c7352c}.route-ai-proposal.is-long .route-ai-proposal-signals i:last-child{color:#9b4b0e;background:#fff0d8}.route-ai-proposals>p{margin:9px 0 0;color:#7b7463;font-size:8px;line-height:1.4}
.route-ai-proposal-list{max-height:260px}.route-ai-proposal{grid-template-columns:30px minmax(105px,.6fr) minmax(220px,1.35fr) 58px;cursor:grab;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.route-ai-proposal:active{cursor:grabbing}.route-ai-proposal.is-dragging{opacity:.48;transform:scale(.985)}.route-ai-proposal.is-drop-target{border-color:#e0a52f;box-shadow:0 0 0 3px rgba(224,165,47,.18)}.route-ai-proposal-controls{display:grid!important;grid-template-columns:1fr 1fr;gap:4px}.route-ai-proposal-controls button{display:grid;width:27px;height:27px;padding:0;place-items:center;border:1px solid #c8d9d2;border-radius:7px;color:#17664f;background:#f5faf8;cursor:pointer;font:inherit;font-size:13px;font-weight:900}.route-ai-proposal-controls button:hover:not(:disabled),.route-ai-proposal-controls button:focus-visible{color:#fff;border-color:#17664f;background:#17664f;outline:2px solid rgba(23,102,79,.15)}.route-ai-proposal-controls button:disabled{opacity:.28;cursor:default}
.route-ai-order-review{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:10px}.route-ai-order-review>button{min-height:38px;padding:0 13px;border:0;border-radius:10px;color:#fff;background:#176f56;cursor:pointer;font:inherit;font-size:9px;font-weight:900}.route-ai-order-review>button:disabled{color:#38675a;background:#d9eee5;cursor:default}.route-ai-order-review>[data-route-ai-order-result]{display:grid;min-width:0;grid-template-columns:31px minmax(0,1fr);align-items:center;gap:8px;flex:1;padding:8px 10px;border:1px solid #b9d7cc;border-radius:11px;background:#eef8f4}.route-ai-order-review>[data-route-ai-order-result][hidden]{display:none}.route-ai-order-review>[data-route-ai-order-result]>span{display:grid;width:29px;height:29px;place-items:center;border-radius:9px;color:#fff;background:#20815f;font-size:13px;font-weight:950}.route-ai-order-review>[data-route-ai-order-result]>div{display:flex;min-width:0;flex-direction:column}.route-ai-order-review>[data-route-ai-order-result] strong{font-size:9.5px}.route-ai-order-review>[data-route-ai-order-result] p{margin:2px 0 0;color:#557068;font-size:8px;line-height:1.35}.route-ai-order-review>[data-route-ai-order-result].is-pending,.route-ai-order-review>[data-route-ai-order-result].is-checking,.route-ai-order-review>[data-route-ai-order-result].is-warning{border-color:#e2c26d;background:#fff8e4}.route-ai-order-review>[data-route-ai-order-result].is-pending>span,.route-ai-order-review>[data-route-ai-order-result].is-checking>span,.route-ai-order-review>[data-route-ai-order-result].is-warning>span{color:#563d06;background:#efb443}.route-ai-order-review>[data-route-ai-order-result].is-error{border-color:#e7a7a1;background:#fff1ef}.route-ai-order-review>[data-route-ai-order-result].is-error>span{background:#c9372e}.route-ai-approve:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}
.route-ai-chat{margin-top:14px;overflow:hidden;border:1px solid #d8e4df;border-radius:15px;background:#fff}.route-ai-chat[hidden]{display:none}.route-ai-chat-head{display:flex;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid #e1e9e6;background:#f8faf9}.route-ai-chat-head span{font-size:12px;font-weight:900}.route-ai-chat-head small{color:#708078;font-size:10px}.route-ai-chat-messages{display:flex;max-height:170px;padding:13px;overflow:auto;flex-direction:column;gap:7px;background:#f1f6f4}.route-ai-chat-messages p{align-self:flex-start;max-width:88%;margin:0;padding:9px 11px;border:1px solid #dce7e3;border-radius:4px 12px 12px 12px;background:#fff;font-size:11px;line-height:1.45}.route-ai-chat-messages p.is-user{align-self:flex-end;color:#fff;border-color:#17634e;border-radius:12px 4px 12px 12px;background:#17634e}.route-ai-chat-messages p.is-thinking{color:#728078;font-style:italic}.route-ai-chat-messages p.is-thinking::after{content:' •••';color:#c1841c}.route-ai-chat form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px}.route-ai-chat input{min-width:0;min-height:40px;padding:0 11px;border:1px solid #cbd9d4;border-radius:10px;font:inherit;font-size:11px}.route-ai-chat form button{padding:0 14px;border:0;border-radius:10px;color:#17372f;background:#f1b341;cursor:pointer;font-size:11px;font-weight:900}
.route-ai-confirm-actions{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:9px;padding:14px 20px;border-top:1px solid #dce6e2;background:#fff}.route-ai-confirm-actions button{min-height:42px;padding:0 15px;border-radius:11px;cursor:pointer;font:inherit;font-size:11px;font-weight:900}.route-ai-talk{border:1px solid #d3b55f;color:#654a09;background:#fff7df}.route-ai-wait{border:1px solid #d4dfdb;color:#536961;background:#f5f8f7}.route-ai-approve{border:0;color:#fff;background:#18775c;box-shadow:0 7px 17px rgba(24,119,92,.2)}.route-ai-approve:hover{background:#105f49}.route-ai-confirm.has-capacity-warning .route-ai-approve{background:#a82b24}
@keyframes route-ai-in{from{opacity:.55;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:650px){.route-ai-confirm{width:calc(100vw - 14px);max-height:calc(100dvh - 14px);border-radius:18px}.route-ai-confirm-shell{max-height:calc(100dvh - 14px)}.route-ai-confirm-head{grid-template-columns:52px 1fr auto;padding:15px 13px}.route-ai-character{width:50px;height:50px;border-radius:15px;font-size:29px}.route-ai-confirm-head h2{font-size:16px}.route-ai-confirm-head p{font-size:10px}.route-ai-confirm-body{padding:14px}.route-ai-metrics{grid-template-columns:1fr 1fr}.route-ai-confirm-actions{grid-template-columns:1fr 1fr;padding:11px}.route-ai-confirm-actions>span{display:none}.route-ai-talk{grid-column:1/3}.route-ai-approve,.route-ai-wait{width:100%}.route-ai-chat-head{flex-direction:column;gap:2px}.route-ai-capacity{grid-template-columns:1fr}.route-ai-capacity small{text-align:left}.route-ai-proposals>header{align-items:stretch;flex-direction:column}.route-ai-proposals>header button{width:100%}.route-ai-proposal{grid-template-columns:30px 1fr}.route-ai-proposal-signals{grid-column:2;justify-content:flex-start}}
@media(max-width:650px){.route-ai-proposal-controls{grid-column:1/3;display:flex!important;justify-content:flex-end}.route-ai-proposal-controls button{width:42px;height:34px}.route-ai-order-review{align-items:stretch;flex-direction:column}.route-ai-order-review>button{width:100%}}

/* Proposition du copilote : lecture confortable sur écran tactile et poste d'exploitation. */
.route-ai-confirm{width:min(1020px,calc(100vw - 28px))}
.route-ai-proposals{padding:20px;border-radius:18px}.route-ai-proposals>header{align-items:flex-start}.route-ai-proposals>header span{font-size:10px}.route-ai-proposals>header strong{margin:4px 0;font-size:19px;line-height:1.2}.route-ai-proposals>header small{max-width:680px;font-size:13px;line-height:1.45}.route-ai-proposals>header button{min-height:44px;padding:0 16px;border-radius:11px;font-size:12px}
.route-ai-proposal-list{max-height:390px;margin-top:17px;gap:10px}.route-ai-proposal{grid-template-columns:46px minmax(0,1fr) 92px;grid-template-rows:auto auto;gap:8px 13px;min-height:88px;padding:12px 13px;border-radius:13px}.route-ai-proposal>b{grid-row:1/3;width:43px;height:43px;border-radius:11px;font-size:16px}.route-ai-proposal>span:not(.route-ai-proposal-signals):not(.route-ai-proposal-controls){align-self:center}.route-ai-proposal strong{font-size:15px;line-height:1.3;white-space:normal}.route-ai-proposal small{margin-top:3px;font-size:11.5px;line-height:1.35;white-space:normal}.route-ai-proposal-signals{grid-column:2;grid-row:2;justify-content:flex-start;gap:6px}.route-ai-proposal-signals i{padding:6px 8px;border-radius:8px;font-size:10.5px;line-height:1.2}.route-ai-proposal-controls{grid-column:3;grid-row:1/3;align-self:center;display:flex!important;justify-content:flex-end;gap:7px}.route-ai-proposal-controls button{width:40px;height:40px;border-radius:10px;font-size:17px}
.route-ai-order-review{margin-top:14px;gap:12px}.route-ai-order-review>button{min-height:45px;padding:0 17px;border-radius:11px;font-size:12px}.route-ai-order-review>[data-route-ai-order-result]{grid-template-columns:39px minmax(0,1fr);gap:11px;padding:11px 13px;border-radius:13px}.route-ai-order-review>[data-route-ai-order-result]>span{width:37px;height:37px;border-radius:10px;font-size:16px}.route-ai-order-review>[data-route-ai-order-result] strong{font-size:13px}.route-ai-order-review>[data-route-ai-order-result] p{margin-top:4px;font-size:11.5px;line-height:1.45}.route-ai-proposals>p{margin-top:12px;font-size:11px;line-height:1.45}
@media(max-width:700px){.route-ai-proposals{padding:15px}.route-ai-proposals>header{gap:10px}.route-ai-proposals>header strong{font-size:17px}.route-ai-proposals>header small{font-size:12px}.route-ai-proposal{grid-template-columns:43px minmax(0,1fr);grid-template-rows:auto auto auto;gap:7px 10px;padding:11px}.route-ai-proposal>b{grid-row:1/3;width:40px;height:40px;font-size:15px}.route-ai-proposal strong{font-size:14px}.route-ai-proposal small{font-size:11px}.route-ai-proposal-signals{grid-column:2;grid-row:2}.route-ai-proposal-signals i{font-size:10px}.route-ai-proposal-controls{grid-column:1/3;grid-row:3;justify-content:flex-end}.route-ai-proposal-controls button{width:46px;height:40px}.route-ai-order-review{align-items:stretch;flex-direction:column}.route-ai-order-review>button{width:100%}}
.tactile-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:10px; padding:12px 15px; }.tactile-toolbar>div { flex:0 0 auto; }.tactile-toolbar .eyebrow { margin-bottom:1px; }.tactile-toolbar>div>strong { font-size:13px; }.tactile-toolbar form { display:flex; align-items:center; justify-content:flex-end; gap:7px; flex:1; }.tactile-toolbar select { width:auto; min-width:175px; min-height:36px; font-size:10px; }.tactile-search { position:relative; width:min(360px,42%); }.tactile-search span { position:absolute; top:50%; left:11px; z-index:1; color:var(--forest); font-size:20px; transform:translateY(-52%); }.tactile-search input { min-height:36px; padding-left:34px; font-size:10px; }
.tactile-feedback { margin:0 0 9px; padding:7px 12px; border-radius:8px; color:#48665d; background:#e7f1ed; font-size:9px; font-weight:700; }.tactile-feedback.is-error { color:#9c423b; background:#f7e3e0; }.tactile-feedback.is-success { color:#17664d; background:#dff1e9; }
.tactile-planner { display:grid; grid-template-columns:minmax(330px,.78fr) minmax(560px,1.55fr); gap:11px; align-items:start; }.tactile-rm-panel,.tactile-files-panel { min-width:0; overflow:hidden; border-radius:14px; box-shadow:0 8px 28px rgba(25,50,43,.05); }.tactile-rm-panel { position:sticky; top:14px; z-index:20; max-height:calc(100vh - 28px); }.tactile-rm-panel>header { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; padding:15px 16px 10px; border-bottom:1px solid #e6ece9; background:white; }.tactile-rm-panel header h2 { margin:0; font-size:17px; }.tactile-rm-panel .eyebrow { margin-bottom:2px; }.tactile-rm-list { max-height:calc(100vh - 92px); overflow:auto; padding:0 9px 10px; scrollbar-width:thin; }
.tactile-rm-card-shell { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 31px; align-items:center; gap:5px; }.tactile-rm-card { display:grid; grid-template-columns:41px minmax(112px,1.55fr) .48fr .52fr .72fr .74fr 15px; align-items:center; gap:5px; min-height:66px; margin:4px 0; padding:6px 7px; border:1px solid #e1e7e4; border-radius:11px; background:#f9faf9; transition:.15s ease; }.tactile-rm-card:hover { border-color:#abc6bc; transform:translateY(-1px); }.tactile-rm-card.is-selected { color:white; border-color:#1b7c63; background:linear-gradient(102deg,#1c8065,#2c9d7d); box-shadow:0 7px 17px rgba(26,124,98,.19); }.tactile-rm-card.is-drop-target,.tactile-unassign-zone.is-drop-target,.tactile-assigned-list.is-drop-target { outline:3px solid rgba(231,168,63,.5); outline-offset:1px; }.tactile-rm-card>div { display:flex; min-width:0; flex-direction:column; }.tactile-rm-card>div:not(.tactile-rm-identity) { text-align:center; }.tactile-rm-card strong { font-size:10px; }.tactile-rm-card small { overflow:hidden; color:var(--muted); font-size:6.5px; text-overflow:ellipsis; white-space:nowrap; }.tactile-rm-card.is-selected small { color:#d4eee5; }.tactile-rm-identity-head{display:flex;min-width:0;align-items:center;gap:6px}.tactile-rm-identity-head>strong { font-family:"Manrope",sans-serif; font-size:13px; white-space:nowrap }.tactile-rm-driving strong { color:#187257; }.tactile-rm-card.is-selected .tactile-rm-driving strong { color:white; }.tactile-rm-plus { position:absolute; top:13px; left:7px; z-index:3; display:grid; width:39px; height:44px; padding:0; place-items:center; border:0; border-radius:9px; color:white; background:#76a900; font:inherit; font-size:24px; font-weight:400; line-height:1; cursor:pointer; }.tactile-rm-plus:hover,.tactile-rm-plus:focus-visible { background:#679500; outline:2px solid #cae491; outline-offset:2px; }.tactile-rm-card-shell.is-selected .tactile-rm-plus { color:#17634f; background:white; }.tactile-rm-card-shell.is-selected .tactile-rm-plus:hover,.tactile-rm-card-shell.is-selected .tactile-rm-plus:focus-visible { background:#eaf6f1; }.tactile-rm-plus-spacer { width:39px; height:44px; }.tactile-rm-arrow { font-size:24px; font-weight:300; }.tactile-rm-mail { margin:0; }.tactile-rm-mail button { display:grid; width:29px; height:34px; padding:0; place-items:center; border:0; border-radius:8px; color:white; background:#0c9d72; cursor:pointer; box-shadow:0 4px 10px rgba(15,111,83,.18); }.tactile-rm-mail button:hover { background:#087b5a; }.tactile-unassign-zone { display:grid; width:calc(100% - 36px); grid-template-columns:42px 1fr; align-items:center; gap:3px 9px; min-height:61px; margin-top:9px; padding:9px; border:1px dashed #b9c9c3; border-radius:11px; color:var(--ink); background:#f4f7f5; cursor:pointer; text-align:left; }.tactile-unassign-zone>span { grid-row:1/3; display:grid; width:40px; height:40px; place-items:center; border-radius:9px; color:var(--forest); background:var(--mint); font-size:20px; }.tactile-unassign-zone strong { font-size:10px; }.tactile-unassign-zone small { color:var(--muted); font-size:8px; }
.tactile-files-panel { min-height:560px; }.tactile-selected-head { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:15px 17px; color:white; background:linear-gradient(102deg,#143f36,#236f5b); }.tactile-selected-head .eyebrow { margin-bottom:2px; color:#9dc9bc; }.tactile-selected-head h2 { margin:0; font-size:21px; }.tactile-selected-head h2 small { margin-left:7px; color:#a9c9c0; font-family:"DM Sans",sans-serif; font-size:8px; font-weight:500; }.tactile-selected-head p { margin:2px 0 0; color:#c1d8d1; font-size:8px; }.tactile-selected-head>div:last-child { display:flex; gap:7px; }.tactile-selected-head>div:last-child span { display:flex; min-width:82px; flex-direction:column; padding:7px 10px; border:1px solid rgba(255,255,255,.12); border-radius:8px; background:rgba(255,255,255,.06); }.tactile-selected-head>div:last-child strong { font-size:13px; }.tactile-selected-head>div:last-child small { color:#b7cec7; font-size:7px; }
.round-cockpit-open{position:relative;display:inline-flex;min-height:50px;align-self:stretch;align-items:center;gap:10px;padding:7px 12px 7px 8px;overflow:hidden;border:0;border-radius:16px;color:#075343;background:linear-gradient(180deg,#fff,#e7f5f0);box-shadow:0 4px 10px rgba(4,45,36,.22),0 1px 2px rgba(4,45,36,.18);font:inherit;white-space:nowrap;cursor:pointer;transition:transform .14s ease,box-shadow .18s ease,background .18s ease}.round-cockpit-open::after{position:absolute;inset:0;border-radius:inherit;background:#075343;content:"";opacity:0;pointer-events:none;transition:opacity .16s ease}.round-cockpit-open>*{position:relative;z-index:1}.round-cockpit-open-icon{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:12px;color:#fff;background:#087a63;box-shadow:0 2px 5px rgba(7,83,67,.25)}.round-cockpit-open-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.round-cockpit-open strong{font-size:12px;font-weight:800;letter-spacing:.005em}.round-cockpit-open-arrow{font-size:26px;font-weight:400;line-height:1}.round-cockpit-open:hover{background:#fff;box-shadow:0 7px 16px rgba(4,45,36,.27),0 2px 4px rgba(4,45,36,.2);transform:translateY(-1px)}.round-cockpit-open:hover::after{opacity:.045}.round-cockpit-open:active{box-shadow:0 2px 5px rgba(4,45,36,.2);transform:translateY(1px) scale(.985)}.round-cockpit-open:active::after{opacity:.12}.round-cockpit-open:focus-visible{outline:3px solid rgba(255,255,255,.78);outline-offset:3px}.round-cockpit{width:min(1080px,calc(100vw - 72px));max-width:none;height:100dvh;max-height:none;margin:0 0 0 auto;padding:0;overflow:hidden;border:0;border-radius:22px 0 0 22px;background:transparent;box-shadow:-20px 0 60px rgba(8,35,28,.23)}.round-cockpit::backdrop{background:rgba(9,29,24,.48);backdrop-filter:blur(2px)}.round-cockpit[open]{animation:round-cockpit-in .18s ease-out}.round-cockpit-shell{display:flex;height:100%;min-height:0;flex-direction:column;background:#f4f8f6}.round-cockpit-head{display:flex;z-index:3;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border-bottom:1px solid #cadfd7;color:#fff;background:linear-gradient(105deg,#123e33,#1e765d);box-shadow:0 5px 18px rgba(14,57,47,.12)}.round-cockpit-head h2{margin:2px 0;font-size:20px}.round-cockpit-head p{margin:0;color:#c5ded6;font-size:9px}.round-cockpit-head .eyebrow{color:#9fd5c4}.round-cockpit-close{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:12px;color:#fff;background:rgba(255,255,255,.1);font-size:28px;line-height:1;cursor:pointer}.round-cockpit-close:hover,.round-cockpit-close:focus-visible{background:rgba(255,255,255,.2);outline:2px solid #fff;outline-offset:2px}.round-cockpit-scroll{min-height:0;overflow:auto;overscroll-behavior:contain}.round-cockpit .tc-control-deck{padding:17px 18px 28px;border:0;background:#f4f8f6}.round-cockpit .tc-mini-map{height:310px}@keyframes round-cockpit-in{from{opacity:.6;transform:translateX(28px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:760px){.round-cockpit{width:100vw;border-radius:0}.round-cockpit-head{padding:14px}.round-cockpit-head h2{font-size:16px}.round-cockpit-head p{font-size:8px}.round-cockpit .tc-control-deck{padding:11px}.round-cockpit .tc-mini-map{height:220px}.tactile-selected-head>div:last-child{flex-wrap:wrap}.round-cockpit-open{width:100%;justify-content:center}}
@media print{.round-cockpit{display:none!important}}
.tactile-column-labels { display:grid; grid-template-columns:74px minmax(120px,.7fr) 65px minmax(220px,1.5fr) 105px; gap:7px; padding:7px 12px 5px 64px; color:#71827c; background:#edf0ee; font-size:7px; font-weight:800; text-transform:uppercase; }.tactile-assigned-list { min-height:84px; padding:6px; background:#edf0ee; }.tactile-empty-drop { display:flex; min-height:75px; align-items:center; justify-content:center; flex-direction:column; border:1.5px dashed #adc5bc; border-radius:10px; background:#f7faf8; }.tactile-empty-drop>span { color:var(--forest); font-size:24px; }.tactile-empty-drop strong { font-size:10px; }.tactile-empty-drop small { color:var(--muted); font-size:8px; }
.tactile-file-card { position:relative; display:grid; grid-template-columns:22px 27px 39px minmax(125px,.72fr) 62px minmax(220px,1.55fr) 105px; align-items:center; gap:7px; min-height:66px; margin:4px 0; padding:5px 9px 5px 5px; border:1px solid #e0e5e2; border-left:3px solid #28a6d8; border-radius:10px; background:white; box-shadow:0 1px 0 rgba(17,47,39,.03); cursor:pointer; transition:.15s ease; }.tactile-file-card:hover { border-color:#a9c9bd; box-shadow:0 6px 17px rgba(21,62,51,.08); }.tactile-file-card.is-selected { border-color:var(--amber); background:#fffdf7; box-shadow:0 0 0 3px rgba(231,168,63,.18); }.tactile-file-card.is-dragging { opacity:.35; }.tactile-file-card.is-drop-target { border-top:4px solid var(--amber); }.tactile-select-control { display:grid; width:21px; height:21px; place-items:center; padding:0; border:1.5px solid #a9bbb5; border-radius:6px; color:transparent; background:white; cursor:pointer; font:inherit; font-size:11px; font-weight:950; }.tactile-select-control:hover,.tactile-select-control:focus-visible { border-color:#177457; outline:2px solid #cde8dd; outline-offset:1px; }.tactile-select-control[aria-pressed="true"] { color:white; border-color:#177457; background:#177457; }.tactile-drag-handle { display:grid; width:27px; height:43px; place-items:center; padding:0; border:0; border-radius:7px; color:#769088; background:#eef3f1; cursor:grab; font-size:18px; touch-action:none; }.tactile-drag-handle:active { cursor:grabbing; }.tactile-stop-number,.tactile-add-mark { display:grid; width:38px; height:44px; place-items:center; border-radius:8px; color:white; background:#28a6d8; font-family:"Manrope",sans-serif; font-size:19px; font-weight:800; }.tactile-add-mark { font-size:23px; }.tactile-file-ref,.tactile-file-destination,.tactile-file-date { display:flex; min-width:0; flex-direction:column; }.tactile-file-ref strong { color:#138cc0; font-size:13px; text-decoration:underline; text-decoration-thickness:1px; }.tactile-file-ref small,.tactile-file-date small { overflow:hidden; color:var(--muted); font-size:7px; text-overflow:ellipsis; white-space:nowrap; }.tactile-file-weight { display:flex; align-items:baseline; gap:3px; }.tactile-file-weight strong { font-size:12px; }.tactile-file-weight small { color:var(--muted); font-size:8px; }.tactile-file-destination span { overflow:hidden; color:#6b7773; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.tactile-file-destination span b { color:#2d9b55; }.tactile-file-destination strong { overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.tactile-file-destination i { display:inline-grid; min-width:27px; height:23px; margin-right:4px; padding:0 4px; place-items:center; border-radius:6px; color:white; background:#76a900; font-style:normal; font-size:9px; }.tactile-file-date { align-items:flex-end; text-align:right; }.tactile-file-date strong { font-size:8px; }.tactile-backlog-heading { display:flex; align-items:end; justify-content:space-between; gap:15px; padding:18px 14px 7px; border-top:1px solid var(--line); }.tactile-backlog-heading h2 { margin:0; font-size:16px; }.tactile-backlog-heading p { margin:2px 0 0; font-size:8px; }.tactile-backlog { max-height:390px; overflow:auto; padding:0 6px 8px; scrollbar-width:thin; }
.tactile-round-settings { margin-top:13px; }.tactile-round-settings .round-assignment-form { padding:16px; border-top:1px solid var(--line); }.tactile-pickup-note { display:flex; gap:10px; margin:0 16px 16px; padding:10px 12px; border-radius:9px; background:#f4f7f5; font-size:9px; }.tactile-pickup-note span { color:var(--muted); }.tactile-drag-ghost { position:fixed; z-index:1000; width:min(640px,82vw); opacity:.94; pointer-events:none; transform:rotate(1deg); box-shadow:0 18px 38px rgba(13,43,35,.2); }.tactile-drag-count { position:absolute; top:-12px; right:8px; z-index:2; padding:5px 8px; border:2px solid white; border-radius:999px; color:white; background:#177457; font-size:8px; box-shadow:0 5px 12px rgba(13,43,35,.24); }
@media(max-width:1180px){.tactile-planner{grid-template-columns:300px minmax(0,1fr)}.tactile-rm-card{grid-template-columns:40px 1fr .65fr .65fr 16px}.tactile-rm-card>div:nth-of-type(2),.tactile-rm-card>div:nth-of-type(3){display:none}.tactile-file-card{grid-template-columns:22px 25px 37px minmax(110px,.8fr) 54px minmax(170px,1.4fr) 85px}.tactile-column-labels{grid-template-columns:67px minmax(105px,.8fr) 57px minmax(170px,1.4fr) 85px;padding-left:61px}}
@media(max-width:900px){.tactile-summary{grid-template-columns:1fr 1fr}.tactile-planner{grid-template-columns:1fr}.tactile-rm-panel{position:static;max-height:none}.tactile-rm-panel>header{position:static}.tactile-rm-list{display:flex;max-height:none;gap:7px;overflow-x:auto;padding-bottom:12px}.tactile-rm-card-shell{flex:0 0 355px}.tactile-unassign-zone{flex:0 0 240px}.tactile-toolbar{align-items:stretch;flex-direction:column}.tactile-toolbar form{justify-content:flex-start}.tactile-search{width:100%}}
@media(max-width:700px){.tactile-page-header .header-actions{width:100%;flex-direction:column}.tactile-summary{grid-template-columns:1fr}.tactile-summary>div{min-height:58px;border-top:1px solid rgba(255,255,255,.1);border-left:0}.tactile-toolbar form{align-items:stretch;flex-direction:column}.tactile-toolbar select{width:100%}.tactile-selected-head{align-items:stretch;flex-direction:column}.tactile-column-labels{display:none}.tactile-file-card{grid-template-columns:22px 27px 38px 1fr 56px;gap:6px;padding:7px}.tactile-file-destination{grid-column:4/6}.tactile-file-date{grid-column:4/6;align-items:flex-start;text-align:left}.tactile-rm-card{flex-basis:290px}.tactile-round-create .form-grid{grid-template-columns:1fr}.tactile-round-create .wide{grid-column:auto}}

/* Console TC, itinéraires et documents d'exploitation */
.sector-switch { display:flex; align-items:center; gap:7px; margin-bottom:13px; padding:9px; overflow-x:auto; }.sector-switch>span { flex:0 0 auto; padding:0 9px; color:var(--muted); font-size:8px; font-weight:900; text-transform:uppercase; }.sector-switch a { display:flex; flex:0 0 auto; align-items:center; gap:6px; min-height:38px; padding:8px 12px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:#f8faf9; font-size:9px; font-weight:800; }.sector-switch a b { color:var(--forest); }.sector-switch a.active { color:white; border-color:var(--forest); background:var(--forest); }.sector-switch a.active b { color:var(--amber); }
.driver-route-summary { display:flex; align-items:center; gap:8px; margin:10px 0; }.driver-route-summary>span { display:flex; min-width:105px; flex-direction:column; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:#f7faf8; }.driver-route-summary small { color:var(--muted); font-size:7px; text-transform:uppercase; }.driver-route-summary strong { font-size:10px; }.driver-route-summary .button { margin-left:auto; }.driver-mini-map { height:220px; margin:10px 0 13px; overflow:hidden; border-radius:10px; background:#eaf1ee; }.driver-mini-map iframe { width:100%; height:100%; border:0; }
.driver-compliance { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin:8px 0 10px; padding:10px 12px; border:1px solid #cbe4d9; border-radius:9px; background:#edf8f3; }.driver-compliance>div { display:flex; flex-direction:column; }.driver-compliance strong { color:#17634f; font-size:9px; }.driver-compliance small,.driver-compliance>span { margin-top:2px; color:var(--muted); font-size:7px; }.driver-compliance ol { margin:0; padding-left:18px; color:#6e5217; font-size:7.5px; }.driver-compliance.non_compliant { border-color:#efbcb5; background:#fff0ed; }.driver-compliance.non_compliant strong { color:#9b3027; }
.department-selector-card { min-height:88px; }.department-selector-card.all { flex-basis:132px; }.department-card-metrics { display:grid; width:100%; grid-template-columns:minmax(0,1fr) auto auto; align-items:end; gap:4px; margin-top:auto; padding-top:7px; border-top:1px solid #e1e9e5; font-size:6.5px; line-height:1; }.department-card-metrics>span { display:flex; align-items:baseline; gap:2px; white-space:nowrap; }.department-card-metrics b { font-size:9px; font-weight:950; }.department-motorcycles { justify-self:start; color:#3c554d; }.department-pickups { justify-self:end; padding:3px 4px; border-radius:5px; color:#067044; background:#dff4e9; font-weight:900; }.department-urgent { justify-self:end; padding:3px 4px; border-radius:5px; color:#b3261e; background:#ffe6e3; font-weight:950; }.department-selector-card.is-selected .department-card-metrics { border-top-color:rgba(255,255,255,.22); }.department-selector-card.is-selected .department-motorcycles { color:white; }.department-selector-card.is-selected .department-pickups { color:#075f3d; background:#c9f0df; }.department-selector-card.is-selected .department-urgent { color:#a51f18; background:#ffd8d4; }
.tactile-rm-identity em { overflow:hidden; margin-top:2px; color:#72867f; font-style:normal; font-size:6.5px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }.tactile-rm-card.is-selected .tactile-rm-identity em { color:#bfe0d6; }
.tc-control-deck { padding:12px 14px; border-bottom:1px solid var(--line); background:#f7faf8; }.tc-action-row { display:flex; flex-wrap:wrap; gap:7px; }.tc-action-row form { margin:0; }.tc-route-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-top:10px; }.tc-route-metrics>span { display:flex; min-height:52px; justify-content:center; flex-direction:column; padding:8px 10px; border:1px solid #dce7e2; border-radius:9px; background:white; }.tc-route-metrics small { color:var(--muted); font-size:7px; text-transform:uppercase; }.tc-route-metrics strong { margin-top:2px; font-size:10px; }.tc-route-metrics em { margin-top:2px; color:var(--muted); font-size:7px; font-style:normal; line-height:1.3; }.tc-route-metrics .tc-departure-time { border-color:#efd392; background:#fff8e6; }.tc-route-metrics .tc-departure-time strong { color:#7b5000; font-size:15px; }.tc-route-metrics .tc-departure-time.hub { border-color:#1d8063; color:white; background:#1d8063; }.tc-route-metrics .tc-departure-time.hub small,.tc-route-metrics .tc-departure-time.hub em { color:#d9f1e8; }.tc-route-metrics .tc-departure-time.hub strong { color:white; }.tc-route-metrics .tc-departure-time.client { border-color:#91c8b5; background:#eaf7f2; }.tc-route-metrics .tc-handling-detail { border-color:#b9d8cb; background:#f4fbf8; }.tc-route-metrics .tc-handling-detail.total { border-color:#188060; color:white; background:#188060; }.tc-route-metrics .tc-handling-detail.total small,.tc-route-metrics .tc-handling-detail.total em { color:#d7f0e7; }.tc-mini-map { position:relative; height:190px; margin-top:10px; overflow:hidden; border:1px solid #d6e2dd; border-radius:11px; background:#eaf1ee; }.tc-mini-map iframe { width:100%; height:100%; border:0; }.tc-mini-map>span { position:absolute; right:7px; bottom:7px; padding:5px 7px; border-radius:6px; color:white; background:rgba(13,47,39,.84); font-size:7px; }
.driver-mail-status { margin:7px 0 0; color:var(--muted); font-size:8px; }
.tc-hub-address { display:flex; align-items:center; gap:10px; margin-bottom:10px; padding:9px 11px; border:1px solid #d6e4de; border-radius:9px; background:white; }.tc-hub-address>span { display:grid; width:34px; height:34px; place-items:center; border-radius:8px; color:white; background:var(--forest); font-size:16px; }.tc-hub-address>div { display:flex; flex-direction:column; }.tc-hub-address small { color:var(--muted); font-size:7px; text-transform:uppercase; }.tc-hub-address strong { margin-top:2px; font-size:9px; }
.tc-inline-controls { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr); gap:9px; margin-bottom:10px; }.tc-index-control,.tc-driver-quick { display:flex; align-items:center; gap:7px; min-height:54px; padding:8px 10px; border:1px solid #d6e4de; border-radius:9px; background:white; }.tc-index-control>span:first-child { display:flex; min-width:78px; flex-direction:column; }.tc-index-control small,.tc-driver-quick label { color:var(--muted); font-size:7px; font-weight:800; text-transform:uppercase; }.tc-index-control strong { color:var(--forest); font-size:11px; }.tc-index-control form { margin:0; }.tc-index-limit { padding:6px 8px; border-radius:7px; color:#77591c; background:#fff2ce; font-size:7px; font-weight:800; }.tc-driver-quick label { display:flex; min-width:0; flex:1; flex-direction:column; gap:3px; }.tc-driver-quick select { width:100%; min-height:31px; padding:5px 7px; font-size:8px; }.tc-driver-quick .button { flex:0 0 auto; }
.ai-route-form { margin:0 0 10px; overflow:hidden; border:1px solid #bcd8ce; border-radius:12px; background:white; box-shadow:0 7px 18px rgba(20,74,59,.06); }.ai-route-head { display:grid; grid-template-columns:42px minmax(180px,1fr) auto auto; align-items:center; gap:10px; padding:11px; }.ai-route-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:10px; color:#163f35; background:linear-gradient(135deg,#ffe9b8,#efb749); font-size:20px; font-weight:900; }.ai-route-head>div { display:flex; min-width:0; flex-direction:column; }.ai-route-head small { color:var(--muted); font-size:7px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.ai-route-head strong { margin-top:1px; color:var(--forest); font-size:12px; }.ai-route-head p { margin:2px 0 0; color:var(--muted); font-size:7.5px; }.ai-state { padding:5px 8px; border-radius:99px; font-size:7px; font-weight:900; white-space:nowrap; }.ai-state.online { color:#075a3f; background:#d9f4e8; }.ai-state.local { color:#76530b; background:#ffefc9; }.ai-regulation-settings { border-top:1px solid #e2ebe7; background:#f7faf8; }.ai-regulation-settings>summary { display:flex; align-items:center; justify-content:space-between; padding:9px 12px; color:#375b50; cursor:pointer; font-size:8px; font-weight:900; list-style:none; }.ai-regulation-grid { display:grid; grid-template-columns:repeat(3,minmax(120px,1fr)); gap:8px; padding:2px 12px 11px; }.ai-auto-departure { display:flex; justify-content:center; flex-direction:column; min-height:58px; padding:8px 10px; border:1px solid #b9d8cb; border-radius:8px; color:#174f40; background:#e9f6f1; }.ai-auto-departure strong { font-size:8px; }.ai-auto-departure span { margin-top:3px; color:#54736a; font-size:6.5px; line-height:1.35; }.ai-regulation-grid label { position:relative; margin:0; color:var(--muted); font-size:7px; }.ai-regulation-grid input { min-height:35px; margin-top:4px; padding:7px 9px; font-size:9px; }.ai-regulation-grid label>small { position:absolute; right:8px; bottom:9px; color:#8a9994; font-size:6px; pointer-events:none; }.ai-regulation-grid .ai-extended-day { display:flex; align-items:flex-start; gap:8px; padding:8px 9px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:white; }.ai-extended-day input { width:auto; min-height:0; margin:2px 0 0; }.ai-extended-day span { font-size:8px; font-weight:800; }.ai-extended-day span small { color:var(--muted); font-size:6.5px; font-weight:500; }.ai-legal-note { margin:0; padding:9px 12px; border-top:1px solid #e2ebe7; color:#6e7f79; background:#f0f5f3; font-size:7px; line-height:1.45; }.route-compliance { display:grid; grid-template-columns:1fr 1.3fr; gap:12px; margin-top:10px; padding:10px 11px; border:1px solid #cde4da; border-radius:10px; background:#f1faf6; }.route-compliance.non_compliant { border-color:#efc3bd; background:#fff4f2; }.route-compliance>div:first-child { display:flex; align-items:center; gap:9px; }.route-compliance>div:first-child>span { display:grid; width:32px; height:32px; flex:0 0 auto; place-items:center; border-radius:50%; color:white; background:#238a65; font-weight:900; }.route-compliance.non_compliant>div:first-child>span { background:#bd3f34; }.route-compliance>div:first-child>div { display:flex; flex-direction:column; }.route-compliance small { color:var(--muted); font-size:6.5px; text-transform:uppercase; }.route-compliance strong { font-size:10px; }.route-compliance p { margin:2px 0 0; color:var(--muted); font-size:7px; }.route-compliance dl { display:grid; grid-template-columns:1fr 1fr; gap:5px; margin:0; }.route-compliance dl>div { padding:6px 7px; border-radius:7px; background:rgba(255,255,255,.78); }.route-compliance dt { color:var(--muted); font-size:6px; text-transform:uppercase; }.route-compliance dd { margin:1px 0 0; font-size:8px; font-weight:900; }.route-break-list { display:flex; flex-wrap:wrap; gap:5px; margin-top:7px; }.route-break-list>strong { width:100%; color:#6d7d77; font-size:7px; text-transform:uppercase; }.route-break-list>span { padding:5px 7px; border-radius:7px; color:#684b11; background:#ffebbd; font-size:7px; }.route-violation-list { margin:7px 0 0; padding:8px 10px 8px 25px; border-radius:8px; color:#8b2f28; background:#ffe5e1; font-size:7.5px; }.ai-fallback-note,.ai-summary-note { margin:7px 0 0; padding:7px 9px; border-radius:8px; color:#6b551c; background:#fff4d9; font-size:7px; }.ai-summary-note { color:#315d50; background:#e7f3ee; }
.profit-fill-assistant { margin:0 0 10px; overflow:hidden; border:1px solid #dfc67c; border-radius:12px; background:#fffcf4; }.profit-fill-assistant.is-open { box-shadow:0 8px 22px rgba(121,86,16,.09); }.profit-fill-head { display:flex; align-items:center; gap:10px; padding:11px; }.profit-fill-head>span { display:grid; width:42px; height:42px; flex:0 0 auto; place-items:center; border-radius:10px; color:white; background:linear-gradient(135deg,#1b785d,#2fa479); font-size:19px; font-weight:950; }.profit-fill-head>div { display:flex; min-width:0; flex:1; flex-direction:column; }.profit-fill-head small,.profit-proposal-summary small,.profit-proposal-list article>div>small { color:var(--muted); font-size:7px; font-weight:900; text-transform:uppercase; }.profit-fill-head strong { color:#5f460d; font-size:11px; }.profit-fill-head p { margin:2px 0 0; color:#7e6b40; font-size:7.5px; }.profit-fill-head>.button { flex:0 0 auto; }.profit-proposal-summary { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #ead9a9; border-bottom:1px solid #ead9a9; background:white; }.profit-proposal-summary>span { display:flex; min-height:55px; justify-content:center; flex-direction:column; padding:8px 10px; border-left:1px solid #eee3c4; }.profit-proposal-summary>span:first-child { border-left:0; }.profit-proposal-summary strong { margin-top:2px; color:#493b1c; font-size:11px; }.profit-proposal-summary .positive strong { color:#08704f; }.profit-proposal-list { display:grid; gap:6px; padding:9px; }.profit-proposal-list article { display:grid; grid-template-columns:1.1fr .8fr .75fr 1.1fr; align-items:center; gap:8px; padding:9px; border:1px solid #e5d8b7; border-radius:9px; background:white; }.profit-proposal-list article>div { display:flex; min-width:0; flex-direction:column; }.profit-proposal-list article>div>strong { margin-top:2px; font-size:8px; }.profit-reference { flex-direction:row!important; align-items:center; gap:7px; }.profit-reference>span { display:grid; width:31px; height:31px; flex:0 0 auto; place-items:center; border-radius:8px; color:white; background:#14825e; font-size:16px; }.profit-reference>div { display:flex; min-width:0; flex-direction:column; }.profit-reference strong { color:#087054; font-size:11px; }.profit-reference small { color:var(--muted); font-size:7px; }.profit-proposal-list ul { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:4px; margin:0; padding:0; list-style:none; }.profit-proposal-list li { padding:4px 6px; border-radius:6px; color:#5f511f; background:#fff5d7; font-size:6.8px; }.profit-confirmation { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 11px; border-top:1px solid #ead9a9; background:#f7edd0; }.profit-confirmation>div { display:flex; flex-direction:column; }.profit-confirmation strong { color:#5b4108; font-size:9px; }.profit-confirmation p { margin:2px 0; color:#715f34; font-size:7px; }.profit-confirmation small { color:#89764b; font-size:6.5px; }.profit-confirmation form { flex:0 0 auto; margin:0; }.profit-no-suggestion { display:flex; align-items:center; gap:9px; padding:10px 12px; border-top:1px solid #ead9a9; background:white; }.profit-no-suggestion>span { display:grid; width:31px; height:31px; place-items:center; border-radius:50%; color:white; background:#21855f; }.profit-no-suggestion>div { display:flex; flex-direction:column; }.profit-no-suggestion strong { font-size:9px; }.profit-no-suggestion p { margin:2px 0 0; color:var(--muted); font-size:7px; }
.route-removed-dossiers { display:flex; gap:9px; margin-top:8px; padding:9px 10px; border:1px solid #efd3a3; border-radius:9px; background:#fff7e7; }.route-removed-dossiers>span { display:grid; width:31px; height:31px; flex:0 0 auto; place-items:center; border-radius:8px; color:#805511; background:#ffe7b7; font-size:16px; }.route-removed-dossiers>div { display:flex; flex-direction:column; }.route-removed-dossiers strong { font-size:9px; }.route-removed-dossiers p { margin:2px 0 5px; color:#806b45; font-size:7px; }.route-removed-dossiers>div>div { display:flex; flex-wrap:wrap; gap:4px; }.route-removed-dossiers b { padding:4px 6px; border-radius:6px; color:#6d4b0b; background:white; font-size:7px; }
.tactile-file-card.pickup { border-left-color:#d98c22; }.tactile-file-card.pickup .tactile-stop-number,.tactile-file-card.pickup .tactile-add-mark { background:#d98c22; }.operation-stage { align-self:flex-start; margin-bottom:2px; padding:2px 5px; border-radius:4px; color:#075d78; background:#d9f2fc; font-size:6px; font-weight:900; line-height:1; text-transform:uppercase; }.operation-stage.pickup { color:#8a4b00; background:#fff0d5; }
.contact-type { display:inline-block; margin-left:4px; padding:1px 4px; border-radius:999px; color:#35554b; background:#edf3f0; font-style:normal; font-size:6px; font-weight:900; text-transform:uppercase; }.contact-type.dealer { color:#7c4e00; background:#fff0c9; }.contact-type.hub { color:#075d78; background:#d9f2fc; }
.tactile-bulk-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 9px; padding:9px 11px; border-color:#cbdcd5; }.tactile-bulk-toolbar>div { display:flex; align-items:center; gap:9px; }.tactile-bulk-toolbar>div:last-child { flex:0 0 auto; }.tactile-bulk-toolbar p { margin:0; color:var(--muted); font-size:8px; }.bulk-selection-count { display:flex; min-width:88px; flex-direction:column; padding:6px 8px; border-radius:8px; color:#476158; background:#edf3f0; }.bulk-selection-count strong { font-size:15px; }.bulk-selection-count small { font-size:6.5px; text-transform:uppercase; }.tactile-bulk-toolbar.has-selection { border-color:#d3b45d; background:#fffaeb; box-shadow:0 5px 15px rgba(126,91,17,.08); }.tactile-bulk-toolbar.has-selection .bulk-selection-count { color:white; background:#177457; }.tactile-bulk-toolbar button:disabled { opacity:.45; cursor:not-allowed; }.tactile-file-card.is-assigned { min-height:106px; }.tactile-file-operations { grid-column:4/-1; display:flex; align-items:center; justify-content:space-between; gap:7px; min-width:0; padding:6px 0 2px; border-top:1px solid #edf1ef; }.route-time { flex:1 1 180px; color:#536a63; font-size:7.5px; }.route-time b { color:var(--forest); font-size:11px; }.file-action-buttons { display:flex; align-items:center; flex-wrap:wrap; gap:5px; }.file-action-buttons form { margin:0; }.file-action { display:inline-flex; min-height:29px; align-items:center; justify-content:center; padding:5px 8px; border:0; border-radius:7px; color:#164f41; background:#e1f0ea; cursor:pointer; font:inherit; font-size:7.5px; font-weight:900; }.file-action.call { color:#fff; background:#177455; }.file-action.email { color:#70500e; background:#ffedc6; }.file-action.document { color:#17647e; background:#dcf1f8; }.file-action.disabled { color:#88958f; background:#eef1ef; cursor:default; }.stop-time-form { display:flex; flex:0 0 auto; align-items:end; gap:5px; }.stop-time-form label { margin:0; color:var(--muted); font-size:7px; }.stop-time-form input { width:150px; min-height:29px; padding:4px 6px; font-size:8px; }.stop-time-form .button { min-height:29px; padding:5px 8px; font-size:7px; }
.print-document { width:min(1050px,100%); margin:0 auto; padding:28px; color:#162721; background:white; }.print-actions { display:flex; justify-content:space-between; gap:10px; margin-bottom:22px; }.print-document-header { display:flex; align-items:flex-start; justify-content:space-between; gap:25px; padding-bottom:20px; border-bottom:4px solid var(--forest); }.print-document-header>div { display:flex; align-items:center; gap:10px; }.print-document-header>div:last-child { align-items:flex-end; flex-direction:column; text-align:right; }.print-document-header>div:last-child>span { color:var(--forest); font-size:10px; font-weight:900; letter-spacing:.12em; }.print-document-header h1 { margin:2px 0; font-size:30px; }.print-document-header small { color:var(--muted); font-size:8px; }.print-logo { display:grid; width:52px; height:52px; place-items:center; border-radius:12px; color:white; background:var(--forest); font-family:"Manrope",sans-serif; font-size:28px; font-weight:900; }.print-document-header>div:first-child div { display:flex; flex-direction:column; }.print-document-header>div:first-child strong { font-family:"Manrope",sans-serif; font-size:22px; }.print-meta-grid { display:grid; grid-template-columns:repeat(6,1fr); margin:17px 0; border:1px solid var(--line); border-radius:10px; }.print-meta-grid>div { display:flex; min-height:58px; justify-content:center; flex-direction:column; padding:9px 11px; border-left:1px solid var(--line); }.print-meta-grid>div:first-child { border-left:0; }.print-meta-grid small,.print-addresses small,.print-route small { color:var(--muted); font-size:7px; text-transform:uppercase; }.print-meta-grid strong { margin-top:3px; font-size:9px; }.print-route,.print-addresses { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; margin:14px 0; padding:13px 15px; border-radius:10px; color:white; background:var(--ink); }.print-route span,.print-addresses>div { display:flex; flex-direction:column; }.print-route span:last-child { text-align:right; }.print-route small,.print-addresses small { color:#abc1ba; }.print-route strong,.print-addresses strong { font-size:9px; }.print-load-table { width:100%; margin-top:18px; border-collapse:collapse; font-size:8px; }.print-load-table th { padding:8px 6px; color:white; background:var(--forest); text-align:left; }.print-load-table td { padding:9px 6px; border-bottom:1px solid var(--line); vertical-align:top; }.print-load-table td small { color:var(--muted); font-size:7px; }.print-addresses { grid-template-columns:1fr 1fr; background:#f3f7f5; color:var(--ink); }.print-addresses>div+div { padding-left:16px; border-left:1px solid var(--line); }.print-addresses span { margin-top:4px; color:var(--muted); font-size:8px; }.print-checks,.print-notes { margin:16px 0; padding:15px; border:1px solid var(--line); border-radius:10px; }.print-checks h2 { margin:0 0 10px; font-size:13px; }.print-checks>div { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; font-size:9px; }.print-notes { display:grid; grid-template-columns:1.35fr .65fr; gap:20px; }.print-notes strong { font-size:9px; }.print-notes p { min-height:20px; margin:8px 0; color:#596b65; font-size:8px; }.print-signatures { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:22px; }.print-signatures>div { display:flex; min-height:118px; flex-direction:column; padding:13px; border:1px solid #9fb3ac; border-radius:9px; }.print-signatures strong { font-size:9px; }.print-signatures span { margin-top:5px; color:var(--muted); font-size:7px; }
.print-order-notice { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:9px 11px; border:1px solid #bcd8ce; border-radius:8px; color:#184f40; background:#edf8f3; font-size:8px; }.print-order-notice span { color:#5f766e; font-size:7px; }.print-load-table .print-break-row td { color:#6b4c0d; background:#fff0cd; }.print-break-row td:first-child { font-size:13px; text-align:center; }
.tactile-rm-card-shell.actions-open{margin-bottom:4px}.tactile-rm-quick-actions{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin:-1px 5px 6px 47px;padding:7px;border:1px solid #cdded8;border-top:0;border-radius:0 0 12px 12px;background:linear-gradient(180deg,#f6faf8,#eaf3ef);box-shadow:0 8px 18px rgba(13,54,43,.1)}.tactile-rm-quick-actions[hidden]{display:none}.tactile-rm-quick-actions>header{display:flex;align-items:end;justify-content:space-between;gap:8px;padding:2px 2px 0}.tactile-rm-quick-actions>header strong{color:#174d3f;font-size:8.5px}.tactile-rm-quick-actions>header small{color:#6d817a;font-size:6.5px}.tactile-rm-command-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.tactile-rm-command{display:flex;min-width:0;min-height:39px;align-items:center;gap:5px;padding:5px 6px;border:1px solid #d5e3de;border-radius:8px;color:#176c54;background:#fff;box-shadow:0 2px 5px rgba(14,57,46,.07);font-size:6.8px;text-decoration:none;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.tactile-rm-command span{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border-radius:7px;color:#fff;background:#76a900;font-size:12px;font-weight:700}.tactile-rm-command b{overflow:hidden;font-weight:700;line-height:1.15;text-overflow:ellipsis}.tactile-rm-command.accent{grid-column:span 2;color:#fff;border-color:#177457;background:#177457}.tactile-rm-command.accent span{color:#176c54;background:#fff}.tactile-rm-command:hover,.tactile-rm-command:focus-visible{border-color:#78aa99;box-shadow:0 5px 10px rgba(14,57,46,.12);outline:none;transform:translateY(-1px)}.tactile-rm-document-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding-top:6px;border-top:1px solid #d4e2dd}.tactile-rm-document-grid form{margin:0}.tactile-rm-document-grid a,.tactile-rm-document-grid button,.tactile-rm-document-grid>.disabled{display:flex;width:100%;min-height:32px;align-items:center;justify-content:flex-start;gap:6px;padding:6px 8px;border:0;border-radius:7px;color:#fff;cursor:pointer;font:inherit;font-size:7px;font-weight:800;text-align:left}.tactile-rm-document-grid a span,.tactile-rm-document-grid button span,.tactile-rm-document-grid>.disabled span{display:grid;width:18px;height:18px;flex:0 0 auto;place-items:center;border-radius:5px;background:rgba(255,255,255,.18);font-size:10px}.tactile-rm-document-grid .load{background:#267f9d}.tactile-rm-document-grid .delivery{background:#17845f}.tactile-rm-document-grid .pickup{background:#b87a19}.tactile-rm-document-grid .departure{background:#123f34}.tactile-rm-document-grid a:hover,.tactile-rm-document-grid button:hover{filter:brightness(.94);transform:translateY(-1px)}.tactile-rm-document-grid>.disabled{color:#85938e;background:#dde5e2;cursor:not-allowed}.tc-command-anchor,.tc-inline-controls,.tc-route-metrics,.tactile-assigned-list,.tactile-round-settings{scroll-margin-top:110px}
.tactile-rm-command.is-disabled{opacity:.48;box-shadow:none;cursor:not-allowed}.fleet-settings,.round-assignment-form label,.tc-driver-message{scroll-margin-top:110px}
.transport-note-barcode { display:flex; width:210px; align-items:center; flex-direction:column; gap:3px; margin:-10px 0 4px auto; }.transport-note-barcode svg { width:205px; height:34px; }.transport-note-barcode small { font-family:monospace; font-size:7px; letter-spacing:.08em; }.print-batch { width:min(1050px,100%); margin:0 auto; }.print-batch>.print-actions { padding:12px 15px; border-radius:10px; background:white; }.print-batch>.print-document { margin-bottom:18px; }.departure-meta { grid-template-columns:repeat(8,1fr); }.departure-alert { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:10px 0; padding:9px 11px; border:1px solid #d5b25f; border-radius:8px; color:#64490f; background:#fff3d5; }.departure-alert strong { font-size:9px; }.departure-alert span { font-size:7px; }.departure-route-table td:nth-child(5) { max-width:250px; }.departure-route-table td:nth-child(5)>strong,.departure-route-table td:nth-child(5)>small { display:block; }.departure-consignes { display:grid; grid-template-columns:1.4fr .6fr; gap:12px; margin-top:14px; padding:12px; border:1px solid var(--line); border-radius:9px; background:#f6f8f7; }.departure-consignes>div { display:flex; flex-direction:column; gap:4px; }.departure-consignes strong { font-size:8px; }.departure-consignes p,.departure-consignes span { margin:0; color:#556a63; font-size:7px; }.departure-signatures { margin-top:14px; }.departure-signatures>div { min-height:82px; }
.delivery-note-sheet { padding:18px; }.delivery-note-copy { overflow:hidden; border:1.5px solid #6f827b; border-radius:8px; background:white; }.delivery-copy-header { display:grid; grid-template-columns:1fr auto 155px; align-items:center; gap:12px; padding:8px 10px 7px; border-bottom:3px solid var(--forest); }.delivery-copy-brand { display:flex; align-items:center; gap:8px; }.delivery-copy-brand .print-logo { width:36px; height:36px; border-radius:8px; font-size:19px; }.delivery-copy-brand>div { display:flex; flex-direction:column; }.delivery-copy-brand strong { font-family:"Manrope",sans-serif; font-size:15px; }.delivery-copy-brand small,.delivery-copy-title small { color:var(--muted); font-size:6px; }.delivery-copy-title { display:flex; align-items:flex-end; flex-direction:column; text-align:right; }.delivery-copy-title span { color:var(--forest); font-size:7px; font-weight:900; letter-spacing:.1em; }.delivery-copy-title h2 { margin:1px 0; font-size:17px; }.delivery-copy-label { align-self:stretch; display:grid; place-items:center; padding:6px 8px; border-radius:6px; color:white; background:var(--forest); font-size:7px; letter-spacing:.06em; text-align:center; }.delivery-copy-barcode { display:flex; width:185px; align-items:center; flex-direction:column; gap:1px; margin:4px 10px 2px auto; }.delivery-copy-barcode svg { width:180px; height:25px; }.delivery-copy-barcode small { font-family:monospace; font-size:6px; letter-spacing:.08em; }.delivery-copy-grid { display:grid; grid-template-columns:1.2fr 1.8fr .5fr 1.5fr; margin:0 9px; border:1px solid var(--line); border-radius:6px; }.delivery-copy-grid>div { display:flex; min-width:0; min-height:35px; justify-content:center; flex-direction:column; padding:5px 7px; border-left:1px solid var(--line); }.delivery-copy-grid>div:first-child { border-left:0; }.delivery-copy-grid small,.delivery-copy-addresses small { color:var(--muted); font-size:5.5px; text-transform:uppercase; }.delivery-copy-grid strong { overflow-wrap:anywhere; margin-top:1px; font-size:6.8px; }.delivery-copy-addresses { display:grid; grid-template-columns:1fr 1fr; margin:5px 9px; border-radius:6px; color:var(--ink); background:#eef4f1; }.delivery-copy-addresses>div { display:flex; min-height:48px; justify-content:center; flex-direction:column; padding:6px 8px; }.delivery-copy-addresses>div+div { border-left:1px solid #d1dfd9; }.delivery-copy-addresses strong { margin-top:1px; font-size:7px; }.delivery-copy-addresses span { margin-top:2px; color:var(--muted); font-size:6px; }.delivery-copy-bottom { display:grid; grid-template-columns:1.45fr .55fr; gap:6px; margin:5px 9px 8px; }.delivery-copy-reserves,.delivery-copy-signature { display:flex; min-height:62px; flex-direction:column; padding:6px 8px; border:1px solid var(--line); border-radius:6px; }.delivery-copy-reserves strong,.delivery-copy-signature strong { font-size:7px; }.delivery-copy-reserves>span,.delivery-copy-signature>span { margin-top:2px; color:var(--muted); font-size:5.5px; }.delivery-copy-reserves p { margin:5px 0 4px; font-size:6px; }.delivery-copy-reserves small,.delivery-copy-signature small { color:#4f625b; font-size:5.5px; }.delivery-copy-signature p { min-height:21px; margin:2px 0; }.delivery-copy-terms { margin-top:auto; padding-top:5px; border-top:1px solid #cfdad6; color:#44564f; }.delivery-copy-terms b { font-size:5.8px; letter-spacing:.06em; }.delivery-copy-terms p { margin:2px 0 0; font-size:5.3px; line-height:1.3; }.delivery-copy-separator { display:flex; align-items:center; gap:8px; margin:7px 0; color:#71827c; font-size:6px; text-transform:uppercase; }.delivery-copy-separator::before,.delivery-copy-separator::after { height:0; flex:1; border-top:1px dashed #71827c; content:""; }.delivery-copy-separator span { font-size:11px; }.delivery-copy-separator b { white-space:nowrap; }
@media(max-width:1180px){.tc-route-metrics{grid-template-columns:1fr 1fr}.tactile-file-operations{grid-column:4/-1;flex-wrap:wrap}.stop-time-form{width:100%}.print-meta-grid{grid-template-columns:repeat(3,1fr)}.print-meta-grid>div:nth-child(4){border-left:0}.ai-route-head{grid-template-columns:42px 1fr auto}.ai-route-head .button{grid-column:2/-1}.ai-regulation-grid{grid-template-columns:1fr 1fr}.profit-proposal-list article{grid-template-columns:1fr 1fr}.profit-proposal-list ul{grid-column:1/-1}}
@media(max-width:700px){.sector-switch{align-items:stretch}.driver-route-summary{align-items:stretch;flex-direction:column}.driver-route-summary>span,.driver-route-summary .button{width:100%;margin:0}.driver-mini-map{height:180px}.tc-route-metrics{grid-template-columns:1fr 1fr}.tc-action-row>*{width:100%}.tc-action-row .button{width:100%}.tc-mini-map{height:155px}.tactile-bulk-toolbar,.tactile-bulk-toolbar>div{align-items:stretch;flex-direction:column}.tactile-bulk-toolbar>div:last-child{width:100%}.tactile-bulk-toolbar button{width:100%}.tactile-file-card.is-assigned{min-height:170px}.tactile-file-operations{grid-column:1/-1;align-items:stretch;flex-direction:column}.file-action-buttons{align-items:stretch}.file-action-buttons>*{flex:1 1 auto}.file-action{width:100%}.stop-time-form{align-items:stretch;flex-direction:column}.stop-time-form label,.stop-time-form input,.stop-time-form .button{width:100%}.tactile-rm-quick-actions{margin-left:0}.tactile-rm-command-grid{grid-template-columns:1fr 1fr}.tactile-rm-document-grid{grid-template-columns:1fr}.print-document{padding:16px}.print-document-header{flex-direction:column}.print-document-header>div:last-child{align-items:flex-start;text-align:left}.print-meta-grid{grid-template-columns:1fr 1fr}.print-meta-grid>div:nth-child(odd){border-left:0}.print-route,.print-addresses,.print-checks>div,.print-notes,.print-signatures,.departure-consignes{grid-template-columns:1fr}.print-route span:last-child{text-align:left}.print-load-table{font-size:7px}.ai-route-head{grid-template-columns:38px 1fr}.ai-state{grid-column:1/-1;justify-self:start}.ai-route-head .button{grid-column:1/-1;width:100%}.ai-regulation-grid,.route-compliance{grid-template-columns:1fr}.route-compliance dl{grid-template-columns:1fr 1fr}.profit-fill-head,.profit-confirmation{align-items:stretch;flex-direction:column}.profit-fill-head>.button,.profit-confirmation .button{width:100%}.profit-proposal-summary{grid-template-columns:1fr 1fr}.profit-proposal-summary>span:nth-child(odd){border-left:0}.profit-proposal-list article{grid-template-columns:1fr}.profit-proposal-list ul{grid-column:1}.profit-confirmation form{width:100%}}
@media(max-width:820px){.tc-inline-controls{grid-template-columns:1fr}.tc-index-control{flex-wrap:wrap}.tc-driver-quick{align-items:flex-end}}
.profit-date-adjustment { margin:0; padding:8px 11px; border-top:1px solid #ead9a9; color:#75530e; background:#fff3cf; font-size:7.5px; }.profit-date-adjustment b { color:#583d05; }
.cnr-round-cost { margin-top:10px; overflow:hidden; border:1px solid #b9d8cb; border-radius:11px; background:#f4fbf8; }.cnr-round-cost>header { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:11px 13px; border-bottom:1px solid #d3e6de; }.cnr-round-cost h3 { margin:2px 0 0; font-size:13px; }.cnr-round-cost>header a { color:var(--forest); font-size:8px; font-weight:900; }.cnr-round-cost-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }.cnr-round-cost-grid>span { display:flex; min-height:73px; justify-content:center; flex-direction:column; padding:10px 11px; border-left:1px solid #dce9e4; background:white; }.cnr-round-cost-grid>span:first-child { border-left:0; }.cnr-round-cost-grid small { color:var(--muted); font-size:7px; text-transform:uppercase; }.cnr-round-cost-grid strong { margin-top:3px; color:#173e34; font-size:14px; }.cnr-round-cost-grid em { margin-top:2px; color:var(--muted); font-size:7px; font-style:normal; }.cnr-round-cost-grid .total { color:white; background:#176d55; }.cnr-round-cost-grid .total small,.cnr-round-cost-grid .total em { color:#d9eee7; }.cnr-round-cost-grid .total strong { color:white; }.cnr-round-cost-grid .margin { background:#fff5db; }.cnr-round-cost-grid .margin strong { color:#7c5508; }.cnr-round-cost.is-negative .cnr-round-cost-grid .margin { background:#fff0ed; }.cnr-round-cost.is-negative .cnr-round-cost-grid .margin strong { color:#a3342c; }.cnr-round-cost>p { margin:0; padding:8px 12px; color:#5f746d; font-size:7.5px; line-height:1.45; }.cnr-round-cost .cnr-awaiting { color:#765710; background:#fff4d7; }
.cnr-accounting-method { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:20px 0 26px; padding:21px 24px; border-color:#b9d8cb; background:#f3faf7; }.cnr-accounting-method>div:first-child { max-width:620px; }.cnr-accounting-method h2 { margin:4px 0; font-size:20px; }.cnr-accounting-method p { margin:0; color:var(--muted); font-size:9px; line-height:1.5; }.cnr-accounting-method>div:last-child { display:grid; grid-template-columns:repeat(3,1fr); min-width:440px; border:1px solid #d2e3dc; border-radius:11px; overflow:hidden; background:white; }.cnr-accounting-method>div:last-child>span { display:flex; flex-direction:column; padding:10px 12px; border-left:1px solid #e0eae6; }.cnr-accounting-method>div:last-child>span:first-child { border-left:0; }.cnr-accounting-method small { color:var(--muted); font-size:7px; text-transform:uppercase; }.cnr-accounting-method strong { margin-top:2px; color:var(--forest); font-size:12px; }.cnr-accounting-method a { grid-column:1/-1; padding:7px 12px; border-top:1px solid #e0eae6; color:var(--forest); font-size:8px; font-weight:900; text-align:right; }.cnr-monthly-table { min-width:1050px; }.positive-money { color:#177052; }.negative-money { color:#b03c32; }.cnr-accounting-note { margin:0; padding:11px 15px; border-top:1px solid var(--line); color:var(--muted); background:#f7faf8; font-size:8px; line-height:1.5; }
@media(max-width:1180px){.cnr-round-cost-grid{grid-template-columns:repeat(3,1fr)}.cnr-round-cost-grid>span:nth-child(4){border-left:0}.cnr-accounting-method{align-items:stretch;flex-direction:column}.cnr-accounting-method>div:last-child{min-width:0}}
@media(max-width:700px){.cnr-round-cost>header{align-items:flex-start;flex-direction:column}.cnr-round-cost-grid{grid-template-columns:1fr 1fr}.cnr-round-cost-grid>span:nth-child(odd){border-left:0}.cnr-round-cost-grid>span:nth-child(4){border-left:1px solid #dce9e4}.cnr-accounting-method{padding:17px}.cnr-accounting-method>div:last-child{grid-template-columns:1fr}.cnr-accounting-method>div:last-child>span{border-top:1px solid #e0eae6;border-left:0}.cnr-accounting-method>div:last-child>span:first-child{border-top:0}}
.cnr-round-cost-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.cnr-round-cost-grid .distribike-reference { background:#eef8f5; }
.cnr-round-cost-grid .distribike-reference strong { color:#176d55; }
.cnr-round-cost-grid .distribike-margin { background:#eaf5ff; }
.cnr-round-cost-grid .distribike-margin strong { color:#12628a; }
.cnr-round-cost-grid .distribike-margin.negative { background:#fff0ed; }
.cnr-round-cost-grid .distribike-margin.negative strong { color:#a3342c; }
.cnr-round-cost-grid .is-unconfigured { background:#f3f4f3; }
.cnr-round-cost-grid .is-unconfigured strong { color:#78847f; font-size:11px; }
.distribike-cost-settings { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(600px,1.2fr); align-items:center; gap:28px; margin:20px 0 26px; padding:21px 24px; border-color:#b9d8cb; background:#f7fbf9; }
.distribike-cost-settings h2 { margin:4px 0; font-size:20px; }
.distribike-cost-settings>div>p { margin:0; color:var(--muted); font-size:9px; line-height:1.5; }
.distribike-cost-form { display:grid; grid-template-columns:1fr 1fr .85fr auto; align-items:end; gap:10px; }
.distribike-cost-form label { margin:0; color:#2d4b42; font-size:8px; font-weight:800; }
.distribike-cost-form input { width:100%; margin-top:6px; }
.distribike-average-output { display:flex; min-height:64px; justify-content:center; flex-direction:column; padding:8px 11px; border:1px solid #c5dcd3; border-radius:9px; background:white; }
.distribike-average-output small { color:var(--muted); font-size:7px; text-transform:uppercase; }
.distribike-average-output strong { margin-top:2px; color:var(--forest); font-size:14px; }
.distribike-average-output em { color:var(--muted); font-size:7px; font-style:normal; }
.distribike-cost-form .button { min-height:46px; white-space:nowrap; }
.cnr-monthly-table { min-width:1320px; }
@media(max-width:1180px){.cnr-round-cost-grid{grid-template-columns:repeat(2,1fr)}.cnr-round-cost-grid>span:nth-child(odd){border-left:0}.cnr-round-cost-grid>span:nth-child(4){border-left:1px solid #dce9e4}.distribike-cost-settings{grid-template-columns:1fr}.distribike-cost-form{grid-template-columns:1fr 1fr}.distribike-cost-form .button{width:100%}}
@media(max-width:700px){.cnr-round-cost-grid{grid-template-columns:1fr}.cnr-round-cost-grid>span,.cnr-round-cost-grid>span:nth-child(4){border-top:1px solid #dce9e4;border-left:0}.cnr-round-cost-grid>span:first-child{border-top:0}.distribike-cost-settings{padding:17px}.distribike-cost-form{grid-template-columns:1fr}.distribike-cost-form .button{width:100%}}
@media print {
    @page { size:A4 portrait; margin:10mm; }
    body { background:white!important; }.sidebar,.mobile-header,.no-print,.flash-stack,.purchase-payment-float { display:none!important; }.main-content { width:100%!important; max-width:none!important; margin:0!important; padding:0!important; }.print-document { width:100%!important; margin:0!important; padding:0!important; border:0!important; border-radius:0!important; box-shadow:none!important; }.print-document-header { padding-bottom:10px; }.print-document-header h1 { font-size:22px; }.print-meta-grid { margin:9px 0; break-inside:avoid; }.print-meta-grid>div { min-height:45px; padding:6px 8px; }.print-route,.print-addresses { margin:8px 0; padding:9px 11px; }.print-order-notice { padding:7px 9px; }.print-load-table { margin-top:9px; font-size:6.4pt; }.print-load-table th { padding:5px 4px; }.print-load-table td { padding:6px 4px; }.print-load-table tr { break-inside:avoid; }.print-signatures { margin-top:12px; break-inside:avoid; }.print-signatures>div { min-height:74px; }.print-batch { width:100%!important; }.print-batch>.print-page { break-after:page; page-break-after:always; }.print-batch>.print-page:last-child { break-after:auto; page-break-after:auto; }.transport-note-barcode { margin-top:-4px; }.print-checks,.print-notes { margin:9px 0; padding:10px; }.print-notes p { margin:5px 0; }.departure-alert,.departure-consignes { break-inside:avoid; }.departure-consignes { margin-top:8px; padding:8px; }.departure-signatures { margin-top:8px; }.delivery-note-sheet { display:block!important; }.delivery-note-copy { display:grid; min-height:123mm; grid-template-rows:auto auto auto auto 1fr; break-inside:avoid; page-break-inside:avoid; }.delivery-copy-brand small,.delivery-copy-title small { font-size:7px; }.delivery-copy-title span,.delivery-copy-label { font-size:8px; }.delivery-copy-grid small,.delivery-copy-addresses small { font-size:6.5px; }.delivery-copy-grid strong,.delivery-copy-addresses strong { font-size:8px; }.delivery-copy-addresses span { font-size:7px; }.delivery-copy-reserves strong,.delivery-copy-signature strong { font-size:8px; }.delivery-copy-reserves>span,.delivery-copy-signature>span,.delivery-copy-reserves small,.delivery-copy-signature small { font-size:6.5px; }.delivery-copy-reserves p { font-size:7px; }.delivery-copy-terms b { font-size:7.2px; }.delivery-copy-terms p { font-size:7px; line-height:1.34; }.delivery-copy-signature p { min-height:40px; }.delivery-copy-separator { break-inside:avoid; }
}

/* Terminal de scan chauffeur */
.driver-stage-tabs { position:sticky; z-index:18; top:10px; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; margin:0 0 18px; padding:7px; border:1px solid #cadbd4; border-radius:15px; background:rgba(255,255,255,.94); box-shadow:0 8px 24px rgba(17,57,47,.09); backdrop-filter:blur(12px); }
.driver-stage-tabs{grid-template-columns:repeat(8,minmax(0,1fr))}
.driver-live-center{display:grid;grid-template-columns:auto minmax(220px,1fr) auto auto auto;align-items:center;gap:16px;margin:0 0 14px;padding:13px 16px;border-color:#b8d9cc;background:linear-gradient(105deg,#eff9f5,#fff)}.driver-live-signal{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#d9f1e7}.driver-live-signal i{width:11px;height:11px;border-radius:50%;background:#16835f;box-shadow:0 0 0 6px rgba(22,131,95,.12)}.driver-live-center>div{display:flex;flex-direction:column}.driver-live-center>div strong{font-size:12px}.driver-live-center>div small,.driver-live-center>span small{color:var(--muted);font-size:9px}.driver-live-center>span:not(.driver-live-signal){display:flex;min-width:80px;flex-direction:column;padding-left:14px;border-left:1px solid var(--line)}.driver-live-center>span b{font-size:18px;color:var(--forest)}.driver-live-center.has-update{border-color:#e7a83c;background:#fff8e8}.driver-live-center.has-update .driver-live-signal{background:#ffebbd}.driver-live-center.has-update .driver-live-signal i{background:#e28b12;box-shadow:0 0 0 6px rgba(226,139,18,.14)}.driver-live-center.is-offline{border-color:#d3d8d6;background:#f3f5f4}.driver-live-center.is-offline .driver-live-signal i{background:#798c85;box-shadow:none}
.driver-document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}.driver-document-grid>a,.driver-document-missions>a{display:flex;align-items:center;gap:13px;padding:17px;color:inherit;text-decoration:none}.driver-document-grid>a>span{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:12px;color:white;background:var(--forest);font-weight:800}.driver-document-grid>a>div,.driver-document-missions>a>div{display:flex;min-width:0;flex:1;flex-direction:column}.driver-document-grid strong,.driver-document-missions strong{font-size:12px}.driver-document-grid small,.driver-document-missions small{margin-top:3px;color:var(--muted);font-size:9px}.driver-document-grid>a>b,.driver-document-missions>a>b{color:var(--forest)}.driver-document-missions{display:flex;flex-direction:column;gap:9px}.driver-document-missions>a{padding:12px 15px}.driver-document-missions .scan-stage-pill{min-width:85px;text-align:center}
.driver-message-list{display:flex;flex-direction:column;gap:11px}.driver-message-list article{display:grid;grid-template-columns:42px 1fr auto;align-items:start;gap:13px;padding:17px}.driver-message-list article>span{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;color:var(--forest);background:#e4f2ec;font-weight:900}.driver-message-list article.unread{border-color:#6db59f;background:#f6fcf9}.driver-message-list article.urgent{border-color:#e2a24a;background:#fffaf0}.driver-message-list article.urgent>span{color:#8b5508;background:#ffe5ad}.driver-message-list h3{margin:3px 0;font-size:14px}.driver-message-list p{margin:6px 0;line-height:1.55}.driver-message-list small,.driver-message-list em{color:var(--muted);font-size:10px}.driver-message-list em{font-style:normal}.tc-driver-message{margin:12px 0;border:1px solid #c9ddd4;border-radius:12px;background:#f7fbf9}.tc-driver-message summary{padding:12px 14px;cursor:pointer;font-size:11px;font-weight:800;color:var(--forest)}.tc-driver-message form{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;align-items:end;padding:0 14px 14px}.tc-driver-message label{display:grid;gap:5px;font-size:9px;font-weight:700}.tc-driver-message .wide{grid-column:1/-1}.tc-driver-message textarea{width:100%;resize:vertical}
.mfs-driver-print{margin:18px 0;padding:26px}.mfs-driver-print>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:3px solid var(--forest)}.mfs-driver-print>header>div{display:flex;align-items:center;gap:11px}.mfs-driver-print>header>div>div{display:flex;flex-direction:column}.mfs-driver-print>header>div:last-child{align-items:flex-end}.mfs-driver-mark{display:grid;width:45px;height:45px;place-items:center;border-radius:10px;color:#fff;background:var(--forest);font-weight:900}.mfs-print-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:18px 0;background:var(--line)}.mfs-print-summary>div{display:flex;min-height:65px;flex-direction:column;padding:12px;background:#f8fbf9}.mfs-print-summary small{color:var(--muted);font-size:9px}.mfs-print-summary strong{margin-top:4px;font-size:11px}.mfs-route-document-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.mfs-route-document-list li{display:grid;grid-template-columns:38px 1fr 95px;gap:12px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:10px}.mfs-route-document-list li>span{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;color:#fff;background:var(--forest);font-weight:800}.mfs-route-document-list li>div:nth-child(2){display:flex;flex-direction:column}.mfs-route-document-list small{color:var(--muted);font-size:9px}.mfs-route-document-list strong{font-size:11px}.mfs-route-document-list p{margin:4px 0 0;font-size:9px}.mfs-print-checks{font-size:9px;line-height:1.7}.mfs-operation-addresses,.mfs-operation-signatures{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mfs-operation-addresses section,.mfs-operation-control,.mfs-operation-signatures section{padding:16px;border:1px solid var(--line);border-radius:11px}.mfs-operation-addresses section{display:flex;flex-direction:column}.mfs-operation-addresses small,.mfs-operation-signatures small{color:var(--muted);font-size:9px}.mfs-operation-addresses strong{margin:5px 0;font-size:12px}.mfs-operation-addresses p{margin:0;font-size:10px}.mfs-operation-control{margin:14px 0;min-height:115px}.mfs-operation-control span{display:block;margin:12px 0;font-size:10px}.mfs-operation-control p{font-size:10px}.mfs-operation-signatures section{display:flex;min-height:100px;flex-direction:column;justify-content:space-between}.mfs-operation-print{break-after:page}
@media(max-width:900px){.driver-live-center{grid-template-columns:auto 1fr auto}.driver-live-center>span:not(.driver-live-signal):not(.driver-live-message-count){display:none}.driver-live-message-count{display:flex!important}.driver-document-grid{grid-template-columns:1fr}.tc-driver-message form{grid-template-columns:1fr}}
@media(max-width:560px){.driver-live-center{grid-template-columns:auto 1fr;margin-right:-4px;margin-left:-4px}.driver-live-center .button{grid-column:1/-1;width:100%}.driver-document-missions>a{align-items:flex-start;flex-wrap:wrap}.driver-message-list article{grid-template-columns:38px 1fr}.driver-message-list article form,.driver-message-list article>b{grid-column:2}.mfs-driver-print{padding:14px}.mfs-print-summary{grid-template-columns:1fr 1fr}.mfs-route-document-list li{grid-template-columns:32px 1fr}.mfs-print-checks{grid-column:2}.mfs-operation-addresses,.mfs-operation-signatures{grid-template-columns:1fr}}
@media print{.mfs-driver-print{margin:0;border:0;box-shadow:none}.mfs-operation-print{break-after:page}.mfs-operation-print:last-child{break-after:auto}}
.fleet-overview{margin:18px 0;padding:22px}.fleet-overview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.fleet-overview h2{margin:5px 0}.fleet-overview p{color:var(--muted);font-size:11px}.fleet-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:17px}.fleet-type-card{position:relative;display:flex;align-items:center;gap:14px;min-height:128px;overflow:hidden;background:linear-gradient(145deg,#f7fbf9,#edf6f1);border:1px solid #d6e6de;border-radius:15px;padding:15px}.fleet-type-card::after{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#1d755d}.fleet-type-semi::after{background:#356f95}.fleet-type-van::after{background:#946bb0}.fleet-card-visual{width:116px;min-width:116px;padding:8px;border-radius:12px;background:#fff;box-shadow:0 6px 18px rgba(21,76,61,.08)}.fleet-profile-icon{display:block;width:100%;height:auto}.fleet-card-copy{min-width:0}.fleet-types strong{font-size:12px;color:#203f36}.fleet-types .fleet-card-copy>p{margin:6px 0 9px;line-height:1.35}.fleet-capacity-pills{display:flex;gap:5px;flex-wrap:wrap}.fleet-capacity-pills b{display:inline-flex;padding:4px 7px;border-radius:999px;background:#e0f1e9;font-size:10px;color:#14634d}.fleet-type-semi .fleet-capacity-pills b{background:#e6f0f7;color:#285f83}.fleet-type-van .fleet-capacity-pills b{background:#f0e9f5;color:#68447f}.fleet-types small{display:block;margin-top:7px;font-size:10px;color:var(--muted)}
.fleet-settings{margin-top:17px;border-top:1px solid #dde8e2}.fleet-settings>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 3px 2px;cursor:pointer;list-style:none;color:#21483b}.fleet-settings>summary::-webkit-details-marker{display:none}.fleet-settings>summary span:first-child{display:flex;flex-direction:column}.fleet-settings>summary b{font-size:12px}.fleet-settings>summary small{margin-top:3px;color:var(--muted);font-size:10px}.fleet-settings-chevron{font-size:22px;transition:transform .2s}.fleet-settings[open] .fleet-settings-chevron{transform:rotate(180deg)}.fleet-settings form{margin-top:14px}.fleet-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.fleet-settings fieldset{min-width:0;margin:0;padding:15px;border:1px solid #d8e5de;border-radius:13px;background:#fbfdfc}.fleet-settings legend{padding:0 7px;font-weight:800;font-size:11px;color:#1c634f}.fleet-settings label{display:grid;gap:5px;margin-bottom:10px;color:#49645a;font-size:10px;font-weight:700}.fleet-settings input,.fleet-settings select{width:100%;min-width:0;padding:9px 10px;border:1px solid #cadbd3;border-radius:8px;background:#fff;color:#213d34}.fleet-range-fields,.fleet-capacity-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fleet-capacity-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.fleet-settings-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}.fleet-settings-actions p{margin:0}.fleet-tc-vehicle{grid-column:1/-1;height:42px;padding:3px 12px}.fleet-tc-vehicle~.tactile-rm-plus{top:65px}.fleet-vehicle{display:flex;gap:7px;align-items:center;color:#214338}.fleet-truck{display:block;width:96px;height:40px;flex:0 0 auto}.fleet-truck .fleet-profile-icon{width:96px;height:40px}.fleet-vehicle b{font-size:8px;letter-spacing:.5px}.fleet-vehicle small{display:block;font-size:8px;color:#647d71}.fleet-vehicle-semi b{color:#1c527b}.fleet-dispatch{padding:20px;margin:18px 0;border:1px solid #a9cabb}.fleet-dispatch h2{margin:5px 0}.fleet-dispatch p{font-size:12px;color:var(--muted)}.fleet-dispatch form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;margin-top:15px}.fleet-dispatch label{min-width:150px}.fleet-dispatch .fleet-check{display:flex;align-items:center;gap:8px;font-size:12px;max-width:250px}.fleet-check input{width:auto}.fleet-warning{padding:12px;border-radius:9px;background:#fff3d4;color:#735013;font-size:12px}.fleet-proposal{padding:20px;margin:18px 0}.fleet-proposal table{font-size:12px}.fleet-proposal td{vertical-align:top}.fleet-proposal td small{display:block;color:var(--muted);margin-top:5px}.fleet-proposal details li{margin:7px 0;font-size:12px}.fleet-proposal .fleet-check{display:flex;gap:8px;align-items:center;margin:14px 0;font-size:12px}.fleet-route{padding:14px 0;border-top:1px solid #dce7e1}.fleet-route summary{cursor:pointer;font-size:13px}.fleet-route p{font-size:12px;line-height:1.6}.fleet-unassigned{padding:12px;background:#fff3e4;border-radius:10px;margin-top:15px}.fleet-proposal .table-wrap{overflow:auto}.fleet-busy{display:none}.fleet-dispatch form[aria-busy=true] .fleet-busy{display:inline}.fleet-dispatch form[aria-busy=true] button{opacity:.65;pointer-events:none}@media(max-width:1000px){.fleet-types,.fleet-settings-grid{grid-template-columns:1fr}}@media(max-width:560px){.fleet-overview{padding:16px}.fleet-type-card{align-items:flex-start;flex-direction:column}.fleet-card-visual{width:100%;max-width:180px}.fleet-settings-actions{align-items:stretch;flex-direction:column}.fleet-settings-actions button{width:100%}.fleet-dispatch form{align-items:stretch;flex-direction:column}.fleet-dispatch label,.fleet-dispatch button{width:100%}}
.fleet-vehicle-compact{display:flex;min-width:0;align-items:center;gap:4px;color:#176a55}.fleet-vehicle-compact svg{width:35px;height:20px;flex:0 0 auto;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.fleet-vehicle-compact svg circle{fill:currentColor;stroke:var(--card,#f9faf9);stroke-width:1.4}.fleet-vehicle-compact>span{display:flex;min-width:0;flex-direction:column;line-height:1}.fleet-vehicle-compact b{max-width:58px;overflow:hidden;font-size:5.8px;letter-spacing:.35px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.fleet-vehicle-compact small{margin-top:2px;color:#5f786e;font-size:5.6px;font-weight:800}.tactile-rm-card.is-selected .fleet-vehicle-compact{color:#fff}.tactile-rm-card.is-selected .fleet-vehicle-compact small{color:#d8eee7}.tactile-rm-card.is-selected .fleet-vehicle-compact svg circle{stroke:#288e71}
.driver-archive-search { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; padding:18px; }
.driver-archive-search label { flex:1 1 240px; }
.driver-archive-count { color:var(--muted); font-size:12px; }
.driver-archive-list { display:grid; gap:12px; }
.driver-archive-card { display:flex; flex-wrap:wrap; align-items:center; gap:16px; padding:18px; }
.driver-archive-card>img { width:110px; height:90px; object-fit:cover; border-radius:10px; }
.driver-archive-card>div { flex:1 1 230px; min-width:0; }
.driver-archive-card h3 { margin:8px 0; }.driver-archive-card p { margin:8px 0; overflow-wrap:anywhere; }
.driver-archive-card small { color:var(--muted); }.driver-archive-card>a { white-space:normal; }
.driver-archive-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px; margin:20px 0; }
.driver-stage-tabs a { position:relative; display:grid; min-height:58px; grid-template-columns:31px 1fr auto; align-items:center; gap:7px; padding:8px 9px; border-radius:10px; color:#526a62; text-decoration:none; transition:.16s ease; }
.driver-stage-tabs a>span { display:grid; width:31px; height:31px; place-items:center; border-radius:9px; color:var(--forest); background:#e5f1ec; font-size:15px; font-weight:900; }
.driver-stage-tabs a strong { font-size:9px; }.driver-stage-tabs a b { padding:3px 5px; border-radius:999px; color:#466159; background:#edf3f0; font-size:7px; }
.driver-stage-tabs a:hover { background:#f0f6f3; }.driver-stage-tabs a.active { color:white; background:var(--forest); box-shadow:0 6px 16px rgba(16,86,67,.22); }
.driver-stage-tabs a.active>span { color:var(--forest); background:white; }.driver-stage-tabs a.active>b { color:white; background:rgba(255,255,255,.18); }
.driver-round-selector { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(260px,1.2fr) auto; align-items:center; gap:14px; margin-bottom:18px; padding:13px 15px; }
.driver-round-selector label,.driver-round-selector>div { display:flex; min-width:0; flex-direction:column; gap:4px; }.driver-round-selector label>span,.driver-round-selector small { color:var(--muted); font-size:7px; font-weight:900; text-transform:uppercase; }.driver-round-selector select { min-height:39px; }.driver-round-selector>div strong { overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.driver-scanner-layout { display:grid; grid-template-columns:minmax(310px,.82fr) minmax(390px,1.18fr); align-items:start; gap:16px; }
.driver-scan-console { overflow:hidden; padding:0; border-color:#183e34; background:#102d25; color:white; }
.driver-scan-console>header { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 14px; background:#173c32; }.driver-scan-console>header>div { display:flex; align-items:center; gap:9px; }.driver-scan-console>header>div>div { display:flex; flex-direction:column; }.driver-scan-console>header small { color:#93b9ad; font-size:6.5px; font-weight:900; letter-spacing:.12em; }.driver-scan-console>header strong { font-size:9px; }.driver-scan-console>header>b { padding:5px 7px; border-radius:7px; color:#173c32; background:#d7f3e8; font-size:8px; }
.scan-console-icon { display:grid; width:34px; height:34px; place-items:center; border-radius:9px; color:#102d25; background:#63d3ae; font-size:17px; }
.scan-camera { position:relative; aspect-ratio:4/3; overflow:hidden; background:#071d17; }.scan-camera video { display:block; width:100%; height:100%; object-fit:cover; }.scan-camera-placeholder { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; padding:20px; color:#c9dbd5; background:radial-gradient(circle at center,#183b32 0,#091f19 70%); text-align:center; }.scan-camera-placeholder[hidden] { display:none; }.scan-camera-placeholder>span { display:grid; width:54px; height:54px; margin-bottom:10px; place-items:center; border:1px solid #43655b; border-radius:14px; color:#64d4ae; font-size:25px; }.scan-camera-placeholder strong { font-size:12px; }.scan-camera-placeholder small { max-width:270px; margin-top:4px; color:#87a59c; font-size:8px; line-height:1.45; }
.scan-reticle { position:absolute; inset:0; display:none; align-items:center; justify-content:center; flex-direction:column; pointer-events:none; }.camera-active .scan-reticle { display:flex; }.scan-reticle i { position:relative; display:block; width:78%; height:35%; border:2px solid #6bf0bf; border-radius:13px; box-shadow:0 0 0 999px rgba(0,17,13,.38),0 0 18px rgba(65,255,187,.32) inset; }.scan-reticle i::after { position:absolute; top:50%; right:7px; left:7px; height:2px; background:#ff5c4f; box-shadow:0 0 7px #ff5c4f; content:""; animation:driver-scan-line 1.65s ease-in-out infinite alternate; }.scan-reticle span { margin-top:12px; padding:5px 8px; border-radius:6px; color:white; background:#071d17c9; font-size:7px; font-weight:900; }
@keyframes driver-scan-line { from { transform:translateY(-38px) } to { transform:translateY(38px) } }
.scan-feedback { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:9px; margin:11px 12px 0; padding:10px; border:1px solid #35564c; border-radius:10px; background:#173c32; }.scan-feedback>span { padding:5px 6px; border-radius:6px; color:#102d25; background:#a9c4bb; font-size:6px; font-weight:1000; letter-spacing:.08em; }.scan-feedback>div { display:flex; flex-direction:column; }.scan-feedback strong { font-size:9px; }.scan-feedback small { overflow:hidden; color:#94aaa3; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }.scan-feedback.scanning>span { background:#79cbe5; }.scan-feedback.success { border-color:#3cca94; background:#124b3b; }.scan-feedback.success>span { background:#63d3a9; }.scan-feedback.warning { border-color:#e4ae46; background:#4a3512; }.scan-feedback.warning>span { background:#ffd36e; }.scan-feedback.error { border-color:#ec7367; background:#54221d; }.scan-feedback.error>span { color:white; background:#dd5145; }.driver-scan-console.is-reading .scan-camera::after { position:absolute; inset:0; border:4px solid #63d3ae; content:""; pointer-events:none; }
.scan-controls { display:flex; gap:7px; padding:10px 12px 6px; }.scan-controls .button { flex:1; min-height:38px; font-size:8px; }.scan-controls .button.primary { color:#0b3529; background:#61d3aa; }.scan-controls .button.active { color:#684800; background:#ffd36e; }.scan-controls button:disabled { opacity:.45; cursor:not-allowed; }
.scan-photo-fallback { position:relative; display:flex; align-items:center; justify-content:space-between; gap:8px; margin:3px 12px 9px; padding:9px 10px; border:1px dashed #547268; border-radius:9px; color:#d4e3de; background:#17352d; cursor:pointer; }.scan-photo-fallback input { position:absolute; width:1px; height:1px; opacity:0; }.scan-photo-fallback span { font-size:8px; font-weight:900; }.scan-photo-fallback small { color:#87a69b; font-size:6.5px; }
.scan-manual { display:flex; align-items:end; gap:7px; margin:0 12px; padding:10px; border-radius:10px; background:white; }.scan-manual label { display:flex; min-width:0; flex:1; flex-direction:column; gap:4px; }.scan-manual label span { color:#486159; font-size:6.5px; font-weight:900; text-transform:uppercase; }.scan-manual input { min-height:38px; font-family:monospace; font-size:10px; text-transform:uppercase; }.scan-manual .button { min-height:38px; }
.scan-compatibility { margin:10px 13px 13px; color:#8eaaa1; font-size:6.8px; line-height:1.5; }.scan-compatibility b { color:#d7e6e1; }
.scan-expected-panel { padding:15px; }.scan-expected-panel>header { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:12px; }.scan-expected-panel h2 { margin:2px 0 0; font-size:18px; }.scan-progress { display:flex; min-width:145px; align-items:center; gap:8px; }.scan-progress>span { overflow:hidden; width:90px; height:7px; border-radius:999px; background:#e1eae6; }.scan-progress i { display:block; height:100%; border-radius:inherit; background:#27a979; transition:width .25s; }.scan-progress b { color:var(--forest); font-size:9px; white-space:nowrap; }.scan-progress em { font-style:normal; }
.scan-expected-list { display:flex; max-height:650px; margin:0; padding:0 3px 0 0; flex-direction:column; gap:7px; overflow:auto; list-style:none; }.scan-expected-list li { display:grid; grid-template-columns:34px 1fr 30px; align-items:center; gap:9px; min-height:68px; padding:9px; border:1px solid var(--line); border-radius:10px; background:#fbfcfb; }.scan-expected-list li>span { display:grid; width:33px; height:33px; place-items:center; border-radius:9px; color:white; background:#80958e; font-size:11px; font-weight:900; }.scan-expected-list li>div { display:flex; min-width:0; flex-direction:column; }.scan-expected-list small { color:#9a4b25; font-size:6.5px; font-weight:900; text-transform:uppercase; }.scan-expected-list strong { overflow:hidden; margin:2px 0; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.scan-expected-list code { color:#587068; font-size:7px; }.scan-expected-list li>a { display:grid; width:29px; height:29px; place-items:center; border-radius:8px; color:var(--forest); background:#e4f1ec; font-size:18px; text-decoration:none; }.scan-expected-list li.scanned { border-color:#9ed5c0; background:#edf8f3; }.scan-expected-list li.scanned>span { background:#1a8b64; }.scan-expected-list li.scanned small { color:#1b795a; }
.driver-scan-history { padding:0; }.driver-scan-history table td>strong,.driver-scan-history table td>small { display:block; }.driver-scan-history code { font-size:7px; }.scan-stage-pill { display:inline-flex; padding:4px 7px; border-radius:99px; color:#166b51; background:#dff2ea; font-size:7px; font-weight:900; }.scan-stage-pill.pickup { color:#8c5700; background:#ffedc6; }.scan-stage-pill.delivery { color:#17647e; background:#dff2f8; }
.loading-reservation { grid-column:1/-1; overflow:hidden; margin-top:2px; border:1px solid #ecc887; border-radius:9px; background:#fffaf0; }.loading-reservation>summary { display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:8px; padding:8px 9px; color:#754e08; cursor:pointer; list-style:none; }.loading-reservation>summary::-webkit-details-marker { display:none; }.loading-reservation>summary>span { display:grid; width:27px; height:27px; grid-row:1/3; place-items:center; border-radius:8px; color:white; background:#d58a21; font-size:13px; font-weight:900; }.loading-reservation>summary>strong { font-size:8px; }.loading-reservation>summary>small { grid-column:2; color:#8a734c; font-size:6.5px; }.loading-reservation>summary>b { grid-column:3; grid-row:1/3; font-size:14px; }.loading-reservation[open]>summary>b { transform:rotate(45deg); }.loading-reservation[data-reservation-locked] { border-color:#d9e0dd; background:#f3f5f4; }.loading-reservation[data-reservation-locked]>summary { color:#7d8c87; cursor:not-allowed; }.loading-reservation[data-reservation-locked]>summary>span { background:#9aa8a3; }
.loading-reservation form { padding:10px; border-top:1px solid #ecd9af; background:white; }.loading-reservation fieldset { display:flex; min-width:0; margin:0; padding:0; flex-direction:column; gap:9px; border:0; }.loading-reservation fieldset:disabled { opacity:.5; }.reservation-photo { position:relative; display:grid; grid-template-columns:36px 1fr; align-items:center; gap:8px; min-height:64px; padding:9px; border:2px dashed #d8a949; border-radius:9px; color:#654508; background:#fff7e5; cursor:pointer; }.reservation-photo input { position:absolute; width:1px; height:1px; opacity:0; }.reservation-photo>span { display:grid; width:35px; height:35px; grid-row:1/3; place-items:center; border-radius:9px; color:white; background:#bd7919; font-size:17px; }.reservation-photo strong { font-size:8px; }.reservation-photo small { grid-column:2; color:#8d7549; font-size:6.5px; }.reservation-written { display:flex; flex-direction:column; gap:4px; }.reservation-written>span,.reservation-audio-file label>span { color:#526861; font-size:6.5px; font-weight:900; text-transform:uppercase; }.reservation-written textarea { resize:vertical; font-size:8px; }.reservation-voice-tools { display:grid; grid-template-columns:1fr 1fr; gap:6px; }.reservation-voice-tools .button { width:100%; min-height:34px; font-size:7px; }.reservation-voice-tools .button.active,.reservation-voice-tools [data-reservation-record-stop] { color:white; background:#b43c32; animation:recording-pulse 1.2s ease-in-out infinite alternate; }.reservation-audio-file { display:grid; grid-template-columns:1fr; gap:7px; padding:8px; border-radius:8px; background:#f1f5f3; }.reservation-audio-file label { display:flex; flex-direction:column; gap:4px; }.reservation-audio-file input { padding:6px; font-size:7px; }.reservation-audio-file audio,.loading-reservation-history audio { width:100%; height:34px; }.reservation-form-status { margin:0; padding:7px 8px; border-radius:7px; color:#526961; background:#eef4f1; font-size:7px; }.reservation-form-status.success { color:#126347; background:#e1f4ec; }.reservation-form-status.error { color:#92362e; background:#fff0ed; }.reservation-form-status.recording { color:#704b07; background:#fff0c9; }
.loading-reservation-history { display:flex; padding:0 10px 10px; flex-direction:column; gap:7px; }.loading-reservation-history article { display:grid; grid-template-columns:75px 1fr; gap:8px; padding:7px; border:1px solid #e2d4b8; border-radius:8px; background:white; }.loading-reservation-history img { width:75px; height:70px; border-radius:7px; object-fit:cover; }.loading-reservation-history article>div { display:flex; min-width:0; flex-direction:column; }.loading-reservation-history strong { font-size:7.5px; }.loading-reservation-history p { margin:3px 0; color:#624d2b; font-size:7px; white-space:normal; }.loading-reservation-history small { color:#8b7652; font-size:6px; }.loading-reservation-history audio { margin-top:5px; }
.driver-reservation-history-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.driver-reservation-history-grid article { display:grid; grid-template-columns:145px 1fr; gap:12px; padding:11px; }.driver-reservation-history-grid article>img { width:145px; height:135px; border-radius:10px; object-fit:cover; }.driver-reservation-history-grid article>div { display:flex; min-width:0; flex-direction:column; }.driver-reservation-history-grid h3 { margin:4px 0; font-size:12px; }.driver-reservation-history-grid p { margin:2px 0 6px; color:#566a63; font-size:8px; }.driver-reservation-history-grid small { color:var(--muted); font-size:7px; }.driver-reservation-history-grid audio { width:100%; height:34px; margin-top:8px; }
@keyframes recording-pulse { from { box-shadow:0 0 0 0 rgba(180,60,50,.2) } to { box-shadow:0 0 0 5px rgba(180,60,50,.05) } }

/* Couleurs métier partagées : aucune règle de scan/sélection ne remplace la priorité. */
.position-color-pickup { --position-bg:#e4f7e9; --position-border:#9aceaa; --position-accent:#17643a; background:var(--position-bg); }
.position-color-delivery { --position-bg:#fff; --position-border:#d4ddd8; --position-accent:#40564d; background:var(--position-bg); }
.position-color-critical { --position-bg:#ffe3e1; --position-border:#eba6a1; --position-accent:#9c2424; background:var(--position-bg); }
.position-color-urgent { --position-bg:#efe2ff; --position-border:#bb94e6; --position-accent:#643199; background:var(--position-bg); }
.tactile-file-card[class*="position-color-"],.driver-stop-list li[class*="position-color-"],.scan-expected-list li[class*="position-color-"] { background:var(--position-bg); border-color:var(--position-border); }
.tactile-file-card[class*="position-color-"] { border-left:4px solid var(--position-accent); }
.tactile-file-card.position-color-pickup .tactile-stop-number,.tactile-file-card.position-color-pickup .tactile-add-mark { background:#3a9860; }
.tactile-file-card.position-color-critical .tactile-stop-number,.tactile-file-card.position-color-critical .tactile-add-mark { background:#bd4440; }
.tactile-file-card.position-color-urgent .tactile-stop-number,.tactile-file-card.position-color-urgent .tactile-add-mark { background:#8050b4; }
.tactile-file-card.is-selected[class*="position-color-"] { outline:2px solid #d29b2d; outline-offset:1px; }
.operation-stage.pickup { color:#17643a; background:#d0efdc; }
.operation-stage.delivery { color:#40564d; background:#fff; border:1px solid #d4ddd8; }
.position-state-badge { display:inline-flex; width:fit-content; max-width:100%; align-self:flex-start; align-items:center; gap:4px; margin-top:4px; padding:4px 7px; border:1px solid var(--position-border); border-radius:6px; color:var(--position-accent); font-size:10px; font-weight:850; line-height:1.3; white-space:normal; }
.position-state-badge::before { content:''; flex:0 0 6px; height:6px; border-radius:50%; background:var(--position-accent); }
.tactile-file-ref .position-state-badge { padding:2px 4px; font-size:8px; }
.position-color-legend { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; margin:0 0 18px; padding:12px 14px; border:1px solid #dce3df; border-radius:10px; background:#f7faf8; font-size:10px; }
.position-color-legend strong { color:#40564d; font-size:10px; }
.position-color-legend>span { display:inline-flex; align-items:center; gap:6px; color:#40564d; }
.position-color-legend i { display:inline-block; width:17px; height:17px; flex:0 0 17px; border:1px solid var(--position-border); border-radius:4px; }
.position-priority-form{width:fit-content;margin:7px 0 0}
.position-priority-button{position:relative;display:inline-flex;min-height:29px;align-items:center;gap:5px;padding:3px 7px 3px 3px;overflow:hidden;border:1px solid rgba(112,61,161,.24);border-radius:10px;color:#62308f;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,240,255,.96));box-shadow:0 3px 8px rgba(93,42,139,.08),inset 0 1px rgba(255,255,255,.95);cursor:pointer;font:inherit;transition:transform .16s cubic-bezier(.2,.75,.25,1),box-shadow .18s ease,border-color .18s ease,background .18s ease}
.position-priority-icon{position:relative;z-index:1;display:grid;width:21px;height:21px;flex:0 0 21px;place-items:center;border-radius:7px;color:#fff;background:linear-gradient(145deg,#8351b5,#653092);box-shadow:0 2px 6px rgba(91,43,132,.19);font-size:10px;font-weight:700;line-height:1}
.position-priority-label{position:relative;z-index:1;font-size:9px;font-weight:500;letter-spacing:0;white-space:nowrap}
.position-priority-button:hover{border-color:rgba(112,61,161,.45);background:#fff;box-shadow:0 8px 19px rgba(93,42,139,.16),inset 0 1px #fff;transform:translateY(-2px)}
.position-priority-button:active{box-shadow:0 2px 7px rgba(93,42,139,.13);transform:translateY(0) scale(.975)}
.position-priority-button:focus-visible{outline:3px solid rgba(128,73,179,.24);outline-offset:2px}
.position-priority-button.is-active{border-color:rgba(207,45,38,.32);color:#fff;background:linear-gradient(180deg,#e24840,#c82620);box-shadow:0 6px 16px rgba(190,39,32,.22),inset 0 1px rgba(255,255,255,.24)}
.position-priority-button.is-active>.position-priority-icon{color:#c8231d;background:#fff;box-shadow:0 2px 6px rgba(93,12,8,.18)}
.position-priority-button.is-active:hover{border-color:#b91e18;background:linear-gradient(180deg,#d93b34,#b91e18);box-shadow:0 9px 22px rgba(190,39,32,.29),inset 0 1px rgba(255,255,255,.2)}
.admin-position-priority { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 12px; }
.position-detail-header { padding:18px; border:1px solid var(--position-border); border-radius:12px; }
.timeline-list>a.position-timeline-row { padding:12px 8px; margin:4px 0; border:1px solid var(--position-border); border-radius:8px; }
.mission-position-badge,.scan-position-label { grid-column:1/-1; }
.mission-position-badge { justify-self:start; margin:0 0 -8px; }
.scan-position-label { margin:0; }
.buyer-position-label { padding:12px 18px 0; }
@media(max-width:560px) { .position-color-legend { gap:8px; align-items:flex-start; flex-direction:column; padding:11px; }.position-priority-button { min-height:34px;padding:4px 8px 4px 4px }.position-priority-icon{width:24px;height:24px;flex-basis:24px}.position-priority-label{font-size:9.5px;font-weight:500}.position-detail-header { padding:13px; } }
@media(max-width:900px){.driver-stage-tabs{top:6px;grid-template-columns:repeat(4,minmax(0,1fr))}.driver-stage-tabs a{min-width:0}.driver-round-selector{grid-template-columns:1fr}.driver-scanner-layout{grid-template-columns:1fr}.scan-expected-list{max-height:none}.driver-reservation-history-grid{grid-template-columns:1fr}}
@media(max-width:560px){.driver-stage-tabs{margin-right:-12px;margin-left:-12px;border-radius:0}.driver-stage-tabs a{min-width:118px;grid-template-columns:28px 1fr;padding:7px}.driver-stage-tabs a>b{grid-column:2}.driver-round-selector{padding:11px}.driver-scan-console{margin-right:-4px;margin-left:-4px}.scan-camera{aspect-ratio:3/4}.scan-controls{flex-wrap:wrap}.scan-controls .button:first-child{flex-basis:100%}.scan-photo-fallback{align-items:flex-start;flex-direction:column}.scan-manual{align-items:stretch;flex-direction:column}.scan-manual .button{width:100%}.scan-expected-panel>header{align-items:flex-start;flex-direction:column}.scan-progress{width:100%}.scan-progress>span{flex:1}.scan-expected-list li{grid-template-columns:34px 1fr}.scan-expected-list li>a{grid-column:1/-1;width:100%}.reservation-voice-tools{grid-template-columns:1fr}.loading-reservation-history article{grid-template-columns:1fr}.loading-reservation-history img{width:100%;height:150px}.driver-reservation-history-grid article{grid-template-columns:1fr}.driver-reservation-history-grid article>img{width:100%;height:180px}}

.qa-bike-badge{position:absolute;left:12px;bottom:12px;background:#5b21b6;color:#fff;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:800;letter-spacing:.04em;box-shadow:0 5px 18px rgba(91,33,182,.25)}
.qa-bike-notice{display:flex;flex-direction:column;gap:2px;margin-top:12px;padding:10px 12px;border:1px solid #ddd6fe;border-radius:12px;background:#f5f3ff;color:#4c1d95;font-size:.78rem}
.qa-bike-notice span{color:#6d28d9}
.qa-test-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 20px;padding:16px 18px;border:1px solid #c4b5fd;border-left:5px solid #7c3aed;border-radius:16px;background:linear-gradient(100deg,#f5f3ff,#fff);color:#4c1d95}
.qa-test-banner div{display:flex;flex-direction:column;gap:4px}
.qa-test-banner>span{white-space:nowrap;border-radius:999px;background:#ede9fe;padding:7px 11px;font-size:.78rem;font-weight:800}
@media(max-width:700px){.qa-test-banner{align-items:flex-start;flex-direction:column}.qa-test-banner>span{white-space:normal}}

.spec-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}
.spec-category{min-width:0}
.spec-category h3{display:flex;align-items:center;gap:9px;margin:0;padding:0 0 11px;border-bottom:1px solid #d9e1dd;color:var(--ink);font-size:1rem}
.spec-category h3 span{display:grid;width:23px;height:23px;place-items:center;color:var(--forest);font-size:1.05rem}
.spec-category dl{margin:4px 0 0}
.spec-category dl>div{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:8px 0}
.spec-category dt{color:#536961;font-size:.875rem;line-height:1.35}
.spec-category dd{max-width:62%;margin:0;color:var(--ink);font-size:.875rem;font-weight:750;line-height:1.35;text-align:right;overflow-wrap:anywhere}
.motorcycle-private-documents{grid-column:1/-1}
.document-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:13px}
.document-actions>span{padding:8px 11px;border-radius:8px;background:#f3f5f4;color:var(--muted);font-size:.82rem}
.document-current{display:block;margin-top:8px;color:var(--forest);font-size:.8rem;font-weight:800}
.motorcycle-documents-form .file-field{padding:15px;border:1px solid #d9e5df;border-radius:12px;background:#f7faf8}
@media(max-width:760px){.spec-categories{grid-template-columns:1fr;gap:22px}.motorcycle-private-documents{grid-column:auto}.spec-category dl>div{gap:12px}.spec-category dd{max-width:58%}}

.maintenance-open{width:100%;margin-top:12px}
.maintenance-dialog{width:min(980px,calc(100vw - 28px));max-height:88vh;padding:0;border:0;border-radius:20px;background:#fff;box-shadow:0 24px 80px rgba(13,46,37,.3)}
.maintenance-dialog::backdrop{background:rgba(8,30,24,.62);backdrop-filter:blur(4px)}
.maintenance-dialog>header{position:sticky;z-index:2;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid #dfe8e4;background:#fff}
.maintenance-dialog>header h2{margin:3px 0 4px;font-size:1.55rem}.maintenance-dialog>header p{margin:0;color:var(--muted);font-size:.9rem}
.maintenance-dialog>header>button{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border:0;border-radius:50%;color:var(--ink);background:#eef4f1;font-size:1.6rem;cursor:pointer}
.maintenance-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:22px 24px 28px}
.maintenance-document-grid article{overflow:hidden;border:1px solid #dbe5e0;border-radius:14px;background:#f8faf9}
.maintenance-preview{display:grid;height:280px;place-items:center;overflow:hidden;background:#e8efec}
.maintenance-preview img,.maintenance-preview object{width:100%;height:100%;border:0;object-fit:contain;background:#fff}
.maintenance-preview span{display:grid;width:76px;height:94px;place-items:center;border-radius:8px;color:#fff;background:var(--forest);font-size:1rem;font-weight:850}
.maintenance-document-grid article>div:last-child{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;padding:13px 15px}
.maintenance-document-grid article>div:last-child>span{grid-row:1/4;padding:4px 7px;border-radius:6px;color:var(--forest);background:#dff2e9;font-size:.72rem;font-weight:850;align-self:start}
.maintenance-document-grid strong{overflow:hidden;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.maintenance-document-grid small{color:var(--muted);font-size:.78rem}.maintenance-document-grid a{color:var(--forest);font-size:.8rem;font-weight:800}
.saved-document-links{display:flex;flex-direction:column;gap:5px;margin-top:8px}.saved-document-links a{color:var(--forest);font-size:.78rem;font-weight:750}
@media(max-width:680px){.maintenance-dialog{width:calc(100vw - 16px);max-height:94vh;border-radius:15px}.maintenance-dialog>header{padding:17px}.maintenance-document-grid{grid-template-columns:1fr;padding:15px}.maintenance-preview{height:240px}}
.mfs-driver-task{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:16px;border-color:#aad5c3;background:linear-gradient(135deg,#edf8f3,#fff)}.mfs-driver-task .mfs-badge{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:var(--forest);color:#fff;font-weight:900}.mfs-driver-task.complete{background:#edf9ef}.mfs-driver-task h2,.mfs-driver-task p{margin:2px 0}.inspection-form{display:grid;gap:18px;max-width:1120px;margin:0 auto}.inspection-intro,.inspection-submit,.inspection-report-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}.inspection-intro>span,.inspection-report-head>span{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--forest);color:#fff;font-weight:900}.inspection-intro h2,.inspection-intro p,.inspection-submit p,.inspection-report-head h2,.inspection-report-head p{margin:2px 0}.inspection-intro>b,.inspection-report-head>b{padding:8px 12px;border-radius:999px;background:#e6f5ec;color:var(--forest);font-size:11px}.inspection-section{padding:22px}.inspection-section>header{display:flex;align-items:center;gap:12px;margin-bottom:18px}.inspection-section>header>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--forest);color:#fff;font-weight:900}.inspection-section h2{margin:0}.inspection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.inspection-grid .full{grid-column:1/-1}.inspection-check,.inspection-documents{border:0;border-top:1px solid #e0e8e5;padding:14px 0;margin:0}.inspection-check legend,.inspection-documents legend{font-weight:800;font-size:12px}.inspection-check>div,.inspection-documents>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.inspection-check label,.inspection-documents label{display:flex;align-items:center;gap:7px;margin:0;padding:8px 11px;border:1px solid #dbe5e1;border-radius:10px;background:#fff;cursor:pointer;font-size:11px}.inspection-check label:has(input:checked),.inspection-documents label:has(input:checked){border-color:var(--forest);background:#eaf6f0}.inspection-check input,.inspection-documents input{accent-color:var(--forest)}.inspection-comments,.inspection-video-upload{display:block;margin-top:14px}.inspection-comments textarea{margin-top:7px}.inspection-video-ready{padding:10px;border-radius:10px;background:#e7f6ed;color:#166544}.inspection-submit{position:sticky;bottom:12px;z-index:2;box-shadow:0 12px 38px rgba(18,44,39,.14)}.inspection-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.inspection-report-section h2{padding-bottom:12px;border-bottom:1px solid #dfe7e4}.inspection-report-section dl div{display:grid;grid-template-columns:minmax(120px,1fr) minmax(140px,1fr);gap:14px;padding:9px 0;border-bottom:1px solid #edf1ef}.inspection-report-section dt{color:var(--muted)}.inspection-report-section dd{margin:0;text-align:right;font-weight:700}.inspection-report-docs{margin-top:14px;padding:12px;border-radius:10px;background:#f2f7f5}.inspection-report-video{display:grid;grid-template-columns:1fr minmax(280px,520px);gap:20px;align-items:center;margin-top:16px}.inspection-report-video video{width:100%;max-height:420px;border-radius:14px;background:#10201c}
@media(max-width:700px){.mfs-driver-task,.inspection-intro,.inspection-submit,.inspection-report-head,.inspection-report-video{grid-template-columns:1fr}.inspection-grid,.inspection-report-grid{grid-template-columns:1fr}.inspection-grid .full{grid-column:auto}.inspection-submit{position:static}.inspection-report-section dl div{grid-template-columns:1fr}.inspection-report-section dd{text-align:left}}

/* Gabarit des remorques double étage et colis accessoires. */
.motorcycle-logistics>.height-limit-banner,.motorcycle-logistics>.height-overflow-warning,.motorcycle-logistics>.packaging-confirmation,.motorcycle-logistics>.parcel-charge-total{grid-column:2;min-width:0}
.height-limit-banner{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:14px;margin:0 0 18px;padding:15px;border:1px solid #e6c77d;border-radius:14px;background:linear-gradient(120deg,#fff8e5,#fff)}
.height-limit-banner>span{display:grid;width:60px;height:60px;place-items:center;border:4px solid #d6941c;border-radius:50%;color:#8a5700;background:#fff;font-size:18px;font-weight:900}.height-limit-banner strong{font-size:14px}.height-limit-banner p{margin:3px 0 0;color:#6e634d;font-size:11px}
.height-overflow-warning{margin:16px 0 12px;padding:14px 16px;border-left:5px solid #c4473e;border-radius:10px;color:#7e2924;background:#fff0ed}.height-overflow-warning[hidden]{display:none}.height-overflow-warning strong{font-size:12px}.height-overflow-warning p{margin:4px 0 0;font-size:10px;line-height:1.55}
.packaging-confirmation{display:grid;grid-template-columns:20px 1fr;gap:10px;margin:10px 0 16px;padding:13px;border:1px solid #cfded8;border-radius:11px;background:#f6faf8;cursor:pointer}.packaging-confirmation input{margin-top:3px;accent-color:var(--forest)}.packaging-confirmation span{display:flex;flex-direction:column;gap:3px}.packaging-confirmation strong{font-size:11px}.packaging-confirmation small{color:var(--muted);font-size:9px;line-height:1.45}
.parcel-charge-total{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:15px;padding:13px 15px;border-radius:11px;color:#fff;background:var(--forest)}.parcel-charge-total span{font-size:11px;font-weight:750}.parcel-charge-total strong{font-size:17px;white-space:nowrap}
.motorcycle-logistics>.parcel-contents-editor{grid-column:2}.parcel-contents-editor{margin:2px 0 15px;padding:15px;border:1px solid #d8e4df;border-radius:12px;background:#f7faf8}.parcel-contents-editor>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.parcel-contents-editor>header>div{display:flex;flex-direction:column;gap:2px}.parcel-contents-editor>header strong{font-size:12px}.parcel-contents-editor>header small{color:var(--muted);font-size:9px}.parcel-contents-editor>header>b{padding:6px 9px;border-radius:99px;color:var(--forest);background:#dfefe8;font-size:9px;white-space:nowrap}.parcel-contents-editor>div{display:grid;gap:9px}.parcel-contents-editor label{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:10px;margin:0}.parcel-contents-editor label span{color:#536961;font-size:10px;font-weight:800}.parcel-contents-editor:has([data-parcel-contents-list]:empty){display:none}
.mandatory-parcel-charge{margin:8px;padding:11px;border:1px solid #e4bd64;border-radius:11px;background:#fff8e8}.mandatory-parcel-charge>span{display:block;color:#8a5b05;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.mandatory-parcel-charge>div{display:flex;justify-content:space-between;gap:10px;margin:5px 0}.mandatory-parcel-charge strong,.mandatory-parcel-charge b{font-size:10px}.mandatory-parcel-charge small{display:block;color:#685d47;font-size:8px;line-height:1.5}.mandatory-parcel-charge p{margin:7px 0 0;color:#74571e;font-size:8px;line-height:1.45}.summary-subrow{color:var(--muted);font-size:9px}.summary-subrow dd{font-weight:700}
.mandatory-parcel-charge ol,.parcel-content-preview{margin:8px 0;padding-left:18px;color:#594b31;font-size:9px;line-height:1.55}.parcel-content-preview{font-size:10px}.parcel-content-preview li+li{margin-top:3px}
.mfs-service-preview small{line-height:1.45}
.mfs-winter-option{border-color:#cdded7!important;background:#f6faf8}.winter-days-field{position:relative;display:grid;grid-template-columns:1fr 90px auto;align-items:center;gap:9px;margin:8px;padding:10px 12px;border-radius:10px;background:#e9f3ef;font-size:.78rem;font-weight:800}.winter-days-field input{min-width:0}.winter-days-field>span{color:var(--muted);font-size:.75rem}.winter-days-field .error{grid-column:1/-1}.winter-pricing-card{margin-top:16px;border-color:#bcd9cd;background:linear-gradient(135deg,#f0f8f4,#fff)}
@media(max-width:760px){.motorcycle-logistics>.height-limit-banner,.motorcycle-logistics>.height-overflow-warning,.motorcycle-logistics>.packaging-confirmation,.motorcycle-logistics>.parcel-charge-total,.motorcycle-logistics>.parcel-contents-editor{grid-column:1}.height-limit-banner{grid-template-columns:52px 1fr}.height-limit-banner>span{width:48px;height:48px;font-size:15px}.parcel-charge-total{align-items:flex-start;flex-direction:column}.parcel-contents-editor label{grid-template-columns:1fr}.parcel-contents-editor>header{align-items:flex-start;flex-direction:column}}
.pricing-subsection{margin:22px 0;padding:18px;border:1px solid #dce7e2;border-radius:14px;background:#f7faf8}.pricing-subsection h3{margin:4px 0}.pricing-subsection>p{margin:0 0 16px;color:var(--muted);font-size:11px}
.environmental-pricing-card{border-color:#b8dac7;background:linear-gradient(135deg,#fff 0%,#f3fbf6 100%)}.environmental-pricing-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:13px;color:#fff;background:#198455;font-size:24px}.carbon-method-note{display:flex;flex-direction:column;gap:4px;margin:0 0 17px;padding:12px 14px;border-left:4px solid #198455;border-radius:9px;background:#e9f7ee}.carbon-method-note strong{color:#175c3f;font-size:12px}.carbon-method-note span{color:#50665e;font-size:11px;line-height:1.45}
.trailer-height-rule{display:grid;grid-template-columns:72px 1fr;align-items:start;gap:17px;border-color:#bcd8cb;background:linear-gradient(135deg,#eef8f3,#fff)}.trailer-height-rule.over-limit{border-color:#e3bb66;background:linear-gradient(135deg,#fff6df,#fff)}.trailer-height-icon{display:grid;width:68px;height:68px;place-items:center;border:4px solid var(--forest);border-radius:50%;background:#fff}.over-limit .trailer-height-icon{border-color:#cc8712;color:#8a5700}.trailer-height-icon b{align-self:end;font-size:19px}.trailer-height-icon small{align-self:start;font-size:8px;font-weight:800}.trailer-height-rule h2{margin:3px 0 7px}.trailer-height-rule p{margin:0 0 8px;color:#4e625b}.trailer-height-rule em{display:block;margin-top:9px;color:#6d6250;font-size:10px;font-style:normal}.trailer-height-rule>div>small{display:block;margin-top:8px;color:#775a20}.declared-parcels{display:flex;flex-wrap:wrap;gap:8px}.declared-parcels span{padding:7px 10px;border-radius:8px;color:#795716;background:#ffedbd;font-size:10px}.declared-parcels b{font-size:13px}.purchase-parcel-note{display:grid;grid-template-columns:1fr auto;gap:2px 10px;margin:12px 0;padding:10px;border-radius:10px;color:#76540d;background:#fff1c9}.purchase-parcel-note small{font-size:8px}.purchase-parcel-note strong{grid-row:1/3;grid-column:2;align-self:center}.purchase-parcel-note span{font-size:8px}
@media(max-width:650px){.trailer-height-rule{grid-template-columns:1fr}.trailer-height-icon{width:60px;height:60px}.pricing-subsection{padding:13px}}
@media(max-width:760px){.partner-eco-grid{grid-template-columns:1fr}.partner-eco-mode{min-height:82px}}
.driver-parcel-task{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start;border-color:#e3bd6c;background:#fff8e8}.driver-parcel-task>span{display:grid;width:50px;height:50px;place-items:center;border-radius:13px;color:#fff;background:#c17d0d;font-size:20px}.driver-parcel-task h2,.driver-parcel-task p{margin:2px 0}.driver-parcel-task>div>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.driver-parcel-task b,.driver-parcel-task>div>div>strong{padding:6px 9px;border-radius:7px;background:#ffedbd;font-size:10px}.driver-parcel-task>div>div>strong{margin-left:auto;color:#76500b;background:#fff}
@media(max-width:600px){.driver-parcel-task{grid-template-columns:42px 1fr}.driver-parcel-task>span{width:40px;height:40px}}

/* Vitrine éditoriale Moto Flux Services. */
.auth-service-showcase{position:relative;z-index:1;width:min(560px,100%);margin-top:26px}.auth-service-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px;color:#b9cec7;font-size:.72rem;font-weight:800;letter-spacing:.08em}.auth-service-heading a{color:#fff;text-decoration:none;letter-spacing:0}.auth-service-rail{display:grid;max-height:258px;gap:9px;padding-right:7px;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:thin;scrollbar-color:#6f988a transparent}.auth-service-card{display:grid;grid-template-columns:112px 1fr;min-height:86px;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:14px;color:#fff;background:rgba(255,255,255,.08);text-decoration:none;scroll-snap-align:start;transition:transform .2s,border-color .2s,background .2s}.auth-service-card:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.13);transform:translateX(4px)}.auth-service-card img{width:112px;height:100%;min-height:86px;object-fit:cover}.auth-service-card>span{display:grid;grid-template-columns:1fr auto;align-content:center;gap:2px 10px;padding:12px 14px}.auth-service-card small{grid-column:1/-1;color:#a8c5bb;font-size:.63rem;font-weight:800;letter-spacing:.08em}.auth-service-card strong{font-size:1rem}.auth-service-card em{align-self:center;color:#f1b341;font-size:.78rem;font-style:normal;font-weight:850}
.mfs-services-page{max-width:1460px;margin:0 auto;padding:22px clamp(16px,3vw,46px) 70px}.mfs-services-hero{display:grid;grid-template-columns:minmax(420px,.82fr) minmax(480px,1.18fr);min-height:520px;overflow:hidden;border-radius:30px;color:#fff;background:#102f29}.mfs-services-hero>div{display:flex;justify-content:center;flex-direction:column;padding:clamp(32px,5vw,72px)}.mfs-services-hero h1{max-width:650px;margin:12px 0 20px;font-size:clamp(2.5rem,4.5vw,4.8rem);line-height:.98}.mfs-services-hero h1 em{color:#efb33d;font-style:normal}.mfs-services-hero p{max-width:600px;margin:0;color:#bed0c9;font-size:1.08rem;line-height:1.65}.mfs-services-hero>img{width:100%;height:100%;min-height:520px;object-fit:cover}.mfs-hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:28px}.mfs-hero-actions .ghost{border-color:#ffffff4d;color:#fff}.mfs-service-nav{position:sticky;z-index:5;top:10px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:18px 0 26px;padding:9px;border:1px solid #d8e4df;border-radius:18px;background:rgba(251,252,249,.94);box-shadow:0 10px 30px rgba(17,48,40,.09);backdrop-filter:blur(12px)}.mfs-service-nav a{display:grid;grid-template-columns:auto 1fr;gap:1px 8px;padding:11px;border-radius:11px;color:var(--ink);text-decoration:none}.mfs-service-nav a:hover,.mfs-service-nav a.active{background:#e7f2ed}.mfs-service-nav span{grid-row:1/3;display:grid;width:28px;height:28px;place-items:center;border-radius:8px;color:#fff;background:var(--forest);font-size:.72rem;font-weight:850}.mfs-service-nav strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.mfs-service-nav small{color:var(--muted);font-size:.68rem}.mfs-proof-strip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-bottom:26px;padding:18px 22px;border-radius:16px;background:#e8f3ee}.mfs-proof-strip>b{display:grid;width:52px;height:52px;place-items:center;border-radius:14px;color:#fff;background:var(--forest)}.mfs-proof-strip p{display:flex;margin:0;flex-direction:column;color:#51665e;font-size:.9rem}.mfs-proof-strip p strong{color:var(--ink);font-size:1.05rem}.mfs-proof-strip>span{padding:8px 11px;border-radius:999px;color:#6d510f;background:#ffedbd;font-size:.72rem;font-weight:800}.mfs-service-stories{display:grid;gap:24px}.mfs-service-story{display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(390px,.92fr);min-height:590px;overflow:hidden;border:1px solid #d9e3df;border-radius:24px;background:#fff;box-shadow:0 10px 36px rgba(20,52,43,.06);scroll-margin-top:118px;opacity:.25;transform:translateY(24px);transition:opacity .55s ease,transform .55s ease,border-color .25s}.mfs-service-story.is-visible{opacity:1;transform:none}.mfs-service-story.selected{border:2px solid #d99c25;box-shadow:0 14px 45px rgba(193,128,13,.15)}.mfs-service-story:nth-child(even) .mfs-service-photo{order:2}.mfs-service-photo{position:relative;min-height:590px;overflow:hidden;background:#dfe9e5}.mfs-service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.mfs-service-photo.is-infographic{display:flex;align-items:center;padding:clamp(18px,3vw,34px);background:#edf5f1}.mfs-service-photo.is-infographic img{height:auto;max-height:100%;object-fit:contain;border-radius:14px;box-shadow:0 15px 38px rgba(15,47,39,.13)}.mfs-service-story:hover .mfs-service-photo.is-infographic img{transform:none}.mfs-service-story:hover .mfs-service-photo img{transform:scale(1.025)}.mfs-service-photo>span{position:absolute;top:20px;left:20px;padding:9px 12px;border-radius:9px;color:#fff;background:rgba(10,33,27,.82);font-size:.75rem;font-weight:900;backdrop-filter:blur(8px)}.mfs-service-copy{display:flex;justify-content:center;flex-direction:column;padding:clamp(28px,4vw,58px)}.mfs-service-copy h2{margin:7px 0 13px;font-size:clamp(2rem,3vw,3.1rem)}.mfs-service-copy>p{color:#53665f;font-size:1rem;line-height:1.65}.mfs-service-copy .service-lead{margin:0 0 8px;color:var(--ink);font-size:1.16rem;font-weight:750;line-height:1.4}.mfs-service-copy ul{display:grid;gap:8px;margin:18px 0;padding:0;list-style:none}.mfs-service-copy li{display:grid;grid-template-columns:24px 1fr;align-items:start;gap:8px;font-size:.93rem}.mfs-service-copy li span{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;color:#fff;background:var(--forest);font-size:.7rem}.mfs-service-copy aside{margin-top:11px;padding:13px 15px;border-left:4px solid #dfa72f;border-radius:8px;color:#655633;background:#fff7e4;font-size:.82rem;line-height:1.55}.service-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px 12px;margin-top:20px}.service-price small{color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.service-price strong{color:var(--forest);font-size:1.45rem}.service-price a{width:100%;color:var(--forest);font-size:.78rem;font-weight:800}.winter-calculator{margin:8px 0 4px;padding:14px 16px;border-radius:12px;background:#eef5f2}.winter-calculator label{display:grid;gap:9px;color:var(--ink);font-size:.8rem;font-weight:800}.winter-calculator input{width:100%;accent-color:var(--forest)}.winter-calculator label span{display:flex;justify-content:space-between;color:#52665f}.winter-calculator label strong{color:var(--forest);font-size:1.1rem}.mfs-services-cta{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-top:28px;padding:26px 30px;border-radius:20px;color:#fff;background:#102f29}.mfs-services-cta>span{display:grid;width:60px;height:60px;place-items:center;border-radius:16px;color:#102f29;background:#efb33d;font-weight:950}.mfs-services-cta h2,.mfs-services-cta p{margin:2px 0}.mfs-services-cta p{color:#bcd0c8}
@media(max-width:1050px){.auth-page{grid-template-columns:1fr}.auth-story{min-height:740px}.mfs-services-hero{grid-template-columns:1fr}.mfs-services-hero>img{min-height:360px;max-height:500px}.mfs-service-nav{position:static;grid-template-columns:repeat(3,1fr)}.mfs-service-story{grid-template-columns:1fr}.mfs-service-story:nth-child(even) .mfs-service-photo{order:0}.mfs-service-photo{min-height:420px}.mfs-proof-strip{grid-template-columns:auto 1fr}.mfs-proof-strip>span{grid-column:1/-1}.mfs-services-cta{grid-template-columns:auto 1fr}.mfs-services-cta .button{grid-column:1/-1}}
@media(max-width:650px){.auth-story{min-height:680px;padding:26px 18px}.auth-copy{margin:55px 0 18px}.auth-service-card{grid-template-columns:96px 1fr}.auth-service-card img{width:96px}.mfs-services-page{padding:10px 10px 44px}.mfs-services-hero{min-height:0;border-radius:20px}.mfs-services-hero>div{padding:34px 24px}.mfs-services-hero>img{min-height:260px}.mfs-service-nav{grid-template-columns:1fr 1fr;top:0}.mfs-service-story{min-height:0;border-radius:18px}.mfs-service-photo{min-height:270px}.mfs-service-copy{padding:25px 20px}.mfs-proof-strip{grid-template-columns:1fr;text-align:left}.mfs-proof-strip>b{width:44px;height:44px}.mfs-services-cta{grid-template-columns:1fr;padding:24px}.mfs-services-cta .button{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.mfs-service-story{opacity:1;transform:none;transition:none}.mfs-service-photo img,.auth-service-card{transition:none}}

/* Assistant MFS flottant. */
.mfs-assistant-launcher{position:fixed;right:22px;bottom:22px;z-index:90;display:inline-flex;width:52px;min-height:52px;align-items:center;justify-content:flex-start;gap:0;padding:7px;border:0;border-radius:999px;overflow:hidden;color:#fff;background:transparent;box-shadow:none;cursor:pointer;transition:width .28s ease,gap .28s ease,padding .28s ease,transform .2s ease,background .2s ease,box-shadow .2s ease}.mfs-assistant-launcher:hover,.mfs-assistant-launcher:focus-visible{width:170px;gap:10px;padding-right:17px;background:linear-gradient(135deg,#123f35,#17624e);box-shadow:0 18px 44px rgba(13,48,39,.34);transform:translateY(-2px)}.mfs-assistant-launcher:focus-visible{outline:3px solid #f1b341;outline-offset:3px}.mfs-assistant-launcher>span{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:50%;color:#17342f;background:#f1b341;box-shadow:0 10px 26px rgba(13,48,39,.3);font-size:18px}.mfs-assistant-launcher strong{max-width:0;overflow:hidden;opacity:0;font-size:14px;letter-spacing:.01em;white-space:nowrap;transform:translateX(10px);transition:max-width .28s ease,opacity .18s ease,transform .28s ease}.mfs-assistant-launcher:hover strong,.mfs-assistant-launcher:focus-visible strong{max-width:110px;opacity:1;transform:none}
.mfs-assistant{position:fixed;right:22px;bottom:88px;z-index:91;width:min(380px,calc(100vw - 28px));max-height:min(590px,calc(100vh - 110px));overflow:hidden;border:1px solid #d6e2dd;border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(12,39,32,.24);animation:mfs-assistant-in .22s ease-out}.mfs-assistant>header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:17px 18px;color:#fff;background:linear-gradient(135deg,#123f35,#17624e)}.mfs-assistant>header>div{display:flex;flex-direction:column}.mfs-assistant>header strong{font-size:15px}.mfs-assistant>header small{color:#bcd6cc;font-size:12px}.mfs-assistant>header>button{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:#fff;background:rgba(255,255,255,.08);cursor:pointer;font-size:20px}.mfs-assistant-badge{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;color:#17342f;background:#f1b341;font-size:12px;font-weight:950;-webkit-text-stroke:.35px currentColor}
.mfs-assistant-messages{display:flex;max-height:235px;overflow-y:auto;flex-direction:column;gap:9px;padding:18px;background:#f4f7f5}.mfs-assistant-message{align-self:flex-start;max-width:88%;margin:0;padding:11px 13px;border:1px solid #dce7e2;border-radius:4px 14px 14px 14px;color:#314b43;background:#fff;font-size:14px;line-height:1.48}.mfs-assistant-message.is-user{align-self:flex-end;border-color:#1b6a54;border-radius:14px 4px 14px 14px;color:#fff;background:#17624e}
.mfs-assistant-suggestions{display:flex;flex-wrap:wrap;gap:7px;padding:14px 16px 8px}.mfs-assistant-suggestions button{padding:8px 10px;border:1px solid #cfddd7;border-radius:999px;color:#245346;background:#f8fbf9;cursor:pointer;font-size:12px;font-weight:750}.mfs-assistant-suggestions button:hover{border-color:#7eaf9d;background:#eaf4ef}.mfs-assistant-form{display:grid;grid-template-columns:1fr 42px;gap:8px;padding:8px 16px 16px}.mfs-assistant-form input{min-width:0;height:44px;padding:0 13px;border:1px solid #cad9d3;border-radius:12px;background:#fff;font-size:14px}.mfs-assistant-form input:focus{border-color:#17624e;outline:3px solid rgba(23,98,78,.12)}.mfs-assistant-form button{display:grid;width:42px;height:42px;place-items:center;border:0;border-radius:12px;color:#17342f;background:#f1b341;cursor:pointer;font-size:18px;font-weight:900}
@keyframes mfs-assistant-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:600px){.mfs-assistant-launcher{right:13px;bottom:13px;width:48px;min-height:48px;padding:6px}.mfs-assistant-launcher:hover,.mfs-assistant-launcher:focus-visible{width:166px;padding-right:14px}.mfs-assistant-launcher>span{width:36px;height:36px;flex-basis:36px}.mfs-assistant{right:12px;bottom:72px;width:calc(100vw - 24px);max-height:calc(100vh - 90px);border-radius:18px}.mfs-assistant-messages{max-height:200px}}
@media(prefers-reduced-motion:reduce){.mfs-assistant-launcher{transition:none}.mfs-assistant{animation:none}}

.engraving-page{max-width:1320px;margin:0 auto;padding:24px clamp(16px,3vw,44px) 70px}.engraving-page>.back-link{display:inline-flex;margin:2px 0 16px}.engraving-hero{display:grid;grid-template-columns:minmax(430px,.95fr) minmax(360px,.7fr);min-height:650px;overflow:hidden;border-radius:28px;color:#fff;background:#102f29}.engraving-hero-copy{display:flex;justify-content:center;flex-direction:column;padding:clamp(36px,6vw,80px)}.engraving-hero h1{margin:12px 0 20px;max-width:650px;font-size:clamp(2.7rem,5vw,5rem);line-height:.96}.engraving-hero p{max-width:620px;margin:0;color:#c6d7d1;font-size:1.08rem;line-height:1.7}.engraving-hero figure{position:relative;margin:0;min-height:650px;background:#dce4e0}.engraving-hero figure img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.engraving-hero figcaption{position:absolute;right:18px;bottom:18px;left:18px;padding:11px 14px;border-radius:10px;color:#fff;background:rgba(9,31,25,.78);font-size:.75rem;backdrop-filter:blur(8px)}.engraving-price{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1px 14px;width:max-content;margin-top:28px;padding:16px 19px;border:1px solid #ffffff29;border-radius:14px;background:#ffffff12}.engraving-price small{font-size:.68rem;font-weight:800;text-transform:uppercase}.engraving-price strong{grid-row:1/3;color:#efb33d;font-size:2rem}.engraving-price span{font-size:.75rem;color:#c7d6d1}.engraving-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 28px}.engraving-summary article{display:flex;min-height:110px;padding:18px;flex-direction:column;justify-content:center;border:1px solid #dbe5e1;border-radius:15px;background:#fff}.engraving-summary b{color:var(--forest);font-size:1.3rem}.engraving-summary span{margin-top:5px;color:#65766f;font-size:.8rem;line-height:1.45}.engraving-content{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:25px}.engraving-main{display:grid;gap:18px}.engraving-section{padding:clamp(26px,4vw,48px);border:1px solid #dbe4e0;border-radius:20px;background:#fff}.engraving-section h2{margin:8px 0 14px;font-size:clamp(1.8rem,3vw,2.7rem)}.engraving-section>p{color:#52665e;font-size:1rem;line-height:1.7}.engraving-parts ul{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0 0;padding:0;list-style:none}.engraving-parts li{padding:13px 14px;border-radius:10px;color:#173b31;background:#edf5f1;font-size:.86rem;font-weight:750}.engraving-steps{display:grid;gap:10px;margin:24px 0 0;padding:0;list-style:none}.engraving-steps li{display:grid;grid-template-columns:50px 1fr;align-items:start;gap:13px;padding:15px;border-radius:13px;background:#f4f7f5}.engraving-steps li>span{display:grid;width:46px;height:46px;place-items:center;border-radius:12px;color:#fff;background:var(--forest);font-size:.75rem;font-weight:900}.engraving-steps strong{font-size:.95rem}.engraving-steps p{margin:4px 0 0;color:#687871;font-size:.83rem;line-height:1.5}.engraving-security{color:#fff;background:#173f35}.engraving-security>p{color:#cad9d4}.engraving-aside{position:sticky;top:18px;display:grid;gap:14px}.engraving-aside section{padding:23px;border:1px solid #dbe4e0;border-radius:17px;background:#fff}.engraving-aside h3{margin:12px 0 10px;font-size:1.1rem}.engraving-aside p{color:#607169;font-size:.84rem;line-height:1.6}.engraving-aside ul{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}.engraving-aside li{position:relative;padding-left:22px;color:#4e625a;font-size:.82rem}.engraving-aside li:before{position:absolute;left:0;content:'✓';color:var(--forest);font-weight:900}.engraving-aside .insurance-note{border-color:#ead7a6;background:#fff8e6}.engraving-source{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:24px;padding:20px 24px;border-radius:15px;background:#e8f2ee}.engraving-source p{margin:0;color:#4f665e;font-size:.85rem}.engraving-source a{color:var(--forest);font-size:.82rem;font-weight:850}.engraving-aside .button{margin-top:10px}
.engraving-rates-showcase{margin:18px 0 28px;padding:clamp(22px,3vw,36px);border:1px solid #dbe5e1;border-radius:22px;background:linear-gradient(145deg,#fff,#f3f8f5)}.engraving-rates-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);align-items:end;gap:18px;margin-bottom:20px}.engraving-rates-heading h2{margin:7px 0 0;font-size:clamp(1.7rem,2.8vw,2.45rem)}.engraving-rates-heading p{margin:0;color:#586b63;line-height:1.6}.engraving-rates-layout{display:grid;grid-template-columns:minmax(320px,.62fr) minmax(480px,1fr);align-items:start;gap:18px}.engraving-rate-grid{display:grid;grid-template-columns:1fr;gap:9px;margin:0}.engraving-rate-grid article{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:11px;padding:14px 15px;border:1px solid #dfd0a8;border-radius:14px;background:#fffaf0}.engraving-rate-grid article>span{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;color:#573e06;background:var(--amber);font-size:1rem;font-weight:900}.engraving-rate-grid article>div{display:flex;min-width:0;flex-direction:column}.engraving-rate-grid strong{font-size:.88rem}.engraving-rate-grid small{color:#718078;font-size:.72rem}.engraving-rate-grid b{color:var(--forest);font-size:1.06rem;white-space:nowrap}.engraving-compatibility-figure{overflow:hidden;margin:0;border:1px solid #cfddd7;border-radius:16px;background:#fff;box-shadow:0 12px 32px rgba(16,47,41,.09)}.engraving-compatibility-figure img{display:block;width:100%;height:auto}.engraving-compatibility-figure figcaption{padding:11px 14px;color:#53675f;background:#f5f9f7;font-size:.78rem;text-align:center}.engraving-pricing-card{border-color:#dec98d;background:linear-gradient(145deg,#fff 0%,#fffaf0 100%)}.engraving-pricing-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:13px;color:#573d04;background:var(--amber);font-size:20px}.settings-card label:has(input[name="mfs_engraving_price"]){display:none}
.engraving-diagram-showcase{margin:24px 0 30px;padding:clamp(24px,4vw,42px);border:1px solid #dbe5e1;border-radius:22px;background:linear-gradient(145deg,#f7faf8,#eef5f2)}.engraving-diagram-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.65fr);align-items:end;gap:24px;margin-bottom:22px}.engraving-diagram-heading h2{margin:8px 0 0;font-size:clamp(1.8rem,3vw,2.7rem)}.engraving-diagram-heading p{margin:0;color:#52665e;line-height:1.65}.engraving-diagram-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.engraving-diagram-card{overflow:hidden;margin:0;border:1px solid #d8e2de;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(16,47,41,.08)}.engraving-diagram-card>a{display:block;overflow:hidden;border-bottom:1px solid #e1e8e5;background:#fff}.engraving-diagram-card img{display:block;width:100%;height:auto;transition:transform .25s ease}.engraving-diagram-card a:hover img{transform:scale(1.015)}.engraving-diagram-card figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.engraving-diagram-card figcaption strong{color:#173f35;font-size:.95rem}.engraving-diagram-card figcaption span{color:#6a7b74;font-size:.75rem}.engraving-exclusion{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 18px;margin-top:18px;padding:16px 18px;border:1px solid #e7c36c;border-radius:13px;background:#fff7df}.engraving-exclusion strong{grid-row:1/3;color:#7a4d00;font-size:.94rem}.engraving-exclusion span{color:#634f22;font-size:.86rem;line-height:1.5}
.engraving-reference-visuals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 18px}.engraving-reference-visuals figure{display:flex;min-height:190px;margin:0;padding:16px;flex-direction:column;justify-content:center;border:1px solid #dbe5e1;border-radius:14px;background:#f8fbf9}.engraving-reference-visuals img{display:block;width:100%;height:auto;max-height:170px;object-fit:contain}.engraving-reference-visuals figcaption{margin-top:10px;color:#65766f;font-size:.78rem;text-align:center}.engraving-point-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;margin:0!important;padding:0!important;list-style:none!important}.engraving-point-list li{display:grid!important;grid-template-columns:34px 1fr!important;align-items:center!important;gap:10px!important;min-height:54px;padding:9px 12px!important;background:#edf5f1!important}.engraving-point-list li:before{display:none!important}.engraving-point-list b{display:grid;width:32px;height:32px;place-items:center;border-radius:9px;color:#fff;background:#138048;font-size:.8rem}.engraving-point-list span{font-size:.84rem;font-weight:760;line-height:1.35}
.engraving-faq{display:grid;grid-template-columns:minmax(250px,.55fr) minmax(0,1fr);align-items:start;gap:30px;margin:30px 0;padding:clamp(26px,4vw,48px);border-radius:22px;color:#fff;background:#123f35}.engraving-faq-heading{position:sticky;top:24px}.engraving-faq-heading .eyebrow{color:#f1b341}.engraving-faq-heading h2{margin:10px 0 14px;font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.08}.engraving-faq-heading p{margin:0;color:#bfd1ca;line-height:1.65}.engraving-faq-list{display:grid;gap:9px}.engraving-faq details{overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:rgba(255,255,255,.07)}.engraving-faq summary{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:12px;padding:16px;cursor:pointer;list-style:none}.engraving-faq summary::-webkit-details-marker{display:none}.engraving-faq summary span{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;color:#173f35;background:#f1b341;font-size:.75rem;font-weight:900}.engraving-faq summary strong{padding-right:28px;font-size:.96rem;line-height:1.45}.engraving-faq summary strong:after{position:absolute;right:18px;content:'+';color:#f1b341;font-size:1.25rem}.engraving-faq details[open] summary strong:after{content:'−'}.engraving-faq summary{position:relative}.engraving-faq details>div{padding:0 20px 18px 66px}.engraving-faq details p{margin:0;color:#d6e4df;line-height:1.7}.engraving-faq details a{display:inline-block;margin-top:10px;color:#f5c664;font-weight:800}
.engraving-registry-search{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(250px,.55fr);align-items:center;gap:22px;margin:30px 0;padding:clamp(24px,3.5vw,38px);border:1px solid #dfc06d;border-radius:22px;background:linear-gradient(135deg,#fff9e8,#f3f8f5);box-shadow:0 14px 38px rgba(16,47,41,.08)}.engraving-search-symbol{display:grid;width:68px;height:68px;place-items:center;border-radius:18px;color:#173f35;background:#f1b341;font-size:2.6rem;font-weight:900}.engraving-search-copy h2{margin:7px 0 10px;font-size:clamp(1.65rem,2.5vw,2.35rem)}.engraving-search-copy p{max-width:700px;margin:0;color:#52665e;line-height:1.65}.engraving-search-features{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.engraving-search-features span{padding:7px 10px;border-radius:999px;color:#1c5748;background:#e4f1eb;font-size:.75rem;font-weight:800}.engraving-search-action{display:flex;align-items:stretch;flex-direction:column;gap:10px}.engraving-search-action .button{justify-content:center;text-align:center}.engraving-search-action small{color:#6a7872;font-size:.72rem;line-height:1.5;text-align:center}
@media(max-width:1000px){.engraving-rates-heading,.engraving-rates-layout{grid-template-columns:1fr}.engraving-rate-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.engraving-diagram-heading{grid-template-columns:1fr}.engraving-diagram-grid{grid-template-columns:1fr}.engraving-reference-visuals{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.engraving-rate-grid{grid-template-columns:1fr}.engraving-rate-grid article{grid-template-columns:44px 1fr auto}}
@media(max-width:650px){.engraving-diagram-showcase{padding:18px 12px}.engraving-diagram-card figcaption{align-items:flex-start;flex-direction:column;gap:4px}.engraving-exclusion{grid-template-columns:1fr}.engraving-exclusion strong{grid-row:auto}}
@media(max-width:650px){.engraving-reference-visuals{grid-template-columns:1fr}.engraving-reference-visuals figure{min-height:160px}.engraving-point-list{grid-template-columns:1fr!important}}
@media(max-width:800px){.engraving-faq{grid-template-columns:1fr}.engraving-faq-heading{position:static}.engraving-faq details>div{padding-left:18px}.engraving-faq summary{grid-template-columns:34px 1fr;padding:14px}.engraving-faq summary span{width:32px;height:32px}.engraving-faq summary strong{font-size:.9rem}}
@media(max-width:850px){.engraving-registry-search{grid-template-columns:58px 1fr}.engraving-search-symbol{width:56px;height:56px;border-radius:15px;font-size:2rem}.engraving-search-action{grid-column:1/-1}}
@media(max-width:950px){.engraving-hero{grid-template-columns:1fr}.engraving-hero figure{min-height:560px}.engraving-summary{grid-template-columns:1fr 1fr}.engraving-content{grid-template-columns:1fr}.engraving-aside{position:static;grid-template-columns:repeat(2,1fr)}.engraving-aside section:last-child{grid-column:1/-1}}
@media(max-width:620px){.engraving-page{padding:12px 10px 44px}.engraving-hero{min-height:0;border-radius:20px}.engraving-hero-copy{padding:35px 24px}.engraving-hero figure{min-height:470px}.engraving-summary{grid-template-columns:1fr 1fr}.engraving-summary article{min-height:96px}.engraving-parts ul{grid-template-columns:1fr 1fr}.engraving-aside{grid-template-columns:1fr}.engraving-aside section:last-child{grid-column:auto}.engraving-source{align-items:flex-start;flex-direction:column}}

/* Parcours de stockage différé après réception WMS. */
.deferred-storage-option{border-color:#b9d7cb!important;background:linear-gradient(135deg,#edf7f3,#fff)}.deferred-storage-option .mfs-option-row>b{min-width:112px;color:#17624e}.deferred-storage-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.deferred-storage-steps span{display:flex;align-items:center;gap:8px;padding:10px 11px;border-radius:10px;color:#496159;background:#fff;font-size:.72rem;font-weight:750}.deferred-storage-steps b{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;border-radius:7px;color:#fff;background:#17624e;font-size:.7rem}

/* Assurance automatique de l’acheteur et taxe gasoil */
.insurance-summary-row[hidden]{display:none}
.insurance-options{margin:0 0 16px;border:1px solid #e1c987;border-radius:14px;background:#fffaf0;overflow:hidden}.insurance-options>summary{display:flex;align-items:center;justify-content:space-between;padding:12px;cursor:pointer;list-style:none}.insurance-options>summary::-webkit-details-marker{display:none}.insurance-options>summary span{display:flex;align-items:center;gap:8px}.insurance-options>summary span>b{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;color:#573d04;background:var(--amber);font-size:13px}.insurance-options>summary strong{font-size:12px}.insurance-options>summary em{color:#7d5b0d;font-size:9px;font-style:normal;font-weight:850}.insurance-options>p{margin:0;padding:0 12px 12px;color:var(--muted);font-size:9px;line-height:1.5}.insurance-options fieldset{display:grid;gap:5px;margin:0;padding:8px;border:0;border-top:1px solid #eadfbd}.insurance-option-row{display:grid;grid-template-columns:18px 1fr auto;align-items:start;gap:8px;margin:0;padding:10px 8px;border:1px solid transparent;border-radius:10px;background:#fff;cursor:pointer;transition:.18s}.insurance-option-row:hover,.insurance-option-row.selected,.insurance-option-row:has(input:checked){border-color:#d7b75c;background:#fff4d7}.insurance-option-row.is-muted{opacity:.58}.insurance-option-row.is-muted:hover,.insurance-option-row:focus-within{opacity:1}.insurance-option-row input{margin-top:2px;accent-color:#a87300}.insurance-option-row>span{display:flex;flex-direction:column;gap:2px}.insurance-option-row strong{font-size:10px}.insurance-option-row small{color:var(--muted);font-size:8px;line-height:1.35}.insurance-option-row em{color:#a24437;font-size:8px;font-style:normal;font-weight:800}.insurance-option-row>b{color:#614708;font-size:10px;white-space:nowrap}.insurance-options>.error{display:block;margin:0 10px 10px}.insurance-summary-row{color:#7a5707}.purchase-summary .purchase-surcharge-row.fuel{color:#8b5f00;background:#fff6df}.transport-tax-summary{margin:0 0 12px}.transport-tax-summary .purchase-surcharge-row{display:flex;justify-content:space-between;padding:9px 11px;border-radius:9px;color:#735109;background:#fff4d8}.transport-tax-summary .purchase-surcharge-row[hidden]{display:none}
.commission-pricing-card{border-color:#a9d0c0;background:linear-gradient(145deg,#fff 0%,#f3faf7 100%)}.commission-pricing-icon,.environmental-pricing-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:13px;color:#fff;background:var(--forest);font-size:21px}.commission-pricing-icon{font-weight:950}.commission-pricing-table{margin:14px 0}.commission-pricing-table table{width:100%}.commission-pricing-table th,.commission-pricing-table td{padding:10px;text-align:left}.commission-pricing-table th{color:#fff;background:var(--forest);font-size:10px}.commission-pricing-table td{border-bottom:1px solid #dce8e3}.commission-pricing-table td:first-child strong,.commission-pricing-table td:first-child small{display:block}.commission-pricing-table td:first-child small{margin-top:3px;color:var(--muted)}.commission-pricing-table input{min-width:120px}.commission-continuity-note{margin:-2px 0 14px;padding:11px 13px;border-left:4px solid var(--forest);border-radius:8px;color:#49645b;background:#eaf4f0;font-size:10px}.fuel-surcharge-setting{display:grid;grid-template-columns:minmax(240px,.65fr) 1fr;align-items:end;gap:16px;margin:16px 0;padding:15px;border-radius:12px;background:#fff1c8}.fuel-surcharge-setting>label{margin:0}.fuel-surcharge-setting>div{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-left:3px solid #d59914;color:#6e5113}.fuel-surcharge-setting>div strong{font-size:11px}.fuel-surcharge-setting>div span{font-size:10px;line-height:1.45}
.fuel-indexation-card{border-color:#dcc174;background:linear-gradient(145deg,#fff 0%,#fffaf0 100%)}.fuel-indexation-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;color:#674705;background:#f2bd43;font-size:22px}.fuel-indexation-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.fuel-indexation-kpis article{display:flex;min-height:84px;justify-content:center;flex-direction:column;padding:14px;border:1px solid #ead8a7;border-radius:12px;background:#fff}.fuel-indexation-kpis small{color:#766539;font-size:9px;font-weight:800;text-transform:uppercase}.fuel-indexation-kpis strong{margin:4px 0;color:#755006;font-size:21px}.fuel-indexation-kpis span{color:var(--muted);font-size:9px}.fuel-indexation-source{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0;padding:12px 14px;border-radius:10px;background:#fff2cd}.fuel-indexation-source>div{display:flex;flex-direction:column}.fuel-indexation-source strong{font-size:11px}.fuel-indexation-source span{margin-top:3px;color:#6f6242;font-size:9px}
@media(max-width:700px){.fuel-surcharge-setting,.fuel-indexation-kpis{grid-template-columns:1fr}.fuel-indexation-source{align-items:stretch;flex-direction:column}.commission-pricing-table table{min-width:620px}}
.storage-request-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;margin:16px 0;padding:17px 18px;border:1px solid #d3e2dc;border-radius:15px;background:#f5faf8}.storage-request-panel.options_requested{border-color:#d9b45f;background:#fff8e7}.storage-request-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:13px;color:#fff;background:#17624e;font-size:1.15rem;font-weight:900}.options_requested .storage-request-icon{color:#203a32;background:#efb33d}.storage-request-copy h3,.storage-request-copy p{margin:3px 0}.storage-request-copy p{color:#5d7069;font-size:.8rem;line-height:1.5}.storage-request-action{display:flex;align-items:flex-end;flex-direction:column;gap:5px;text-align:right}.storage-request-action small{color:var(--muted);font-size:.67rem}.storage-request-action strong{color:#17624e;font-size:1.25rem}
.storage-options-header{align-items:center}.storage-options-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:22px}.storage-options-main{display:grid;gap:20px}.storage-arrival-proof{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:13px;padding:15px;border-radius:13px;color:#24483e;background:#eaf5f0}.storage-arrival-proof>span{display:grid;width:43px;height:43px;place-items:center;border-radius:50%;color:#fff;background:#17624e;font-weight:900}.storage-arrival-proof small,.storage-arrival-proof strong,.storage-arrival-proof p{display:block;margin:2px 0}.storage-arrival-proof p{color:#5e746c;font-size:.78rem}.storage-duration{display:grid;gap:7px;padding:18px;border:1px solid #dbe6e1;border-radius:13px}.storage-duration>span{font-weight:850}.storage-duration>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.storage-duration input{min-height:52px;padding:0 14px;border:1px solid #bdcec7;border-radius:10px;font-size:1.2rem;font-weight:800}.storage-duration small{color:var(--muted)}.storage-choice-list{display:grid;gap:9px;border:0;padding:0}.storage-choice-list legend{margin-bottom:10px;font-size:1rem;font-weight:850}.storage-choice-list label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px;border:1px solid #dce6e2;border-radius:12px;background:#fff;cursor:pointer}.storage-choice-list label:has(input:checked){border-color:#76aa97;background:#f0f8f4}.storage-choice-list label.mandatory{border-color:#e8ce91;background:#fff8e8;cursor:default}.storage-choice-list input{width:19px;height:19px;accent-color:#17624e}.storage-choice-list span{display:flex;flex-direction:column}.storage-choice-list small{color:var(--muted);font-size:.72rem}.storage-choice-list b{color:#17624e}.storage-invoice-preview{position:sticky;top:18px}.storage-invoice-preview h2{margin:5px 0 18px}.storage-invoice-preview dl{display:grid;gap:0}.storage-invoice-preview dl>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #e7eeeb}.storage-invoice-preview dd{margin:0;font-weight:800}.storage-invoice-total{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin:18px 0;padding:16px;border-radius:13px;color:#fff;background:#153f35}.storage-invoice-total span{display:flex;flex-direction:column}.storage-invoice-total small{color:#bcd2c9;font-size:.67rem}.storage-invoice-total strong{color:#f0b33d;font-size:1.65rem}.storage-invoice-preview>p{margin:12px 0 0;color:var(--muted);font-size:.72rem;line-height:1.5}
@media(max-width:900px){.storage-options-layout{grid-template-columns:1fr}.storage-invoice-preview{position:static}.deferred-storage-steps{grid-template-columns:1fr}.storage-request-panel{grid-template-columns:auto 1fr}.storage-request-action{grid-column:1/-1;align-items:flex-start;text-align:left}}
@media(max-width:560px){.storage-choice-list label{grid-template-columns:auto 1fr}.storage-choice-list label>b{grid-column:2}.storage-request-panel{grid-template-columns:1fr}.storage-request-action{grid-column:auto}.storage-request-icon{width:40px;height:40px}}

/* Tableau MFS au premier plan, scènes de gravage animées en arrière-plan. */
.is-engraving-showcase,.engraving-compatibility-stage{position:relative;isolation:isolate;overflow:hidden;background:#092f27}
.mfs-service-photo.is-infographic.is-engraving-showcase{display:flex;min-height:590px;align-items:center;justify-content:center;padding:clamp(22px,3vw,42px)}
.engraving-compatibility-stage{display:flex;min-height:clamp(430px,48vw,620px);align-items:center;justify-content:center;padding:clamp(18px,2.5vw,30px) clamp(16px,2.5vw,28px) 54px}
.engraving-motion{position:absolute;z-index:0;inset:-4%;overflow:hidden;animation:engraving-vibration .24s steps(2,end) infinite;will-change:transform}
.engraving-motion-reel{position:absolute;top:-300%;left:0;display:grid;width:100%;height:400%;grid-template-rows:repeat(4,1fr);animation:engraving-scroll-down 20s linear infinite;will-change:transform}
.mfs-service-photo.is-engraving-showcase .engraving-motion-reel img,.engraving-compatibility-stage .engraving-motion-reel img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;border-radius:0;filter:saturate(.92) contrast(1.06);box-shadow:none;transform:none}
.engraving-motion-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(135deg,rgba(4,27,22,.45),rgba(10,66,52,.18) 48%,rgba(4,27,22,.42));backdrop-filter:blur(1px)}
.mfs-service-photo.is-engraving-showcase .engraving-compatibility-table,.engraving-compatibility-stage>.engraving-compatibility-table{position:relative;z-index:2;display:block;width:min(100%,1050px);height:auto;max-height:calc(100% - 20px);object-fit:contain;border:1px solid rgba(255,255,255,.72);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 20px 55px rgba(2,24,19,.36);transform:none}
.mfs-service-photo.is-engraving-showcase>span{z-index:3}
.engraving-compatibility-stage figcaption{position:absolute;z-index:3;right:0;bottom:0;left:0;background:rgba(245,249,247,.94);backdrop-filter:blur(8px)}
@keyframes engraving-scroll-down{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,75%,0)}}
@keyframes engraving-vibration{0%,100%{transform:translate3d(0,0,0)}25%{transform:translate3d(1px,-1px,0)}50%{transform:translate3d(-1px,1px,0)}75%{transform:translate3d(1px,1px,0)}}
@media(max-width:1050px){.mfs-service-photo.is-infographic.is-engraving-showcase{min-height:520px}.engraving-compatibility-stage{min-height:500px}}
@media(max-width:650px){.mfs-service-photo.is-infographic.is-engraving-showcase{min-height:360px;padding:16px}.engraving-compatibility-stage{min-height:350px;padding:14px 12px 48px}.engraving-motion-reel{animation-duration:16s}}
@media(prefers-reduced-motion:reduce){.engraving-motion{inset:0;animation:none}.engraving-motion-reel{top:0;display:block;height:100%;animation:none}.mfs-service-photo.is-engraving-showcase .engraving-motion-reel img,.engraving-compatibility-stage .engraving-motion-reel img{display:none}.mfs-service-photo.is-engraving-showcase .engraving-motion-reel img:first-child,.engraving-compatibility-stage .engraving-motion-reel img:first-child{display:block}}

/* Manuel ARTAGO réinterprété en guide de repérage animé MFS. */
.engraving-instructions{position:relative;overflow:hidden;margin:28px 0;padding:clamp(24px,4vw,52px);border-radius:28px;color:#fff;background:radial-gradient(circle at 92% 3%,rgba(38,132,102,.4),transparent 31%),#0d352d;box-shadow:0 24px 70px rgba(7,36,29,.2)}
.engraving-instructions::before{position:absolute;top:-120px;right:-90px;width:330px;height:330px;border:1px solid rgba(255,255,255,.12);border-radius:50%;content:""}
.engraving-instructions-heading{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;margin-bottom:22px}.engraving-instructions-heading h2{max-width:760px;margin:9px 0 0;color:#fff;font-size:clamp(2rem,4vw,3.7rem);line-height:1.02}.engraving-instructions-heading .button.secondary{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.08)}
.engraving-typed-intro{position:relative;z-index:1;display:grid;grid-template-columns:210px 1fr 1fr;gap:16px;margin-bottom:26px;padding:20px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(4,26,21,.46);backdrop-filter:blur(10px)}.engraving-typed-intro h3{margin:0;color:#f1b43e;font-size:1rem;text-transform:uppercase;letter-spacing:.09em}.engraving-typed-intro p{min-height:54px;margin:0;color:#dbeae5;font-size:.92rem;line-height:1.6}.engraving-typed-intro p:not(.is-typed)::after,.engraving-protocol [data-copy-type]:not(.is-typed)::after{display:inline-block;width:2px;height:1em;margin-left:3px;vertical-align:-.12em;background:#f1b43e;content:"";animation:engraving-caret .75s step-end infinite}
.engraving-guide-list{position:relative;z-index:1;display:grid;gap:22px}.engraving-guide{display:grid;grid-template-columns:minmax(335px,.76fr) minmax(0,1.24fr);min-height:560px;overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:22px;color:#17342c;background:#fff;box-shadow:0 20px 45px rgba(1,22,17,.25)}.engraving-guide-copy{position:relative;display:flex;min-width:0;flex-direction:column;padding:32px}.engraving-guide-number{position:absolute;top:20px;right:24px;color:#d8e6e1;font-size:4.8rem;font-weight:950;line-height:1}.engraving-guide-copy>.eyebrow{position:relative;z-index:1;margin:0;color:#147155}.engraving-guide-copy h3{position:relative;z-index:1;max-width:82%;margin:7px 0 6px;font-size:clamp(1.55rem,2.3vw,2.35rem);line-height:1.05}.engraving-guide-subtitle{margin:0 0 18px;color:#71827b;font-size:.78rem;font-weight:750}.engraving-typed-list{display:grid;min-height:258px;max-height:258px;align-content:start;gap:6px;margin:0;padding:0;overflow:auto;scrollbar-width:thin;list-style:none}.engraving-typed-list li{display:grid;grid-template-columns:31px 1fr;align-items:center;gap:9px;min-height:34px;padding:3px 7px 3px 3px;border-radius:9px;color:#4b625a;background:#f4f8f6;font-size:.83rem}.engraving-typed-list li:last-child{color:#17342c;background:#e7f4ee;font-weight:800}.engraving-typed-list li b{display:grid;width:29px;height:29px;place-items:center;border:3px solid var(--guide-ring);border-radius:50%;color:var(--guide-letter);background:#fff;font-size:.73rem}.engraving-guide-accessible{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.engraving-guide-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px}.engraving-letter-nav{display:flex;flex-wrap:wrap;gap:5px}.engraving-letter-nav button,.engraving-play-toggle{border:1px solid #cbdad4;color:#31564a;background:#fff;font:inherit;font-weight:850;cursor:pointer}.engraving-letter-nav button{display:grid;width:31px;height:31px;place-items:center;border-radius:50%;font-size:.72rem;transition:.18s}.engraving-letter-nav button:hover,.engraving-letter-nav button:focus-visible,.engraving-letter-nav button.is-active{border-color:var(--guide-ring);color:#fff;background:var(--guide-ring);outline:none;transform:translateY(-1px)}.engraving-play-toggle{min-width:82px;padding:8px 11px;border-radius:999px;font-size:.72rem}.engraving-play-toggle:hover,.engraving-play-toggle:focus-visible{border-color:#173f34;outline:2px solid rgba(23,63,52,.16);outline-offset:2px}
.engraving-vehicle-stage{position:relative;min-height:560px;overflow:hidden;background:radial-gradient(circle at 50% 48%,#fff 0 34%,#edf4f1 72%,#dce8e3 100%)}.engraving-vehicle-stage::after{position:absolute;z-index:0;right:0;bottom:12%;left:0;height:2px;background:linear-gradient(90deg,transparent,#9eb4ab 18% 82%,transparent);content:""}.engraving-vehicle-stage>img{position:absolute;z-index:1;inset:5% 4% 11%;width:92%;height:84%;object-fit:contain;filter:drop-shadow(0 18px 16px rgba(11,42,34,.19));will-change:transform,opacity}.engraving-vehicle-stage.is-changing>img{opacity:.25}.engraving-vehicle-stage>img.is-riding{animation:engraving-vehicle-ride 3.6s cubic-bezier(.2,.75,.23,1) both}.engraving-road-lines{position:absolute;z-index:0;right:0;bottom:8%;left:0;display:flex;gap:60px;overflow:hidden}.engraving-road-lines i{display:block;width:110px;height:6px;flex:0 0 110px;border-radius:10px;background:#afc0b9;animation:engraving-road-flow 1.1s linear infinite}.engraving-arrow-layer{position:absolute;z-index:3;inset:0;opacity:0;transition:opacity .2s}.engraving-arrow-layer.is-visible{opacity:1}.engraving-arrow-line{position:absolute;display:block;height:3px;transform-origin:0 50%}.engraving-arrow-line::before{position:absolute;inset:0;border-radius:4px;background:var(--guide-arrow);content:"";transform:scaleX(0);transform-origin:left;animation:engraving-line-grow .48s .18s ease-out forwards}.engraving-arrow-line::after{position:absolute;top:50%;right:-1px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:11px solid var(--guide-arrow);content:"";opacity:0;transform:translateY(-50%);animation:engraving-arrow-show .18s .59s forwards}.engraving-arrow-target{position:absolute;width:11px;height:11px;border:3px solid #fff;border-radius:50%;background:var(--guide-arrow);box-shadow:0 0 0 3px color-mix(in srgb,var(--guide-arrow) 34%,transparent);transform:translate(-50%,-50%) scale(0);animation:engraving-marker-pop .28s .62s forwards}.engraving-arrow-marker{position:absolute;display:grid;min-width:39px;height:39px;padding:0 7px;place-items:center;border:4px solid var(--guide-ring);border-radius:999px;color:var(--guide-letter);background:#fff;box-shadow:0 6px 18px rgba(5,37,29,.22);font-size:.78rem;font-weight:950;transform:translate(-50%,-50%) scale(0);animation:engraving-marker-pop .32s .06s cubic-bezier(.24,1.62,.42,1) forwards}.engraving-current-badge{position:absolute;z-index:2;right:18px;bottom:13px;color:rgba(14,78,60,.12);font-size:8rem;font-weight:950;line-height:.8}.engraving-not-applicable{position:absolute;z-index:4;right:7%;bottom:16%;left:7%;margin:0;padding:13px 17px;border:1px solid #c4d9d0;border-radius:12px;color:#164a3b;background:rgba(255,255,255,.92);box-shadow:0 12px 28px rgba(10,48,38,.14);font-size:.88rem;font-weight:850;text-align:center;backdrop-filter:blur(8px)}
.engraving-protocol{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr 1.2fr;gap:15px;margin-top:24px}.engraving-protocol article{position:relative;overflow:hidden;padding:23px;border:1px solid rgba(255,255,255,.14);border-radius:17px;background:rgba(255,255,255,.075)}.engraving-protocol article>span{position:absolute;top:13px;right:16px;color:rgba(255,255,255,.12);font-size:3.7rem;font-weight:950;line-height:1}.engraving-protocol h3{position:relative;margin:0 0 15px;color:#f1b43e;font-size:1rem}.engraving-protocol p{position:relative;min-height:39px;margin:9px 0;color:#d7e7e2;font-size:.8rem;line-height:1.5}
@keyframes engraving-caret{50%{opacity:0}}@keyframes engraving-vehicle-ride{0%{opacity:0;transform:translate3d(-15%,2px,0) rotate(-.4deg) scale(.96)}17%{opacity:1;transform:translate3d(-2%,0,0) rotate(0) scale(1)}52%{opacity:1;transform:translate3d(0,-2px,0) scale(1)}82%{opacity:1;transform:translate3d(4%,0,0) scale(1)}100%{opacity:0;transform:translate3d(15%,2px,0) rotate(.35deg) scale(.97)}}@keyframes engraving-road-flow{from{transform:translateX(0)}to{transform:translateX(-170px)}}@keyframes engraving-line-grow{to{transform:scaleX(1)}}@keyframes engraving-arrow-show{to{opacity:1}}@keyframes engraving-marker-pop{to{transform:translate(-50%,-50%) scale(1)}}
@media(max-width:1050px){.engraving-typed-intro{grid-template-columns:1fr 1fr}.engraving-typed-intro h3{grid-column:1/-1}.engraving-guide{grid-template-columns:1fr}.engraving-vehicle-stage{min-height:500px;order:-1}.engraving-protocol{grid-template-columns:1fr 1fr}.engraving-protocol article:last-child{grid-column:1/-1}}
@media(max-width:680px){.engraving-instructions{margin-right:-5px;margin-left:-5px;padding:20px 12px;border-radius:20px}.engraving-instructions-heading{grid-template-columns:1fr}.engraving-instructions-heading .button{justify-self:start}.engraving-typed-intro{grid-template-columns:1fr;padding:16px}.engraving-guide{min-height:0}.engraving-guide-copy{padding:24px 18px}.engraving-guide-number{top:17px;right:17px;font-size:3.7rem}.engraving-guide-copy h3{max-width:78%}.engraving-typed-list{min-height:240px;max-height:240px}.engraving-guide-controls{align-items:flex-start;flex-direction:column}.engraving-vehicle-stage{min-height:350px}.engraving-arrow-marker{min-width:34px;height:34px;border-width:3px;font-size:.68rem}.engraving-current-badge{font-size:5.5rem}.engraving-protocol{grid-template-columns:1fr}.engraving-protocol article:last-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.engraving-vehicle-stage>img.is-riding{opacity:1;animation:none}.engraving-road-lines i,.engraving-typed-intro p::after,.engraving-protocol [data-copy-type]::after{animation:none}.engraving-arrow-line::before{transform:scaleX(1);animation:none}.engraving-arrow-line::after{opacity:1;animation:none}.engraving-arrow-target,.engraving-arrow-marker{transform:translate(-50%,-50%) scale(1);animation:none}}

/* Scène courte : le voleur, le gravage et la police */
.engraving-humor{--story-duration:5200ms;position:relative;overflow:hidden;margin:28px 0;padding:clamp(24px,4vw,48px);border-radius:28px;color:#fff;background:radial-gradient(circle at 8% 0,rgba(241,180,62,.18),transparent 30%),linear-gradient(145deg,#0a2b25,#143f35 58%,#0b3129);box-shadow:0 24px 64px rgba(8,40,32,.2)}
.engraving-humor::before{position:absolute;right:-110px;bottom:-170px;width:420px;height:420px;border:1px solid rgba(255,255,255,.09);border-radius:50%;content:""}
.engraving-humor-heading{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);align-items:end;gap:24px;margin-bottom:22px}.engraving-humor-heading h2{max-width:780px;margin:9px 0 0;color:#fff;font-size:clamp(2rem,4vw,3.65rem);line-height:1.02}.engraving-humor-heading>p{margin:0;color:#c9dcd5;font-size:1rem;line-height:1.65}
.engraving-humor-stage{position:relative;z-index:1;min-height:clamp(520px,54vw,690px);overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:22px;background:#091f1b;box-shadow:0 22px 52px rgba(1,18,14,.34)}
.engraving-humor-slide{position:absolute;inset:0;margin:0;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .65s ease}.engraving-humor-slide.is-active{z-index:1;opacity:1;pointer-events:auto}.engraving-humor-slide::after{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,20,16,.1) 35%,rgba(4,20,16,.24) 58%,rgba(4,20,16,.92) 100%);content:""}.engraving-humor-slide>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.025)}.engraving-humor-slide.is-active>img{animation:engraving-humor-zoom var(--story-duration) linear both}.engraving-humor-slide.is-engraving-closeup>img{object-position:center}.engraving-humor-slide.is-police-scene>img{object-position:center 42%}
.engraving-humor-slide figcaption{position:absolute;z-index:3;right:clamp(18px,3vw,34px);bottom:72px;left:clamp(18px,3vw,34px);display:flex;align-items:flex-end;justify-content:space-between;gap:20px;color:#fff}.engraving-humor-slide figcaption span{color:#f1b43e;font-size:.76rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.engraving-humor-slide figcaption strong{max-width:700px;font-size:clamp(1.25rem,2.4vw,2.15rem);line-height:1.15;text-align:right}
.engraving-humor-stamp{position:absolute;z-index:3;top:8%;right:5%;display:flex;padding:12px 16px;transform:rotate(2deg);flex-direction:column;border:2px solid #f1b43e;border-radius:12px;color:#fff;background:rgba(8,42,34,.82);box-shadow:0 12px 28px rgba(0,0,0,.24);backdrop-filter:blur(8px)}.engraving-humor-stamp span{color:#f1b43e;font-size:.7rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.engraving-humor-stamp strong{margin-top:3px;font-size:clamp(1.1rem,2.2vw,1.7rem);letter-spacing:.05em}
.engraving-speech{position:absolute;z-index:4;max-width:min(420px,36%);margin:0;padding:14px 18px;border-radius:16px;color:#143b31;background:rgba(255,255,255,.96);box-shadow:0 16px 35px rgba(0,0,0,.22);font-size:clamp(.9rem,1.5vw,1.08rem);font-style:normal;font-weight:750;line-height:1.42;backdrop-filter:blur(9px)}.engraving-speech b{display:block;margin-bottom:4px;color:#c67e00;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.engraving-speech::after{position:absolute;width:18px;height:18px;background:inherit;content:"";transform:rotate(45deg)}.engraving-speech-police{top:8%;left:4%}.engraving-speech-police::after{bottom:-8px;left:28%}.engraving-speech-thief{top:26%;right:4%;color:#fff;background:rgba(13,65,52,.94)}.engraving-speech-thief::after{right:28%;bottom:-8px}
.engraving-humor-controls{position:absolute;z-index:6;right:18px;bottom:18px;left:18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.engraving-humor-dots{display:flex;gap:7px}.engraving-humor-dots button{position:relative;width:42px;height:8px;padding:0;overflow:hidden;border:0;border-radius:999px;background:rgba(255,255,255,.28);cursor:pointer}.engraving-humor-dots button span,.engraving-humor-dots button::after{position:absolute;inset:0;border-radius:inherit;content:""}.engraving-humor-dots button span{background:#f1b43e;transform:scaleX(0);transform-origin:left}.engraving-humor-dots button.is-active span{transform:scaleX(1)}.engraving-humor.is-playing .engraving-humor-dots button.is-active span{animation:engraving-humor-progress var(--story-duration) linear both}.engraving-humor-dots button:focus-visible,.engraving-humor-toggle:focus-visible{outline:3px solid rgba(241,180,62,.55);outline-offset:3px}.engraving-humor-toggle{min-width:86px;padding:8px 12px;border:1px solid rgba(255,255,255,.42);border-radius:999px;color:#fff;background:rgba(8,37,30,.7);font:inherit;font-size:.74rem;font-weight:850;cursor:pointer;backdrop-filter:blur(8px)}.engraving-humor-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.engraving-benefits{position:relative;z-index:1;display:grid;grid-template-columns:minmax(250px,.85fr) repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.engraving-benefits>header,.engraving-benefits>article{padding:24px;border:1px solid rgba(255,255,255,.14);border-radius:18px}.engraving-benefits>header{display:flex;flex-direction:column;justify-content:center;background:rgba(2,24,19,.35)}.engraving-benefits>header .eyebrow{color:#f1b43e}.engraving-benefits h3{margin:9px 0 0;color:#fff;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.12}.engraving-benefits>article{display:grid;grid-template-columns:46px 1fr;align-items:start;gap:14px;background:rgba(255,255,255,.075)}.engraving-benefits>article>span{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;color:#143b31;background:#f1b43e;font-size:.78rem;font-weight:950}.engraving-benefits h4{margin:2px 0 8px;color:#fff;font-size:1.08rem}.engraving-benefits p{margin:0;color:#d2e2dc;font-size:1rem;line-height:1.62}.engraving-benefits small{display:block;margin-top:10px;color:#f0c66e;font-size:.78rem;line-height:1.45}
@keyframes engraving-humor-zoom{from{transform:scale(1.025)}to{transform:scale(1.075)}}
@keyframes engraving-humor-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:900px){.engraving-humor-heading{grid-template-columns:1fr}.engraving-benefits{grid-template-columns:1fr 1fr}.engraving-benefits>header{grid-column:1/-1}.engraving-humor-stage{min-height:600px}.engraving-speech{max-width:44%}}
@media(max-width:620px){.engraving-humor{margin-right:-5px;margin-left:-5px;padding:20px 12px;border-radius:20px}.engraving-humor-stage{min-height:610px;border-radius:17px}.engraving-humor-slide>img{object-position:center}.engraving-humor-slide.is-engraving-closeup>img{object-position:center}.engraving-humor-slide.is-police-scene>img{object-position:48% center}.engraving-humor-slide figcaption{bottom:80px;align-items:flex-start;flex-direction:column;gap:6px}.engraving-humor-slide figcaption strong{text-align:left}.engraving-humor-stamp{top:6%;right:4%;left:4%;text-align:center}.engraving-speech{max-width:82%;font-size:.9rem}.engraving-speech-police{top:4%;left:4%}.engraving-speech-thief{top:25%;right:4%}.engraving-humor-dots button{width:28px}.engraving-benefits{grid-template-columns:1fr}.engraving-benefits>header{grid-column:auto}.engraving-benefits>article{padding:20px 17px}.engraving-benefits p{font-size:.96rem}}
@media(prefers-reduced-motion:reduce){.engraving-humor-slide,.engraving-humor-slide.is-active>img{transition:none;animation:none}.engraving-humor.is-playing .engraving-humor-dots button.is-active span{animation:none}}

/* BD manga · Kawasaki Z900, gravage et assurance */
.z900-manga{position:relative;overflow:hidden;margin:30px 0;padding:clamp(24px,4vw,52px);border:5px solid #111;border-radius:28px;color:#111;background:#f5f4eb;box-shadow:10px 12px 0 #111}.z900-manga::before{position:absolute;inset:0;opacity:.14;background-image:radial-gradient(#111 1.1px,transparent 1.1px);background-size:9px 9px;content:"";pointer-events:none}.z900-manga-heading,.z900-manga-grid,.z900-manga-sources{position:relative;z-index:1}.z900-manga-heading{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:end;gap:28px;margin-bottom:26px;padding:24px;border:4px solid #111;color:#fff;background:linear-gradient(135deg,#008b46,#085e35 64%,#111)}.z900-manga-heading .eyebrow{color:#f9d23c}.z900-manga-heading h2{max-width:900px;margin:8px 0 0;color:#fff;font-size:clamp(2.15rem,4.7vw,4.7rem);line-height:.94;text-transform:uppercase;text-shadow:4px 4px 0 #111}.z900-manga-heading p{margin:0;padding:16px;border:3px solid #111;color:#111;background:#fff;font-size:1rem;line-height:1.55;box-shadow:5px 5px 0 #f9d23c}.z900-manga-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.z900-panel{position:relative;overflow:hidden;border:4px solid #111;background:#fff;box-shadow:6px 6px 0 rgba(17,17,17,.92)}.z900-panel-number{position:absolute;z-index:6;top:12px;left:12px;display:grid;width:46px;height:46px;place-items:center;border:3px solid #111;border-radius:50%;color:#111;background:#f9d23c;font-weight:950}.z900-panel figure{margin:0}.z900-panel figure>img{display:block;width:100%;height:100%;object-fit:cover}.z900-panel-opening{min-height:520px}.z900-panel-opening>figure{position:absolute;inset:0 0 92px}.z900-panel-opening>figure img{object-fit:contain;background:#fff}.z900-panel-caption{position:absolute;z-index:4;right:0;bottom:0;left:0;display:flex;min-height:92px;padding:16px 20px;justify-content:center;flex-direction:column;border-top:4px solid #111;color:#fff;background:#111}.z900-panel-caption b{color:#55dd83;font-size:1.15rem;text-transform:uppercase}.z900-panel-caption span{font-size:.95rem;line-height:1.45}.z900-bubble{position:absolute;z-index:5;max-width:min(360px,58%);margin:0;padding:15px 18px;border:4px solid #111;border-radius:52% 48% 50% 45%;color:#111;background:#fff;font-size:clamp(.95rem,1.4vw,1.1rem);font-style:normal;font-weight:850;line-height:1.35;box-shadow:4px 4px 0 #f9d23c}.z900-bubble::after{position:absolute;width:22px;height:22px;border-right:4px solid #111;border-bottom:4px solid #111;background:#fff;content:"";transform:rotate(45deg)}.z900-bubble-right{top:24px;right:22px}.z900-bubble-right::after{right:24%;bottom:-14px}.z900-panel-rates{grid-column:1/-1;padding:24px;background:#fff}.z900-rate-intro{display:grid;grid-template-columns:auto minmax(0,1fr) 260px;align-items:center;gap:20px;margin-bottom:18px}.z900-rate-intro h3,.z900-panel-security h3,.z900-panel-comparison h3{margin:0 0 8px;font-size:clamp(1.45rem,2.8vw,2.4rem);line-height:1.05;text-transform:uppercase}.z900-rate-intro p{margin:0;font-size:1rem;line-height:1.55}.z900-rate-intro img{width:260px;max-height:120px;object-fit:contain}.z900-sound{display:inline-block;padding:10px 14px;transform:rotate(-4deg);border:3px solid #111;color:#111;background:#f9d23c;font-size:1.05rem;font-weight:950;box-shadow:4px 4px 0 #111}.z900-rate-table-wrap{overflow-x:auto;border:4px solid #111}.z900-rate-table{width:100%;min-width:720px;border-collapse:collapse;font-size:1rem}.z900-rate-table th,.z900-rate-table td{padding:14px 16px;border:2px solid #111;text-align:left}.z900-rate-table thead th{color:#fff;background:#111;text-transform:uppercase}.z900-rate-table tbody th{width:45%;background:#eaf7ef}.z900-rate-table tbody th small{display:block;margin-top:4px;font-size:.82rem;font-weight:650}.z900-rate-table tbody td{font-size:1.12rem;font-weight:900}.z900-estimate-note{margin:14px 0 0;padding:13px 15px;border-left:6px solid #008b46;background:#f0f2ef;font-size:.9rem;line-height:1.5}.z900-panel-theft{grid-column:1/-1;min-height:640px;color:#fff;background:#111}.z900-panel-theft>figure{position:absolute;inset:0 0 108px}.z900-panel-theft>figure img{object-position:center}.z900-bubble-thief{top:7%;left:4%;max-width:330px}.z900-bubble-thief::after{bottom:-14px;left:30%}.z900-panel-security{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:18px;padding:24px;background:#f9d23c}.z900-security-copy{display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.z900-security-copy p{margin:0;font-size:1rem;line-height:1.62}.z900-security-copy .z900-sound{margin-bottom:22px;background:#fff}.z900-security-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.z900-security-gallery figure{display:flex;min-width:0;flex-direction:column;border:3px solid #111;background:#fff}.z900-security-gallery img{height:190px!important;object-fit:contain!important}.z900-security-gallery figcaption{padding:9px;border-top:3px solid #111;font-weight:900;text-align:center}.z900-panel-verdict{min-height:520px;background:#008b46}.z900-panel-verdict>figure{height:58%;border-bottom:4px solid #111;background:#fff}.z900-panel-verdict>figure img{object-fit:contain}.z900-bubble-verdict{top:31%;right:4%;max-width:430px;border-radius:28px}.z900-bubble-verdict::after{right:20%;bottom:-14px}.z900-bubble-verdict b{display:block;color:#008b46;font-size:1.1rem;text-transform:uppercase}.z900-happy-rider{position:absolute;right:0;bottom:0;left:0;display:grid;grid-template-columns:140px 1fr;align-items:center;gap:18px;height:42%;padding:12px 22px;color:#fff;background:#111}.z900-happy-rider img{width:140px;height:100%;object-fit:contain;background:#fff}.z900-happy-rider p{margin:0;font-size:1.2rem;font-weight:900}.z900-panel-comparison{grid-column:1/-1;padding:26px;background:#fff}.z900-comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.z900-comparison-grid section{padding:20px;border:4px solid #111}.z900-comparison-grid section:first-child{background:#c9f1d7}.z900-comparison-grid section:last-child{background:#ffe0dc}.z900-comparison-grid section>span{display:inline-block;padding:5px 9px;color:#fff;background:#008b46;font-weight:950}.z900-comparison-grid section:last-child>span{background:#bc3029}.z900-comparison-grid h4{margin:10px 0 7px;font-size:1.15rem}.z900-comparison-grid p{margin:0;font-size:1rem;line-height:1.55}.z900-manga-advice{display:grid;grid-template-columns:220px 1fr;gap:18px;margin-top:14px;padding:18px;border:4px solid #111;color:#fff;background:#111}.z900-manga-advice strong{color:#f9d23c;font-size:1.15rem;text-transform:uppercase}.z900-manga-advice p{margin:0;font-size:1rem;line-height:1.55}.z900-manga-sources{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 18px;margin-top:22px;padding:20px;border:4px solid #111;background:#fff}.z900-manga-sources>strong{grid-row:1/3;padding:11px 14px;color:#fff;background:#008b46;text-transform:uppercase}.z900-manga-sources p{margin:0;font-size:.95rem}.z900-manga-sources div{display:flex;flex-wrap:wrap;gap:10px 18px}.z900-manga-sources a{color:#006b3b;font-weight:850;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.z900-manga-heading{grid-template-columns:1fr}.z900-manga-grid{grid-template-columns:1fr}.z900-panel-rates,.z900-panel-theft,.z900-panel-comparison{grid-column:auto}.z900-rate-intro{grid-template-columns:auto 1fr}.z900-rate-intro img{grid-column:1/-1;width:100%;max-height:150px}.z900-panel-security{grid-template-columns:1fr}.z900-panel-theft{min-height:560px}.z900-manga-sources{grid-template-columns:1fr}.z900-manga-sources>strong{grid-row:auto;justify-self:start}}
@media(max-width:620px){.z900-manga{margin-right:-5px;margin-left:-5px;padding:16px 11px;border-width:3px;border-radius:18px;box-shadow:5px 6px 0 #111}.z900-manga-heading{padding:18px;border-width:3px}.z900-manga-heading h2{text-shadow:3px 3px 0 #111}.z900-panel{border-width:3px;box-shadow:4px 4px 0 #111}.z900-panel-opening{min-height:460px}.z900-panel-opening>figure{inset:0 0 112px}.z900-panel-caption{min-height:112px}.z900-bubble{max-width:72%;padding:12px 14px;border-width:3px}.z900-panel-rates,.z900-panel-security,.z900-panel-comparison{padding:17px}.z900-rate-intro{grid-template-columns:1fr}.z900-rate-intro .z900-sound{justify-self:start}.z900-rate-intro img{grid-column:auto}.z900-panel-theft{min-height:500px}.z900-panel-theft>figure{inset:0 0 134px}.z900-panel-theft>figure img{object-position:58% center}.z900-security-gallery{grid-template-columns:1fr 1fr}.z900-security-gallery figure:last-child{grid-column:1/-1}.z900-security-gallery img{height:150px!important}.z900-panel-verdict{min-height:580px}.z900-panel-verdict>figure{height:42%}.z900-bubble-verdict{top:29%;max-width:88%}.z900-happy-rider{grid-template-columns:105px 1fr;height:38%;padding:10px 14px}.z900-happy-rider img{width:105px}.z900-comparison-grid{grid-template-columns:1fr}.z900-manga-advice{grid-template-columns:1fr}.z900-manga-sources{padding:15px;border-width:3px}}

/* Lecture animée de la BD Z900 */
.z900-manga-heading-action{display:grid;gap:12px}.z900-manga-toggle{justify-self:end;padding:10px 16px;border:3px solid #111;border-radius:999px;color:#111;background:#f9d23c;font:inherit;font-size:.9rem;font-weight:950;cursor:pointer;box-shadow:4px 4px 0 #111}.z900-manga-toggle:hover{transform:translateY(-2px)}.z900-manga-toggle:focus-visible{outline:4px solid #fff;outline-offset:3px}.z900-manga.has-animation .z900-panel{opacity:0;transform:translateY(54px) scale(.965)}.z900-manga.has-animation .z900-panel.is-visible{animation:z900-panel-enter .78s cubic-bezier(.2,.8,.2,1) var(--z900-delay,0ms) forwards}.z900-manga.is-playing .z900-manga-heading h2{animation:z900-title-pulse 2.8s ease-in-out infinite}.z900-manga.is-playing .z900-panel.is-visible .z900-panel-number{animation:z900-number-pop .65s cubic-bezier(.2,1.6,.4,1) both}.z900-manga.is-playing .z900-panel-opening.is-visible figure img{animation:z900-bike-float 4.4s ease-in-out infinite alternate}.z900-manga.is-playing .z900-panel-theft.is-visible figure img{animation:z900-theft-pan 8s ease-in-out infinite alternate}.z900-manga.is-playing .z900-panel.is-visible .z900-bubble{animation:z900-bubble-pop .72s cubic-bezier(.2,1.45,.4,1) .42s both}.z900-manga.is-playing .z900-panel-rates.is-visible tbody tr{animation:z900-row-flash 3.8s ease-in-out infinite}.z900-manga.is-playing .z900-panel-rates.is-visible tbody tr:nth-child(2){animation-delay:.45s}.z900-manga.is-playing .z900-panel-rates.is-visible tbody tr:nth-child(3){animation-delay:.9s}.z900-manga.is-playing .z900-panel-security.is-visible .z900-security-gallery figure{animation:z900-lock-bounce 2.8s ease-in-out infinite}.z900-manga.is-playing .z900-panel-security.is-visible .z900-security-gallery figure:nth-child(2){animation-delay:.35s}.z900-manga.is-playing .z900-panel-security.is-visible .z900-security-gallery figure:nth-child(3){animation-delay:.7s}.z900-manga.is-playing .z900-panel-verdict.is-visible .z900-bubble-verdict{animation:z900-good-news .95s cubic-bezier(.2,1.45,.4,1) .35s both,z900-good-news-glow 2.4s ease-in-out 1.4s infinite}.z900-manga:not(.is-playing) *{animation-play-state:paused!important}.z900-manga:not(.is-playing) .z900-panel.is-visible{opacity:1;transform:none}@keyframes z900-panel-enter{0%{opacity:0;transform:translateY(54px) scale(.965)}65%{opacity:1;transform:translateY(-5px) scale(1.006)}100%{opacity:1;transform:none}}@keyframes z900-title-pulse{0%,100%{text-shadow:4px 4px 0 #111;transform:scale(1)}50%{text-shadow:7px 7px 0 #111;transform:scale(1.012)}}@keyframes z900-number-pop{0%{transform:scale(0) rotate(-18deg)}75%{transform:scale(1.14) rotate(4deg)}100%{transform:scale(1) rotate(0)}}@keyframes z900-bike-float{0%{transform:translateX(-1.5%) scale(1)}100%{transform:translateX(1.5%) scale(1.045)}}@keyframes z900-theft-pan{0%{transform:scale(1.02)}100%{transform:scale(1.095)}}@keyframes z900-bubble-pop{0%{opacity:0;transform:scale(.55) rotate(-5deg)}75%{opacity:1;transform:scale(1.08) rotate(1deg)}100%{opacity:1;transform:none}}@keyframes z900-row-flash{0%,75%,100%{background:transparent}86%{background:#fff1a8}}@keyframes z900-lock-bounce{0%,75%,100%{transform:translateY(0) rotate(0)}84%{transform:translateY(-8px) rotate(-1deg)}92%{transform:translateY(0) rotate(1deg)}}@keyframes z900-good-news{0%{opacity:0;transform:scale(.55) rotate(5deg)}75%{opacity:1;transform:scale(1.08) rotate(-1deg)}100%{opacity:1;transform:none}}@keyframes z900-good-news-glow{0%,100%{box-shadow:4px 4px 0 #f9d23c}50%{box-shadow:4px 4px 0 #f9d23c,0 0 0 10px rgba(249,210,60,.28)}}
.z900-manga.is-playing .z900-panel-rates.is-visible tbody tr:nth-child(4){animation-delay:1.35s}
@media(max-width:620px){.z900-manga-toggle{justify-self:stretch}}
@media(prefers-reduced-motion:reduce){.z900-manga.has-animation .z900-panel,.z900-manga.has-animation .z900-panel.is-visible,.z900-manga.is-playing *{opacity:1;transform:none;animation:none!important}.z900-manga-toggle{display:none}}

/* Nettoyage simple à la soufflette — atelier, air maîtrisé et préparation anti-rayures. */
.air-clean-page{--air-blue:#1268e5;--air-cyan:#63dcff;--air-deep:#071d31;--air-ink:#0e2b3e;max-width:1320px;margin:0 auto;padding:24px clamp(16px,3vw,44px) 70px;font-size:1.06rem}.air-clean-page>.back-link{display:inline-flex;margin:2px 0 16px}.air-clean-page h2{font-size:clamp(2rem,3.6vw,3.45rem);line-height:1.03}.air-clean-page p{line-height:1.7}
.air-clean-hero{position:relative;display:grid;grid-template-columns:minmax(390px,.68fr) minmax(0,1.32fr);min-height:680px;overflow:hidden;border-radius:30px;color:#fff;background:radial-gradient(circle at 10% 12%,rgba(99,220,255,.18),transparent 29%),linear-gradient(150deg,#071d31,#0d3c58 66%,#0c5d78);box-shadow:0 28px 72px rgba(7,29,49,.22)}.air-clean-hero::after{position:absolute;top:-88px;left:-105px;width:360px;height:360px;border:1px solid rgba(255,255,255,.13);border-radius:50%;content:""}.air-clean-hero-copy{position:relative;z-index:2;display:flex;justify-content:center;flex-direction:column;padding:clamp(36px,5.2vw,72px)}.air-clean-hero .eyebrow{color:var(--air-cyan)}.air-clean-hero h1{max-width:640px;margin:13px 0 22px;font-size:clamp(2.8rem,5vw,5.15rem);line-height:.94}.air-clean-hero-copy>p{max-width:580px;margin:0;color:#d1e6ee;font-size:1.08rem}.air-clean-price{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1px 15px;width:max-content;max-width:100%;margin-top:28px;padding:16px 19px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.air-clean-price small{font-size:.72rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.air-clean-price strong{grid-row:1/3;color:var(--air-cyan);font-size:2rem}.air-clean-price span{color:#c8dde5;font-size:.8rem}.air-clean-hero-points{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 0;padding:0;list-style:none}.air-clean-hero-points li{padding:7px 11px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#eefaff;background:rgba(5,22,38,.26);font-size:.8rem;font-weight:800}.air-clean-hero-visual{position:relative;margin:0;min-height:680px;background:#dce5e8}.air-clean-hero-visual::after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,29,49,.45),transparent 27%);content:"";pointer-events:none}.air-clean-hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:center}.air-clean-hero-visual figcaption{position:absolute;z-index:2;right:18px;bottom:18px;left:18px;padding:11px 14px;border:1px solid rgba(255,255,255,.18);border-radius:11px;color:#fff;background:rgba(5,23,37,.78);font-size:.78rem;backdrop-filter:blur(9px)}.air-clean-partners{position:absolute;z-index:3;top:20px;right:20px;display:flex;align-items:center;gap:8px;padding:10px 13px;border-radius:11px;color:#09243a;background:rgba(255,255,255,.93);box-shadow:0 12px 30px rgba(0,0,0,.15);font-size:.7rem;letter-spacing:.04em}.air-clean-partners strong{color:#e33b2f}.air-clean-partners span{color:#71828a}.air-clean-partners b{color:#11644d}
.air-clean-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:18px 0 30px}.air-clean-summary article{display:grid;grid-template-columns:54px 1fr;align-items:center;gap:13px;min-height:108px;padding:18px;border:1px solid #d7e2e6;border-radius:16px;background:#fff}.air-clean-summary b{display:grid;width:52px;height:52px;place-items:center;border-radius:14px;color:#fff;background:var(--air-blue);font-size:.82rem}.air-clean-summary span{color:#506875;font-size:.9rem;font-weight:700;line-height:1.45}
.air-clean-why{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:18px;margin:0 0 30px}.air-clean-why-copy,.air-clean-contrast{border-radius:24px}.air-clean-why-copy{padding:clamp(30px,4.6vw,58px);color:#fff;background:linear-gradient(145deg,#0d3028,#174f42)}.air-clean-why-copy .eyebrow{color:#7fe0be}.air-clean-why-copy h2{margin:10px 0 18px;color:#fff}.air-clean-why-copy>p{color:#c9ddd6}.air-clean-why-copy blockquote{margin:26px 0 0;padding:17px 19px;border-left:4px solid var(--air-cyan);border-radius:0 13px 13px 0;color:#effbff;background:rgba(255,255,255,.08);font-size:1rem;font-weight:750;line-height:1.6}.air-clean-contrast{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;background:#e9eff1}.air-clean-contrast article{display:grid;grid-template-columns:48px 1fr;align-content:start;gap:13px;padding:27px;border-radius:17px;background:#fff}.air-clean-contrast article>span{display:grid;width:46px;height:46px;place-items:center;border-radius:13px;color:#fff;font-weight:950}.air-clean-contrast .is-clean>span{background:#148157}.air-clean-contrast .is-dirty>span{background:#c65348}.air-clean-contrast h3{margin:6px 0 16px;font-size:1.15rem}.air-clean-contrast ul{display:grid;gap:11px;margin:0;padding:0;list-style:none}.air-clean-contrast li{position:relative;padding-left:18px;color:#526a75;font-size:.9rem;line-height:1.5}.air-clean-contrast li::before{position:absolute;left:0;color:var(--air-blue);content:"•";font-weight:950}.air-clean-contrast .is-dirty li::before{color:#c65348}
.air-clean-process{position:relative;overflow:hidden;margin:30px 0;padding:clamp(28px,4vw,48px);border-radius:28px;color:#fff;background:radial-gradient(circle at 95% 0,rgba(18,104,229,.35),transparent 31%),#071d31}.air-clean-process::before,.air-clean-process::after{position:absolute;border:1px solid rgba(99,220,255,.16);border-radius:50%;content:""}.air-clean-process::before{right:-120px;bottom:-180px;width:430px;height:430px}.air-clean-process::after{right:-40px;bottom:-100px;width:270px;height:270px}.air-clean-process>header{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);align-items:end;gap:28px;margin-bottom:23px}.air-clean-process h2{margin:10px 0 0;color:#fff}.air-clean-process header>p{margin:0;color:#c7dae4}.air-clean-process-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.air-clean-process-grid article{overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:rgba(255,255,255,.07)}.air-clean-process-grid figure{position:relative;height:230px;margin:0;overflow:hidden;background:#eef3f5}.air-clean-process-grid figure>img{width:100%;height:100%;object-fit:cover}.air-clean-process-grid figure>span{position:absolute;top:14px;left:14px;display:grid;width:42px;height:42px;place-items:center;border-radius:12px;color:#071d31;background:var(--air-cyan);font-size:.78rem;font-weight:950;box-shadow:0 9px 24px rgba(0,0,0,.18)}.air-clean-process-grid article>div{padding:21px}.air-clean-process-grid h3{margin:0 0 8px;color:#fff;font-size:1.08rem}.air-clean-process-grid p{margin:0;color:#c7d9e2;font-size:.9rem}.air-clean-process-grid .air-clean-vehicle-pair{display:grid;grid-template-columns:1fr 1fr;gap:1px}.air-clean-vehicle-pair>img{min-width:0;object-fit:contain!important;background:#fff}
.air-clean-safety{display:grid;grid-template-columns:minmax(290px,.66fr) minmax(0,1.34fr);align-items:start;gap:28px;margin:30px 0;padding:clamp(30px,4.5vw,54px);border:1px solid #cddde4;border-radius:24px;background:linear-gradient(145deg,#fff,#eef6fa)}.air-clean-safety h2{margin:9px 0 16px;color:var(--air-ink)}.air-clean-safety>div>p{margin:0;color:#526b77}.air-clean-safety>ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.air-clean-safety li{display:grid;grid-template-columns:46px 110px 1fr;align-items:center;gap:12px;padding:15px;border:1px solid #d5e2e7;border-radius:14px;background:#fff}.air-clean-safety li>span{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;color:#fff;background:var(--air-blue);font-size:.76rem;font-weight:950}.air-clean-safety strong{color:#163546;font-size:.94rem}.air-clean-safety small{color:#647983;font-size:.84rem;line-height:1.5}
.air-clean-deep-clean{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:30px 0;padding:clamp(30px,4.6vw,56px);overflow:hidden;border-radius:24px;color:#fff;background:linear-gradient(125deg,#10533f,#0a6c78 58%,#1268e5)}.air-clean-deep-clean>div{max-width:820px}.air-clean-deep-clean .eyebrow{color:#9ee9ff}.air-clean-deep-clean h2{margin:8px 0 12px;color:#fff}.air-clean-deep-clean p{margin:0;color:#d6eef0}.air-clean-deep-clean .button{flex:0 0 auto;color:#0a3245;background:#fff;box-shadow:0 12px 28px rgba(4,27,38,.22)}
.air-clean-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:32px 36px;border:1px solid #d6e1e5;border-radius:22px;background:#fff;box-shadow:0 14px 38px rgba(11,40,55,.07)}.air-clean-cta span{color:var(--air-blue);font-size:.74rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.air-clean-cta h2{margin:8px 0 8px;font-size:clamp(1.7rem,2.8vw,2.55rem)}.air-clean-cta p{margin:0}.air-clean-cta .button{white-space:nowrap;background:var(--air-blue)}
@media(max-width:1050px){.air-clean-hero{grid-template-columns:1fr}.air-clean-hero-visual{min-height:620px}.air-clean-hero-visual::after{background:linear-gradient(180deg,rgba(7,29,49,.28),transparent 26%)}.air-clean-why{grid-template-columns:1fr}.air-clean-process>header{grid-template-columns:1fr}.air-clean-safety{grid-template-columns:1fr}}
@media(max-width:800px){.air-clean-summary{grid-template-columns:1fr}.air-clean-process-grid{grid-template-columns:1fr 1fr}.air-clean-process-grid article:last-child{grid-column:1/-1}.air-clean-deep-clean{align-items:flex-start;flex-direction:column}.air-clean-cta{grid-template-columns:1fr;justify-items:start}}
@media(max-width:620px){.air-clean-page{padding:12px 10px 44px}.air-clean-hero{min-height:0;border-radius:21px}.air-clean-hero-copy{padding:36px 23px}.air-clean-hero-visual{min-height:460px}.air-clean-hero-visual>img{object-position:58% center}.air-clean-price{grid-template-columns:1fr}.air-clean-price strong{grid-row:auto}.air-clean-partners{top:12px;right:12px}.air-clean-contrast{grid-template-columns:1fr}.air-clean-process{margin-right:-5px;margin-left:-5px;padding:24px 12px;border-radius:21px}.air-clean-process-grid{grid-template-columns:1fr}.air-clean-process-grid article:last-child{grid-column:auto}.air-clean-safety{padding:25px 18px}.air-clean-safety li{grid-template-columns:44px 1fr}.air-clean-safety small{grid-column:2}.air-clean-deep-clean{padding:30px 22px}.air-clean-cta{padding:26px 21px}}

/* Detailing moto · noir miroir, rose technique et atelier Distribike */
.detailing-page{--detail-pink:#ff2a9d;--detail-pink-soft:#ffe0f1;--detail-ink:#101116;--detail-metal:#252832;--detail-silver:#e9e9ed;max-width:1420px;margin:0 auto;padding:24px clamp(16px,3vw,44px) 76px;font-size:1rem}.detailing-page>.back-link{display:inline-flex;margin:2px 0 16px}.detailing-page h2{font-size:clamp(2rem,3.8vw,3.65rem);line-height:1.02}.detailing-page p{line-height:1.7}
.detailing-hero{position:relative;min-height:720px;overflow:hidden;border-radius:32px;color:#fff;background:#0d0f14;box-shadow:0 30px 80px rgba(12,13,18,.28)}.detailing-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.detailing-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,13,.94) 0%,rgba(8,9,13,.82) 31%,rgba(8,9,13,.22) 62%,rgba(8,9,13,.12)),linear-gradient(0deg,rgba(8,9,13,.52),transparent 42%)}.detailing-hero-copy{position:relative;z-index:2;display:flex;min-height:720px;justify-content:center;align-items:flex-start;flex-direction:column;width:min(660px,62%);padding:clamp(38px,6vw,82px)}.detailing-pill{display:inline-flex;padding:8px 11px;border:1px solid rgba(255,255,255,.24);border-radius:999px;color:#fff;background:rgba(255,42,157,.15);font-size:.74rem;font-weight:900;letter-spacing:.12em;backdrop-filter:blur(8px)}.detailing-hero h1{max-width:760px;margin:18px 0 22px;font-size:clamp(3rem,5.7vw,6.1rem);line-height:.91;letter-spacing:-.045em}.detailing-hero h1 em{color:#ff69bd;font-style:normal}.detailing-hero-copy>p{max-width:620px;margin:0;color:#e1e1e8;font-size:1.08rem}.detailing-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.detailing-hero-actions .button.primary{background:var(--detail-pink)}.detailing-hero-actions .button.ghost{border-color:rgba(255,255,255,.42);color:#fff;background:rgba(8,9,13,.28)}.detailing-price-card{position:absolute;z-index:3;right:24px;bottom:24px;display:flex;min-width:270px;padding:19px 22px;border:1px solid rgba(255,255,255,.22);border-radius:17px;flex-direction:column;background:rgba(13,15,20,.86);box-shadow:0 18px 45px rgba(0,0,0,.3);backdrop-filter:blur(12px)}.detailing-price-card small{color:#ff8fce;font-size:.72rem;font-weight:900;letter-spacing:.12em}.detailing-price-card strong{margin:3px 0;color:#fff;font-size:2rem}.detailing-price-card span{color:#c7c7cf;font-size:.8rem}
.detailing-promise{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:18px 0 30px;overflow:hidden;border:1px solid #dfe0e5;border-radius:18px;background:#dfe0e5}.detailing-promise article{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:20px;background:#fff}.detailing-promise b{color:var(--detail-pink);font-size:1.55rem}.detailing-promise article>span{display:flex;color:#777982;flex-direction:column;font-size:.78rem;line-height:1.45}.detailing-promise strong{color:#1e2026;font-size:.86rem;text-transform:uppercase}
.detailing-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:stretch;gap:18px;margin:30px 0}.detailing-intro>div{padding:clamp(34px,5vw,64px);border-radius:26px;color:#fff;background:radial-gradient(circle at 94% 12%,rgba(255,42,157,.28),transparent 30%),linear-gradient(145deg,#111218,#252832)}.detailing-intro .eyebrow{color:#ff78c5}.detailing-intro h2{max-width:850px;margin:10px 0 18px;color:#fff}.detailing-intro>div p{max-width:820px;margin:0;color:#d5d5dc}.detailing-intro aside{display:flex;justify-content:center;padding:clamp(28px,4vw,48px);border:1px solid #ffd0e8;border-radius:26px;flex-direction:column;background:#fff4fa}.detailing-intro aside strong{color:#b5126c;font-size:1.25rem}.detailing-intro aside p{margin:11px 0 0;color:#6d5262}
.detailing-protocol{margin:30px 0;padding:clamp(30px,4.7vw,58px);overflow:hidden;border-radius:28px;background:#f0f0f3}.detailing-protocol>header,.detailing-cabinet>header,.detailing-zones>header{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);align-items:end;gap:28px;margin-bottom:26px}.detailing-protocol h2,.detailing-cabinet h2,.detailing-zones h2{margin:9px 0 0}.detailing-protocol header>p,.detailing-cabinet header>p,.detailing-zones header>p{margin:0;color:#656771}.detailing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0;list-style:none;counter-reset:none}.detailing-steps li{display:grid;grid-template-columns:45px 1fr;align-items:start;gap:13px;min-height:172px;padding:23px;border:1px solid #dedfe4;border-radius:17px;background:#fff}.detailing-steps li>span{display:grid;width:43px;height:43px;place-items:center;border-radius:12px;color:#fff;background:#15171d;font-size:.75rem;font-weight:950}.detailing-steps li:nth-child(3)>span,.detailing-steps li:nth-child(5)>span{background:var(--detail-pink)}.detailing-steps h3{margin:3px 0 8px;font-size:1.05rem}.detailing-steps p{margin:0;color:#666a72;font-size:.88rem;line-height:1.55}.detailing-steps a{display:inline-flex;margin-top:8px;color:#b5126c;font-size:.78rem;font-weight:850}
.detailing-scenes{display:grid;gap:22px;margin:30px 0}.detailing-scenes article{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);min-height:570px;overflow:hidden;border:1px solid #dedfe5;border-radius:26px;background:#fff}.detailing-scenes article.is-reversed figure{order:2}.detailing-scenes figure{position:relative;min-height:570px;margin:0;overflow:hidden;background:#16181d}.detailing-scenes figure img{width:100%;height:100%;object-fit:cover}.detailing-scenes figcaption{position:absolute;left:18px;bottom:18px;padding:9px 12px;border-radius:9px;color:#fff;background:rgba(16,17,22,.84);font-size:.72rem;font-weight:900;letter-spacing:.08em;backdrop-filter:blur(8px)}.detailing-scenes article>div{display:flex;justify-content:center;padding:clamp(32px,4.8vw,64px);flex-direction:column}.detailing-scenes article>div>span{color:#c31375;font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.detailing-scenes h2{margin:10px 0 17px;font-size:clamp(2rem,3.2vw,3.15rem)}.detailing-scenes p{margin:0;color:#5f626b}.detailing-scenes ul{display:grid;gap:9px;margin:22px 0 0;padding:0;list-style:none}.detailing-scenes li{position:relative;padding-left:27px;color:#34363d;font-size:.9rem;font-weight:750}.detailing-scenes li::before{position:absolute;left:0;color:var(--detail-pink);content:"✓";font-weight:950}
.detailing-surfaces{display:grid;grid-template-columns:minmax(300px,.64fr) minmax(0,1.36fr);gap:24px;margin:30px 0;padding:clamp(30px,4.6vw,56px);border-radius:26px;color:#fff;background:#111218}.detailing-surfaces h2{margin:10px 0 17px;color:#fff}.detailing-surfaces>div:first-child p{margin:0;color:#c7c8cf}.detailing-surfaces .eyebrow{color:#ff76c4}.detailing-surface-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detailing-surface-grid article{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:2px 11px;padding:17px;border:1px solid #393b44;border-radius:14px;background:#1d1f26}.detailing-surface-grid span{grid-row:1/3;display:grid;width:36px;height:36px;place-items:center;border-radius:10px;color:#fff;background:#bf166f;font-size:.7rem;font-weight:900}.detailing-surface-grid strong{font-size:.95rem}.detailing-surface-grid small{color:#aeb0ba;font-size:.78rem;line-height:1.45}
.detailing-cabinet{margin:30px 0;padding:clamp(30px,4.6vw,56px);border-radius:28px;color:#fff;background:radial-gradient(circle at 100% 0,rgba(255,42,157,.18),transparent 25%),#17191f}.detailing-cabinet .eyebrow{color:#ff77c3}.detailing-cabinet h2{color:#fff}.detailing-cabinet header>p{color:#c1c2ca}.detailing-cabinet-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.cabinet-family{overflow:hidden;border:1px solid #383a43;border-radius:18px;background:#202229}.cabinet-family.is-danger{border-color:#9a5d21;background:#2a211a}.cabinet-family-title{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #383a43}.cabinet-family-title>span{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;color:#17191f;background:#ff69bc;font-size:.72rem;font-weight:950}.is-danger .cabinet-family-title>span{background:#ffb548}.cabinet-family-title>div{display:flex;flex-direction:column}.cabinet-family-title strong{font-size:1rem}.cabinet-family-title small{color:#aaacb5;font-size:.72rem}.cabinet-products{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#383a43}.cabinet-products figure{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:13px;min-height:170px;margin:0;padding:14px;background:#202229}.cabinet-products figure img{width:100px;height:138px;object-fit:contain;border-radius:9px;background:#fff}.cabinet-products figcaption{display:flex;min-width:0;flex-direction:column}.cabinet-products figcaption b{font-size:.86rem}.cabinet-products figcaption span{margin-top:4px;color:#acaeb7;font-size:.73rem;line-height:1.45}.cabinet-products figcaption em{align-self:flex-start;margin-top:9px;padding:5px 7px;border-radius:7px;color:#2a1b06;background:#ffc15e;font-size:.65rem;font-style:normal;font-weight:900}.cabinet-safety{display:flex;justify-content:center;padding:22px;flex-direction:column;background:#30271f}.cabinet-safety strong{color:#ffc268}.cabinet-safety p{margin:8px 0 0;color:#dacabc;font-size:.78rem;line-height:1.55}
.detailing-zones{margin:30px 0;padding:clamp(30px,4.6vw,56px);border:1px solid #dedfe4;border-radius:28px;background:#fff}.depot-map{position:relative;overflow:hidden;aspect-ratio:2.35/1;border-radius:19px;background:#17191f}.depot-map::after{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,11,14,.35),transparent 45%);content:"";pointer-events:none}.depot-map>img{width:100%;height:100%;object-fit:cover}.depot-zone{position:absolute;z-index:2;padding:8px 10px;border:1px solid rgba(255,255,255,.75);border-radius:8px;color:#fff;background:rgba(15,17,22,.84);box-shadow:0 7px 20px rgba(0,0,0,.22);font-size:clamp(.55rem,.9vw,.72rem);font-weight:950;letter-spacing:.03em;white-space:nowrap;backdrop-filter:blur(6px)}.zone-recharge{left:4%;bottom:12%}.zone-litige{left:6%;top:15%;background:rgba(187,64,57,.88)}.zone-soufflerie{right:31%;bottom:10%;background:rgba(20,108,139,.9)}.zone-nettoyage{right:18%;bottom:23%;background:rgba(193,18,107,.9)}.zone-gravage{right:8%;bottom:10%;background:rgba(149,15,84,.92)}.zone-atelier{top:10%;right:17%;display:grid;width:34%;height:29%;place-items:center;border-color:#ff83c8;color:#fff;background:rgba(255,42,157,.24);font-size:clamp(.75rem,1.35vw,1.08rem)}.depot-zone-list{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:14px 0 0;padding:0;list-style:none}.depot-zone-list li{display:flex;min-height:128px;padding:15px;border:1px solid #e1e2e7;border-radius:13px;flex-direction:column;background:#f7f7f9}.depot-zone-list li.is-large{color:#fff;border-color:#b30f64;background:#b30f64}.depot-zone-list span{color:#c21473;font-size:.72rem;font-weight:900}.depot-zone-list .is-large span{color:#ffd4ec}.depot-zone-list strong{margin:7px 0;font-size:.76rem;line-height:1.35}.depot-zone-list small{color:#747680;font-size:.72rem;line-height:1.45}.depot-zone-list .is-large small{color:#ffe6f4}.depot-map-note{margin:13px 0 0;color:#767881;font-size:.78rem}
.detailing-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.38fr);align-items:center;gap:30px;padding:clamp(32px,5vw,62px);border-radius:27px;color:#fff;background:radial-gradient(circle at 100% 0,rgba(255,255,255,.14),transparent 31%),linear-gradient(120deg,#ad0e60,#ff2a9d)}.detailing-cta span{font-size:.76rem;font-weight:900;letter-spacing:.1em}.detailing-cta h2{margin:10px 0 10px;color:#fff}.detailing-cta p{max-width:780px;margin:0;color:#ffe1f2}.detailing-cta>div:last-child{display:flex;align-items:stretch;flex-direction:column;gap:10px}.detailing-cta .button{color:#b10d62;background:#fff;text-align:center}.detailing-cta small{color:#ffe0f1;font-size:.75rem;line-height:1.5;text-align:center}
@media(max-width:1120px){.detailing-hero{min-height:660px}.detailing-hero-copy{min-height:660px;width:72%}.detailing-promise{grid-template-columns:1fr 1fr}.detailing-scenes article{grid-template-columns:1fr;min-height:0}.detailing-scenes article.is-reversed figure{order:0}.detailing-scenes figure{min-height:520px}.depot-zone-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.detailing-intro,.detailing-surfaces{grid-template-columns:1fr}.detailing-protocol>header,.detailing-cabinet>header,.detailing-zones>header{grid-template-columns:1fr}.detailing-steps{grid-template-columns:1fr 1fr}.detailing-cabinet-grid{grid-template-columns:1fr}.detailing-cta{grid-template-columns:1fr}.detailing-cta>div:last-child{align-items:flex-start}.detailing-cta small{text-align:left}}
@media(max-width:700px){.detailing-page{padding:12px 10px 46px}.detailing-hero{min-height:720px;border-radius:22px}.detailing-hero>img{object-position:62% center}.detailing-hero-shade{background:linear-gradient(0deg,rgba(8,9,13,.97) 0%,rgba(8,9,13,.8) 54%,rgba(8,9,13,.12) 100%)}.detailing-hero-copy{justify-content:flex-end;width:100%;min-height:720px;padding:30px 22px 150px}.detailing-hero h1{font-size:clamp(2.75rem,13vw,4.2rem)}.detailing-price-card{right:16px;bottom:16px;left:16px;min-width:0}.detailing-promise{grid-template-columns:1fr}.detailing-intro>div,.detailing-intro aside,.detailing-protocol,.detailing-surfaces,.detailing-cabinet,.detailing-zones,.detailing-cta{padding:27px 19px;border-radius:21px}.detailing-steps{grid-template-columns:1fr}.detailing-steps li{min-height:0}.detailing-scenes article{border-radius:21px}.detailing-scenes figure{min-height:380px}.detailing-scenes article>div{padding:30px 22px}.detailing-surface-grid{grid-template-columns:1fr}.cabinet-products{grid-template-columns:1fr}.cabinet-products figure{grid-template-columns:92px 1fr}.cabinet-products figure img{width:92px;height:125px}.depot-map{aspect-ratio:1.25/1}.depot-map>img{object-position:center}.depot-zone{display:none}.depot-zone-list{grid-template-columns:1fr 1fr}.depot-zone-list li{min-height:0}.detailing-cta>div:last-child{align-items:stretch}}
@media(max-width:470px){.detailing-hero-actions{align-items:stretch;flex-direction:column;width:100%}.detailing-hero-actions .button{width:100%;text-align:center}.depot-zone-list{grid-template-columns:1fr}}

/* Implantation du dépôt corrigée selon les repères terrain */
.detailing-zones .zone-recharge{left:11%;top:24%;right:auto;bottom:auto;background:rgba(24,58,122,.92)}
.detailing-zones .zone-soufflerie{left:12%;top:45%;right:auto;bottom:auto;background:rgba(20,108,139,.93)}
.detailing-zones .zone-nettoyage{left:17%;top:58%;right:auto;bottom:auto;background:rgba(193,18,107,.93)}
.detailing-zones .zone-gravage{left:24%;top:36%;right:auto;bottom:auto;background:rgba(149,15,84,.94)}
.detailing-zones .zone-litige{top:29%;right:9%;bottom:auto;left:auto;background:rgba(187,64,57,.92)}
.detailing-zones .zone-atelier{top:auto;right:8%;bottom:7%;left:auto;width:44%;height:32%;border:2px solid #ff83c8;background:rgba(255,42,157,.09);backdrop-filter:none}
.depot-map-key{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:0 0 12px;padding:0;list-style:none}.depot-map-key li{display:flex;min-height:48px;align-items:center;gap:8px;padding:9px 10px;border-radius:10px;color:#fff;background:#20232a;font-size:.68rem;font-weight:900;line-height:1.25}.depot-map-key span{display:grid;width:27px;height:27px;flex:0 0 auto;place-items:center;border-radius:7px;background:rgba(255,255,255,.18);font-size:.62rem}.depot-map-key .is-recharge{background:#183a7a}.depot-map-key .is-soufflerie{background:#146c8b}.depot-map-key .is-nettoyage{background:#c1126b}.depot-map-key .is-gravage{background:#950f54}.depot-map-key .is-litige{background:#bb4039}.depot-map-key .is-atelier{border:2px solid #ff65b8;background:#272933}
@media(max-width:900px){.depot-map-key{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.detailing-zones .depot-map{min-height:340px;aspect-ratio:1.55/1}.detailing-zones .depot-map>img{object-position:center}.detailing-zones .depot-zone{display:block;max-width:31%;padding:6px 7px;font-size:.58rem;line-height:1.15;white-space:normal}.detailing-zones .zone-recharge{top:14%;left:3%}.detailing-zones .zone-soufflerie{top:39%;left:4%}.detailing-zones .zone-nettoyage{top:57%;left:8%}.detailing-zones .zone-gravage{top:31%;left:28%}.detailing-zones .zone-litige{top:22%;right:3%;left:auto}.detailing-zones .zone-atelier{right:4%;bottom:5%;left:auto;display:grid;width:43%;height:31%;place-items:center}.depot-map-key{grid-template-columns:1fr 1fr}.depot-map-key li{font-size:.64rem}}
@media(max-width:430px){.depot-map-key{grid-template-columns:1fr}.detailing-zones .depot-map{min-height:310px}.detailing-zones .depot-zone{font-size:.52rem}}

/* Formules de detailing */
.detailing-formulas{margin:30px 0;padding:clamp(30px,4.6vw,56px);border:1px solid #dedfe4;border-radius:28px;background:linear-gradient(145deg,#fff,#f7f7fa)}.detailing-formulas>header{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);align-items:end;gap:28px;margin-bottom:24px}.detailing-formulas h2{margin:9px 0 0}.detailing-formulas>header>p{margin:0;color:#656771}.detailing-formula-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.detailing-formula-prices article{position:relative;overflow:hidden;padding:24px;border-radius:18px;color:#fff;background:#20232a}.detailing-formula-prices article::after{position:absolute;right:-35px;bottom:-65px;width:150px;height:150px;border:1px solid rgba(255,255,255,.16);border-radius:50%;content:""}.detailing-formula-prices .is-base{background:linear-gradient(135deg,#183a7a,#24599d)}.detailing-formula-prices .is-premium{background:linear-gradient(135deg,#941151,#d11c79)}.detailing-formula-prices .is-plus{background:linear-gradient(135deg,#15171d,#353844)}.detailing-formula-prices article>span{font-size:.68rem;font-weight:900;letter-spacing:.1em}.detailing-formula-prices h3{margin:8px 0 12px;color:#fff;font-size:1.5rem}.detailing-formula-prices article>strong{display:block;color:#fff;font-size:2.1rem;line-height:1}.detailing-formula-prices article>strong small{font-size:.76rem;letter-spacing:.06em}.detailing-formula-prices p{max-width:300px;margin:13px 0 0;color:rgba(255,255,255,.82);font-size:.82rem;line-height:1.5}.detailing-formula-table-wrap{overflow-x:auto;border:1px solid #dfe0e5;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(16,17,22,.05)}.detailing-formula-table{width:100%;min-width:780px;border-collapse:collapse}.detailing-formula-table th,.detailing-formula-table td{padding:14px 16px;border-bottom:1px solid #e7e7eb}.detailing-formula-table thead th{color:#fff;background:#17191f;font-size:.8rem;text-align:center}.detailing-formula-table thead th:first-child{min-width:390px;text-align:left}.detailing-formula-table tbody th{color:#34363d;background:#fff;font-size:.85rem;font-weight:700;text-align:left}.detailing-formula-table tbody td{width:16%;color:#b9bac1;font-size:1.02rem;font-weight:950;text-align:center}.detailing-formula-table tbody td[aria-label="Inclus"]{color:#c1126b}.detailing-formula-table tbody tr:nth-child(even) th,.detailing-formula-table tbody tr:nth-child(even) td{background:#fafafd}.detailing-formula-table tbody tr.is-highlight th,.detailing-formula-table tbody tr.is-highlight td{color:#fff;background:#a50f5c}.detailing-formula-table tbody tr:last-child th,.detailing-formula-table tbody tr:last-child td{border-bottom:0}.detailing-formula-notes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.detailing-formula-notes article{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:18px;border:1px solid #e1d1da;border-radius:14px;background:#fff6fb}.detailing-formula-notes article>span{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;color:#fff;background:#c1126b;font-weight:950}.detailing-formula-notes strong{font-size:.9rem}.detailing-formula-notes p{margin:5px 0 0;color:#71606a;font-size:.78rem;line-height:1.55}.detailing-wax-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.detailing-wax-grid article{display:flex;min-height:115px;padding:16px;border:1px solid #dfe0e5;border-radius:13px;flex-direction:column;background:#fff}.detailing-wax-grid span{color:#b51169;font-size:.62rem;font-weight:900;letter-spacing:.08em}.detailing-wax-grid strong{margin:7px 0 2px;font-size:.92rem}.detailing-wax-grid b{margin-top:auto;color:#252832;font-size:1.15rem}.detailing-formula-disclaimer{margin:13px 0 0;color:#777983;font-size:.74rem;line-height:1.55}
@media(max-width:900px){.detailing-formulas>header{grid-template-columns:1fr}.detailing-formula-prices{grid-template-columns:1fr}.detailing-formula-notes{grid-template-columns:1fr}.detailing-wax-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.detailing-formulas{padding:27px 19px;border-radius:21px}.detailing-formula-table-wrap{margin-right:-19px;margin-left:-19px;border-radius:0}.detailing-formula-table th,.detailing-formula-table td{padding:12px}.detailing-wax-grid{grid-template-columns:1fr}}

/* Implantation v3 · repères terrain et équipes JP Distribike */
.depot-zone-intro{display:flex;align-items:flex-start;gap:18px}.depot-zone-intro p{margin:0;color:#656771}.depot-brand-logo{width:154px;height:auto;flex:0 0 auto;padding:10px;border:1px solid #e2e3e7;border-radius:11px;background:#fff;object-fit:contain}.detailing-zones .depot-map{aspect-ratio:1875/833}.detailing-zones .depot-map-key{grid-template-columns:repeat(3,minmax(0,1fr))}.depot-map-key .is-detailing{background:linear-gradient(135deg,#237844,#d56c0f)}.detailing-zones .zone-soufflerie{top:48%;left:6%;right:auto;bottom:auto;background:rgba(20,108,139,.94)}.detailing-zones .zone-recharge{top:18%;left:24%;right:auto;bottom:auto;background:rgba(24,58,122,.94)}.detailing-zones .zone-litige{top:18%;left:36%;right:auto;bottom:auto;background:rgba(187,64,57,.94)}.detailing-zones .zone-gravage{top:29%;left:40%;right:auto;bottom:auto;background:rgba(149,15,84,.94)}.detailing-zones .zone-detailing{top:25%;left:18.5%;right:auto;bottom:auto;background:linear-gradient(135deg,rgba(35,120,68,.95),rgba(213,108,15,.95))}.detailing-zones .zone-atelier{top:9%;right:7%;bottom:auto;left:auto;display:flex;width:36%;height:30%;align-items:flex-start;justify-content:flex-end;padding:10px;border:2px dashed rgba(255,101,184,.95);background:rgba(255,42,157,.035);backdrop-filter:none}.detailing-zones .depot-zone-list{grid-template-columns:repeat(3,minmax(0,1fr))}.detailing-zones .depot-zone-list .is-large{grid-column:auto}.detailing-zones .depot-map-note{padding-left:12px;border-left:3px solid #c1126b}
@media(max-width:900px){.depot-zone-intro{align-items:flex-start;flex-direction:column}.detailing-zones .depot-map-key{grid-template-columns:repeat(2,minmax(0,1fr))}.detailing-zones .depot-zone-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.depot-brand-logo{width:132px}.detailing-zones .depot-map{min-height:0;aspect-ratio:1875/833}.detailing-zones .depot-map>img{object-position:center;object-fit:cover}.detailing-zones .depot-zone{display:block;max-width:none;padding:3px 4px;border-radius:4px;font-size:.42rem;line-height:1.05;letter-spacing:0;white-space:nowrap}.detailing-zones .zone-soufflerie{top:51%;left:3%}.detailing-zones .zone-recharge{top:10%;left:22%}.detailing-zones .zone-litige{top:10%;left:40%;right:auto}.detailing-zones .zone-gravage{top:31%;left:43%}.detailing-zones .zone-detailing{top:24%;left:19%}.detailing-zones .zone-atelier{top:5%;right:2%;bottom:auto;width:39%;height:29%;padding:4px}.detailing-zones .depot-zone-list{grid-template-columns:1fr 1fr}.detailing-zones .depot-zone-list .is-large{grid-column:auto}}
@media(max-width:430px){.detailing-zones .depot-map-key,.detailing-zones .depot-zone-list{grid-template-columns:1fr}.detailing-zones .depot-zone-list .is-large{grid-column:auto}.detailing-zones .depot-zone{font-size:.36rem}.detailing-zones .zone-atelier{font-size:.44rem}}

/* Prestations detailing déroulantes et gestion des formules */
.detailing-formula-actions{display:flex;justify-content:flex-end;margin:0 0 12px}.detailing-formula-actions .button{font-size:.72rem}.detailing-formula-table thead th:first-child small{display:block;margin-top:4px;color:#aeb1bb;font-size:.6rem;font-weight:700;letter-spacing:.04em;text-transform:none}.detailing-formula-table .detailing-service-row th,.detailing-formula-table .detailing-service-row td{background:#fff}.detailing-formula-table .detailing-service-row:nth-of-type(4n+3) th,.detailing-formula-table .detailing-service-row:nth-of-type(4n+3) td{background:#fafafd}.detailing-service-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:18px;padding:0;border:0;color:inherit;background:transparent;font:inherit;font-weight:800;text-align:left;text-transform:uppercase;cursor:pointer}.detailing-service-toggle b{display:grid;width:31px;height:31px;flex:0 0 auto;place-items:center;border:1px solid #d9dbe2;border-radius:50%;color:#b10f64;background:#fff;font-size:1.12rem;line-height:1;transition:transform .28s ease,background .28s ease,color .28s ease}.detailing-service-toggle:hover b,.detailing-service-toggle:focus-visible b{color:#fff;background:#b10f64;transform:scale(1.06)}.detailing-service-toggle:focus-visible{outline:3px solid rgba(193,18,107,.24);outline-offset:7px;border-radius:3px}.detailing-service-row.is-open th,.detailing-service-row.is-open td{border-bottom-color:transparent;background:#fff4fa}.detailing-service-row.is-highlight .detailing-service-toggle b{border-color:rgba(255,255,255,.55);color:#a50f5c;background:#fff}.detailing-service-row.is-highlight.is-open th,.detailing-service-row.is-highlight.is-open td{color:#fff;background:#a50f5c}.detailing-service-detail>td{height:auto;padding:0!important;border:0!important;color:inherit!important;background:#f2f2f6!important;text-align:left!important}.detailing-service-roll{display:grid;grid-template-rows:0fr;opacity:.4;transition:grid-template-rows .48s cubic-bezier(.2,.8,.2,1),opacity .35s ease}.detailing-service-detail.is-open .detailing-service-roll{grid-template-rows:1fr;opacity:1}.detailing-service-roll-inner{min-height:0;overflow:hidden}.detailing-service-sheet{display:grid;grid-template-columns:245px minmax(0,1fr);gap:22px;padding:22px;background:linear-gradient(135deg,#f1f2f6,#fff)}.detailing-service-sheet>figure{position:relative;min-height:245px;margin:0;overflow:hidden;border-radius:16px;background:#181a20}.detailing-service-sheet>figure img{width:100%;height:100%;object-fit:cover}.detailing-service-sheet>figure figcaption{position:absolute;right:8px;bottom:8px;left:8px;padding:7px 8px;border-radius:7px;color:#fff;background:rgba(17,18,24,.82);font-size:.56rem;font-weight:900;letter-spacing:.05em;text-align:center;backdrop-filter:blur(5px)}.detailing-service-explainer{padding:3px 5px}.detailing-service-explainer .eyebrow{color:#b10f64;font-size:.64rem}.detailing-service-explainer h3{margin:7px 0 9px;color:#1f2128;font-size:1.35rem}.detailing-service-explainer>p{margin:0;color:#595c65;font-size:.83rem;line-height:1.6}.detailing-product-type{display:flex;margin:15px 0 11px;padding:13px 14px;border-left:4px solid #c1126b;border-radius:8px;flex-direction:column;background:#fff;box-shadow:0 5px 18px rgba(24,25,31,.06)}.detailing-product-type strong{color:#a50f5c;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase}.detailing-product-type span{margin-top:4px;color:#3f424a;font-size:.78rem;line-height:1.5}.detailing-service-explainer .detailing-service-caution{padding-left:21px;color:#705a27;font-size:.73rem;position:relative}.detailing-service-caution::before{position:absolute;left:0;content:'⚠';color:#d18a16}.detailing-service-flow{grid-column:1/-1;padding:17px;border-radius:14px;color:#fff;background:#17191f}.detailing-service-flow>strong{display:block;margin-bottom:12px;color:#ff75c4;font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}.detailing-service-flow ol{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:0;padding:0;list-style:none}.detailing-service-flow li{position:relative;display:grid;grid-template-columns:38px 1fr;align-items:start;gap:10px}.detailing-service-flow li:not(:last-child)::after{position:absolute;top:17px;right:-22px;color:#ff75c4;content:'→';font-size:1.15rem;font-weight:900}.detailing-service-flow li>span{display:grid;width:36px;height:36px;place-items:center;border-radius:9px;color:#17191f;background:#ff75c4;font-size:.65rem;font-weight:950}.detailing-service-flow p{margin:0;color:#d4d5dc;font-size:.73rem;line-height:1.45}.detailing-formula-admin{border-color:#e1bed1;background:linear-gradient(135deg,#fff 0%,#fff7fb 100%)}.detailing-admin-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(135deg,#9b0e54,#dc1a80);font-size:24px}.detailing-admin-table{margin:4px 0 18px;border:1px solid #e1e4e8;border-radius:12px;background:#fff}.detailing-admin-table table{margin:0}.detailing-admin-table th,.detailing-admin-table td{vertical-align:middle}.detailing-admin-table th:not(:first-child),.detailing-admin-table td{text-align:center}.admin-option-check{display:inline-flex;min-width:72px;align-items:center;justify-content:center;gap:7px;cursor:pointer}.admin-option-check input{position:absolute;width:1px;height:1px;opacity:0}.admin-option-check>span{display:grid;width:24px;height:24px;place-items:center;border:2px solid #c8ccd1;border-radius:7px;background:#fff;transition:.18s}.admin-option-check input:checked+span{border-color:#bd126b;background:#bd126b}.admin-option-check input:checked+span::after{color:#fff;content:'✓';font-size:.85rem;font-weight:950}.admin-option-check input:focus-visible+span{outline:3px solid rgba(189,18,107,.23);outline-offset:2px}.admin-option-check small{min-width:50px;color:#737780;font-size:.67rem}
@media(max-width:900px){.detailing-service-sheet{grid-template-columns:210px minmax(0,1fr)}.detailing-service-flow ol{gap:20px}.detailing-service-flow li:not(:last-child)::after{right:-15px}}
@media(max-width:700px){.detailing-service-toggle b{width:27px;height:27px}.detailing-service-sheet{grid-template-columns:190px minmax(0,1fr);padding:16px}.detailing-service-sheet>figure{min-height:230px}.detailing-service-flow ol{grid-template-columns:1fr;gap:12px}.detailing-service-flow li:not(:last-child)::after{display:none}}

/* Carnet d'adresses compatible Teliway */
.sidebar-profile-link{min-width:0;color:inherit;text-decoration:none}.sidebar-profile-link strong,.sidebar-profile-link small{display:block}.sidebar-profile-link small{margin-top:2px;color:#a9beb8;font-size:.68rem}.address-book-heading{align-items:end}.address-book-toolbar{position:relative;margin-bottom:18px;padding:18px}.address-book-toolbar form{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.55fr) auto auto;align-items:end;gap:12px}.address-book-layout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(560px,1.35fr);align-items:start;gap:18px}.address-book-list{padding:0;overflow:hidden}.address-book-list .panel-heading{padding:22px 22px 14px}.address-contact-list{display:grid;max-height:930px;overflow:auto}.address-contact-row{display:grid;grid-template-columns:45px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:14px 18px;border-top:1px solid #e6ebe9;color:#143b31;text-decoration:none}.address-contact-row:hover,.address-contact-row.active{background:#edf7f3}.address-contact-row.active{box-shadow:inset 4px 0 #0b755d}.address-contact-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;color:#fff;background:#143b31;font-size:.62rem;font-weight:950}.address-contact-row small,.address-contact-row strong,.address-contact-row em{display:block}.address-contact-row small{color:#0b755d;font-size:.63rem;font-weight:850}.address-contact-row strong{margin:3px 0;font-size:.88rem}.address-contact-row em{color:#77817e;font-size:.71rem;font-style:normal}.teliway-form-card{padding:24px}.teliway-badge{display:inline-flex;padding:7px 10px;border-radius:999px;color:#fff;background:#303f8c;font-size:.66rem;font-weight:900;letter-spacing:.06em}.entity-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.entity-type-grid label,.check-card{cursor:pointer}.entity-type-grid input,.check-card>input{position:absolute;width:1px;height:1px;opacity:0}.entity-type-grid span,.check-card>span{display:flex;min-height:74px;padding:14px;border:1px solid #d9e2df;border-radius:12px;flex-direction:column;background:#fff}.entity-type-grid input:checked+span,.check-card>input:checked+span{border-color:#0b755d;background:#eaf7f2;box-shadow:inset 0 0 0 1px #0b755d}.entity-type-grid b,.check-card b{color:#143b31;font-size:.85rem}.entity-type-grid small,.check-card small{margin-top:4px;color:#707b78;font-size:.7rem;line-height:1.4}.delivery-flags{display:flex;flex-wrap:wrap;gap:10px;margin:17px 0}.delivery-flags label{padding:10px 12px;border:1px solid #d9e2df;border-radius:9px;background:#f7faf9;font-size:.77rem;font-weight:750}.address-book-actions{display:flex;flex-wrap:wrap;gap:9px}.source-note,.google-config-note{margin:16px 0 0;padding:12px 14px;border-left:3px solid #303f8c;color:#596460;background:#f2f4fb;font-size:.74rem;line-height:1.55}.address-book-archive{display:flex;justify-content:flex-end;margin:10px 0 24px}.google-import-card{margin-top:18px;padding:24px}.google-import-search{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.7fr) auto;align-items:end;gap:12px}.google-place-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.google-place-results article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px;border:1px solid #dce5e2;border-radius:12px}.google-place-results small,.google-place-results strong,.google-place-results span,.google-place-results em{display:block}.google-place-results small{color:#0b755d;font-size:.64rem;font-weight:900}.google-place-results strong{margin:4px 0}.google-place-results span,.google-place-results em{color:#6b7773;font-size:.72rem;font-style:normal;line-height:1.4}.address-book-lookup{position:relative}.address-book-suggestions{position:absolute;z-index:40;right:0;left:0;top:calc(100% + 5px);overflow:hidden;border:1px solid #cad8d4;border-radius:12px;background:#fff;box-shadow:0 18px 45px rgba(15,48,40,.18)}.address-book-toolbar>.address-book-suggestions{top:82px;right:auto;width:min(560px,calc(100% - 36px));left:18px}.address-book-suggestions button,.address-book-suggestions p{display:flex;width:100%;padding:11px 13px;border:0;border-bottom:1px solid #e5ebe9;flex-direction:column;color:#173c33;background:#fff;font:inherit;text-align:left}.address-book-suggestions button{cursor:pointer}.address-book-suggestions button:hover,.address-book-suggestions button:focus{background:#eef8f4}.address-book-suggestions button strong{font-size:.79rem}.address-book-suggestions button small{margin-top:3px;color:#6d7975;font-size:.68rem}.profile-editor{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:18px}.operations-assistant-profile{grid-column:1/-1;border-color:#e2cd91;background:radial-gradient(circle at 90% 0,rgba(241,179,65,.18),transparent 28%),#fff}.operations-assistant-profile .panel-heading{margin-bottom:18px}.operations-assistant-profile-character{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;color:#58400d;background:#f2ba4b;font-size:20px;box-shadow:0 8px 20px rgba(116,82,13,.15)}.profile-page-header{margin-bottom:18px}.empty-state{padding:30px;text-align:center}.empty-state p{color:#6d7975}.button:disabled{cursor:not-allowed;opacity:.48}
@media(max-width:1100px){.address-book-toolbar form{grid-template-columns:1fr 1fr}.address-book-layout,.profile-editor{grid-template-columns:1fr}.address-book-list{max-height:520px}.google-place-results{grid-template-columns:1fr}}
@media(max-width:700px){.address-book-toolbar form,.google-import-search{grid-template-columns:1fr}.entity-type-grid{grid-template-columns:1fr}.teliway-form-card,.google-import-card{padding:19px}.google-place-results article{grid-template-columns:1fr}.address-book-toolbar>.address-book-suggestions{top:90px;width:calc(100% - 36px)}}
.postal-autofill-status{display:block;margin-top:2px;color:#0b755d;font-size:.66rem;font-weight:750;line-height:1.35}.postal-autofill-status.error{color:#a6423b}.postal-city-choice{margin-top:3px;border-color:#9bc7b9;background:#f0f8f5;font-size:.73rem}

/* Accueil personnalisé et concessions proches de l’acheteur */
.buyer-welcome-hub{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;margin-bottom:24px}.buyer-welcome-copy{display:flex;min-height:245px;padding:34px;border-radius:22px;flex-direction:column;justify-content:center;color:#fff;background:radial-gradient(circle at 88% 18%,rgba(241,179,65,.2),transparent 32%),linear-gradient(135deg,#123b31,#17604d);box-shadow:0 20px 48px rgba(18,59,49,.16)}.buyer-welcome-copy .eyebrow{color:#e7bd60}.buyer-welcome-copy h1{margin:7px 0 2px;color:#fff;font-size:clamp(2rem,4vw,3.25rem);line-height:1.08}.buyer-welcome-copy>p{margin:0 0 24px;color:#d4e5df;font-size:1.25rem}.buyer-welcome-copy>div{display:flex;flex-wrap:wrap;gap:10px}.buyer-welcome-copy .button.secondary{border-color:rgba(255,255,255,.3);color:#fff;background:rgba(255,255,255,.08)}.buyer-ai-card{display:grid;min-height:245px;padding:28px;border:1px solid #e6ce8b;border-radius:22px;grid-template-columns:68px 1fr;align-content:center;gap:18px;background:linear-gradient(145deg,#fff9e9,#fff);box-shadow:0 16px 42px rgba(73,55,14,.09)}.buyer-ai-card>span{display:grid;width:66px;height:66px;place-items:center;border-radius:19px;color:#173c32;background:#f1b341;font-size:.75rem;font-weight:950;letter-spacing:.05em}.buyer-ai-card>div{display:flex;flex-direction:column}.buyer-ai-card small{color:#8b650d;font-size:.78rem;font-weight:850;text-transform:uppercase}.buyer-ai-card strong{margin:5px 0 8px;color:#183c33;font-size:1.05rem;line-height:1.35}.buyer-ai-card p{margin:0;color:#65716d;font-size:.9rem;line-height:1.55}.buyer-nearby-section{margin:0 0 30px}.buyer-nearby-section>header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 15px}.buyer-nearby-section>header h2{margin:5px 0 3px;font-size:1.75rem}.buyer-nearby-section>header p{margin:0;color:#6b7773;font-size:.9rem}.buyer-nearby-section>header>a{flex:0 0 auto;color:#17604d;font-size:.86rem;font-weight:850}.buyer-dealer-grid{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:12px;overflow-x:auto;padding:2px 2px 12px}.buyer-dealer-card{display:flex;min-width:220px;min-height:330px;padding:18px;border:1px solid #d9e4e0;border-radius:17px;flex-direction:column;background:#fff;box-shadow:0 9px 25px rgba(20,55,46,.07)}.buyer-dealer-rank{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px}.buyer-dealer-rank>span{display:grid;width:36px;height:36px;place-items:center;border-radius:11px;color:#173c32;background:#f1b341;font-size:.92rem;font-weight:950}.buyer-dealer-rank small,.buyer-dealer-rank strong{display:block}.buyer-dealer-rank small{color:#0b755d;font-size:.72rem;font-weight:850}.buyer-dealer-rank strong{margin-top:2px;color:#183c33;font-size:.95rem;line-height:1.25}.buyer-dealer-brands{display:flex;min-height:55px;align-items:center;gap:7px;margin:15px 0;padding:8px;border-radius:11px;background:#f3f7f5}.buyer-dealer-brands span{display:grid;width:48px;height:38px;place-items:center;border:1px solid #e0e7e4;border-radius:8px;background:#fff}.buyer-dealer-brands img{display:block;max-width:41px;max-height:29px;object-fit:contain}.buyer-dealer-brands b{padding:3px;color:#173c32;font-size:.56rem;text-align:center}.buyer-dealer-brands em{color:#7a8581;font-size:.74rem;font-style:normal}.buyer-dealer-card dl{display:grid;gap:9px;margin:0}.buyer-dealer-card dl>div{display:grid;gap:2px}.buyer-dealer-card dt{color:#77827e;font-size:.68rem;font-weight:800;text-transform:uppercase}.buyer-dealer-card dd{margin:0;overflow-wrap:anywhere;color:#2c4941;font-size:.81rem;line-height:1.35}.buyer-dealer-card dd a{color:inherit;text-decoration:none}.buyer-dealer-card dd a:hover{text-decoration:underline}.buyer-dealer-route{margin-top:auto;padding-top:15px;color:#0b755d;font-size:.82rem;font-weight:900}.buyer-purchases-heading{margin-top:8px}.buyer-purchases-heading h2{margin:4px 0;font-size:1.85rem}.mfs-assistant-message.is-thinking{color:#64716d;font-style:italic}.mfs-assistant-message.is-thinking::after{content:'•••';margin-left:6px;color:#bb811d;letter-spacing:.08em;animation:mfs-assistant-dots 1s ease-in-out infinite alternate}@keyframes mfs-assistant-dots{to{opacity:.25}}
@media(max-width:1250px){.buyer-dealer-grid{grid-template-columns:repeat(3,minmax(245px,1fr))}}
@media(max-width:900px){.buyer-welcome-hub{grid-template-columns:1fr}.buyer-ai-card{min-height:unset}.buyer-dealer-grid{grid-template-columns:repeat(2,minmax(245px,1fr))}}
@media(max-width:620px){.buyer-welcome-copy{min-height:220px;padding:25px}.buyer-welcome-copy>p{font-size:1.08rem}.buyer-ai-card{padding:21px;grid-template-columns:52px 1fr}.buyer-ai-card>span{width:50px;height:50px;border-radius:14px}.buyer-nearby-section>header{align-items:flex-start;flex-direction:column}.buyer-dealer-grid{display:flex}.buyer-dealer-card{flex:0 0 82vw}}

/* Sélecteur de date et d’heure inspiré d’Apple */
.apple-datetime-input{cursor:pointer;background-color:#fff}.apple-datetime-input::-webkit-calendar-picker-indicator{opacity:.45;pointer-events:none}.apple-datetime-picker{width:min(690px,calc(100vw - 28px));max-width:none;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:26px;color:#171719;background:rgba(251,251,253,.97);box-shadow:0 34px 100px rgba(18,25,36,.28),0 2px 10px rgba(18,25,36,.12);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",sans-serif;backdrop-filter:blur(28px) saturate(1.4)}.apple-datetime-picker::backdrop{background:rgba(24,28,34,.38);backdrop-filter:blur(5px)}.apple-datetime-picker[open]{animation:apple-date-in .18s cubic-bezier(.2,.75,.3,1)}.apple-datetime-shell{display:flex;max-height:calc(100dvh - 30px);flex-direction:column}.apple-datetime-head{display:flex;align-items:center;justify-content:space-between;padding:19px 22px 15px;border-bottom:1px solid rgba(60,60,67,.11)}.apple-datetime-head>div{display:flex;flex-direction:column}.apple-datetime-head small{color:#8e8e93;font-size:11px;font-weight:650;letter-spacing:.02em}.apple-datetime-head strong{margin-top:2px;color:#1d1d1f;font-size:19px;letter-spacing:-.025em}.apple-datetime-head>button{display:grid;width:31px;height:31px;padding:0;place-items:center;border:0;border-radius:50%;color:#6e6e73;background:#e9e9ed;cursor:pointer;font:inherit;font-size:20px;line-height:1}.apple-datetime-head>button:hover{color:#111;background:#dedee3}.apple-datetime-body{display:grid;min-height:390px;grid-template-columns:minmax(380px,1fr) 190px;gap:19px;padding:20px 22px}.apple-calendar>header{display:grid;grid-template-columns:35px 1fr 35px;align-items:center;margin-bottom:12px}.apple-calendar>header strong{color:#1d1d1f;font-size:16px;text-align:center}.apple-calendar>header button{display:grid;width:34px;height:34px;padding:0;place-items:center;border:0;border-radius:50%;color:#007aff;background:transparent;cursor:pointer;font:inherit;font-size:28px;font-weight:300}.apple-calendar>header button:hover{background:#e9f3ff}.apple-calendar-weekdays,.apple-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.apple-calendar-weekdays{margin-bottom:5px}.apple-calendar-weekdays span{color:#8e8e93;font-size:10px;font-weight:650;text-align:center;text-transform:uppercase}.apple-calendar-weekdays span:nth-last-child(-n+2){color:#ff3b30}.apple-calendar-days button{display:grid;aspect-ratio:1;min-width:0;padding:0;place-items:center;border:0;border-radius:50%;color:#1d1d1f;background:transparent;cursor:pointer;font:inherit;font-size:12px;font-weight:550;transition:background .12s,color .12s,transform .12s}.apple-calendar-days button:hover{background:#e8e8ed;transform:scale(1.05)}.apple-calendar-days button.is-weekend{color:#ff3b30}.apple-calendar-days button.is-outside{opacity:.32}.apple-calendar-days button.is-today{box-shadow:inset 0 0 0 1.5px #007aff;color:#007aff;font-weight:750}.apple-calendar-days button.is-selected{color:#fff;background:#007aff;box-shadow:0 4px 11px rgba(0,122,255,.3);font-weight:750}.apple-calendar-days button.is-selected:hover{background:#006ee6}.apple-time-picker{display:flex;min-width:0;padding:14px;border-radius:18px;flex-direction:column;background:rgba(235,235,240,.72)}.apple-time-picker>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:1px 2px 12px}.apple-time-picker>header small{color:#6e6e73;font-size:10px;font-weight:650}.apple-time-picker>header strong{color:#007aff;font-size:18px;letter-spacing:-.02em}.apple-time-wheels{position:relative;display:grid;min-height:235px;grid-template-columns:1fr 12px 1fr;align-items:center;gap:3px}.apple-time-wheels::after{position:absolute;top:50%;right:0;left:0;height:38px;border-top:1px solid rgba(60,60,67,.13);border-bottom:1px solid rgba(60,60,67,.13);border-radius:9px;background:rgba(255,255,255,.58);content:"";pointer-events:none;transform:translateY(-50%)}.apple-time-wheels>span{z-index:2;color:#1d1d1f;font-size:18px;font-weight:700;text-align:center}.apple-time-wheels>div{display:flex;min-width:0;flex-direction:column}.apple-time-wheels>div>small{margin-bottom:4px;color:#8e8e93;font-size:9px;text-align:center}.apple-time-wheel{position:relative;z-index:3;height:205px;overflow-y:auto;padding:83px 1px;scrollbar-width:none;scroll-snap-type:y mandatory;mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 75%,transparent)}.apple-time-wheel::-webkit-scrollbar{display:none}.apple-time-wheel button{display:block;width:100%;height:38px;padding:0;border:0;color:#6e6e73;background:transparent;cursor:pointer;font:inherit;font-size:13px;scroll-snap-align:center}.apple-time-wheel button.is-selected{color:#007aff;font-size:17px;font-weight:750}.apple-date-now{min-height:34px;margin-top:auto;padding:0 8px;border:0;border-radius:9px;color:#007aff;background:rgba(255,255,255,.76);cursor:pointer;font:inherit;font-size:9px;font-weight:700}.apple-datetime-shell>footer{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:9px;padding:13px 20px;border-top:1px solid rgba(60,60,67,.11);background:rgba(246,246,248,.88)}.apple-datetime-shell>footer button{min-height:38px;padding:0 15px;border:0;border-radius:10px;cursor:pointer;font:inherit;font-size:11px;font-weight:700}.apple-date-clear{color:#ff3b30;background:transparent}.apple-date-cancel{color:#007aff;background:#e8e8ed}.apple-date-confirm{color:#fff;background:#007aff;box-shadow:0 5px 13px rgba(0,122,255,.24)}.apple-date-confirm:hover{background:#006ee6}@keyframes apple-date-in{from{opacity:.5;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:650px){.apple-datetime-picker{width:calc(100vw - 14px);border-radius:21px}.apple-datetime-shell{max-height:calc(100dvh - 14px)}.apple-datetime-head{padding:15px 16px 12px}.apple-datetime-head strong{font-size:16px}.apple-datetime-body{display:flex;min-height:0;padding:14px 16px;overflow:auto;flex-direction:column}.apple-calendar-days button{font-size:11px}.apple-time-picker{min-height:245px}.apple-time-wheels{min-height:180px}.apple-time-wheel{height:165px;padding-block:63px}.apple-datetime-shell>footer{grid-template-columns:1fr 1fr;padding:11px}.apple-datetime-shell>footer>span{display:none}.apple-date-clear,.apple-date-cancel,.apple-date-confirm{width:100%}.apple-date-clear{grid-column:1}.apple-date-cancel{grid-column:2}.apple-date-confirm{grid-column:1/3}}

/* Préparation tactile · langage visuel Apple, couleurs métier conservées */
.operations-tactile-page .main-content{background:radial-gradient(circle at 88% 2%,rgba(255,255,255,.9),transparent 24%),#f5f5f7;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",sans-serif}.operations-tactile-page .main-content>.page-header,.operations-tactile-page .main-content>.panel,.operations-tactile-page .main-content>.tactile-summary,.operations-tactile-page .main-content>.position-color-legend,.operations-tactile-page .main-content>.tactile-bulk-toolbar,.operations-tactile-page .main-content>.tactile-feedback,.operations-tactile-page .main-content>.tactile-planner{animation:tactile-apple-rise .32s cubic-bezier(.2,.75,.25,1) both}.operations-tactile-page .main-content>.fleet-overview{animation-delay:.035s}.operations-tactile-page .main-content>.tactile-summary{animation-delay:.07s}.operations-tactile-page .main-content>.tactile-toolbar{animation-delay:.1s}.operations-tactile-page .main-content>.tactile-planner{animation-delay:.14s}
.workspace-view-toggle{display:none}
@media(min-width:1101px){
    .operations-tactile-page{transition:padding-left .42s cubic-bezier(.22,.78,.2,1)}
    .operations-tactile-page .sidebar{transform-origin:left center;transition:transform .42s cubic-bezier(.22,.78,.2,1),opacity .28s ease,filter .36s ease,visibility 0s;will-change:transform,opacity,filter}
    .operations-tactile-page.sidebar-collapsed{padding-left:0}
    .operations-tactile-page.sidebar-collapsed .sidebar{visibility:hidden;opacity:0;filter:blur(9px);pointer-events:none;transform:translateX(-106%) scale(.985);transition:transform .42s cubic-bezier(.22,.78,.2,1),opacity .28s ease,filter .36s ease,visibility 0s .42s}
    .operations-tactile-page.sidebar-collapsed .main-content>*{max-width:none}
    .operations-tactile-page .main-content{transition:padding .42s cubic-bezier(.22,.78,.2,1)}
    .operations-tactile-page.sidebar-collapsed .main-content{padding-right:24px;padding-left:24px}
    .operations-tactile-page .sidebar .nav{margin-top:60px}
    .workspace-view-toggle{position:fixed;top:82px;left:18px;z-index:46;display:flex;min-height:43px;align-items:center;gap:9px;padding:5px 13px 5px 6px;border:1px solid rgba(255,255,255,.72);border-radius:14px;color:#173d33;background:rgba(255,255,255,.82);box-shadow:0 12px 34px rgba(10,38,31,.16),inset 0 1px rgba(255,255,255,.95);backdrop-filter:blur(24px) saturate(1.35);cursor:pointer;transition:top .42s cubic-bezier(.22,.78,.2,1),left .42s cubic-bezier(.22,.78,.2,1),transform .18s ease,box-shadow .18s ease,background .18s ease}
    .workspace-view-toggle:hover{background:rgba(255,255,255,.96);box-shadow:0 16px 40px rgba(10,38,31,.21),inset 0 1px #fff;transform:translateY(-2px)}
    .workspace-view-toggle:active{transform:translateY(0) scale(.97)}
    .workspace-view-toggle svg{width:32px;height:32px;padding:6px;border-radius:10px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;background:rgba(22,93,74,.1);transition:transform .42s cubic-bezier(.22,.78,.2,1),background .2s ease}
    .workspace-view-toggle strong{font-size:11px;font-weight:760;letter-spacing:-.01em;white-space:nowrap}
    .sidebar-collapsed .workspace-view-toggle{top:17px;left:14px}
    .sidebar-collapsed .workspace-view-toggle svg{color:#fff;background:#176b55;transform:rotate(180deg)}
    .operations-tactile-page.workspace-view-transition .main-content{animation:workspace-view-fade .44s cubic-bezier(.22,.78,.2,1)}
}
@keyframes workspace-view-fade{0%{opacity:.7;filter:blur(5px);transform:scale(.994)}55%{opacity:.9;filter:blur(1px)}100%{opacity:1;filter:none;transform:none}}
.operations-tactile-page .tactile-page-header{margin-bottom:16px;padding:25px 26px;border:1px solid rgba(60,60,67,.1);border-radius:24px;background:rgba(255,255,255,.82);box-shadow:0 1px 2px rgba(0,0,0,.03),0 12px 34px rgba(24,35,31,.06);backdrop-filter:blur(24px) saturate(1.2)}.operations-tactile-page .tactile-page-header h1{margin:5px 0 6px;font-size:clamp(27px,2.4vw,38px);font-weight:760;letter-spacing:-.035em}.operations-tactile-page .tactile-page-header p{max-width:760px;margin:0;color:#6e7773;font-size:12px;line-height:1.5}.operations-tactile-page .tactile-page-header .header-actions{align-items:stretch}.operations-tactile-page .tactile-page-header .button,.operations-tactile-page .route-assistant-status{min-height:46px;border-radius:13px;box-shadow:none;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.operations-tactile-page .tactile-page-header .button:hover,.operations-tactile-page .route-assistant-status:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(22,43,36,.08)}
.operations-tactile-page .position-color-legend{margin-bottom:16px;padding:12px 16px;border-color:rgba(60,60,67,.1);border-radius:16px;background:rgba(255,255,255,.76);box-shadow:0 1px 2px rgba(0,0,0,.025);backdrop-filter:blur(18px)}.operations-tactile-page .position-color-legend i{border-radius:6px}.operations-tactile-page .position-color-legend>span{font-size:9px}
.operations-tactile-page .fleet-overview{margin:0 0 16px;padding:22px 24px;border-color:rgba(60,60,67,.1);border-radius:22px;background:rgba(255,255,255,.86);box-shadow:0 10px 30px rgba(24,35,31,.055);backdrop-filter:blur(20px)}.operations-tactile-page .fleet-overview h2{font-size:21px;letter-spacing:-.02em}.operations-tactile-page .fleet-type-card{min-height:120px;padding:15px 16px;border-radius:18px;box-shadow:0 1px 2px rgba(0,0,0,.025);transition:transform .18s ease,box-shadow .18s ease}.operations-tactile-page .fleet-type-card:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(21,55,46,.08)}.operations-tactile-page .fleet-card-visual{border-radius:15px}.operations-tactile-page .fleet-settings{border-radius:16px}
.operations-tactile-page .sector-switch{border-color:rgba(60,60,67,.1);border-radius:18px;background:rgba(255,255,255,.84);box-shadow:0 8px 24px rgba(24,35,31,.045);backdrop-filter:blur(18px)}.operations-tactile-page .sector-switch a{border-radius:11px}
.operations-tactile-page .tactile-summary{margin-bottom:14px;border:1px solid rgba(255,255,255,.12);border-radius:20px;box-shadow:0 16px 34px rgba(18,59,50,.14)}.operations-tactile-page .tactile-summary>div{min-height:82px;padding:15px 22px}.operations-tactile-page .tactile-summary strong{font-family:inherit;font-size:23px;font-weight:750;letter-spacing:-.025em}.operations-tactile-page .tactile-summary small{font-size:9.5px}.operations-tactile-page .tactile-capacity span{height:9px}
.operations-tactile-page .tactile-toolbar{margin-bottom:12px;padding:14px 16px;border-color:rgba(60,60,67,.1);border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 8px 24px rgba(24,35,31,.045);backdrop-filter:blur(18px)}.operations-tactile-page .tactile-toolbar>div>strong{font-size:14px;letter-spacing:-.01em}.operations-tactile-page .tactile-toolbar input,.operations-tactile-page .tactile-toolbar select{min-height:42px;border-color:rgba(60,60,67,.14);border-radius:12px;background:#f7f7f9;font-family:inherit;font-size:10px;box-shadow:inset 0 1px 1px rgba(0,0,0,.025)}.operations-tactile-page .tactile-toolbar input:focus,.operations-tactile-page .tactile-toolbar select:focus{background:#fff;box-shadow:0 0 0 3px rgba(23,116,87,.12)}.operations-tactile-page .tactile-toolbar .button{min-height:42px;border-radius:12px}
.operations-tactile-page .tactile-bulk-toolbar{margin-bottom:10px;padding:11px 13px;border-color:rgba(60,60,67,.1);border-radius:16px;background:rgba(255,255,255,.88);box-shadow:0 6px 18px rgba(24,35,31,.04);backdrop-filter:blur(18px)}.operations-tactile-page .bulk-selection-count{min-width:98px;padding:8px 10px;border-radius:11px}.operations-tactile-page .bulk-selection-count strong{font-size:18px}.operations-tactile-page .tactile-bulk-toolbar p{font-size:9px;line-height:1.4}.operations-tactile-page .tactile-bulk-toolbar .button{min-height:37px;border-radius:10px}.operations-tactile-page .tactile-feedback{margin-bottom:12px;padding:9px 14px;border-radius:12px;font-size:9px;box-shadow:inset 0 0 0 1px rgba(60,60,67,.06)}
.operations-tactile-page .tactile-planner{gap:16px}.operations-tactile-page .tactile-rm-panel,.operations-tactile-page .tactile-files-panel{border:1px solid rgba(60,60,67,.1);border-radius:22px;background:rgba(255,255,255,.9);box-shadow:0 14px 38px rgba(22,39,33,.075);backdrop-filter:blur(24px)}.operations-tactile-page .tactile-rm-panel{top:16px;max-height:calc(100vh - 32px)}.operations-tactile-page .tactile-rm-panel>header{padding:18px 18px 13px;border-bottom-color:rgba(60,60,67,.09);background:rgba(255,255,255,.92);backdrop-filter:blur(18px)}.operations-tactile-page .tactile-rm-panel header h2{font-size:19px;letter-spacing:-.025em}.operations-tactile-page .tactile-rm-panel .counter,.operations-tactile-page .department-selector .counter{border-radius:10px}.operations-tactile-page .tactile-rm-list{padding:5px 10px 13px}
.operations-tactile-page .tactile-rm-card-shell{gap:7px;margin:0}.operations-tactile-page .tactile-rm-card{position:relative;z-index:1;min-height:72px;margin:1px 0;padding:8px 9px;border-color:rgba(60,60,67,.11);border-radius:15px;background:#fbfbfc;box-shadow:0 3px 5px rgba(15,50,41,.14),0 1px 1px rgba(15,50,41,.08);transition:transform .18s cubic-bezier(.2,.7,.25,1),box-shadow .18s ease,border-color .18s ease}.operations-tactile-page .tactile-rm-card:hover{z-index:2;transform:translateY(-1px) scale(1.002);box-shadow:0 8px 20px rgba(20,55,46,.14)}.operations-tactile-page .tactile-rm-card.is-selected{border-color:#1b7c63;background:linear-gradient(102deg,#1c8065,#2c9d7d);box-shadow:0 5px 9px rgba(13,66,52,.28),0 1px 2px rgba(8,42,33,.18)}.operations-tactile-page .tactile-rm-plus{top:12px;left:9px;width:39px;height:42px;border-radius:12px;transition:transform .16s ease,filter .16s ease}.operations-tactile-page .tactile-rm-plus:hover{transform:scale(1.05)}.operations-tactile-page .tactile-rm-identity-head>strong{font-size:14px;letter-spacing:-.02em}.operations-tactile-page .tactile-unassign-zone{margin:5px auto 2px;border-radius:15px;background:#f7f7f8}.operations-tactile-page .tactile-rm-quick-actions{border-radius:0 0 14px 14px}
.operations-tactile-page .department-selector-workspace{padding:16px 17px 13px;border-bottom-color:rgba(60,60,67,.09);background:rgba(255,255,255,.9);backdrop-filter:blur(20px)}.operations-tactile-page .department-selector-workspace header h2{font-size:17px;letter-spacing:-.02em}.operations-tactile-page .department-selector-workspace header p{font-size:8.5px}.operations-tactile-page .department-selector-list{gap:9px;padding:3px 1px 8px}.operations-tactile-page .department-selector-card{min-height:98px;padding:11px 9px 9px;border-color:rgba(60,60,67,.12);border-radius:15px;background:#fbfbfc;box-shadow:0 1px 2px rgba(0,0,0,.025);transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease}.operations-tactile-page .department-selector-card:hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(20,55,46,.07)}.operations-tactile-page .department-selector-card.is-selected{border-color:var(--forest);background:var(--forest);box-shadow:0 10px 22px rgba(22,93,74,.18)}.operations-tactile-page .department-selector-card strong{font-size:17px;letter-spacing:-.015em}.operations-tactile-page .department-card-metrics{padding-top:8px}.operations-tactile-page .department-hover-preview{border-radius:18px;box-shadow:0 24px 60px rgba(11,38,31,.2);backdrop-filter:blur(18px)}
.operations-tactile-page .tactile-selected-head{padding:18px 20px}.operations-tactile-page .tactile-selected-head h2{font-size:23px;letter-spacing:-.025em}.operations-tactile-page .tactile-selected-head p{font-size:9px}.operations-tactile-page .tactile-selected-head>div:last-child span{min-width:90px;padding:9px 12px;border-radius:11px;backdrop-filter:blur(8px)}.operations-tactile-page .tactile-selected-head [data-round-panel-open]{border-radius:11px}.operations-tactile-page .tactile-column-labels{padding-top:10px;padding-bottom:7px;background:#f1f1f3}.operations-tactile-page .tactile-assigned-list{padding:8px;background:#f1f1f3}.operations-tactile-page .tactile-empty-drop{border-radius:15px;background:#fafafa}
.operations-tactile-page .tactile-files-panel{overflow:visible}.operations-tactile-page .tactile-files-sticky-head{position:sticky;top:16px;z-index:35;overflow:visible;border-radius:21px 21px 15px 15px;transition:margin .2s ease,box-shadow .2s ease,transform .2s ease}.operations-tactile-page .tactile-files-sticky-head.is-floating{margin:0 8px;border:1px solid rgba(255,255,255,.68);box-shadow:0 18px 46px rgba(20,36,31,.19),0 2px 8px rgba(20,36,31,.09);backdrop-filter:blur(30px) saturate(1.35)}.operations-tactile-page .tactile-files-sticky-head .department-selector-workspace{border-radius:21px 21px 0 0}.operations-tactile-page .tactile-files-sticky-head .tactile-selected-head{border-radius:0 0 15px 15px}.operations-tactile-page .tactile-files-sticky-head.is-floating .department-selector-workspace{padding:11px 14px 8px;background:rgba(250,250,252,.86)}.operations-tactile-page .tactile-files-sticky-head.is-floating .department-selector-workspace>header{margin-bottom:5px}.operations-tactile-page .tactile-files-sticky-head.is-floating .department-selector-workspace header p{display:none}.operations-tactile-page .tactile-files-sticky-head.is-floating .department-selector-card{min-height:77px;padding:8px 8px 6px;border-radius:13px}.operations-tactile-page .tactile-files-sticky-head.is-floating .department-selector-card strong{font-size:15px}.operations-tactile-page .tactile-files-sticky-head.is-floating .department-card-metrics{padding-top:5px}.operations-tactile-page .tactile-files-sticky-head.is-floating .tactile-selected-head{padding:11px 15px}.operations-tactile-page .tactile-files-sticky-head.is-floating .tactile-selected-head h2{font-size:19px}.operations-tactile-page .tactile-files-sticky-head.is-floating .tactile-selected-head p{display:none}.operations-tactile-page .tactile-files-sticky-head.is-floating .tactile-selected-head>div:last-child span{padding:6px 9px}.operations-tactile-page .department-selector-list{scroll-behavior:smooth;scroll-snap-type:x proximity;overscroll-behavior-inline:contain}.operations-tactile-page .department-selector-card{scroll-snap-align:start}.department-scroll-controls{display:flex;align-items:center;gap:6px}.department-scroll-controls button{display:grid;width:30px;height:30px;padding:0;place-items:center;border:1px solid rgba(60,60,67,.11);border-radius:50%;color:#176b55;background:rgba(245,245,247,.9);cursor:pointer;font:inherit;font-size:20px;font-weight:500;line-height:1;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:transform .15s ease,background .15s ease}.department-scroll-controls button:hover,.department-scroll-controls button:focus-visible{background:#e8f3ef;transform:scale(1.06);outline:2px solid rgba(23,107,85,.16);outline-offset:1px}.department-scroll-controls .counter{min-width:30px;height:30px;padding:0;place-items:center}
.operations-tactile-page .tactile-file-card{min-height:72px;margin:7px 0;padding:7px 11px 7px 7px;border-radius:15px;box-shadow:0 1px 3px rgba(0,0,0,.035);transition:transform .18s cubic-bezier(.2,.7,.25,1),box-shadow .18s ease,border-color .18s ease}.operations-tactile-page .tactile-file-card:hover{transform:translateY(-2px);box-shadow:0 11px 25px rgba(21,62,51,.09)}.operations-tactile-page .tactile-file-card.is-selected{box-shadow:0 0 0 3px rgba(231,168,63,.18),0 11px 25px rgba(21,62,51,.08)}.operations-tactile-page .tactile-select-control{width:23px;height:23px;border-radius:8px}.operations-tactile-page .tactile-drag-handle{width:29px;height:46px;border-radius:10px}.operations-tactile-page .tactile-stop-number,.operations-tactile-page .tactile-add-mark{height:46px;border-radius:11px;font-family:inherit}.operations-tactile-page .tactile-file-ref strong{font-size:13.5px}.operations-tactile-page .operation-stage,.operations-tactile-page .contact-type{border-radius:999px}.operations-tactile-page .tactile-backlog-heading{padding:20px 17px 9px}.operations-tactile-page .tactile-backlog-heading h2{font-size:18px;letter-spacing:-.02em}.operations-tactile-page .tactile-backlog-heading p{font-size:9px}.operations-tactile-page .tactile-backlog{padding:0 8px 12px}.operations-tactile-page .file-action,.operations-tactile-page .stop-time-form input,.operations-tactile-page .stop-time-form .button{border-radius:9px}.operations-tactile-page .round-cockpit{border-radius:26px 0 0 26px}.operations-tactile-page .round-cockpit-head{padding:20px 22px}.operations-tactile-page .round-cockpit-close{border-radius:50%}
.operations-tactile-page .operation-stage.stage-action{display:inline-flex;min-height:28px;margin:0 0 5px;padding:4px 10px 4px 5px;border:1px solid transparent;border-radius:10px;align-items:center;gap:6px;color:#0c5d4a;background:#dcefe9;box-shadow:0 2px 5px rgba(18,73,58,.12),inset 0 1px rgba(255,255,255,.7);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:9px;font-weight:650;letter-spacing:.01em;line-height:1;text-transform:none}.operations-tactile-page .operation-stage.stage-action i{display:grid;width:19px;height:19px;place-items:center;border-radius:7px;color:#fff;background:#16805f;font-size:11px;font-style:normal;font-weight:800;box-shadow:0 2px 4px rgba(13,84,62,.2)}.operations-tactile-page .operation-stage.stage-action.delivery{border-color:#b7ddec;color:#075d78;background:#e7f6fb}.operations-tactile-page .operation-stage.stage-action.delivery i{background:#2385a8}.operations-tactile-page .operation-stage.stage-action.pickup{border-color:#b8dfc7;color:#17643a;background:#e3f4e9}.operations-tactile-page .operation-stage.stage-action.pickup i{background:#2c8b54}.operations-tactile-page .operation-stage.stage-action.is-urgent{border-color:#d92f28;color:#fff;background:linear-gradient(180deg,#ee4c44,#ce2822);box-shadow:0 5px 12px rgba(196,37,31,.25),inset 0 1px rgba(255,255,255,.25)}.operations-tactile-page .operation-stage.stage-action.is-urgent i{color:#cf2721;background:#fff;box-shadow:0 2px 5px rgba(107,14,10,.18)}
.operations-tactile-page .stage-priority-menu{position:relative;width:fit-content;max-width:100%;margin:0 0 5px}.operations-tactile-page .stage-priority-menu>summary{list-style:none}.operations-tactile-page .stage-priority-menu>summary::-webkit-details-marker{display:none}.operations-tactile-page .stage-priority-menu .operation-stage.stage-action{max-width:230px;margin:0;border-color:#d2d7d5;color:#344943;background:linear-gradient(180deg,#f4f5f5,#e4e7e6);box-shadow:0 3px 7px rgba(37,52,48,.14),inset 0 1px #fff;cursor:pointer;user-select:none}.operations-tactile-page .stage-priority-menu .operation-stage.stage-action>i{color:#fff;background:#6f7f7a;box-shadow:0 2px 4px rgba(35,52,47,.18)}.operations-tactile-page .stage-priority-menu .operation-stage.stage-action>span{white-space:nowrap}.operations-tactile-page .stage-priority-menu .operation-stage.stage-action>em{min-width:0;overflow:hidden;padding-left:6px;border-left:1px solid #c7cecb;color:#5d6b67;font-size:8px;font-style:normal;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.operations-tactile-page .stage-priority-menu .operation-stage.stage-action>b{margin-left:1px;color:#71807b;font-size:11px;font-weight:600;transition:transform .18s ease}.operations-tactile-page .stage-priority-menu[open] .operation-stage.stage-action>b{transform:rotate(180deg)}.operations-tactile-page .stage-priority-menu .operation-stage.stage-action.is-urgent{border-color:#d92f28;color:#fff;background:linear-gradient(180deg,#ee4c44,#ce2822);box-shadow:0 5px 12px rgba(196,37,31,.25),inset 0 1px rgba(255,255,255,.25)}.operations-tactile-page .stage-priority-menu .operation-stage.stage-action.is-urgent>i{color:#cf2721;background:#fff}.operations-tactile-page .stage-priority-menu .operation-stage.stage-action.is-urgent>b{color:#fff}.operations-tactile-page .tactile-file-card:has(.stage-priority-menu[open]),.operations-tactile-page .tactile-file-card.has-priority-menu{z-index:55;transform:none;overflow:visible}
.operations-tactile-page .stage-priority-menu .operation-stage.stage-action:not(.is-urgent){border-color:#dfe4e2;color:#263d36;background:linear-gradient(180deg,#fff,#fafbfb);box-shadow:0 3px 8px rgba(37,52,48,.12),inset 0 1px #fff}.operations-tactile-page .stage-priority-menu .operation-stage.stage-action.delivery:not(.is-urgent)>i{background:#2385a8}.operations-tactile-page .stage-priority-menu .operation-stage.stage-action.pickup:not(.is-urgent)>i{background:#2c8b54}
.stage-priority-popover{position:absolute;top:calc(100% + 7px);left:0;z-index:70;width:290px;padding:10px;border:1px solid rgba(60,60,67,.13);border-radius:17px;background:rgba(252,252,253,.97);box-shadow:0 22px 54px rgba(20,37,32,.25),0 3px 10px rgba(20,37,32,.1);backdrop-filter:blur(24px) saturate(1.25);animation:stage-priority-in .16s cubic-bezier(.2,.75,.25,1)}.stage-priority-popover>header{display:flex;justify-content:space-between;gap:8px;padding:2px 3px 9px}.stage-priority-popover>header strong{font-size:11px}.stage-priority-popover>header small{color:#71807b;font-size:8px}.stage-priority-choices{display:grid;grid-template-columns:1fr 1fr;gap:7px}.stage-priority-choices form{margin:0}.stage-priority-choices button{display:grid;width:100%;min-height:52px;grid-template-columns:30px 1fr;align-items:center;gap:7px;padding:7px;border:1px solid #d8dfdc;border-radius:13px;color:#314a43;background:#f0f3f2;cursor:pointer;font:inherit;text-align:left;box-shadow:0 2px 5px rgba(27,53,45,.07)}.stage-priority-choices button>i{display:grid;width:29px;height:29px;grid-row:1/3;place-items:center;border-radius:9px;color:#fff;background:#71817c;font-style:normal;font-weight:800}.stage-priority-choices button>span{display:flex;min-width:0;flex-direction:column}.stage-priority-choices button strong{font-size:9px}.stage-priority-choices button small{color:#77847f;font-size:7px}.stage-priority-choices button.urgent{border-color:#efb1ad;color:#a7201b;background:#fff0ef}.stage-priority-choices button.urgent>i{background:#dc332c}.stage-priority-choices button:hover{filter:brightness(.98);box-shadow:0 6px 13px rgba(27,53,45,.12);transform:translateY(-1px)}.stage-priority-custom{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:7px;margin-top:8px;padding-top:8px;border-top:1px solid #e2e7e5}.stage-priority-custom label{display:flex;min-width:0;flex-direction:column;gap:4px;color:#536660;font-size:8px;font-weight:700}.stage-priority-custom input{width:100%;min-height:38px;padding:7px 9px;border:1px solid #cbd4d1;border-radius:10px;background:#fff;font:inherit;font-size:9px;outline:none}.stage-priority-custom input:focus{border-color:#478b78;box-shadow:0 0 0 3px rgba(23,107,85,.12)}.stage-priority-custom button{min-height:38px;padding:0 10px;border:0;border-radius:10px;color:#fff;background:#176b55;cursor:pointer;font:inherit;font-size:8px;font-weight:700}@keyframes stage-priority-in{from{opacity:.35;filter:blur(3px);transform:translateY(-5px) scale(.98)}to{opacity:1;filter:none;transform:none}}@media(max-width:600px){.stage-priority-popover{position:fixed;right:10px;bottom:12px;left:10px;top:auto;width:auto}.stage-priority-custom{grid-template-columns:1fr}.stage-priority-custom button{min-height:43px}}
@media(min-width:1101px){
    .operations-tactile-page.sidebar-collapsed .tactile-assigned-list{padding:11px 10px 18px;background:radial-gradient(circle at 50% 0,rgba(255,255,255,.84),transparent 44%),#f1f1f3}
    .operations-tactile-page.sidebar-collapsed .tactile-column-labels{width:min(1020px,calc(100% - 28px));margin:0 auto;padding:10px 14px 7px 67px;border-radius:13px 13px 0 0;grid-template-columns:78px minmax(150px,.8fr) 72px minmax(290px,1.4fr) 104px;font-size:8px;letter-spacing:.055em}
    .operations-tactile-page.sidebar-collapsed .tactile-assigned-list>.tactile-file-card{width:min(1020px,calc(100% - 24px));min-height:112px;margin:9px auto;padding:10px 12px 9px 9px;border-color:rgba(60,60,67,.12);border-radius:18px;grid-template-columns:24px 31px 44px minmax(150px,.8fr) 72px minmax(290px,1.4fr) 104px;gap:9px;background-image:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.04));box-shadow:0 3px 12px rgba(18,45,37,.055),inset 0 1px rgba(255,255,255,.86)}
    .operations-tactile-page.sidebar-collapsed .tactile-assigned-list>.tactile-file-card:hover{border-color:rgba(22,107,85,.28);box-shadow:0 15px 34px rgba(18,52,42,.11),inset 0 1px #fff;transform:translateY(-2px) scale(1.002)}
    .operations-tactile-page.sidebar-collapsed .tactile-file-ref strong{font-size:14px;line-height:1.25}.operations-tactile-page.sidebar-collapsed .tactile-file-ref small{margin-top:2px;font-size:8.5px}
    .operations-tactile-page.sidebar-collapsed .tactile-file-weight strong{font-size:13px}.operations-tactile-page.sidebar-collapsed .tactile-file-weight small{font-size:9px}
    .operations-tactile-page.sidebar-collapsed .tactile-file-destination span{font-size:9.5px}.operations-tactile-page.sidebar-collapsed .tactile-file-destination strong{font-size:10.5px;line-height:1.35}
    .operations-tactile-page.sidebar-collapsed .tactile-file-date strong{font-size:9px}.operations-tactile-page.sidebar-collapsed .tactile-file-date small{font-size:8px}
    .operations-tactile-page.sidebar-collapsed .tactile-file-operations{padding:10px 0 1px;gap:9px}.operations-tactile-page.sidebar-collapsed .route-time{font-size:8.5px}.operations-tactile-page.sidebar-collapsed .route-time b{font-size:12px}
    .operations-tactile-page.sidebar-collapsed .file-action{min-height:33px;padding:6px 9px;border-radius:9px;font-size:8.5px}.operations-tactile-page.sidebar-collapsed .stop-time-form label{font-size:8px}.operations-tactile-page.sidebar-collapsed .stop-time-form input{width:158px;min-height:33px;font-size:9px}.operations-tactile-page.sidebar-collapsed .stop-time-form .button{min-height:33px;padding:6px 10px;font-size:8.5px}
}
.operations-tactile-page ::-webkit-scrollbar{width:8px;height:8px}.operations-tactile-page ::-webkit-scrollbar-track{background:transparent}.operations-tactile-page ::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:99px;background:#b9c5c1;background-clip:padding-box}.operations-tactile-page ::-webkit-scrollbar-thumb:hover{background:#91a49d;background-clip:padding-box}@keyframes tactile-apple-rise{from{opacity:.65;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:900px){.operations-tactile-page .tactile-page-header{padding:20px;border-radius:20px}.operations-tactile-page .fleet-types{grid-template-columns:1fr}.operations-tactile-page .tactile-planner{gap:12px}.operations-tactile-page .tactile-rm-panel,.operations-tactile-page .tactile-files-panel{border-radius:19px}.operations-tactile-page .tactile-rm-panel{position:relative;top:auto;max-height:none}.operations-tactile-page .tactile-rm-list{display:flex;overflow-x:auto}.operations-tactile-page .tactile-rm-card-shell{flex:0 0 340px}.operations-tactile-page .tactile-unassign-zone{flex:0 0 270px}.operations-tactile-page .tactile-files-sticky-head{top:70px}}
@media(max-width:700px){.operations-tactile-page .main-content{padding:12px 10px 48px}.operations-tactile-page .tactile-page-header{padding:18px 16px}.operations-tactile-page .tactile-page-header h1{font-size:28px}.operations-tactile-page .tactile-summary{border-radius:18px}.operations-tactile-page .tactile-summary>div{min-height:65px}.operations-tactile-page .tactile-toolbar,.operations-tactile-page .tactile-bulk-toolbar{border-radius:15px}.operations-tactile-page .tactile-rm-card-shell{flex-basis:300px}.operations-tactile-page .tactile-selected-head{padding:13px}.operations-tactile-page .tactile-selected-head>div:last-child span{min-width:72px}.operations-tactile-page .tactile-selected-head>div:last-child .button{width:auto}.operations-tactile-page .tactile-file-card{border-radius:14px}.operations-tactile-page .department-selector-workspace{padding:13px 12px 9px}.operations-tactile-page .department-selector-workspace .department-selector-card{flex-basis:126px;min-height:88px}.operations-tactile-page .tactile-files-sticky-head.is-floating{margin:0 3px}.department-scroll-controls button{width:28px;height:28px}.department-scroll-controls .counter{display:none}}
.operations-tactile-page.operations-department-focus .tactile-files-sticky-head{top:10px}
@media(prefers-reduced-motion:reduce){.operations-tactile-page .main-content,.operations-tactile-page .main-content>*{animation:none!important}.operations-tactile-page,.operations-tactile-page .sidebar,.workspace-view-toggle,.operations-tactile-page .tactile-rm-card,.operations-tactile-page .tactile-file-card,.operations-tactile-page .department-selector-card{transition:none!important}}

/* Barre de commande tactile : raccourcis visibles, contenu métier plein écran */
.operations-shortcut-bar{position:sticky;top:10px;z-index:44;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(210px,310px);align-items:center;gap:10px;margin:0 0 12px;padding:9px 10px;border:1px solid rgba(255,255,255,.82);border-radius:20px;background:rgba(248,250,249,.88);box-shadow:0 14px 38px rgba(11,42,34,.14),inset 0 1px #fff;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",sans-serif;backdrop-filter:blur(28px) saturate(1.35);animation:shortcut-bar-in .3s cubic-bezier(.2,.75,.25,1) both}
.operations-shortcut-title{display:flex;min-width:86px;padding:0 8px;flex-direction:column}.operations-shortcut-title small{color:#71817c;font-size:8px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.operations-shortcut-title strong{margin-top:2px;color:#123b31;font-size:16px;font-weight:760;letter-spacing:-.025em}
.operations-shortcut-actions{display:flex;min-width:0;gap:6px;overflow-x:auto;padding:2px;scrollbar-width:none;overscroll-behavior-inline:contain}.operations-shortcut-actions::-webkit-scrollbar{display:none}.operations-shortcut-actions a,.operations-shortcut-actions button{display:inline-flex;min-height:46px;padding:5px 10px 5px 6px;border:1px solid rgba(60,60,67,.1);border-radius:14px;align-items:center;gap:7px;flex:0 0 auto;color:#173d33;background:rgba(255,255,255,.9);box-shadow:0 2px 7px rgba(16,49,41,.07);cursor:pointer;font:inherit;font-size:9px;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.operations-shortcut-actions a:hover,.operations-shortcut-actions button:hover{background:#fff;box-shadow:0 7px 16px rgba(16,49,41,.12);transform:translateY(-1px)}.operations-shortcut-actions span{display:grid;width:29px;height:29px;place-items:center;border-radius:10px;color:#176b55;background:#e4f2ed;font-size:15px;font-weight:800}.operations-shortcut-actions b{font-weight:650;white-space:nowrap}.operations-shortcut-actions .accent{border-color:#176b55;color:#fff;background:#176b55;box-shadow:0 6px 16px rgba(23,107,85,.22)}.operations-shortcut-actions .accent:hover{background:#105c49}.operations-shortcut-actions .accent span{color:#176b55;background:#fff}
.operations-shortcut-search{display:flex;min-width:0;align-items:center;gap:5px;margin:0}.operations-shortcut-search label{position:relative;display:block;min-width:0;flex:1}.operations-shortcut-search label>span{position:absolute;top:50%;left:11px;z-index:1;color:#176b55;font-size:16px;transform:translateY(-50%)}.operations-shortcut-search input{width:100%;min-height:44px;padding:0 11px 0 32px;border:1px solid rgba(60,60,67,.13);border-radius:13px;background:rgba(255,255,255,.92);font:inherit;font-size:9px;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.025)}.operations-shortcut-search input:focus{border-color:#4c9d88;box-shadow:0 0 0 3px rgba(23,107,85,.12)}.operations-shortcut-search button{min-width:44px;min-height:44px;padding:0 10px;border:0;border-radius:13px;color:#fff;background:#76a900;cursor:pointer;font:inherit;font-size:10px;font-weight:750;box-shadow:0 5px 12px rgba(80,125,0,.2)}
@keyframes shortcut-bar-in{from{opacity:.55;filter:blur(4px);transform:translateY(-9px) scale(.992)}to{opacity:1;filter:none;transform:none}}
@media(min-width:1101px){
    .operations-tactile-page.sidebar-collapsed .main-content{padding-top:10px}
    .operations-tactile-page.sidebar-collapsed .tactile-page-header,.operations-tactile-page.sidebar-collapsed .position-color-legend,.operations-tactile-page.sidebar-collapsed .fleet-overview,.operations-tactile-page.sidebar-collapsed .fleet-dispatch,.operations-tactile-page.sidebar-collapsed .sector-switch,.operations-tactile-page.sidebar-collapsed .tactile-summary,.operations-tactile-page.sidebar-collapsed .tactile-toolbar,.operations-tactile-page.sidebar-collapsed .tactile-feedback{display:none}
    .operations-tactile-page.sidebar-collapsed .tactile-bulk-toolbar:not(.has-selection){display:none}
    .operations-tactile-page.sidebar-collapsed .operations-shortcut-bar{top:10px;padding-left:158px}
    .operations-tactile-page.sidebar-collapsed .tactile-rm-panel{top:78px;max-height:calc(100vh - 90px)}
    .operations-tactile-page.sidebar-collapsed .tactile-rm-list{max-height:calc(100vh - 151px)}
    .operations-tactile-page.sidebar-collapsed .tactile-files-sticky-head{top:78px}
}
@media(max-width:1250px){.operations-shortcut-bar{grid-template-columns:auto minmax(0,1fr)}.operations-shortcut-search{grid-column:1/-1}.operations-shortcut-search input{font-size:11px}}
@media(min-width:1101px) and (max-width:1250px){.operations-tactile-page.sidebar-collapsed .tactile-rm-panel,.operations-tactile-page.sidebar-collapsed .tactile-files-sticky-head{top:128px}.operations-tactile-page.sidebar-collapsed .tactile-rm-panel{max-height:calc(100vh - 140px)}.operations-tactile-page.sidebar-collapsed .tactile-rm-list{max-height:calc(100vh - 201px)}}
@media(max-width:700px){.operations-shortcut-bar{top:6px;grid-template-columns:1fr;padding:8px;border-radius:17px}.operations-shortcut-title{display:none}.operations-shortcut-actions a,.operations-shortcut-actions button{min-height:44px}.operations-shortcut-search{grid-column:auto}.operations-shortcut-search input{min-height:42px}}
@media(prefers-reduced-motion:reduce){.operations-shortcut-bar{animation:none}.operations-shortcut-actions a,.operations-shortcut-actions button{transition:none}}

/* Demande de réception temporaire et d'entretien */
.buyer-dealer-reception{display:flex;gap:3px;margin-top:14px;padding:10px;border-left:3px solid #e8a82f;flex-direction:column;color:#5c4930;background:#fff8e7;font-size:.76rem;line-height:1.4}.buyer-dealer-reception strong{color:#173c32;font-size:.78rem}.buyer-dealer-actions{display:grid;gap:7px;margin-top:auto;padding-top:15px}.buyer-dealer-route,.buyer-dealer-inquiry{display:flex;min-height:34px;align-items:center;justify-content:center;border-radius:9px;font-size:.78rem;font-weight:900;text-align:center;text-decoration:none}.buyer-dealer-route{margin:0;padding:7px 10px;border:1px solid #c9d9d3;color:#0b755d;background:#fff}.buyer-dealer-inquiry{padding:7px 10px;color:#fff;background:#17604d}.buyer-dealer-inquiry:hover{background:#123f35}

/* Profils métier et autorisations du carnet d'adresses */
.profile-status-cdt{background:#197255!important;color:#fff!important}.profile-status-gtt{background:#e58c18!important;color:#fff!important}.profile-status-gtl{background:#246bb2!important;color:#fff!important}.profile-status-adg{background:#c52f3e!important;color:#fff!important}.profile-status-dra{background:#cf4d91!important;color:#fff!important}.profile-status-ccs{background:#176b55!important;color:#fff!important}.profile-status-vpa{background:#7254a6!important;color:#fff!important}.profile-status-acp{background:#167c82!important;color:#fff!important}.profile-status-vpr{background:#46535f!important;color:#fff!important}
.sidebar-profile-code{display:inline-flex!important;margin-right:4px;padding:2px 5px;border-radius:5px;color:#fff;font-size:.57rem;font-weight:950;letter-spacing:.05em;vertical-align:1px}.profile-page-header{display:flex;align-items:stretch;justify-content:space-between;gap:18px}.profile-status-card{display:grid;min-width:220px;padding:17px 21px;border-radius:16px;align-content:center;box-shadow:0 12px 28px rgba(20,50,42,.12)}.profile-status-card span{font-size:.66rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;opacity:.82}.profile-status-card strong{font-size:1.7rem;line-height:1.15}.profile-status-card small{font-size:.75rem;font-weight:750}.assigned-task-panel{display:grid;margin:0 0 18px;padding:20px 24px;grid-template-columns:minmax(220px,.55fr) 1fr;align-items:center;gap:18px}.assigned-task-panel h2{margin:4px 0 0}.assigned-task-list{display:flex;flex-wrap:wrap;gap:8px}.assigned-task-list span{padding:8px 10px;border:1px solid #cfe0da;border-radius:9px;color:#155745;background:#f2f9f6;font-size:.73rem;font-weight:780}.profile-password-card{margin-top:18px;padding:24px}.security-lock{display:grid;width:43px;height:43px;place-items:center;border-radius:13px;color:#fff;background:#173c32}.password-rule{margin:13px 0;color:#65716d;font-size:.76rem;line-height:1.5}
.address-scope-summary{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px;margin:0 0 14px}.address-scope-card{display:grid;padding:15px 18px;border:1px solid #d8e2df;border-radius:15px;grid-template-columns:48px 1fr;align-items:center;gap:12px;color:#173c32;background:#fff;text-decoration:none}.address-scope-card>span{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;color:#fff;background:#52605c;font-size:.69rem;font-weight:950;letter-spacing:.06em}.address-scope-card strong,.address-scope-card small{display:block}.address-scope-card small{margin-top:3px;color:#73807c;font-size:.72rem}.address-scope-card.active{border-color:#0b755d;background:#edf8f4;box-shadow:inset 0 0 0 1px #0b755d}.address-scope-card.active>span{background:#0b755d}.address-book-toolbar form{grid-template-columns:minmax(260px,1fr) minmax(190px,.65fr) minmax(190px,.65fr) auto auto}.profile-code-badge{display:inline-flex;max-width:260px;padding:8px 11px;border-radius:10px;align-items:center;font-size:.65rem;font-weight:950;letter-spacing:.035em;text-align:center}.internal-assignment-card{margin:18px 0;padding:20px;border:1px solid #dce4e1;border-radius:15px;background:#f7faf9}.internal-assignment-card>div:first-child{display:grid;grid-template-columns:1fr;gap:2px}.internal-assignment-card h3{margin:2px 0;font-size:1.1rem}.internal-assignment-card p{margin:0 0 14px;color:#64706c;font-size:.76rem}.internal-assignment-card>label{display:block;max-width:390px}.internal-permission-grid{display:grid;margin-top:13px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.internal-permission-grid label{cursor:pointer}.internal-permission-grid input{position:absolute;width:1px;height:1px;opacity:0}.internal-permission-grid span{display:flex;min-height:58px;padding:10px 12px;border:1px solid #d6e0dd;border-radius:10px;flex-direction:column;justify-content:center;background:#fff}.internal-permission-grid input:checked+span{border-color:#176b55;background:#e9f6f1;box-shadow:inset 0 0 0 1px #176b55}.internal-permission-grid input:disabled+span{cursor:not-allowed;opacity:.68}.internal-permission-grid b{font-size:.73rem}.internal-permission-grid small{margin-top:2px;color:#7b8682;font-size:.61rem}.address-contact-icon{letter-spacing:.03em}
@media(max-width:1150px){.address-book-toolbar form{grid-template-columns:1fr 1fr}.assigned-task-panel{grid-template-columns:1fr}}
@media(max-width:700px){.profile-page-header{flex-direction:column}.profile-status-card{min-width:0}.address-scope-summary{grid-template-columns:1fr}.internal-permission-grid{grid-template-columns:1fr}.profile-password-card{padding:19px}}
.honda-source-note{border-left-color:#cc1f26;background:#fff4f4}.honda-directory-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin-top:18px;padding:24px;border-top:4px solid #cc1f26}.honda-directory-card h2{margin:5px 0 8px}.honda-directory-card p{max-width:700px;margin:0;color:#68736f;line-height:1.55}.honda-directory-status{display:grid;min-width:210px;justify-items:end;gap:3px}.honda-directory-status>strong{color:#cc1f26;font-size:2rem;line-height:1}.honda-directory-status span{font-size:.78rem;font-weight:800}.honda-directory-status small{margin-bottom:10px;color:#77817e;font-size:.68rem}@media(max-width:700px){.honda-directory-card{grid-template-columns:1fr}.honda-directory-status{justify-items:start}}
.honda-dealer-icon{overflow:hidden;background:#e40521!important;box-shadow:inset 0 0 0 1px rgba(150,0,12,.28)}.honda-dealer-icon img{display:block;width:100%;height:100%;object-fit:cover}.honda-profile-badge{background:#e40521!important;color:#fff!important}
.address-contact-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.address-contact-title .honda-dealer-name{display:inline;color:#d60016}.honda-official-token{display:inline-flex;min-height:20px;padding:3px 7px;border:1px solid #efabb2;border-radius:999px;align-items:center;gap:4px;color:#b80012;background:#fff2f3;font-size:.6rem;font-weight:900;line-height:1;white-space:nowrap}.honda-official-token>span{display:grid;width:13px;height:13px;border-radius:50%;place-items:center;color:#fff;background:#e40521;font-size:.52rem}@media(max-width:700px){.honda-official-token{white-space:normal}}
.kawasaki-source-note{border-left-color:#69be28;background:#f3faec}.kawasaki-directory-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin-top:18px;padding:24px;border-top:4px solid #69be28;background:linear-gradient(135deg,#f8fff3 0%,#fff 64%)}.kawasaki-directory-card h2{margin:5px 0 8px;color:#347f12}.kawasaki-directory-card p{max-width:700px;margin:0;color:#68736f;line-height:1.55}.kawasaki-directory-status{display:grid;min-width:210px;justify-items:end;gap:3px}.kawasaki-directory-status>strong{color:#4ea91d;font-size:2rem;line-height:1}.kawasaki-directory-status span{font-size:.78rem;font-weight:800}.kawasaki-directory-status small{margin-bottom:10px;color:#77817e;font-size:.68rem}.kawasaki-directory-status .button{border-color:#69be28;color:#286b0b;background:#f4ffed}.kawasaki-dealer-icon{overflow:hidden;background:#69be28!important;box-shadow:inset 0 0 0 1px rgba(39,111,8,.3)}.kawasaki-dealer-icon img{display:block;width:92%;height:92%;padding:5px 3px;object-fit:contain}.kawasaki-profile-badge{background:#69be28!important;color:#103405!important}.address-contact-title .kawasaki-dealer-name{display:inline;color:#429a18}.kawasaki-official-token{display:inline-flex;min-height:20px;padding:3px 7px;border:1px solid #9fdc7c;border-radius:999px;align-items:center;gap:4px;color:#347f12;background:#f1faeb;font-size:.6rem;font-weight:900;line-height:1;white-space:nowrap}.kawasaki-official-token>span{display:grid;width:13px;height:13px;border-radius:50%;place-items:center;color:#fff;background:#69be28;font-size:.52rem}@media(max-width:700px){.kawasaki-directory-card{grid-template-columns:1fr}.kawasaki-directory-status{justify-items:start}.kawasaki-official-token{white-space:normal}}
.suzuki-source-note{border-left-color:#d3002b;background:linear-gradient(90deg,#fff3f5 0%,#f2f6ff 100%)}.suzuki-directory-card{position:relative;display:grid;overflow:hidden;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin-top:18px;padding:28px 24px 24px;background:linear-gradient(135deg,#fff7f8 0%,#fff 46%,#f3f6fc 100%)}.suzuki-directory-card:before{position:absolute;top:0;right:0;left:0;height:4px;background:linear-gradient(90deg,#d3002b 0 34%,#002a7f 66% 100%);content:""}.suzuki-directory-card h2{margin:5px 0 8px;background:linear-gradient(90deg,#d3002b 0 30%,#002a7f 58%);-webkit-background-clip:text;background-clip:text;color:transparent}.suzuki-directory-card p{max-width:700px;margin:0;color:#68736f;line-height:1.55}.suzuki-directory-status{display:grid;min-width:210px;justify-items:end;gap:3px}.suzuki-directory-status>strong{background:linear-gradient(90deg,#d3002b 0 42%,#002a7f 58%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:2rem;line-height:1}.suzuki-directory-status span{font-size:.78rem;font-weight:800}.suzuki-directory-status small{margin-bottom:10px;color:#77817e;font-size:.68rem}.suzuki-directory-status .button{border-color:#a7b1cb;color:#002a7f;background:#f7f9ff}.suzuki-dealer-icon{overflow:hidden;background:#fff!important;box-shadow:inset 3px 0 #d3002b,inset -3px 0 #002a7f,inset 0 0 0 1px #d9dee8}.suzuki-dealer-icon img{display:block;width:94%;height:94%;padding:6px 4px;object-fit:contain}.suzuki-profile-badge{background:linear-gradient(110deg,#d3002b 0 33%,#002a7f 34% 100%)!important;color:#fff!important}.address-contact-title .suzuki-dealer-name{display:inline;background:linear-gradient(90deg,#d3002b 0 44%,#002a7f 56% 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.suzuki-official-token{display:inline-flex;min-height:20px;padding:3px 7px;border:1px solid #aeb8d2;border-radius:999px;align-items:center;gap:4px;color:#002a7f;background:#f7f9ff;font-size:.6rem;font-weight:900;line-height:1;white-space:nowrap}.suzuki-official-token>span{display:grid;width:13px;height:13px;border-radius:50%;place-items:center;color:#fff;background:#d3002b;font-size:.52rem}@media(max-width:700px){.suzuki-directory-card{grid-template-columns:1fr}.suzuki-directory-status{justify-items:start}.suzuki-official-token{white-space:normal}}
.ktm-source-note{border-left-color:#f60;background:#fff5ed}.ktm-directory-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin-top:18px;padding:24px;border-top:4px solid #f60;background:linear-gradient(135deg,#fff4eb 0%,#fff 66%)}.ktm-directory-card h2{margin:5px 0 8px;color:#e45b00}.ktm-directory-card p{max-width:700px;margin:0;color:#68736f;line-height:1.55}.ktm-directory-status{display:grid;min-width:210px;justify-items:end;gap:3px}.ktm-directory-status>strong{color:#f60;font-size:2rem;line-height:1}.ktm-directory-status span{font-size:.78rem;font-weight:800}.ktm-directory-status small{margin-bottom:10px;color:#77817e;font-size:.68rem}.ktm-directory-status .button{border-color:#f60;color:#bd4b00;background:#fff7f1}.ktm-dealer-icon{overflow:hidden;background:#f60!important;box-shadow:inset 0 0 0 1px rgba(122,48,0,.28)}.ktm-dealer-icon img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 27%}.ktm-profile-badge{background:#f60!important;color:#171717!important}.address-contact-title .ktm-dealer-name{display:inline;color:#f06000}.ktm-official-token{display:inline-flex;min-height:20px;padding:3px 7px;border:1px solid #ffb27f;border-radius:999px;align-items:center;gap:4px;color:#bd4b00;background:#fff4eb;font-size:.6rem;font-weight:900;line-height:1;white-space:nowrap}.ktm-official-token>span{display:grid;width:13px;height:13px;border-radius:50%;place-items:center;color:#171717;background:#f60;font-size:.52rem}@media(max-width:700px){.ktm-directory-card{grid-template-columns:1fr}.ktm-directory-status{justify-items:start}.ktm-official-token{white-space:normal}}
.yamaha-source-note{border-left-color:#07569c;background:#eef7ff}.yamaha-directory-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin-top:18px;padding:24px;border-top:4px solid #07569c;background:linear-gradient(135deg,#edf7ff 0%,#fff 66%)}.yamaha-directory-card h2{margin:5px 0 8px;color:#07569c}.yamaha-directory-card p{max-width:760px;margin:0;color:#68736f;line-height:1.55}.yamaha-directory-status{display:grid;min-width:210px;justify-items:end;gap:3px}.yamaha-directory-status>strong{color:#07569c;font-size:2rem;line-height:1}.yamaha-directory-status span{font-size:.78rem;font-weight:800}.yamaha-directory-status small{margin-bottom:10px;color:#77817e;font-size:.68rem}.yamaha-directory-status .button{border-color:#2777ba;color:#064a84;background:#f3f9ff}.yamaha-dealer-icon{overflow:hidden;background:#fff!important;box-shadow:inset 0 0 0 2px #07569c}.yamaha-dealer-icon img{display:block;width:100%;height:100%;padding:2px;object-fit:contain}.yamaha-profile-badge{background:#07569c!important;color:#fff!important}.address-contact-title .yamaha-dealer-name{display:inline;color:#07569c}.yamaha-official-token{display:inline-flex;min-height:20px;padding:3px 7px;border:1px solid #8ab9df;border-radius:999px;align-items:center;gap:4px;color:#07569c;background:#eef7ff;font-size:.6rem;font-weight:900;line-height:1;white-space:nowrap}.yamaha-official-token>span{display:grid;width:13px;height:13px;border-radius:50%;place-items:center;color:#fff;background:#07569c;font-size:.52rem}.dealer-network-metadata{margin:20px 0;padding:18px;border:1px solid #d9e3df;border-radius:16px;background:#f8faf9}.dealer-network-metadata>div:first-child{margin-bottom:14px}.dealer-network-metadata h3{margin:4px 0 5px}.dealer-network-metadata p{margin:0;color:#68736f;font-size:.82rem}.dealer-network-metadata textarea{min-height:120px;resize:vertical}.dealer-network-metadata label small{display:block;margin-top:6px;color:#68736f;font-size:.72rem;line-height:1.4}.yamaha-network-metadata{border-color:#b8d6ed;background:#f3f9ff}@media(max-width:700px){.yamaha-directory-card{grid-template-columns:1fr}.yamaha-directory-status{justify-items:start}.yamaha-official-token{white-space:normal}}
.piaggio-source-note{border-left-color:#009fe3;background:linear-gradient(90deg,#eefaff 0%,#f1f6fb 100%)}.piaggio-directory-card{position:relative;display:grid;overflow:hidden;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin-top:18px;padding:28px 24px 24px;background:linear-gradient(135deg,#edfaff 0%,#fff 48%,#eef4f9 100%)}.piaggio-directory-card:before{position:absolute;top:0;right:0;left:0;height:4px;background:linear-gradient(90deg,#009fe3 0 45%,#00529b 55% 100%);content:""}.piaggio-directory-card h2{margin:5px 0 8px;background:linear-gradient(90deg,#009fe3 0 42%,#00529b 58%);-webkit-background-clip:text;background-clip:text;color:transparent}.piaggio-directory-card p{max-width:760px;margin:0;color:#68736f;line-height:1.55}.piaggio-directory-status{display:grid;min-width:210px;justify-items:end;gap:3px}.piaggio-directory-status>strong{background:linear-gradient(90deg,#009fe3 0 44%,#00529b 56%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:2rem;line-height:1}.piaggio-directory-status span{font-size:.78rem;font-weight:800}.piaggio-directory-status small{margin-bottom:10px;color:#77817e;font-size:.68rem}.piaggio-directory-status .button{border-color:#70bee0;color:#00529b;background:#f1faff}.piaggio-dealer-icon{overflow:hidden;background:#fff!important;box-shadow:inset 3px 0 #009fe3,inset -3px 0 #00529b,inset 0 0 0 1px #c8dbe7}.piaggio-dealer-icon img{display:block;width:100%;height:100%;padding:6px 3px;object-fit:contain}.piaggio-profile-badge{background:linear-gradient(110deg,#009fe3 0 45%,#00529b 55% 100%)!important;color:#fff!important}.address-contact-title .piaggio-dealer-name{display:inline;background:linear-gradient(90deg,#009fe3 0 44%,#00529b 56% 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.piaggio-official-token{display:inline-flex;min-height:20px;padding:3px 7px;border:1px solid #8ccce7;border-radius:999px;align-items:center;gap:4px;color:#00529b;background:#eefaff;font-size:.6rem;font-weight:900;line-height:1;white-space:nowrap}.piaggio-official-token>span{display:grid;width:13px;height:13px;border-radius:50%;place-items:center;color:#fff;background:linear-gradient(135deg,#009fe3,#00529b);font-size:.52rem}.piaggio-network-metadata{border-color:#a9d9ed;background:linear-gradient(135deg,#f2fbff,#f7fafc)}@media(max-width:700px){.piaggio-directory-card{grid-template-columns:1fr}.piaggio-directory-status{justify-items:start}.piaggio-official-token{white-space:normal}}
.royal-enfield-source-note{border-left-color:#d9232e;background:#fff5f0}.royal-enfield-directory-card{position:relative;display:grid;overflow:hidden;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin-top:18px;padding:28px 24px 24px;background:linear-gradient(135deg,#fff5ef 0%,#fff 50%,#fff9df 100%)}.royal-enfield-directory-card:before{position:absolute;top:0;right:0;left:0;height:4px;background:linear-gradient(90deg,#d9232e 0 55%,#f2aa00 55% 100%);content:""}.royal-enfield-directory-card h2{margin:5px 0 8px;color:#b71923}.royal-enfield-directory-card p{max-width:790px;margin:0;color:#68736f;line-height:1.55}.royal-enfield-directory-status{display:grid;min-width:230px;justify-items:end;gap:3px}.royal-enfield-directory-status>strong{color:#d9232e;font-size:2rem;line-height:1}.royal-enfield-directory-status span{font-size:.78rem;font-weight:800}.royal-enfield-directory-status small{margin-bottom:10px;color:#77817e;font-size:.68rem}.royal-enfield-directory-status .button{border-color:#dc8c91;color:#ad141e;background:#fff8f3}.royal-enfield-dealer-icon{overflow:hidden;background:#fff!important;box-shadow:inset 3px 0 #d9232e,inset -3px 0 #f2aa00,inset 0 0 0 1px #e4d2c4}.royal-enfield-dealer-icon img{display:block;width:100%;height:100%;padding:6px 3px;object-fit:contain}.royal-enfield-profile-badge{background:linear-gradient(110deg,#d9232e 0 68%,#f2aa00 69% 100%)!important;color:#fff!important}.address-contact-title .royal-enfield-dealer-name{display:inline;color:#c61d28}.royal-enfield-official-token{display:inline-flex;min-height:20px;padding:3px 7px;border:1px solid #e5a1a5;border-radius:999px;align-items:center;gap:4px;color:#ad141e;background:#fff3f0;font-size:.6rem;font-weight:900;line-height:1;white-space:nowrap}.royal-enfield-official-token>span{display:grid;width:13px;height:13px;border-radius:50%;place-items:center;color:#fff;background:#d9232e;font-size:.52rem}.royal-enfield-france-flag{display:inline-flex;min-height:20px;padding:3px 7px;border:1px solid #b9c9e6;border-radius:999px;align-items:center;gap:4px;color:#173c79;background:#f7f9ff;font-size:.6rem;font-weight:900;line-height:1;white-space:nowrap}.royal-enfield-france-flag>span{font-size:.82rem}.royal-enfield-network-metadata{border-color:#e7bab4;background:linear-gradient(135deg,#fff8f4,#fffcf0)}@media(max-width:700px){.royal-enfield-directory-card{grid-template-columns:1fr}.royal-enfield-directory-status{justify-items:start}.royal-enfield-official-token,.royal-enfield-france-flag{white-space:normal}}
.ducati-source-note{border-left-color:#d71920;color:#24322e;background:linear-gradient(100deg,#eef3f0,#fff6f6)}.ducati-directory-card{position:relative;display:grid;overflow:hidden;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin-top:18px;padding:32px 26px 26px;border:1px solid #41514b;color:#fff;background:linear-gradient(145deg,#34443f 0%,#202c28 48%,#111916 100%);box-shadow:inset 1px 1px 0 rgba(255,255,255,.13),inset -8px -10px 22px rgba(0,0,0,.3),0 15px 28px rgba(17,32,27,.2)}.ducati-directory-card:before{position:absolute;top:0;right:0;left:0;height:8px;background:linear-gradient(90deg,#168148 0 33.33%,#f7f4eb 33.33% 66.66%,#d71920 66.66% 100%);box-shadow:0 2px 6px rgba(0,0,0,.42);content:""}.ducati-directory-card:after{position:absolute;top:11px;right:12px;left:12px;border-top:1px dashed rgba(255,255,255,.42);content:""}.ducati-directory-card .eyebrow{color:#b9c9c2}.ducati-directory-card h2{margin:5px 0 8px;background:linear-gradient(180deg,#ff7680 0%,#ff2338 40%,#c50022 62%,#ff5260 82%,#8d0016 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 1px rgba(0,0,0,.7))}.ducati-directory-card p{max-width:790px;margin:0;color:#e1ebe7;line-height:1.55}.ducati-directory-card p strong{color:#fff}.ducati-directory-status{display:grid;min-width:230px;justify-items:end;gap:3px}.ducati-directory-status>strong{background:linear-gradient(180deg,#ff7a85,#e00b2c 55%,#ff4355);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:2rem;line-height:1;filter:drop-shadow(0 2px 1px #070b09)}.ducati-directory-status span{color:#fff;font-size:.78rem;font-weight:850}.ducati-directory-status small{margin-bottom:10px;color:#b9c9c2;font-size:.68rem}.ducati-directory-status .button{border-color:#d71920;color:#fff;background:linear-gradient(180deg,#df2338,#a9001d);box-shadow:inset 0 1px rgba(255,255,255,.25),0 4px 9px rgba(0,0,0,.28)}.ducati-contact-row{position:relative;overflow:hidden;border-color:#45554f!important;color:#fff!important;background:linear-gradient(145deg,#33433e,#17211e)!important;box-shadow:inset 1px 1px rgba(255,255,255,.12),inset -5px -5px 12px rgba(0,0,0,.22)}.ducati-contact-row:before{position:absolute;top:0;bottom:0;left:0;width:4px;background:linear-gradient(180deg,#12824a 0 33%,#fff 33% 66%,#d71920 66%);content:""}.ducati-contact-row small,.ducati-contact-row em,.ducati-contact-row>b{color:#dce8e3!important}.ducati-contact-row.active{outline:2px solid #d71920;outline-offset:-2px}.ducati-dealer-icon{overflow:hidden;border:1px solid #7b8984;background:#202c28!important;box-shadow:inset 1px 1px rgba(255,255,255,.14),0 3px 8px rgba(0,0,0,.42)}.ducati-dealer-icon img{display:block;width:100%;height:100%;object-fit:cover}.ducati-profile-badge{border:1px solid #6e7e78;background:linear-gradient(145deg,#34443f,#17211e)!important;color:#fff!important;box-shadow:inset 1px 1px rgba(255,255,255,.16),inset -3px -3px 7px rgba(0,0,0,.3)}.address-contact-title .ducati-dealer-name{display:inline;background:linear-gradient(180deg,#ff7f88 0%,#ff263c 45%,#bc001e 65%,#ff5160 88%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px rgba(0,0,0,.75))}.ducati-official-token{position:relative;display:inline-flex;overflow:hidden;min-height:22px;padding:3px 9px 5px;border:1px solid #82918c;border-radius:999px;align-items:center;gap:5px;color:#f5f8f7;background:#26342f;font-size:.6rem;font-weight:900;line-height:1;white-space:nowrap;box-shadow:inset 1px 1px rgba(255,255,255,.13),0 2px 5px rgba(0,0,0,.28)}.ducati-official-token:after{position:absolute;right:0;bottom:0;left:0;height:3px;background:linear-gradient(90deg,#168148 0 33%,#fff 33% 66%,#d71920 66%);content:""}.ducati-official-token>span{display:grid;width:13px;height:13px;border-radius:50%;place-items:center;color:#fff;background:#d71920;font-size:.52rem}.ducati-network-metadata{border-color:#7b8984;background:linear-gradient(145deg,#eff4f1,#f9fbfa);box-shadow:inset 2px 2px #fff,inset -3px -3px 8px #ced8d3}@media(max-width:700px){.ducati-directory-card{grid-template-columns:1fr}.ducati-directory-status{justify-items:start}.ducati-official-token{white-space:normal}}
.peugeot-source-note{border-left-color:#4bbbe8;background:linear-gradient(90deg,#edfaff,#fff8d9)}.peugeot-directory-card{position:relative;display:grid;overflow:hidden;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin-top:18px;padding:31px 26px 25px;border:1px solid #1b2930;color:#fff;background:linear-gradient(145deg,#202a2f 0%,#090d0f 52%,#17242a 100%);box-shadow:inset 1px 1px rgba(255,255,255,.16),inset -7px -9px 20px rgba(0,0,0,.42),0 14px 26px rgba(4,12,16,.24)}.peugeot-directory-card:before{position:absolute;top:0;right:0;left:0;height:8px;background:linear-gradient(90deg,#164194 0 33.33%,#fff 33.33% 66.66%,#e41f2f 66.66% 100%);box-shadow:0 2px 7px rgba(0,0,0,.48);content:""}.peugeot-directory-card:after{position:absolute;top:12px;right:13px;left:13px;border-top:2px dashed #a57500;content:""}.peugeot-directory-card .eyebrow{color:#6dccf1}.peugeot-directory-card h2{margin:5px 0 8px;background:linear-gradient(90deg,#fff 0 24%,#55c9f4 25% 61%,#b88700 62% 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 1px #000)}.peugeot-directory-card p{max-width:790px;margin:0;color:#eaf2f5;line-height:1.55}.peugeot-directory-card p strong{color:#ffd65d}.peugeot-directory-status{display:grid;min-width:230px;justify-items:end;gap:3px}.peugeot-directory-status>strong{background:linear-gradient(180deg,#8adfff,#32afe2 55%,#d2a31e 56% 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:2rem;line-height:1;filter:drop-shadow(0 2px 1px #000)}.peugeot-directory-status span{color:#fff;font-size:.78rem;font-weight:850}.peugeot-directory-status small{margin-bottom:10px;color:#b9cbd3;font-size:.68rem}.peugeot-directory-status .button{border-color:#61c7ee;color:#081116;background:linear-gradient(180deg,#79d7f7,#3eb9e8 58%,#c69b1a);box-shadow:inset 0 1px rgba(255,255,255,.55),0 4px 9px rgba(0,0,0,.3)}.peugeot-contact-row{position:relative;overflow:hidden;border-color:#1f4859!important;color:#fff!important;background:linear-gradient(145deg,#17272e,#070b0d)!important;box-shadow:inset 1px 1px rgba(255,255,255,.13),inset -5px -5px 12px rgba(0,0,0,.3)}.peugeot-contact-row:before{position:absolute;top:0;bottom:0;left:0;width:5px;background:linear-gradient(180deg,#164194 0 33%,#fff 33% 66%,#e41f2f 66%);content:""}.peugeot-contact-row small,.peugeot-contact-row em,.peugeot-contact-row>b{color:#cfdee4!important}.peugeot-contact-row.active{outline:2px solid #54c8f1;outline-offset:-2px}.peugeot-dealer-icon{overflow:hidden;border:1px solid #3b6575;background:#050708!important;box-shadow:inset 1px 1px rgba(255,255,255,.18),0 3px 8px rgba(0,0,0,.45)}.peugeot-dealer-icon img{display:block;width:100%;height:100%;object-fit:cover}.peugeot-profile-badge{border:1px solid #68caee;background:linear-gradient(145deg,#17272e,#050809)!important;color:#fff!important;box-shadow:inset 1px 1px rgba(255,255,255,.16),inset -3px -3px 7px rgba(0,0,0,.35)}.address-contact-title .peugeot-dealer-name{display:inline;background:linear-gradient(90deg,#0c1114 0 18%,#70d4f7 27% 68%,#a87800 78% 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px rgba(255,255,255,.22))}.peugeot-official-token,.peugeot-france-flag{display:inline-flex;min-height:21px;padding:3px 8px;border:1px solid #61c7ed;border-radius:999px;align-items:center;gap:5px;color:#bfeeff;background:#101b20;font-size:.6rem;font-weight:900;line-height:1;white-space:nowrap;box-shadow:inset 1px 1px rgba(255,255,255,.1),0 2px 5px rgba(0,0,0,.25)}.peugeot-official-token>span{display:grid;width:13px;height:13px;border-radius:50%;place-items:center;color:#10171a;background:#d3a529;font-size:.52rem}.peugeot-france-flag{border-color:#748bbd;color:#fff;background:#131b20}.peugeot-france-flag>span{font-size:.82rem}.peugeot-network-metadata{border-color:#82cfe9;background:linear-gradient(135deg,#effaff,#fff9df);box-shadow:inset 2px 2px #fff,inset -3px -3px 8px #d1dadd}@media(max-width:700px){.peugeot-directory-card{grid-template-columns:1fr}.peugeot-directory-status{justify-items:start}.peugeot-official-token,.peugeot-france-flag{white-space:normal}}
.cfmoto-source-note{border-left-color:#00a7b5;background:linear-gradient(90deg,#e8fbfd,#f8feff)}.cfmoto-directory-card{position:relative;display:grid;overflow:hidden;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin-top:18px;padding:29px 25px 24px;border:1px solid #74d2d9;background:linear-gradient(145deg,#f7feff 0%,#e8fbfd 48%,#fff 100%);box-shadow:inset 0 1px #fff,0 13px 26px rgba(0,128,142,.14)}.cfmoto-directory-card:before{position:absolute;top:0;right:0;left:0;height:7px;background:linear-gradient(90deg,#007f8c,#00a7b5 45%,#24c7d1 72%,#006974);content:""}.cfmoto-directory-card:after{position:absolute;right:-85px;bottom:-105px;width:245px;height:245px;border:34px solid rgba(0,167,181,.08);border-radius:50%;content:""}.cfmoto-directory-card .eyebrow{color:#007f8c}.cfmoto-directory-card h2{margin:5px 0 8px;color:#00a7b5;letter-spacing:-.025em;text-shadow:0 1px #fff,0 2px 0 rgba(0,105,116,.18)}.cfmoto-directory-card p{position:relative;z-index:1;max-width:790px;margin:0;color:#475d61;line-height:1.55}.cfmoto-directory-card p strong{color:#007b87}.cfmoto-directory-status{position:relative;z-index:1;display:grid;min-width:230px;justify-items:end;gap:3px}.cfmoto-directory-status>strong{background:linear-gradient(180deg,#2dd1da,#00a7b5 58%,#00717d);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:2rem;line-height:1}.cfmoto-directory-status span{color:#123b40;font-size:.78rem;font-weight:850}.cfmoto-directory-status small{margin-bottom:10px;color:#5c7c80;font-size:.68rem}.cfmoto-directory-status .button{border-color:#00a7b5;color:#fff;background:linear-gradient(180deg,#18bdc8,#008b98);box-shadow:inset 0 1px rgba(255,255,255,.35),0 4px 9px rgba(0,119,131,.2)}.cfmoto-contact-row{position:relative;overflow:hidden;border-color:#9fdee3!important;background:linear-gradient(135deg,#f7feff,#eafcfd)!important;box-shadow:inset 1px 1px #fff}.cfmoto-contact-row:before{position:absolute;top:0;bottom:0;left:0;width:5px;background:linear-gradient(180deg,#00c2cd,#00a7b5,#00747f);content:""}.cfmoto-contact-row.active{outline:2px solid #00a7b5;outline-offset:-2px}.cfmoto-dealer-icon{overflow:hidden;border:1px solid #81d7dd;background:#fff!important;box-shadow:inset 0 0 0 2px #e6fafc,0 3px 8px rgba(0,126,138,.18)}.cfmoto-dealer-icon img{display:block;width:100%;height:100%;padding:4px;object-fit:contain}.cfmoto-profile-badge{border:1px solid #007f8c;background:linear-gradient(145deg,#13bcc7,#008692)!important;color:#fff!important;box-shadow:inset 1px 1px rgba(255,255,255,.3)}.address-contact-title .cfmoto-dealer-name{display:inline;color:#00a7b5;text-shadow:0 1px #fff,0 2px 0 rgba(0,105,116,.14)}.cfmoto-official-token{display:inline-flex;min-height:21px;padding:3px 8px;border:1px solid #79d5dc;border-radius:999px;align-items:center;gap:5px;color:#007c88;background:#effcfd;font-size:.6rem;font-weight:900;line-height:1;white-space:nowrap}.cfmoto-official-token>span{display:grid;width:13px;height:13px;border-radius:50%;place-items:center;color:#fff;background:linear-gradient(135deg,#24c7d1,#008b97);font-size:.52rem}.cfmoto-network-metadata{border-color:#8adbe0;background:linear-gradient(135deg,#effcfd,#fff)}@media(max-width:700px){.cfmoto-directory-card{grid-template-columns:1fr}.cfmoto-directory-status{justify-items:start}.cfmoto-official-token{white-space:normal}}
/* Pilotage exploitation et filtres de gestion */
.pilotage-hero{background:linear-gradient(135deg,#12372f,#176b5b);color:#fff}.pilotage-hero h1{margin:.35rem 0;font-size:clamp(1.8rem,3vw,2.7rem)}
.nav-label-group{margin-top:1rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.09);color:#c3d4cf}.pilotage-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.pilotage-group-card{overflow:hidden;padding:0;border-top:4px solid #176b5b}.pilotage-group-card.blue{border-top-color:#247aa7}.pilotage-group-card.purple{border-top-color:#7455a6}.pilotage-group-card.orange{border-top-color:#c26725}.pilotage-group-card>header{display:flex;gap:.85rem;padding:1.1rem 1.15rem .8rem}.pilotage-group-card>header>span{display:grid;width:46px;height:46px;flex:0 0 auto;place-items:center;border-radius:13px;color:#fff;background:#176b5b;font-size:1.15rem;font-weight:900}.pilotage-group-card.blue>header>span{background:#247aa7}.pilotage-group-card.purple>header>span{background:#7455a6}.pilotage-group-card.orange>header>span{background:#c26725}.pilotage-group-card h2{margin:.08rem 0;font-size:1.15rem}.pilotage-group-card header small{color:#17725c;font-size:.69rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.pilotage-group-card header p{margin:.25rem 0 0;color:#687670;font-size:.8rem}.pilotage-group-card nav{display:grid;padding:.35rem .65rem .75rem}.pilotage-group-card nav a{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.7rem .55rem;border-top:1px solid #e1e9e6;color:inherit;text-decoration:none}.pilotage-group-card nav a>span{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;color:#176b5b;background:#e8f5f0;font-weight:900}.pilotage-group-card nav a div{display:flex;min-width:0;flex-direction:column}.pilotage-group-card nav a small{margin-top:.12rem;overflow:hidden;color:#6b7974;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.pilotage-group-card nav a>b{color:#82908b;font-size:1.35rem}.pilotage-group-card nav a:hover{border-radius:10px;background:#f1f8f5}.pilotage-group-card nav a:hover>b{color:#176b5b;transform:translateX(2pxublin)}
.pilotage-group-card nav a:hover>b{transform:translateX(2px)}
.pilotage-stats{grid-template-columns:repeat(5,minmax(0,1fr));margin:1rem 0}.pilotage-filter-panel{padding:1.25rem;margin:1rem 0 1.5rem}
.pilotage-filters,.accounting-filters{grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end}.pilotage-search{grid-column:span 2}.pilotage-actions{display:flex;gap:.6rem;flex-wrap:wrap;grid-column:1/-1}
.pilotage-table td small{display:block;margin-top:.3rem}.pilotage-table .badge+.badge{margin-left:.35rem}
@media(max-width:1100px){.pilotage-groups{grid-template-columns:1fr}.pilotage-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pilotage-filters,.accounting-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.pilotage-groups,.pilotage-stats,.pilotage-filters,.accounting-filters{grid-template-columns:1fr}.pilotage-search{grid-column:auto}.pilotage-actions .button{flex:1}.pilotage-group-card nav a small{white-space:normal}}

/* Retour de tournée : surface tactile tablette et quai */
.return-page-header{align-items:center}.return-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1rem 0}.return-kpis article{background:#fff;border:1px solid #d9e4e0;border-radius:18px;padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.25rem}.return-kpis small{font-size:.86rem;color:#60706b}.return-kpis strong{font-size:1.8rem;color:#12372f}.return-kpis .has-alert{background:#fff6ed;border-color:#f2b67c}.return-kpis .has-alert strong{color:#b65312}
.return-filter-panel{padding:1rem;margin-bottom:1rem}.return-filter-panel form{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:.75rem;align-items:end}.return-filter-panel label{display:flex;flex-direction:column;gap:.35rem;font-weight:700;font-size:.88rem}.return-filter-panel .return-check{flex-direction:row;align-items:center;min-height:48px}.return-filter-panel input{min-height:48px}
.return-workspace{display:grid;grid-template-columns:minmax(270px,350px) minmax(0,1fr);gap:1rem;align-items:start}.return-round-list{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto;padding:.8rem}.return-round-list header{display:flex;justify-content:space-between;align-items:center;padding:.4rem}.return-round-list>div{display:grid;gap:.55rem;margin-top:.6rem}.return-round-card{display:grid;grid-template-columns:1fr auto;gap:.45rem;padding:.9rem;border:1px solid #dce6e2;border-radius:15px;color:inherit;text-decoration:none;background:#fff}.return-round-card:hover,.return-round-card.active{border-color:#176b5b;background:#edf8f4;box-shadow:0 8px 24px rgba(18,55,47,.1)}.return-round-card span{display:flex;flex-direction:column}.return-round-card small,.return-card-counts{font-size:.78rem;color:#65736e}.return-round-card>i{height:7px;background:#dde7e3;border-radius:99px;overflow:hidden;grid-column:1/-1}.return-round-card>i em{display:block;height:100%;background:#1a8b70;border-radius:inherit}.return-card-counts{grid-column:1/-1;flex-direction:row!important}.return-card-counts u{color:#b65312;text-decoration:none;font-weight:800}
.return-detail{display:grid;gap:1rem}.return-round-head{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.35rem}.return-round-head h2{margin:.25rem 0}.return-progress-ring{width:112px;height:112px;border-radius:50%;background:conic-gradient(#1a8b70 var(--return-progress,100%),#e1eae7 0);border:8px solid #edf5f2;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto}.return-progress-ring strong{font-size:1.45rem;color:#12372f}.return-progress-ring small{font-size:.72rem}.return-auto-check{padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#eaf7f2;border-color:#9fd6c4}.return-auto-check p{margin:.25rem 0 0}.return-items{display:grid;gap:.75rem}.return-item{padding:1rem;border-left:5px solid #ccd9d4}.return-item.checked{border-left-color:#1a8b70}.return-item.exception{border-left-color:#d86720;background:#fffaf5}.return-item>header{display:flex;align-items:center;gap:.9rem}.return-item>header>div{flex:1;min-width:0}.return-item h3{margin:.2rem 0;font-size:1.05rem}.return-item header p{margin:0;color:#63706c;font-size:.86rem}.return-stop-no{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#12372f;color:#fff;font-size:1.2rem;font-weight:900}.return-item-form{margin-top:.9rem;padding-top:.9rem;border-top:1px solid #e2e9e6}.return-item-form fieldset{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:.45rem}.return-item-form legend{font-weight:800;margin-bottom:.55rem}.return-result input{position:absolute;opacity:0;pointer-events:none}.return-result span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:52px;border:2px solid #dbe5e1;border-radius:13px;background:#fff;font-weight:800;font-size:.84rem;padding:.45rem;cursor:pointer}.return-result input:checked+span{border-color:#176b5b;background:#daf2e9;color:#0d5748}.return-result:not(.confirmed) input:checked+span{border-color:#d86720;background:#fff0e5;color:#993e08}.return-control-row{display:grid;grid-template-columns:auto auto minmax(180px,1fr) auto;gap:.6rem;align-items:center;margin-top:.7rem}.return-control-row label{font-size:.84rem;font-weight:700}.return-control-row input[type=text],.return-control-row input:not([type]){min-height:46px}.return-readonly-result{display:flex;gap:1rem;align-items:center;margin-top:.8rem;padding:.8rem;background:#f1f7f5;border-radius:12px}.return-readonly-result p{margin:0 0 0 auto}.return-close{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(2,minmax(130px,.5fr));gap:.8rem;padding:1.2rem;align-items:end}.return-close h2{margin:.25rem 0}.return-close label{display:flex;flex-direction:column;gap:.35rem;font-weight:700;font-size:.86rem}.return-close-note{grid-column:1/-2}.return-close button{min-height:56px}.return-complete{display:flex;align-items:center;gap:1rem;padding:1.2rem;background:#eaf7f2;border-color:#9fd6c4}.return-complete>span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#1a8b70;color:#fff;font-size:1.5rem}.return-complete h2,.return-complete p{margin:.15rem 0}.return-empty{padding:1rem;color:#60706b}
@media(max-width:1180px){.return-workspace{grid-template-columns:1fr}.return-round-list{position:static;max-height:none}.return-round-list>div{grid-template-columns:repeat(2,minmax(0,1fr))}.return-item-form fieldset{grid-template-columns:repeat(3,minmax(120px,1fr))}.return-control-row{grid-template-columns:1fr 1fr}.return-control-row .button{min-height:50px}}
@media(max-width:760px){.return-kpis{grid-template-columns:repeat(2,1fr)}.return-filter-panel form,.return-round-list>div,.return-close{grid-template-columns:1fr}.return-filter-panel .return-check{min-height:auto}.return-round-head,.return-auto-check,.return-item>header{align-items:flex-start;flex-direction:column}.return-progress-ring{width:auto;height:auto;border:0;background:none;flex-direction:row;gap:.4rem}.return-item-form fieldset,.return-control-row{grid-template-columns:1fr}.return-result span{min-height:58px}.return-close-note{grid-column:auto}.return-readonly-result{align-items:flex-start;flex-direction:column}.return-readonly-result p{margin:0}}

/* Point quai, EDI inter-agences et étiquettes d'exploitation */
.return-demo-note{display:flex;gap:.8rem;margin:1rem 0;padding:.9rem 1.1rem;border-color:#98d4c0;background:#eaf7f2}.return-demo-note strong{white-space:nowrap;color:#11614d}.return-demo-note span{color:#4f665f}
.dock-sector-kpis{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:.7rem;margin:1rem 0}.dock-sector-kpis article{display:flex;gap:.75rem;align-items:center;padding:.9rem 1rem;border:1px solid #d9e4e0;border-radius:16px;background:#fff}.dock-sector-kpis article>span{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:#173f35;color:#fff;font-size:.7rem;font-weight:900}.dock-sector-kpis article div{display:flex;min-width:0;flex-direction:column}.dock-sector-kpis small,.dock-sector-kpis em{overflow:hidden;color:#6c7975;font-size:.68rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.dock-sector-kpis strong{font-size:.87rem}
.dock-create-panel{margin:1rem 0;padding:1.1rem}.dock-create-panel>header,.label-manager>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}.dock-create-panel h2,.label-manager h2{margin:.2rem 0}.dock-create-panel form{display:grid;grid-template-columns:1fr 1fr .7fr 1.5fr auto;gap:.7rem;align-items:end}.dock-create-panel label,.label-manager label{display:flex;flex-direction:column;gap:.32rem;font-size:.78rem;font-weight:800}.dock-create-panel select[multiple]{min-height:98px}.dock-create-panel label small{color:#73807c;font-size:.65rem}.dock-notes{grid-column:1/-2}.dock-create-panel button{min-height:48px}
.dock-workspace{display:grid;grid-template-columns:minmax(280px,355px) minmax(0,1fr);gap:1rem;align-items:start}.dock-manifest-list{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto;padding:.8rem}.dock-manifest-list>header{display:flex;align-items:center;justify-content:space-between;padding:.35rem}.dock-manifest-list>div{display:grid;gap:.55rem;margin-top:.55rem}.dock-manifest-card{display:grid;gap:.42rem;padding:.85rem;border:1px solid #dce6e2;border-radius:14px;color:inherit;background:#fff;text-decoration:none}.dock-manifest-card:hover,.dock-manifest-card.active{border-color:#176b5b;background:#edf8f4;box-shadow:0 8px 22px rgba(18,55,47,.1)}.dock-manifest-card>span{display:flex;flex-direction:column}.dock-manifest-card small,.dock-manifest-card em{color:#66746f;font-size:.73rem;font-style:normal}.dock-status{justify-self:start;padding:.28rem .48rem;border-radius:999px;background:#e7eeeb;font-size:.67rem}.dock-status.received{color:#914306;background:#fff0df}.dock-status.validated{color:#0f664e;background:#dff5ec}.dock-status.sent{color:#155b8b;background:#e2f3ff}
.dock-detail,.dock-items{display:grid;gap:.75rem}.dock-manifest-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.1rem 1.2rem}.dock-manifest-head h2{margin:.25rem 0}.dock-manifest-head p{margin:0;color:#63716c}.dock-manifest-head .header-actions{align-items:center}.dock-item{padding:1rem;border-left:5px solid #aebdb7}.dock-item.at_dock{border-left-color:#16856a}.dock-item.missing,.dock-item.damaged{border-left-color:#d2631b;background:#fffaf5}.dock-item.validated{border-left-color:#16856a;background:#f2fbf7}.dock-item>header,.dock-item>header>div{display:flex;align-items:center;gap:.75rem}.dock-item>header{justify-content:space-between}.dock-bike-icon{display:grid;width:45px;height:45px;place-items:center;border-radius:13px;color:#fff;background:#173f35}.dock-item h3{margin:.15rem 0}.dock-item p{margin:0;color:#66736f;font-size:.8rem}.dock-item-status{padding:.42rem .65rem;border-radius:999px;background:#eaf0ee;font-size:.72rem;font-weight:850}.dock-item-actions{display:flex;justify-content:space-between;gap:.7rem;align-items:center;margin-top:.85rem;padding-top:.8rem;border-top:1px solid #e1e8e5}.dock-item-actions form{display:grid;grid-template-columns:130px 150px minmax(180px,1fr) auto;gap:.5rem;flex:1}.dock-item-actions select,.dock-item-actions input{min-height:44px}.dock-label-action{flex:0 0 auto}
.label-manager{margin-top:1rem;padding:1.15rem}.label-manager header p{margin:.2rem 0;color:#65736e}.label-manager-grid{display:grid;grid-template-columns:380px 1fr;gap:1rem}.label-manager-grid>form{display:grid;gap:.65rem;padding:1rem;border-radius:14px;background:#f1f6f4}.label-chip-list{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:.55rem}.label-chip-list a{display:flex;padding:.75rem;border:1px solid #dbe5e1;border-radius:12px;flex-direction:column;color:inherit;background:#fff;text-decoration:none}.label-chip-list a:hover{border-color:#178167;background:#f0faf6}.label-chip-list span{color:#17765e;font-size:.66rem;font-weight:900;text-transform:uppercase}.label-chip-list small{color:#6b7874;font-size:.7rem}.operation-label-barcode{margin:1.2rem 0;padding:1rem;border:2px dashed #173f35;text-align:center;font-family:monospace;font-size:1.15rem;letter-spacing:.08rem}.operation-label-barcode+*{display:none}
@media(max-width:1400px){.dock-sector-kpis{grid-template-columns:repeat(3,1fr)}.dock-workspace{grid-template-columns:1fr}.dock-manifest-list{position:static;max-height:none}.dock-manifest-list>div{grid-template-columns:repeat(2,1fr)}.dock-create-panel form{grid-template-columns:repeat(2,minmax(0,1fr))}.dock-create-panel form>*{min-width:0}.dock-notes{grid-column:auto}.label-manager-grid{grid-template-columns:1fr}}
@media(max-width:760px){.return-demo-note,.dock-manifest-head,.dock-item>header,.dock-item-actions{align-items:flex-start;flex-direction:column}.dock-sector-kpis,.dock-manifest-list>div,.dock-create-panel form,.label-chip-list{grid-template-columns:1fr}.dock-item-actions form{width:100%;grid-template-columns:1fr}.dock-label-action{width:100%}.dock-label-action .button{width:100%}}
@media print{.sidebar,.topbar,.flash-stack,.operation-label-barcode~*{display:none!important}.app-shell .main{margin:0!important;padding:0!important}.operation-label-barcode{font-size:24px;margin-top:30px}}

/* Autorisation renforcée des changements de titulaire, IBAN et BIC */
.sensitive-action-notice{margin:1rem 0;padding:1rem 1.1rem;border:1px solid #e6b96b;border-left:5px solid #d97706;border-radius:14px;background:#fff8e8}.sensitive-action-notice strong{display:block;color:#784006}.sensitive-action-notice p{margin:.3rem 0 0;color:#685747;font-size:.82rem;line-height:1.55}.bridge-bank-security{grid-column:1/-1;display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:1rem;padding:1rem;border:1px solid #e6b96b;border-radius:15px;background:#fffaf0}.bridge-bank-security>div:first-child{display:flex;flex-direction:column;gap:.3rem}.bridge-bank-security small{color:#65716d;line-height:1.5}.bank-change-verification{max-width:660px}.bank-change-alert-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:1.1rem 1.25rem;border:2px solid #dc4d4d;background:#fff3f3}.bank-change-alert-panel h2{margin:.2rem 0}.bank-change-alert-panel p{margin:0;color:#6b4b4b}.bank-change-audit-panel{margin:1rem 0;border:2px solid #dc4d4d}.bank-change-audit-panel .panel-heading{padding:1rem 1.2rem;background:#fff3f3}.bank-change-audit-panel table small{display:inline}.bank-change-audit-panel td{vertical-align:middle}
@media(max-width:760px){.bridge-bank-security{grid-template-columns:1fr}.bank-change-alert-panel{align-items:flex-start;flex-direction:column}.bank-change-alert-panel .button{width:100%}}

/* Réserves visibles sur les annonces de simulation */
.market-reservations{margin:0 0 16px;padding:15px;border:1px solid #e0aa39;border-radius:13px;background:#fffaf0}.market-reservations>header{display:flex;align-items:center;gap:10px;margin-bottom:11px}.market-reservations>header>span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:#fff;background:#be7210;font-weight:950}.market-reservations>header strong,.market-reservations>header small{display:block}.market-reservations>header small{margin-top:3px;color:#765f34}.market-reservations>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.market-reservations article{padding:11px;border:1px solid #ead9b6;border-radius:10px;background:#fff}.market-reservations article b,.market-reservations article span{display:block}.market-reservations article span{margin-top:3px;color:#9a5b0a;font-size:8px;font-weight:900;text-transform:uppercase}.market-reservations article p{margin:7px 0 0;color:#4e514f;font-size:10px;line-height:1.45}@media(max-width:700px){.market-reservations>div{grid-template-columns:1fr}}
.commission-amount-unit{display:inline!important;margin-left:3px;color:inherit!important;font-size:.62em!important;font-weight:900!important;text-transform:uppercase}

/* Avatar vivant du copilote : profil, jour de semaine et météo du secteur */
.assistant-character-avatar{position:relative;display:grid;place-items:center;isolation:isolate;overflow:visible!important;background:linear-gradient(145deg,#fff7db,#efb94e)!important;transition:background .35s ease,box-shadow .35s ease,filter .35s ease,transform .2s ease}
.assistant-character-avatar img{display:block;width:100%;height:100%;border-radius:inherit;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 3px 4px rgba(16,54,44,.14));transform:scale(1.04);transform-origin:center bottom}
.assistant-character-avatar i[data-assistant-weather]{position:absolute;z-index:3;right:-6px;bottom:-5px;display:grid;width:25px;height:25px;place-items:center;border:3px solid #fff;border-radius:50%;color:#173f35;background:#fff;font-size:12px;font-style:normal;line-height:1;box-shadow:0 4px 10px rgba(14,47,38,.22)}
.assistant-character-avatar[data-weekday="1"]{background:linear-gradient(145deg,#fff3c8,#efb548)!important}.assistant-character-avatar[data-weekday="2"]{background:linear-gradient(145deg,#e5f7ef,#67bba0)!important}.assistant-character-avatar[data-weekday="3"]{background:linear-gradient(145deg,#eef3ff,#87a9df)!important}.assistant-character-avatar[data-weekday="4"]{background:linear-gradient(145deg,#f5eaff,#b997d5)!important}.assistant-character-avatar[data-weekday="5"]{background:linear-gradient(145deg,#fff0d8,#eea85d)!important}.assistant-character-avatar[data-weekday="6"]{background:linear-gradient(145deg,#e3f7f2,#54b99f)!important}.assistant-character-avatar[data-weekday="7"]{background:linear-gradient(145deg,#fff1e8,#df9b83)!important}
.assistant-character-avatar[data-weather="clear"]{box-shadow:0 0 0 3px rgba(255,203,75,.22),0 10px 24px rgba(113,79,6,.2)!important}.assistant-character-avatar[data-weather="partly-cloudy"],.assistant-character-avatar[data-weather="cloudy"]{filter:saturate(.9);box-shadow:0 0 0 3px rgba(148,168,181,.2),0 10px 24px rgba(31,63,71,.16)!important}.assistant-character-avatar[data-weather="rain"]{filter:saturate(.86) brightness(.96);box-shadow:0 0 0 3px rgba(55,139,183,.24),0 10px 24px rgba(18,70,96,.2)!important}.assistant-character-avatar[data-weather="storm"]{filter:saturate(.8) contrast(1.05);box-shadow:0 0 0 3px rgba(102,84,157,.3),0 10px 24px rgba(42,31,82,.25)!important}.assistant-character-avatar[data-weather="snow"]{filter:saturate(.75) brightness(1.06);box-shadow:0 0 0 3px rgba(201,226,238,.55),0 10px 24px rgba(79,113,128,.17)!important}.assistant-character-avatar[data-weather="fog"]{filter:saturate(.65) brightness(1.02)}
.route-assistant-status .assistant-character-avatar.compact{width:36px!important;height:36px!important;border:2px solid rgba(255,255,255,.9);border-radius:11px!important}.route-assistant-status .assistant-character-avatar.compact i{right:-6px;bottom:-6px;width:18px;height:18px;border-width:2px;font-size:9px}.route-assistant-status>span:last-child em{margin-top:1px;color:#7d735d;font-size:6.5px;font-style:normal;white-space:nowrap}.route-ai-character.assistant-character-avatar,.announcement-ai-character.assistant-character-avatar{font-size:0}.route-ai-character.assistant-character-avatar i[data-assistant-weather],.announcement-ai-character.assistant-character-avatar i[data-assistant-weather]{color:#173f35;background:#fff}

/* Copilote de communication : aperçu et validation des avis transport */
.announcement-ai-dialog{width:min(880px,calc(100vw - 28px));max-height:min(900px,calc(100vh - 28px));padding:0;border:0;border-radius:24px;color:#173f35;background:transparent;box-shadow:0 28px 90px rgba(8,35,28,.28)}
.announcement-ai-dialog::backdrop{background:rgba(8,25,21,.54);backdrop-filter:blur(9px) saturate(.8)}
.announcement-ai-shell{display:flex;max-height:min(900px,calc(100vh - 28px));overflow:hidden;border:1px solid rgba(255,255,255,.58);border-radius:24px;flex-direction:column;background:rgba(248,250,249,.96);backdrop-filter:blur(30px) saturate(1.25)}
.announcement-ai-head{display:grid;padding:20px 22px 17px;border-bottom:1px solid rgba(60,60,67,.12);grid-template-columns:52px minmax(0,1fr) 34px;align-items:center;gap:13px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(236,247,242,.9))}
.announcement-ai-character{position:relative;display:grid;width:52px;height:52px;place-items:center;border-radius:16px;background:#f2ba4b;font-size:25px;box-shadow:0 9px 22px rgba(98,72,14,.16)}
.announcement-ai-character i{position:absolute;right:-4px;bottom:-4px;display:grid;width:21px;height:21px;place-items:center;border:3px solid #fff;border-radius:50%;color:#fff;background:#176b55;font-size:9px;font-style:normal}
.announcement-ai-head small{color:#18745d;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.announcement-ai-head h2{margin:3px 0 2px;font-size:20px;letter-spacing:-.025em}.announcement-ai-head p{margin:0;color:#66746f;font-size:11px;line-height:1.45}.announcement-ai-head>button{display:grid;width:32px;height:32px;padding:0;border:0;border-radius:50%;place-items:center;color:#42534d;background:rgba(118,118,128,.1);font-size:22px;cursor:pointer}
.announcement-ai-body{min-height:260px;padding:18px 20px;overflow:auto}.announcement-ai-loading{display:flex;min-height:220px;align-items:center;justify-content:center;flex-direction:column;text-align:center}.announcement-ai-loading>span{width:34px;height:34px;margin-bottom:14px;border:3px solid #d6e6e0;border-top-color:#16846a;border-radius:50%;animation:announcement-spin .8s linear infinite}.announcement-ai-loading strong{font-size:14px}.announcement-ai-loading small{margin-top:6px;color:#6f7c78;font-size:10px}@keyframes announcement-spin{to{transform:rotate(360deg)}}
.announcement-ai-summary{display:grid;grid-template-columns:.7fr 1.25fr 1fr .85fr;gap:8px}.announcement-ai-summary>span{display:flex;min-width:0;min-height:61px;padding:10px 11px;border:1px solid #dbe6e2;border-radius:13px;justify-content:center;flex-direction:column;background:#fff}.announcement-ai-summary small{color:#75817d;font-size:7px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.announcement-ai-summary strong{margin-top:4px;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.announcement-ai-reasoning{margin-top:12px;padding:13px 15px;border:1px solid #b8dccc;border-radius:15px;background:#eef8f4}.announcement-ai-reasoning>div{display:flex;align-items:center;gap:7px}.announcement-ai-reasoning>div span{display:grid;width:25px;height:25px;place-items:center;border-radius:8px;color:#fff;background:#18836a;font-size:10px}.announcement-ai-reasoning>div strong{font-size:11px}.announcement-ai-reasoning ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin:10px 0 0;padding:0;list-style:none}.announcement-ai-reasoning li{position:relative;padding-left:17px;color:#4c635b;font-size:9px;line-height:1.45}.announcement-ai-reasoning li::before{position:absolute;left:0;content:'✓';color:#16846a;font-weight:950}
.announcement-ai-messages{margin-top:12px}.announcement-ai-messages>header{display:flex;align-items:end;justify-content:space-between;margin-bottom:8px;padding:0 2px}.announcement-ai-messages>header div{display:flex;flex-direction:column}.announcement-ai-messages>header small{color:#7a8782;font-size:7px;font-weight:850;text-transform:uppercase}.announcement-ai-messages>header strong{margin-top:2px;font-size:12px}.announcement-ai-messages>header>span{padding:5px 8px;border-radius:999px;color:#176653;background:#e1f2eb;font-size:7px;font-weight:850}.announcement-ai-messages>div{display:grid;gap:10px}
.announcement-ai-message{padding:13px;border:1px solid #d8e2de;border-left:4px solid #218a6e;border-radius:15px;background:#fff;box-shadow:0 5px 16px rgba(15,52,42,.04)}.announcement-ai-message.is-particulier{border-left-color:#218a6e}.announcement-ai-message.is-concessionnaire{border-left-color:#2f7da8}.announcement-ai-message>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.announcement-ai-message>header div{display:flex;min-width:0;flex-direction:column}.announcement-ai-message>header span{color:#168068;font-size:7px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.announcement-ai-message.is-concessionnaire>header span{color:#216d99}.announcement-ai-message>header strong{margin-top:2px;font-size:11px}.announcement-ai-message>header small{margin-top:2px;overflow:hidden;color:#72807b;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.announcement-ai-message>header>b{padding:5px 8px;border-radius:999px;color:#7b580b;background:#fff0c9;font-size:7px}.announcement-ai-message label{display:flex;margin-top:8px;gap:4px;flex-direction:column;color:#66736f;font-size:8px;font-weight:850}.announcement-ai-message input,.announcement-ai-message textarea{width:100%;border:1px solid #d4dfdb;border-radius:10px;color:#183d34;background:#fbfcfc;font:inherit;font-size:10px;line-height:1.55;outline:none;resize:vertical}.announcement-ai-message input{min-height:39px;padding:8px 10px}.announcement-ai-message textarea{min-height:170px;padding:10px 11px}.announcement-ai-message input:focus,.announcement-ai-message textarea:focus{border-color:#16846a;box-shadow:0 0 0 3px rgba(22,132,106,.12);background:#fff}
.announcement-ai-branding{display:grid;min-height:72px;margin:0 0 12px;padding:11px 13px;border:1px solid rgba(255,255,255,.13);border-radius:16px;grid-template-columns:48px minmax(0,1fr) 54px;align-items:center;gap:11px;color:#fff;background:linear-gradient(135deg,#103e34,#176b55);box-shadow:0 10px 26px rgba(14,62,50,.16),inset 0 1px rgba(255,255,255,.12)}.announcement-ai-mfs-logo{display:grid;width:45px;height:45px;place-items:center;border-radius:14px;color:#fff!important;background:#e60515;font-size:14px!important;font-style:italic;font-weight:950!important;letter-spacing:-.06em!important;box-shadow:0 8px 18px rgba(44,7,10,.22)}.announcement-ai-branding>div{display:flex;min-width:0;flex-direction:column}.announcement-ai-branding strong{display:flex;align-items:center;gap:3px;font-size:12px;letter-spacing:-.02em}.announcement-ai-branding strong i{font-style:normal}.announcement-ai-branding .word-1{color:#ff5a63}.announcement-ai-branding .word-2{color:#fff}.announcement-ai-branding .word-3{color:#8bd34f}.announcement-ai-branding small{margin-top:3px;color:#d4e4df;font-size:7.5px;font-weight:750;letter-spacing:.035em;line-height:1.4}.announcement-ai-branding>img{width:52px;height:52px;border-radius:16px;filter:drop-shadow(0 7px 10px rgba(4,25,19,.2))}
.announcement-ai-signature{display:grid;margin-top:12px;padding:13px 15px;border:1px solid rgba(60,60,67,.12);border-radius:17px;grid-template-columns:50px minmax(0,1fr) 52px;align-items:center;gap:12px;background:linear-gradient(145deg,#fbfdfc,#f1f7f4);box-shadow:0 10px 26px rgba(17,55,44,.07)}.announcement-ai-signature>span{display:grid;width:47px;height:47px;place-items:center;border-radius:15px;color:#fff;background:linear-gradient(145deg,#218068,#125342);font-size:13px;font-weight:850;letter-spacing:-.03em;box-shadow:0 7px 17px rgba(18,83,66,.2)}.announcement-ai-signature>div{display:flex;min-width:0;flex-direction:column}.announcement-ai-signature small{color:#78857f;font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.announcement-ai-signature strong{margin-top:3px;color:#173b32;font-size:14px;letter-spacing:-.015em}.announcement-ai-signature p{margin:3px 0 0;color:#62716c;font-size:10px;font-weight:650}.announcement-ai-signature>img{width:50px;height:50px;border-radius:15px;filter:drop-shadow(0 6px 8px rgba(18,48,39,.13))}
.announcement-pickup-visual{display:grid;margin:0 0 12px;padding:12px;border:1px solid #cfe2da;border-radius:16px;grid-template-columns:minmax(150px,210px) minmax(0,1fr);gap:14px;background:#f3f8f6}.announcement-pickup-visual.has-no-photo{grid-template-columns:1fr}.announcement-pickup-visual figure{margin:0}.announcement-pickup-visual figure img{width:100%;height:145px;border-radius:13px;object-fit:cover;box-shadow:0 8px 20px rgba(20,54,43,.12)}.announcement-pickup-visual figcaption{margin-top:6px;color:#687972;font-size:9px;line-height:1.4}.announcement-pickup-visual>div{min-width:0}.announcement-pickup-visual>div>strong{display:block;color:#165d4a;font-size:13px}.announcement-pickup-visual>div>p{margin:4px 0 8px;color:#53665f;font-size:11px;font-weight:750}.announcement-pickup-alert{padding:10px 11px;border:1px solid #efd092;border-radius:12px;background:#fff7e5}.announcement-pickup-alert>b{display:block;color:#9b5709;font-size:11px}.announcement-pickup-alert>span{display:block;margin:3px 0 7px;color:#755b31;font-size:10px}.announcement-pickup-alert>div{display:flex;flex-wrap:wrap;gap:5px}.announcement-pickup-alert i{padding:5px 8px;border-radius:999px;color:#764b00;background:#ffe7ad;font-size:9.5px;font-style:normal;font-weight:800}.announcement-pickup-visual ul{margin:9px 0 0;padding-left:18px;color:#425a52;font-size:10.5px;line-height:1.55}.announcement-pickup-visual li+li{margin-top:4px}
.announcement-ai-error{padding:18px;border:1px solid #efb5ae;border-radius:14px;color:#8f3129;background:#fff2f0}.announcement-ai-error p{margin:5px 0 0;font-size:11px}.announcement-ai-actions{display:grid;padding:14px 20px;border-top:1px solid rgba(60,60,67,.12);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;background:rgba(255,255,255,.9)}.announcement-ai-actions p{margin:0;color:#75807c;font-size:8px;line-height:1.4}.announcement-ai-actions button{min-height:40px;padding:0 15px;border:0;border-radius:11px;font-weight:850;cursor:pointer}.announcement-ai-actions button:disabled{cursor:wait;opacity:.5}
@media(max-width:700px){.announcement-ai-dialog{width:calc(100vw - 14px);max-height:calc(100vh - 14px)}.announcement-ai-shell{max-height:calc(100vh - 14px);border-radius:18px}.announcement-ai-head{padding:15px;grid-template-columns:45px minmax(0,1fr) 31px}.announcement-ai-character{width:45px;height:45px}.announcement-ai-body{padding:13px}.announcement-ai-summary,.announcement-ai-reasoning ul{grid-template-columns:1fr 1fr}.announcement-ai-actions{padding:12px 13px;grid-template-columns:1fr 1fr}.announcement-ai-actions p{grid-column:1/-1}.announcement-ai-message textarea{min-height:210px}.announcement-ai-branding{padding:9px 10px;grid-template-columns:42px minmax(0,1fr) 46px;gap:8px}.announcement-ai-mfs-logo{width:40px;height:40px}.announcement-ai-branding strong{font-size:10px}.announcement-ai-branding>img{width:45px;height:45px}.announcement-pickup-visual{grid-template-columns:1fr}.announcement-pickup-visual figure img{height:190px}}

/* Protection et réoptimisation dynamique des tournées */
.route-optimization-lock,.remaining-route-tool{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 10px;padding:11px 12px;border:1px solid #cbded7;border-radius:12px;background:#fff}.route-optimization-lock.is-locked{border-color:#e0b45c;background:#fff8e8}.route-optimization-lock>div,.remaining-route-tool>div{display:flex;min-width:0;flex-direction:column}.route-optimization-lock small,.remaining-route-tool small{color:#64736e;font-size:7px;font-weight:900;text-transform:uppercase}.route-optimization-lock strong,.remaining-route-tool strong{margin-top:2px;font-size:10px}.route-optimization-lock p,.remaining-route-tool p{margin:3px 0 0;color:#64736e;font-size:7.5px;line-height:1.45}.route-optimization-lock form,.remaining-route-tool>form{display:flex;align-items:end;gap:7px;margin:0}.route-optimization-lock label,.remaining-route-tool label{display:flex;gap:4px;flex-direction:column;color:#596762;font-size:7px}.route-optimization-lock input[type=text]{min-width:210px}.remaining-route-tool{align-items:flex-start;border-color:#87c5b0;background:#f2fbf7}.remaining-route-proposal{width:100%;padding-top:10px;border-top:1px solid #cce6dc}.remaining-route-proposal ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:8px 0;padding:0;list-style:none}.remaining-route-proposal li{padding:7px 9px;border:1px solid #d5e8e1;border-radius:8px;background:#fff;font-size:7.5px}.remaining-route-proposal form{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}.remaining-route-tool:has(.remaining-route-proposal){flex-wrap:wrap}
@media(max-width:760px){.route-optimization-lock,.remaining-route-tool,.route-optimization-lock form,.remaining-route-tool>form,.remaining-route-proposal form{align-items:stretch;flex-direction:column}.route-optimization-lock input[type=text]{min-width:0}.remaining-route-proposal ol{grid-template-columns:1fr}}

/* Design global MFS inspiré d'Apple : couleurs historiques conservées. */
.mfs-apple-ui{
    --apple-canvas:#f5f5f7;
    --apple-surface:rgba(255,255,255,.88);
    --apple-surface-solid:#fff;
    --apple-line:rgba(60,60,67,.12);
    --apple-line-strong:rgba(60,60,67,.2);
    --apple-shadow:0 16px 44px rgba(20,42,35,.075),0 2px 8px rgba(20,42,35,.035);
    --apple-shadow-hover:0 22px 58px rgba(20,42,35,.12),0 3px 10px rgba(20,42,35,.05);
    --apple-radius:22px;
    color:var(--ink);
    background-color:var(--apple-canvas);
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",sans-serif;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;
}
.mfs-apple-ui h1,.mfs-apple-ui h2,.mfs-apple-ui h3,.mfs-apple-ui h4,.mfs-apple-ui .button,.mfs-apple-ui button,.mfs-apple-ui input,.mfs-apple-ui select,.mfs-apple-ui textarea{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",sans-serif}
.mfs-apple-ui h1{font-weight:760;letter-spacing:-.045em}.mfs-apple-ui h2{font-weight:740;letter-spacing:-.03em}.mfs-apple-ui h3{font-weight:710;letter-spacing:-.018em}.mfs-apple-ui p{line-height:1.58}
.mfs-apple-ui ::selection{color:#fff;background:rgba(22,93,74,.82)}
.mfs-apple-ui *{scrollbar-color:rgba(76,107,98,.42) transparent}.mfs-apple-ui *::-webkit-scrollbar{width:10px;height:10px}.mfs-apple-ui *::-webkit-scrollbar-track{background:transparent}.mfs-apple-ui *::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:99px;background:rgba(76,107,98,.34);background-clip:padding-box}.mfs-apple-ui *::-webkit-scrollbar-thumb:hover{background-color:rgba(44,87,74,.52)}
.mfs-apple-ui .main-content{background:radial-gradient(circle at 92% 0,rgba(255,255,255,.96),transparent 27%),radial-gradient(circle at 4% 92%,rgba(220,235,229,.42),transparent 24%),var(--apple-canvas)}
.mfs-apple-ui .guest-content{background:radial-gradient(circle at 12% 0,rgba(255,255,255,.95),transparent 31%),var(--apple-canvas)}
.mfs-apple-ui .sidebar{border-right:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(17,61,52,.98),rgba(12,47,40,.98));box-shadow:10px 0 35px rgba(11,39,33,.1);backdrop-filter:blur(28px) saturate(1.18)}
.mfs-apple-ui .sidebar .brand-mark{border-radius:15px;box-shadow:0 9px 22px rgba(7,27,22,.22),inset 0 1px rgba(255,255,255,.2)}
.mfs-apple-ui .nav{gap:6px}.mfs-apple-ui .nav a{position:relative;min-height:48px;padding:11px 14px;border:1px solid transparent;border-radius:14px;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s cubic-bezier(.2,.75,.25,1),box-shadow .2s ease}.mfs-apple-ui .nav a:hover{border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.08);transform:translateX(2px)}.mfs-apple-ui .nav a.active{border-color:rgba(255,255,255,.11);background:rgba(255,255,255,.13);box-shadow:0 9px 24px rgba(0,0,0,.12),inset 0 1px rgba(255,255,255,.08)}.mfs-apple-ui .nav a.active::after{position:absolute;top:12px;bottom:12px;left:-1px;width:3px;border-radius:99px;background:var(--amber);content:""}
.mfs-apple-ui .nav-label{color:#93aaa3;font-size:10px;letter-spacing:.16em}.mfs-apple-ui .nav-rule{border-color:rgba(255,255,255,.12);border-radius:17px;background:rgba(255,255,255,.055);box-shadow:inset 0 1px rgba(255,255,255,.05)}.mfs-apple-ui .sidebar-user{padding-top:18px}.mfs-apple-ui .sidebar-user .avatar{box-shadow:0 0 0 3px rgba(255,255,255,.08)}
.mfs-apple-ui .mobile-header{border-bottom:1px solid rgba(60,60,67,.1);background:rgba(248,248,250,.84);box-shadow:0 8px 30px rgba(22,43,36,.08);backdrop-filter:blur(28px) saturate(1.35)}
.mfs-apple-ui .public-header{border-bottom:1px solid rgba(60,60,67,.09);background:rgba(248,248,250,.82);box-shadow:0 10px 34px rgba(20,42,35,.065);backdrop-filter:blur(28px) saturate(1.35)}.mfs-apple-ui .public-header nav>a:not(.button){position:relative;padding:9px 2px;transition:color .18s ease}.mfs-apple-ui .public-header nav>a:not(.button)::after{position:absolute;right:50%;bottom:4px;left:50%;height:2px;border-radius:99px;background:var(--forest);content:"";transition:right .2s ease,left .2s ease}.mfs-apple-ui .public-header nav>a:not(.button):hover::after{right:0;left:0}.mfs-apple-ui .public-footer{border-top:1px solid var(--apple-line);background:rgba(255,255,255,.72);backdrop-filter:blur(18px)}
.mfs-apple-ui .auth-panel{background:radial-gradient(circle at 100% 0,rgba(222,235,230,.58),transparent 38%),var(--apple-canvas)}.mfs-apple-ui .auth-form-wrap{width:min(520px,100%);padding:clamp(25px,4vw,42px);border:1px solid rgba(255,255,255,.72);border-radius:26px;background:rgba(255,255,255,.82);box-shadow:0 28px 80px rgba(19,47,38,.11),inset 0 1px rgba(255,255,255,.9);backdrop-filter:blur(28px) saturate(1.12)}.mfs-apple-ui .auth-story{background:radial-gradient(circle at 85% 20%,rgba(50,130,104,.52),transparent 35%),linear-gradient(145deg,#102f29,#17483c);box-shadow:20px 0 70px rgba(9,36,29,.14)}.mfs-apple-ui .route-card,.mfs-apple-ui .auth-service-card{border-radius:18px;backdrop-filter:blur(18px) saturate(1.2)}.mfs-apple-ui .demo-box{border:1px solid var(--apple-line);border-radius:15px;background:rgba(242,246,244,.86)}
.mfs-apple-ui .page-header{padding:4px 2px}.mfs-apple-ui .page-header h1{color:#142f29}.mfs-apple-ui .eyebrow{font-weight:800;letter-spacing:.15em}
.mfs-apple-ui .panel{border-color:var(--apple-line);border-radius:var(--apple-radius);background:var(--apple-surface);box-shadow:var(--apple-shadow);backdrop-filter:blur(22px) saturate(1.12);transition:border-color .22s ease,box-shadow .22s ease,transform .22s cubic-bezier(.2,.75,.25,1)}
.mfs-apple-ui .panel-heading,.mfs-apple-ui .section-heading{padding-bottom:3px}.mfs-apple-ui .form-section,.mfs-apple-ui .settings-card,.mfs-apple-ui .health-card,.mfs-apple-ui .sticky-card,.mfs-apple-ui .notes-box,.mfs-apple-ui .rule-box,.mfs-apple-ui .empty-state{border-color:var(--apple-line);border-radius:18px;background:rgba(255,255,255,.82);box-shadow:0 8px 25px rgba(20,42,35,.045);backdrop-filter:blur(18px) saturate(1.08)}
.mfs-apple-ui .filter-bar{padding:10px;border:1px solid var(--apple-line);border-radius:16px;background:rgba(255,255,255,.68);box-shadow:0 8px 25px rgba(20,42,35,.04);backdrop-filter:blur(18px)}
.mfs-apple-ui .stat-card,.mfs-apple-ui .bike-card,.mfs-apple-ui .service-card,.mfs-apple-ui .transport-card,.mfs-apple-ui .dock-manifest-card,.mfs-apple-ui .driver-round-card{border-color:var(--apple-line);border-radius:18px;background:var(--apple-surface-solid);box-shadow:0 7px 22px rgba(20,42,35,.045);transition:transform .22s cubic-bezier(.2,.75,.25,1),box-shadow .22s ease,border-color .22s ease}
.mfs-apple-ui .stat-card:hover,.mfs-apple-ui .bike-card:hover,.mfs-apple-ui .service-card:hover,.mfs-apple-ui .transport-card:hover,.mfs-apple-ui .dock-manifest-card:hover,.mfs-apple-ui .driver-round-card:hover{border-color:rgba(22,93,74,.22);box-shadow:var(--apple-shadow-hover);transform:translateY(-3px)}
.mfs-apple-ui .stat-icon,.mfs-apple-ui .service-icon,.mfs-apple-ui .section-number,.mfs-apple-ui .upload-icon{border-radius:13px;box-shadow:inset 0 1px rgba(255,255,255,.66)}
.mfs-apple-ui .button{min-height:44px;padding:10px 17px;border-radius:12px;font-size:13px;font-weight:720;letter-spacing:-.008em;box-shadow:0 1px 2px rgba(16,42,35,.04);transition:transform .16s cubic-bezier(.2,.75,.25,1),box-shadow .18s ease,background .18s ease,border-color .18s ease,filter .18s ease}.mfs-apple-ui .button:hover{box-shadow:0 9px 22px rgba(20,54,44,.12);transform:translateY(-2px)}.mfs-apple-ui .button:active{box-shadow:0 2px 6px rgba(20,54,44,.1);transform:translateY(0) scale(.975)}.mfs-apple-ui .button.primary{background:linear-gradient(180deg,#1b6d57,var(--forest));box-shadow:0 8px 18px rgba(22,93,74,.2),inset 0 1px rgba(255,255,255,.16)}.mfs-apple-ui .button.secondary,.mfs-apple-ui .button.light{border-color:var(--apple-line);background:rgba(255,255,255,.9);backdrop-filter:blur(14px)}.mfs-apple-ui .button.danger{background:linear-gradient(180deg,#c9564d,var(--red))}.mfs-apple-ui .button:disabled,.mfs-apple-ui button:disabled{cursor:not-allowed;filter:saturate(.55);opacity:.55;transform:none}
.mfs-apple-ui input:not([type="checkbox"]):not([type="radio"]),.mfs-apple-ui select,.mfs-apple-ui textarea{border-color:var(--apple-line-strong);border-radius:12px;background:rgba(255,255,255,.9);box-shadow:inset 0 1px 2px rgba(18,45,37,.035);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease}.mfs-apple-ui input:not([type="checkbox"]):not([type="radio"]):hover,.mfs-apple-ui select:hover,.mfs-apple-ui textarea:hover{border-color:rgba(22,93,74,.28);background:#fff}.mfs-apple-ui input:focus,.mfs-apple-ui select:focus,.mfs-apple-ui textarea:focus{border-color:rgba(22,93,74,.58);background:#fff;box-shadow:0 0 0 4px rgba(22,93,74,.11),0 5px 16px rgba(22,93,74,.06)}.mfs-apple-ui label{font-weight:680;letter-spacing:-.005em}
.mfs-apple-ui input[type="checkbox"],.mfs-apple-ui input[type="radio"]{accent-color:var(--forest)}
.mfs-apple-ui .badge,.mfs-apple-ui .counter,.mfs-apple-ui .status-pill,.mfs-apple-ui .dock-status{border:1px solid rgba(60,60,67,.06);box-shadow:inset 0 1px rgba(255,255,255,.6)}
.mfs-apple-ui .responsive-table{overflow:auto;border-radius:16px}.mfs-apple-ui table{border-collapse:separate;border-spacing:0;background:rgba(255,255,255,.68)}.mfs-apple-ui th{color:#53645e;background:rgba(242,245,243,.92);font-weight:760;letter-spacing:.035em;backdrop-filter:blur(14px)}.mfs-apple-ui td,.mfs-apple-ui th{border-color:rgba(60,60,67,.09)}.mfs-apple-ui tbody tr{transition:background .16s ease,transform .16s ease}.mfs-apple-ui tbody tr:hover{background:rgba(226,240,234,.46)}
.mfs-apple-ui .tab-nav{padding:5px;border:1px solid var(--apple-line);border-radius:14px;background:rgba(235,235,240,.7);box-shadow:inset 0 1px 2px rgba(30,45,40,.04);backdrop-filter:blur(18px)}.mfs-apple-ui .tab-nav a{border-radius:10px;transition:background .18s ease,box-shadow .18s ease,color .18s ease}.mfs-apple-ui .tab-nav a.active{background:#fff;box-shadow:0 4px 12px rgba(20,42,35,.1),0 1px 2px rgba(20,42,35,.05)}
.mfs-apple-ui dialog:not(.apple-datetime-picker){border-color:rgba(255,255,255,.7);border-radius:24px;box-shadow:0 34px 100px rgba(10,30,24,.3),0 2px 12px rgba(10,30,24,.1)}.mfs-apple-ui dialog::backdrop{background:rgba(17,25,23,.38);backdrop-filter:blur(8px) saturate(.85)}
.mfs-apple-ui .flash{border:1px solid rgba(255,255,255,.6);border-radius:14px;box-shadow:0 15px 40px rgba(17,42,34,.15);backdrop-filter:blur(22px) saturate(1.15)}
.mfs-apple-ui .dropzone{border-color:rgba(22,93,74,.25);border-radius:18px;background:rgba(248,251,250,.86);transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.mfs-apple-ui .dropzone:hover,.mfs-apple-ui .dropzone.dragover{border-color:var(--forest);background:#f0f8f5;box-shadow:0 0 0 4px rgba(22,93,74,.08);transform:translateY(-1px)}
.mfs-apple-ui .market-hero,.mfs-apple-ui .service-banner,.mfs-apple-ui .driver-rule-banner,.mfs-apple-ui .seller-payment-rule{border:1px solid rgba(255,255,255,.13);box-shadow:0 24px 65px rgba(10,43,34,.16),inset 0 1px rgba(255,255,255,.12)}.mfs-apple-ui .market-promise>span{border-radius:16px;background:rgba(255,255,255,.075);box-shadow:inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(14px)}
.mfs-apple-ui .bike-photo img,.mfs-apple-ui .gallery-photo img,.mfs-apple-ui .mission-card>img{transition:transform .35s cubic-bezier(.2,.75,.25,1),filter .25s ease}.mfs-apple-ui .bike-card:hover .bike-photo img,.mfs-apple-ui .gallery-photo:hover img,.mfs-apple-ui .mission-card:hover>img{filter:saturate(1.04);transform:scale(1.025)}
.mfs-apple-ui details>summary{border-radius:12px;transition:background .18s ease,color .18s ease}.mfs-apple-ui details>summary:hover{color:var(--forest);background:rgba(224,238,232,.48)}
.mfs-apple-ui .mfs-assistant-launcher,.mfs-apple-ui .mfs-assistant{border-color:rgba(255,255,255,.55);box-shadow:0 22px 60px rgba(11,39,31,.22);backdrop-filter:blur(25px) saturate(1.22)}
.mfs-apple-ui :focus-visible{outline:3px solid rgba(0,122,255,.34);outline-offset:3px}
.mfs-apple-ui .main-content>*,.mfs-apple-ui .guest-content>*{animation:mfs-apple-block-in .42s cubic-bezier(.2,.74,.24,1) both}.mfs-apple-ui .main-content>*:nth-child(2),.mfs-apple-ui .guest-content>*:nth-child(2){animation-delay:.025s}.mfs-apple-ui .main-content>*:nth-child(3),.mfs-apple-ui .guest-content>*:nth-child(3){animation-delay:.05s}.mfs-apple-ui .main-content>*:nth-child(4),.mfs-apple-ui .guest-content>*:nth-child(4){animation-delay:.075s}.mfs-apple-ui .main-content>*:nth-child(5),.mfs-apple-ui .guest-content>*:nth-child(5){animation-delay:.1s}.mfs-apple-ui .main-content>*:nth-child(6),.mfs-apple-ui .guest-content>*:nth-child(6){animation-delay:.125s}
@keyframes mfs-apple-block-in{from{opacity:0;transform:translateY(14px) scale(.992)}to{opacity:1;transform:none}}
@media(max-width:900px){.mfs-apple-ui .main-content{padding-top:92px}.mfs-apple-ui .panel{border-radius:18px}.mfs-apple-ui .page-header{align-items:flex-start;flex-direction:column}.mfs-apple-ui .header-actions{width:100%;overflow-x:auto;padding-bottom:3px}.mfs-apple-ui .header-actions .button{flex:0 0 auto}.mfs-apple-ui .stat-grid{gap:10px}.mfs-apple-ui .stat-card{border-radius:16px}}
@media(max-width:600px){.mfs-apple-ui .main-content{padding-right:14px;padding-left:14px}.mfs-apple-ui h1{font-size:clamp(27px,9vw,38px)}.mfs-apple-ui .button{min-height:46px}.mfs-apple-ui .panel{border-radius:17px}.mfs-apple-ui .stat-card{padding:16px}.mfs-apple-ui .auth-panel{padding:20px 14px}.mfs-apple-ui .auth-form-wrap{padding:25px 20px;border-radius:21px}.mfs-apple-ui .filter-bar{padding:8px}}
@media(prefers-reduced-motion:reduce){.mfs-apple-ui *{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.mfs-apple-ui .main-content>*{transform:none!important}}
@media print{.mfs-apple-ui,.mfs-apple-ui .main-content{background:#fff!important}.mfs-apple-ui .panel{box-shadow:none!important;backdrop-filter:none!important}.mfs-apple-ui .main-content>*{animation:none!important}}

/* Pages fonctionnelles TC · commandes tactiles Android Material */
.tc-tool-page{width:min(1180px,100%);margin:0 auto;color:#173d33}.tc-tool-topbar{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:15px;margin-bottom:12px;padding:18px 20px;border-radius:22px;background:linear-gradient(135deg,#0e4d3d,#17775d);box-shadow:0 8px 22px rgba(9,57,44,.2);color:#fff}.tc-tool-back{display:grid;width:48px;height:48px;place-items:center;border-radius:16px;color:#0f5f4a;background:#fff;font-size:34px;line-height:1;box-shadow:0 3px 8px rgba(0,0,0,.18)}.tc-tool-topbar h1{margin:2px 0;font-size:25px;letter-spacing:-.025em}.tc-tool-topbar p{margin:0;color:#c8e3da;font-size:11px}.tc-tool-topbar .eyebrow{color:#9ed4c4}.tc-tool-state{padding:9px 13px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.12);font-size:11px;font-weight:700}.tc-tool-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:12px;padding:10px;border:1px solid #d5e3de;border-radius:20px;background:#edf5f2;box-shadow:0 4px 12px rgba(18,58,47,.08)}.tc-tool-nav a{position:relative;display:flex;min-height:56px;align-items:center;gap:11px;padding:8px 13px;overflow:hidden;border:1px solid #d4e1dc;border-radius:16px;color:#145d49;background:#fff;box-shadow:0 3px 7px rgba(15,56,45,.09);font-size:12px;text-decoration:none;transition:transform .14s ease,box-shadow .16s ease,background .16s ease}.tc-tool-nav a::after{position:absolute;inset:0;background:#0b6b52;content:"";opacity:0;transition:opacity .15s ease}.tc-tool-nav a>*{position:relative;z-index:1}.tc-tool-nav a>span{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:13px;color:#fff;background:#6ea900;font-size:19px;font-weight:700;box-shadow:0 2px 5px rgba(72,112,0,.25)}.tc-tool-nav a>b{font-weight:650}.tc-tool-nav a:hover{box-shadow:0 7px 15px rgba(15,56,45,.15);transform:translateY(-2px)}.tc-tool-nav a:hover::after{opacity:.045}.tc-tool-nav a:active{box-shadow:0 2px 5px rgba(15,56,45,.12);transform:translateY(1px) scale(.988)}.tc-tool-nav a.active{border-color:#116d54;color:#fff;background:#17775d;box-shadow:0 5px 13px rgba(15,102,78,.24)}.tc-tool-nav a.active>span{color:#17664f;background:#fff}.tc-tool-nav a.disabled{filter:grayscale(.7);opacity:.45;pointer-events:none}.tc-tool-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:12px}.tc-tool-summary>span{display:flex;min-height:68px;justify-content:center;flex-direction:column;padding:10px 15px;border:1px solid #d9e4e0;border-radius:16px;background:#fff;box-shadow:0 2px 6px rgba(16,54,44,.07)}.tc-tool-summary small{color:#6b7e77;font-size:9px;text-transform:uppercase}.tc-tool-summary strong{margin-top:3px;font-size:17px}.tc-tool-surface{padding:20px;border:1px solid #d5e2dd;border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(16,49,40,.09)}.tc-tool-surface>header{display:flex;align-items:center;gap:13px;margin-bottom:17px;padding-bottom:15px;border-bottom:1px solid #e0e8e5}.tc-tool-surface>header>span{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border-radius:15px;color:#fff;background:#17775d;font-size:23px;box-shadow:0 3px 8px rgba(18,105,81,.22)}.tc-tool-surface>header small{color:#147058;font-size:9px;font-weight:800;text-transform:uppercase}.tc-tool-surface h2{margin:2px 0;font-size:22px}.tc-tool-surface>header p{margin:0;color:#6c7b76;font-size:11px}.tc-tool-kpis,.tc-tool-vehicle{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.tc-tool-kpis>span,.tc-tool-vehicle>div{display:flex;min-height:74px;justify-content:center;flex-direction:column;padding:12px;border-radius:15px;background:#edf6f2}.tc-tool-kpis small,.tc-tool-vehicle small{color:#687b74;font-size:9px;text-transform:uppercase}.tc-tool-kpis strong,.tc-tool-vehicle strong{margin-top:3px;font-size:14px}.tc-tool-vehicle{grid-template-columns:repeat(3,1fr)}.tc-tool-stop-list{display:grid;gap:6px;margin:12px 0}.tc-tool-stop-list article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:9px 12px;border:1px solid #d9e5e0;border-radius:15px;background:#fbfdfc;box-shadow:0 2px 5px rgba(16,54,44,.06)}.tc-tool-stop-order{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;color:#fff;background:#16805f;font-size:16px;font-weight:800}.tc-tool-stop-list article>div{display:flex;min-width:0;flex-direction:column}.tc-tool-stop-list article>div:last-child{align-items:flex-end}.tc-tool-stop-list small,.tc-tool-stop-list em{color:#6b7d76;font-size:9px;font-style:normal}.tc-tool-stop-list strong{font-size:12px}.tc-tool-primary,.tc-tool-inline-form button,.tc-tool-form button{display:flex;min-height:50px;align-items:center;justify-content:center;gap:10px;margin-top:15px;padding:10px 18px;border:0;border-radius:16px;color:#fff;background:#17775d;box-shadow:0 5px 12px rgba(16,102,78,.24);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.tc-tool-primary{justify-content:space-between;text-decoration:none}.tc-tool-primary span{font-size:25px;font-weight:400}.tc-tool-form{display:grid;gap:13px}.tc-tool-form.grid{grid-template-columns:1fr 1fr}.tc-tool-form label{display:flex;flex-direction:column;gap:6px;color:#405d54;font-size:11px}.tc-tool-form label.wide,.tc-tool-form button{grid-column:1/-1}.tc-tool-form input,.tc-tool-form select,.tc-tool-form textarea{min-height:48px;padding:10px 12px;border:1px solid #bfcfc9;border-radius:13px;background:#f9fbfa;font:inherit;font-size:12px}.tc-tool-form textarea{min-height:94px;resize:vertical}.tc-tool-form button,.tc-tool-inline-form button{width:fit-content;min-width:220px}.tc-tool-form button:disabled,.tc-tool-inline-form button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.tc-tool-contact{display:flex;align-items:center;gap:12px;margin-top:15px;padding:13px;border-radius:15px;background:#edf6f2}.tc-tool-contact>span{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;color:#fff;background:#16805f}.tc-tool-contact>div{display:flex;flex-direction:column}.tc-tool-contact small{color:#667a73;font-size:10px}.tc-tool-indices{display:flex;flex-wrap:wrap;gap:8px}.tc-tool-indices span{padding:11px 16px;border:1px solid #cad8d3;border-radius:14px;background:#f6f9f8;font-size:13px;font-weight:700}.tc-tool-indices span.active{color:#fff;border-color:#17775d;background:#17775d}.tc-tool-documents{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.tc-tool-documents a{display:grid;grid-template-columns:42px 1fr;gap:2px 10px;padding:13px;border:1px solid #d5e2dd;border-radius:16px;color:#174b3e;background:#f8fbfa;box-shadow:0 3px 8px rgba(16,54,44,.07)}.tc-tool-documents a>span{grid-row:1/3;display:grid;width:40px;height:40px;place-items:center;border-radius:12px;color:#fff;background:#17775d;font-size:19px}.tc-tool-documents b{font-size:12px}.tc-tool-documents small{color:#6d7d77;font-size:9px}.tc-tool-notice,.tc-tool-empty{padding:17px;border-radius:15px;color:#5d501f;background:#fff4cd;font-size:12px}.tc-tool-empty{display:flex;align-items:center;flex-direction:column;gap:3px;color:#60736c;background:#f0f5f3;text-align:center}.tc-tool-empty>span{font-size:28px}.tc-tool-empty small{font-size:10px}.tc-tool-inline-form{margin:0}.tc-tool-inline-form.danger button{background:#a73a32}.tc-tool-inline-form button:active,.tc-tool-form button:active,.tc-tool-primary:active{transform:translateY(1px) scale(.99)}
@media(max-width:900px){.tc-tool-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-tool-summary,.tc-tool-kpis{grid-template-columns:1fr 1fr}.tc-tool-vehicle,.tc-tool-documents{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.tc-tool-topbar{grid-template-columns:48px 1fr;padding:14px}.tc-tool-topbar h1{font-size:19px}.tc-tool-state{grid-column:2;justify-self:start}.tc-tool-nav{grid-template-columns:1fr;padding:7px}.tc-tool-nav a{min-height:58px}.tc-tool-summary,.tc-tool-kpis,.tc-tool-vehicle,.tc-tool-documents,.tc-tool-form.grid{grid-template-columns:1fr}.tc-tool-surface{padding:14px}.tc-tool-surface h2{font-size:18px}.tc-tool-stop-list article{grid-template-columns:38px 1fr}.tc-tool-stop-list article>div:last-child{grid-column:2;align-items:flex-start}.tc-tool-form button,.tc-tool-inline-form button{width:100%;min-width:0}}

/* Outils TC ouverts dans une fenêtre Apple sans quitter la préparation */
.tc-tool-dialog{width:min(1120px,calc(100vw - 48px));max-width:none;height:min(850px,calc(100dvh - 36px));max-height:none;padding:0;overflow:visible;border:0;border-radius:28px;color:#173d33;background:rgba(250,251,251,.94);box-shadow:0 42px 120px rgba(8,30,24,.34),0 5px 18px rgba(8,30,24,.18);backdrop-filter:blur(32px) saturate(1.35)}.tc-tool-dialog::backdrop{background:rgba(17,29,26,.34);backdrop-filter:blur(9px) saturate(.9)}.tc-tool-dialog[open]{animation:tc-tool-dialog-in .24s cubic-bezier(.2,.8,.24,1)}.tc-tool-dialog-shell{display:grid;height:100%;grid-template-rows:62px minmax(0,1fr);overflow:hidden;border:1px solid rgba(255,255,255,.8);border-radius:28px;background:#f3f5f4}.tc-tool-dialog-shell>header{position:relative;z-index:3;display:grid;grid-template-columns:38px minmax(0,1fr) 34px 34px;align-items:center;gap:9px;padding:9px 12px 9px 14px;border-bottom:1px solid rgba(60,60,67,.11);background:rgba(250,251,251,.88);box-shadow:0 5px 18px rgba(16,47,39,.06);backdrop-filter:blur(28px)}.tc-tool-dialog-mark{display:grid;width:36px;height:36px;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(145deg,#208b6d,#105846);box-shadow:0 5px 12px rgba(16,96,73,.2);font-size:17px}.tc-tool-dialog-shell>header>div{display:flex;min-width:0;flex-direction:column}.tc-tool-dialog-shell>header small{color:#6d7d78;font-size:8px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.tc-tool-dialog-shell>header strong{overflow:hidden;color:#163b32;font-size:15px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.tc-tool-dialog-shell>header>a,.tc-tool-dialog-shell>header>button{display:grid;width:32px;height:32px;padding:0;place-items:center;border:0;border-radius:50%;color:#5d6c68;background:#e7ebe9;cursor:pointer;font:inherit;font-size:17px;text-decoration:none;transition:transform .15s ease,background .15s ease}.tc-tool-dialog-shell>header>a:hover,.tc-tool-dialog-shell>header>button:hover{color:#174b3e;background:#dce7e3;transform:scale(1.06)}.tc-tool-dialog iframe{width:100%;height:100%;border:0;background:#f5f5f7}.tc-tool-dialog-progress{position:absolute;top:62px;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:10px;color:#31574d;background:rgba(245,247,246,.84);font-size:11px;font-weight:650;backdrop-filter:blur(12px)}.tc-tool-dialog-progress[hidden]{display:none}.tc-tool-dialog-progress i{width:22px;height:22px;border:3px solid #cfe2dc;border-top-color:#17775d;border-radius:50%;animation:tc-tool-spin .7s linear infinite}.tc-tool-modal-open{overflow:hidden}
.tc-tool-embedded{padding-left:0!important;background:#f5f5f7!important}.tc-tool-embedded>.sidebar,.tc-tool-embedded>.mobile-header,.tc-tool-embedded>.mfs-assistant-launcher,.tc-tool-embedded>.mfs-assistant{display:none!important}.tc-tool-embedded .main-content{width:100%;max-width:none!important;min-height:100dvh;padding:12px 14px 24px!important;background:radial-gradient(circle at 88% 2%,rgba(255,255,255,.92),transparent 25%),#f5f5f7!important}.tc-tool-embedded .tc-tool-page{width:100%;max-width:none}.tc-tool-embedded .tc-tool-topbar{margin-bottom:9px;padding:14px 17px;border-radius:19px}.tc-tool-embedded .tc-tool-topbar h1{font-size:21px}.tc-tool-embedded .tc-tool-back{width:42px;height:42px;border-radius:13px}.tc-tool-embedded .tc-tool-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-bottom:9px;padding:7px;border-radius:16px}.tc-tool-embedded .tc-tool-nav a{min-height:48px;padding:6px 9px;border-radius:13px;font-size:10px}.tc-tool-embedded .tc-tool-nav a>span{width:31px;height:31px;flex-basis:31px;border-radius:10px;font-size:15px}.tc-tool-embedded .tc-tool-summary{margin-bottom:9px}.tc-tool-embedded .tc-tool-summary>span{min-height:58px;border-radius:13px}.tc-tool-embedded .tc-tool-surface{padding:17px;border-radius:19px}.tc-tool-embedded .flash-stack{position:fixed;top:12px;right:16px;z-index:90;width:min(460px,calc(100% - 32px))}
@keyframes tc-tool-dialog-in{from{opacity:.25;filter:blur(8px);transform:translateY(20px) scale(.965)}to{opacity:1;filter:none;transform:none}}@keyframes tc-tool-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.tc-tool-dialog{width:calc(100vw - 20px);height:calc(100dvh - 20px);border-radius:22px}.tc-tool-dialog-shell{border-radius:22px}.tc-tool-embedded .tc-tool-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.tc-tool-dialog{width:100vw;height:100dvh;border-radius:0}.tc-tool-dialog-shell{border:0;border-radius:0}.tc-tool-dialog-shell>header{grid-template-columns:36px minmax(0,1fr) 32px 32px}.tc-tool-embedded .main-content{padding:8px!important}.tc-tool-embedded .tc-tool-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-tool-embedded .tc-tool-topbar{grid-template-columns:43px 1fr auto}.tc-tool-embedded .tc-tool-state{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.tc-tool-dialog[open]{animation:none}.tc-tool-dialog-progress i{animation-duration:1.4s}}
.operations-tactile-page .tactile-rm-quick-actions{gap:8px;padding:10px;border-radius:0 0 16px 16px;box-shadow:0 10px 24px rgba(13,54,43,.14)}.operations-tactile-page .tactile-rm-quick-actions>header{padding:3px 3px 2px}.operations-tactile-page .tactile-rm-quick-actions>header strong{font-size:10px}.operations-tactile-page .tactile-rm-quick-actions>header small{font-size:8px}.operations-tactile-page .tactile-rm-command-grid{grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:6px}.operations-tactile-page .tactile-rm-command{min-height:50px;gap:8px;padding:7px 8px;border-radius:13px;font-size:8.5px;box-shadow:0 3px 8px rgba(14,57,46,.11)}.operations-tactile-page .tactile-rm-command span{width:32px;height:32px;flex-basis:32px;border-radius:11px;font-size:16px}.operations-tactile-page .tactile-rm-command b{overflow:visible;font-weight:650;text-overflow:clip}.operations-tactile-page .tactile-rm-document-grid{gap:6px}.operations-tactile-page .tactile-rm-document-grid a,.operations-tactile-page .tactile-rm-document-grid button,.operations-tactile-page .tactile-rm-document-grid>.disabled{min-height:42px;border-radius:11px;font-size:8.5px}.operations-tactile-page .tactile-rm-document-grid a span,.operations-tactile-page .tactile-rm-document-grid button span,.operations-tactile-page .tactile-rm-document-grid>.disabled span{width:26px;height:26px;border-radius:8px;font-size:12px}

/* Site public en construction · ouverture janvier 2028 */
.public-construction-banner{position:sticky;top:0;z-index:1200;display:flex;min-height:54px;align-items:center;justify-content:center;gap:14px;padding:8px 22px;color:#fff;background:linear-gradient(110deg,rgba(9,67,53,.98),rgba(21,126,96,.96));box-shadow:0 10px 30px rgba(8,45,35,.2);backdrop-filter:blur(24px) saturate(1.25)}.public-construction-banner>span{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:11px;color:#fff;background:#ed1c24;box-shadow:0 5px 14px rgba(90,0,0,.24);font-size:10px;font-weight:850}.public-construction-banner p{display:flex;min-width:0;flex-direction:column;margin:0}.public-construction-banner strong{font-size:13px;font-weight:760}.public-construction-banner small{color:rgba(255,255,255,.8);font-size:10px}.public-construction-banner time{padding:7px 11px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.11);font-size:10px;font-weight:780;letter-spacing:.07em}.public-opening-pill{display:inline-flex;min-height:38px;align-items:center;padding:8px 14px;border:1px solid rgba(19,101,79,.18);border-radius:999px;color:#0f654f;background:#edf7f3;box-shadow:0 3px 10px rgba(15,79,62,.08);font-size:11px;font-weight:680;white-space:nowrap}.public-opening-pill.light{color:#fff;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.12)}
.registration-closed-page{display:grid;min-height:calc(100dvh - 210px);place-items:center;padding:48px 20px 72px;background:radial-gradient(circle at 50% 0,rgba(220,241,233,.85),transparent 42%),#f5f7f6}.registration-closed-card{width:min(720px,100%);padding:58px 54px;border:1px solid rgba(255,255,255,.85);border-radius:32px;background:rgba(255,255,255,.88);box-shadow:0 28px 80px rgba(16,58,47,.14),inset 0 1px rgba(255,255,255,.9);text-align:center;backdrop-filter:blur(28px) saturate(1.15)}.registration-closed-mark{display:grid;width:72px;height:72px;margin:0 auto 22px;place-items:center;border-radius:23px;color:#fff;background:linear-gradient(145deg,#ed1c24,#bd0f17);box-shadow:0 14px 32px rgba(190,18,27,.24);font-size:20px;font-weight:900;font-style:italic}.registration-closed-card h1{margin:8px 0 14px;color:#103d32;font-size:clamp(34px,5vw,56px);letter-spacing:-.045em}.registration-closed-card>p:not(.eyebrow){max-width:580px;margin:0 auto;color:#587068;font-size:16px;line-height:1.65}.registration-closed-date{display:flex;align-items:center;flex-direction:column;gap:3px;margin:28px 0;padding:18px;border:1px solid #d9e9e3;border-radius:19px;color:#0e624c;background:#eff8f4}.registration-closed-date small{font-size:9px;font-weight:800;letter-spacing:.13em}.registration-closed-date strong{font-size:24px;letter-spacing:.04em}.registration-closed-actions{display:flex;justify-content:center;gap:10px;margin-bottom:28px}.registration-closed-card>small{color:#73847e}.rule-box.construction{border-color:#d5e7e0;background:#f0f8f5}
@media(max-width:700px){.public-construction-banner{justify-content:flex-start;padding:8px 12px}.public-construction-banner small{display:none}.public-construction-banner time{margin-left:auto}.registration-closed-page{padding:24px 12px 48px}.registration-closed-card{padding:38px 20px;border-radius:24px}.registration-closed-actions{flex-direction:column}.registration-closed-actions .button{width:100%}}

/* Mesure d'audience MFS */
.analytics-dashboard{display:grid;gap:14px}.analytics-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 30px;border-radius:25px;color:#fff;background:radial-gradient(circle at 88% 5%,rgba(72,209,163,.2),transparent 34%),linear-gradient(125deg,#0c493a,#15795e);box-shadow:0 18px 50px rgba(11,68,53,.2)}.analytics-hero h2{margin:4px 0 6px;color:#fff;font-size:30px;letter-spacing:-.035em}.analytics-hero p{max-width:700px;margin:0;color:rgba(255,255,255,.76)}.analytics-live-pill{display:grid;min-width:190px;grid-template-columns:13px 1fr;align-items:center;gap:1px 9px;padding:14px 16px;border:1px solid rgba(255,255,255,.2);border-radius:17px;background:rgba(255,255,255,.1);backdrop-filter:blur(18px)}.analytics-live-pill>i,.analytics-live-badge i{width:10px;height:10px;border-radius:50%;background:#6ff2a8;box-shadow:0 0 0 5px rgba(111,242,168,.14);animation:analytics-pulse 1.8s infinite}.analytics-live-pill span{display:flex;align-items:baseline;gap:5px}.analytics-live-pill strong{font-size:25px}.analytics-live-pill small{grid-column:2;color:rgba(255,255,255,.67);font-size:9px}.analytics-periods{display:flex;width:max-content;gap:5px;padding:5px;border:1px solid rgba(60,60,67,.09);border-radius:14px;background:rgba(235,238,237,.8);box-shadow:inset 0 1px 2px rgba(20,40,34,.04)}.analytics-periods a{padding:9px 14px;border-radius:10px;color:#587068;font-size:11px;font-weight:680;text-decoration:none}.analytics-periods a.active{color:#0b5f49;background:#fff;box-shadow:0 3px 10px rgba(20,48,39,.1)}.analytics-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.analytics-kpis article{position:relative;display:grid;grid-template-columns:42px 1fr;align-items:center;padding:18px;border:1px solid rgba(40,80,68,.1);border-radius:19px;background:rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(17,55,44,.07)}.analytics-kpi-icon{display:grid;width:38px;height:38px;grid-row:1/4;place-items:center;border-radius:12px;font-size:17px}.analytics-kpi-icon.green{color:#087152;background:#dff5ed}.analytics-kpi-icon.blue{color:#126ca4;background:#e2f2fb}.analytics-kpi-icon.purple{color:#7442a0;background:#f0e7fb}.analytics-kpi-icon.orange{color:#a66508;background:#fff0d7}.analytics-kpis small,.analytics-kpis p{margin:0;color:#74837e;font-size:9px}.analytics-kpis strong{font-size:25px;letter-spacing:-.03em}.analytics-grid{display:grid;gap:10px}.analytics-grid-main{grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr)}.analytics-location-grid,.analytics-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-dashboard .panel{margin:0}.analytics-chart-panel>header,.analytics-live-panel>header,.analytics-table-card>header,.analytics-rank-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.analytics-dashboard h3{margin:2px 0;font-size:17px}.analytics-chart-panel>header>span{padding:6px 9px;border-radius:999px;color:#557069;background:#eef5f2;font-size:9px}.analytics-chart{display:flex;height:230px;align-items:flex-end;gap:4px;padding:15px 4px 0;border-bottom:1px solid #d8e3df;background:repeating-linear-gradient(to top,transparent 0,transparent 54px,rgba(42,89,75,.065) 55px)}.analytics-bar{display:flex;height:100%;min-width:3px;flex:1;align-items:center;justify-content:flex-end;flex-direction:column;gap:6px}.analytics-bar b{width:min(18px,76%);min-height:3px;border-radius:7px 7px 3px 3px;background:linear-gradient(#2a9d7b,#0e674f);box-shadow:0 4px 12px rgba(17,116,87,.18);transition:height .3s ease}.analytics-bar small{height:12px;color:#84918d;font-size:7px}.analytics-live-badge{display:flex;align-items:center;gap:7px;color:#087052;font-size:9px;font-weight:750;text-transform:uppercase}.analytics-live-badge i{width:7px;height:7px}.analytics-live-panel ul{display:grid;max-height:255px;gap:5px;margin:0;padding:0;overflow:auto;list-style:none}.analytics-live-panel li{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border-radius:12px;background:#f3f8f6}.analytics-live-dot{width:7px;height:7px;border-radius:50%;background:#22b983;box-shadow:0 0 0 4px rgba(34,185,131,.1)}.analytics-live-panel li div{display:flex;min-width:0;flex-direction:column}.analytics-live-panel li strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.analytics-live-panel li small,.analytics-live-panel time{color:#72817c;font-size:8px}.analytics-live-empty{display:block!important;color:#71807b;text-align:center}.analytics-table-card>header{justify-content:flex-start}.analytics-table-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:12px;color:#0f7157;background:#e3f4ee}.analytics-table-card table{font-size:10px}.analytics-table-card th,.analytics-table-card td{padding:9px 7px}.analytics-rank-card ol{display:grid;gap:6px;margin:0;padding:0;list-style:none}.analytics-rank-card li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:12px;background:#f3f7f5}.analytics-rank-card li span{display:flex;min-width:0;flex-direction:column}.analytics-rank-card li strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.analytics-rank-card li small{color:#74827d;font-size:8px}.analytics-rank-card li>b{display:grid;min-width:30px;height:30px;place-items:center;border-radius:10px;color:#0d6b52;background:#e1f2ec;font-size:11px}.analytics-empty{padding:18px;color:#72817c;text-align:center}@keyframes analytics-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.82)}}
@media(max-width:1100px){.analytics-kpis{grid-template-columns:repeat(2,1fr)}.analytics-grid-main,.analytics-location-grid,.analytics-detail-grid{grid-template-columns:1fr 1fr}.analytics-location-grid article:last-child,.analytics-detail-grid article:last-child{grid-column:1/-1}}
@media(max-width:700px){.analytics-hero{align-items:flex-start;flex-direction:column;padding:22px}.analytics-live-pill{width:100%}.analytics-periods{width:100%;overflow:auto}.analytics-periods a{flex:1;text-align:center;white-space:nowrap}.analytics-kpis,.analytics-grid-main,.analytics-location-grid,.analytics-detail-grid{grid-template-columns:1fr}.analytics-location-grid article:last-child,.analytics-detail-grid article:last-child{grid-column:auto}.analytics-chart{height:190px}.analytics-bar small{display:none}}
@media(prefers-reduced-motion:reduce){.analytics-live-pill>i,.analytics-live-badge i{animation:none}}
.analytics-attribution{margin:0;padding:2px 8px;color:#7a8984;font-size:9px;text-align:right}.analytics-attribution a{color:#346f5f}

/* Période personnalisée et carte des visiteurs uniques */
.analytics-period-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.analytics-custom-period{display:flex;align-items:center;gap:7px;padding:5px;border:1px solid rgba(60,60,67,.09);border-radius:15px;background:rgba(255,255,255,.9);box-shadow:0 5px 18px rgba(20,48,39,.06)}.analytics-custom-period label{display:flex;align-items:center;gap:6px;padding-left:9px;color:#72827c;font-size:9px;font-weight:700}.analytics-custom-period input{min-height:34px;padding:5px 8px;border:1px solid #d4dfdb;border-radius:9px;color:#183e34;background:#f7faf9;font:inherit;font-size:10px}.analytics-custom-period button{min-height:36px;padding:7px 14px;border:0;border-radius:10px;color:#fff;background:#126f56;box-shadow:0 4px 10px rgba(18,111,86,.18);font:inherit;font-size:10px;font-weight:700;cursor:pointer}.analytics-custom-period button:hover{background:#0b5d47}.analytics-custom-period button:active{transform:scale(.98)}
.analytics-map-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:10px}.analytics-map-panel{overflow:hidden}.analytics-map-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:4px}.analytics-map-panel>header h3{margin:2px 0 3px}.analytics-map-panel>header p{margin:0;color:#75847f;font-size:9px}.analytics-map-count{display:flex;align-items:baseline;gap:4px;padding:9px 12px;border-radius:999px;color:#0d674f;background:#e2f4ed;font-size:9px;font-weight:720;white-space:nowrap}.analytics-map-count strong{font-size:17px}.analytics-france-map{position:relative;display:grid;min-height:390px;place-items:center;overflow:hidden;border:1px solid #dfebe6;border-radius:19px;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.96),rgba(240,247,244,.86) 58%,rgba(228,240,235,.82));isolation:isolate}.analytics-france-map::before{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(25,104,82,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(25,104,82,.035) 1px,transparent 1px);background-size:36px 36px;content:""}.analytics-france-map svg{width:min(100%,540px);height:390px;overflow:visible}.analytics-map-shape polygon{fill:url(#analytics-france-fill);stroke:#8cbdae;stroke-width:2.2;stroke-linejoin:round}.analytics-map-marker{cursor:help}.analytics-map-marker circle:not(.pulse){fill:#0e8a65;stroke:#fff;stroke-width:3;filter:drop-shadow(0 3px 5px rgba(5,81,60,.3))}.analytics-map-marker .pulse{fill:rgba(22,180,130,.16);stroke:rgba(22,180,130,.35);stroke-width:1;transform-origin:center;animation:analytics-map-pulse 2s ease-out infinite}.analytics-map-empty{position:absolute;display:flex;align-items:center;flex-direction:column;gap:3px;padding:15px 18px;border:1px solid rgba(255,255,255,.85);border-radius:16px;color:#516a62;background:rgba(255,255,255,.86);box-shadow:0 8px 24px rgba(21,61,50,.1);text-align:center;backdrop-filter:blur(12px)}.analytics-map-empty[hidden]{display:none}.analytics-map-empty>span{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;color:#147457;background:#ddf2ea;font-size:17px}.analytics-map-empty strong{font-size:11px}.analytics-map-empty small{color:#7a8a84;font-size:8px}.analytics-map-panel>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 5px 0;color:#71817b;font-size:8px}.analytics-map-panel>footer span{display:flex;align-items:center;gap:7px;font-weight:700}.analytics-map-panel>footer i{width:8px;height:8px;border-radius:50%;background:#0e8a65;box-shadow:0 0 0 4px rgba(14,138,101,.1)}.analytics-map-layout .analytics-live-panel ul{max-height:420px}.analytics-period-summary{display:flex;align-items:center;gap:13px}.analytics-period-summary .analytics-table-icon{flex:0 0 36px}.analytics-period-summary h3{margin:2px 0 5px}.analytics-period-summary p{margin:0;color:#70817b;font-size:9px;line-height:1.55}
@keyframes analytics-map-pulse{0%{opacity:.9;transform:scale(.45)}75%,100%{opacity:0;transform:scale(1.35)}}
@media(max-width:1100px){.analytics-period-toolbar{align-items:stretch;flex-direction:column}.analytics-map-layout{grid-template-columns:1fr}.analytics-map-layout .analytics-live-panel ul{max-height:260px}}
@media(max-width:700px){.analytics-custom-period{display:grid;width:100%;grid-template-columns:1fr 1fr}.analytics-custom-period label{display:grid;gap:3px;padding-left:0}.analytics-custom-period input{width:100%}.analytics-custom-period button{grid-column:1/-1}.analytics-france-map{min-height:310px}.analytics-france-map svg{height:310px}.analytics-map-panel>header{align-items:flex-start;flex-direction:column}.analytics-map-panel>footer{align-items:flex-start;flex-direction:column}.analytics-period-summary{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.analytics-map-marker .pulse{animation:none}}

/* Carte de France découpée par département */
.analytics-france-map svg{width:min(100%,690px)}.analytics-map-insets rect{fill:rgba(255,255,255,.58);stroke:#cfdfd9;stroke-width:1}.analytics-map-department{cursor:pointer}.analytics-map-department path{fill:url(#analytics-france-fill);stroke:#7eaa9e;stroke-width:.75;stroke-linejoin:round;transition:fill .18s ease,stroke .18s ease,filter .18s ease}.analytics-map-department text{fill:#42675c;font-size:7px;font-weight:760;text-anchor:middle;dominant-baseline:central;pointer-events:none;paint-order:stroke;stroke:rgba(255,255,255,.86);stroke-width:1.8px}.analytics-map-department.overseas text{font-size:8px}.analytics-map-department:hover path{fill:#c4e7da;stroke:#0d7457;stroke-width:1.5;filter:brightness(1.02)}.analytics-map-department.has-visitors path{fill:#a9dfca;stroke:#07805e;stroke-width:1.4}.analytics-map-department.has-visitors text{fill:#064f3c;font-weight:850}.analytics-map-marker{pointer-events:none}

/* Zoom et déplacement de la carte */
.analytics-france-map svg{cursor:grab;touch-action:none;user-select:none}.analytics-france-map.is-dragging svg{cursor:grabbing}.analytics-france-map svg:focus-visible{outline:3px solid rgba(16,126,94,.28);outline-offset:-4px}.analytics-map-controls{position:absolute;z-index:5;top:12px;left:12px;display:grid;gap:5px;padding:5px;border:1px solid rgba(45,78,68,.12);border-radius:15px;background:rgba(255,255,255,.88);box-shadow:0 10px 25px rgba(20,60,49,.13);backdrop-filter:blur(18px)}.analytics-map-controls button{display:grid;width:34px;height:34px;padding:0;place-items:center;border:0;border-radius:10px;color:#174f40;background:#edf5f2;font:inherit;font-size:19px;font-weight:500;line-height:1;cursor:pointer;transition:background .15s ease,transform .15s ease}.analytics-map-controls button:last-child{font-size:15px}.analytics-map-controls button:hover,.analytics-map-controls button:focus-visible{color:#fff;background:#13775b;outline:none;transform:scale(1.04)}.analytics-map-controls button:active{transform:scale(.96)}.analytics-map-zoom-level{position:absolute;z-index:4;bottom:10px;left:12px;min-width:50px;padding:6px 8px;border:1px solid rgba(45,78,68,.1);border-radius:999px;color:#42665c;background:rgba(255,255,255,.84);box-shadow:0 4px 14px rgba(20,60,49,.08);font-size:8px;font-weight:750;text-align:center;pointer-events:none;backdrop-filter:blur(12px)}.analytics-map-empty{pointer-events:none}
.analytics-live-pill small b{color:#fff;font-size:10px}.analytics-live-pill small em{font-style:normal}.analytics-live-pill>span>span{font-size:10px;font-weight:650}.analytics-map-count>span{font-size:9px}

/* Fenêtre des villes d'un département */
.analytics-map-department.is-selected path{fill:#85d3b7;stroke:#075c46;stroke-width:2}.analytics-department-dialog{width:min(820px,calc(100vw - 36px));max-width:none;max-height:min(760px,calc(100dvh - 36px));padding:0;overflow:hidden;border:0;border-radius:25px;color:#173c32;background:rgba(248,250,249,.97);box-shadow:0 35px 110px rgba(9,39,31,.34),0 5px 18px rgba(9,39,31,.16);backdrop-filter:blur(28px) saturate(1.2)}.analytics-department-dialog::backdrop{background:rgba(18,34,29,.32);backdrop-filter:blur(8px)}.analytics-department-dialog[open]{animation:analytics-department-in .2s cubic-bezier(.2,.8,.25,1)}.analytics-department-dialog.is-fallback-open{position:fixed;z-index:9999;inset:50% auto auto 50%;display:block;transform:translate(-50%,-50%)}.analytics-department-shell{display:grid;max-height:min(760px,calc(100dvh - 36px));grid-template-rows:auto minmax(0,1fr);overflow:hidden}.analytics-department-shell>header{display:grid;grid-template-columns:52px minmax(0,1fr) 38px;align-items:center;gap:13px;padding:18px 20px;color:#fff;background:radial-gradient(circle at 90% 0,rgba(90,220,173,.2),transparent 36%),linear-gradient(125deg,#0c4c3b,#167b60)}.analytics-department-shell>header h3{margin:2px 0 1px;color:#fff;font-size:20px}.analytics-department-shell>header small{color:rgba(255,255,255,.72);font-size:9px}.analytics-department-code{display:grid;width:50px;height:50px;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:rgba(255,255,255,.14);box-shadow:inset 0 1px rgba(255,255,255,.22);font-size:17px;font-weight:800}.analytics-department-shell>header button{display:grid;width:36px;height:36px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;background:rgba(255,255,255,.1);font:inherit;font-size:22px;font-weight:300;cursor:pointer}.analytics-department-shell>header button:hover{background:rgba(255,255,255,.2);transform:scale(1.04)}.analytics-department-loading{display:flex;min-height:300px;align-items:center;justify-content:center;gap:10px;color:#587068;font-size:11px}.analytics-department-loading[hidden],.analytics-department-content[hidden]{display:none}.analytics-department-loading i{width:22px;height:22px;border:3px solid #d5e8e1;border-top-color:#14775b;border-radius:50%;animation:tc-tool-spin .8s linear infinite}.analytics-department-content{min-height:0;padding:15px;overflow:auto}.analytics-department-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:11px}.analytics-department-kpis article{display:grid;grid-template-columns:34px 1fr;align-items:center;padding:11px;border:1px solid #dce7e3;border-radius:15px;background:#fff;box-shadow:0 5px 15px rgba(20,60,49,.06)}.analytics-department-kpis article>span{display:grid;width:31px;height:31px;grid-row:1/3;place-items:center;border-radius:10px;color:#0b6c52;background:#e3f4ee}.analytics-department-kpis small{color:#71817b;font-size:8px}.analytics-department-kpis strong{font-size:17px}.analytics-department-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:10px}.analytics-department-columns>section{min-width:0;padding:13px;border:1px solid #dce7e3;border-radius:17px;background:#fff}.analytics-department-columns>section>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.analytics-department-columns h4{margin:2px 0;font-size:14px}.analytics-department-columns>section>header>span:not(.analytics-live-badge){padding:5px 8px;border-radius:999px;color:#517067;background:#edf5f2;font-size:8px;font-weight:700}.analytics-city-list,.analytics-department-live-list{display:grid;max-height:390px;gap:6px;overflow:auto}.analytics-city-list article{display:grid;grid-template-columns:minmax(150px,1fr) repeat(3,auto);align-items:center;gap:8px;padding:10px;border-radius:12px;background:#f3f7f5}.analytics-city-list article>div{display:flex;min-width:0;flex-direction:column}.analytics-city-list article strong{font-size:10px}.analytics-city-list article small{color:#798782;font-size:7px}.analytics-city-list article>span{display:flex;align-items:baseline;gap:3px;padding:5px 7px;border-radius:8px;color:#5f716b;background:#fff;font-size:7px;white-space:nowrap}.analytics-city-list article>span b{color:#126d54;font-size:10px}.analytics-department-live-list article{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;border-radius:12px;background:#f3f8f6}.analytics-department-live-list article>div{display:flex;min-width:0;flex-direction:column}.analytics-department-live-list strong{font-size:10px}.analytics-department-live-list small{overflow:hidden;color:#73827d;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.analytics-department-live-list time{color:#6f7f79;font-size:8px}.analytics-department-empty{margin:0;padding:28px 12px;border-radius:12px;color:#73827d;background:#f4f7f6;font-size:10px;text-align:center}@keyframes analytics-department-in{from{opacity:.2;filter:blur(7px);transform:translateY(15px) scale(.97)}to{opacity:1;filter:none;transform:none}}
@media(max-width:720px){.analytics-department-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:20px}.analytics-department-shell{max-height:calc(100dvh - 16px)}.analytics-department-shell>header{grid-template-columns:44px minmax(0,1fr) 34px;padding:14px}.analytics-department-code{width:43px;height:43px;border-radius:13px}.analytics-department-shell>header h3{font-size:16px}.analytics-department-kpis{grid-template-columns:1fr 1fr}.analytics-department-columns{grid-template-columns:1fr}.analytics-city-list,.analytics-department-live-list{max-height:280px}.analytics-city-list article{grid-template-columns:minmax(130px,1fr) auto}.analytics-city-list article>span:nth-of-type(2),.analytics-city-list article>span:nth-of-type(3){display:none}}
@media(prefers-reduced-motion:reduce){.analytics-department-dialog[open]{animation:none}}

.analytics-location-consent{position:fixed;right:22px;bottom:22px;z-index:1400;display:grid;grid-template-columns:42px minmax(0,1fr) auto 30px;align-items:center;gap:12px;width:min(520px,calc(100vw - 28px));padding:13px 13px 13px 15px;border:1px solid rgba(20,91,75,.16);border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 18px 55px rgba(16,52,45,.2);backdrop-filter:blur(22px) saturate(1.25);animation:analytics-location-in .35s cubic-bezier(.2,.8,.2,1)}
.analytics-location-consent>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#e5f5ef;color:#13795f;font-size:22px}.analytics-location-consent p{display:grid;gap:2px;margin:0;line-height:1.25}.analytics-location-consent p strong{font-size:14px;color:#113e35}.analytics-location-consent p small{font-size:11px;color:#62756f}.analytics-location-consent button{min-height:38px;padding:0 16px;border:0;border-radius:12px;background:#13795f;color:#fff;font:700 12px/1 inherit;cursor:pointer;box-shadow:0 7px 16px rgba(19,121,95,.18)}.analytics-location-consent button.close{width:30px;min-height:30px;padding:0;border-radius:10px;background:#eef3f1;color:#46665e;box-shadow:none;font-size:18px}.analytics-location-consent.is-success{border-color:#7ad9b7;background:rgba(238,252,247,.96)}
@keyframes analytics-location-in{from{opacity:0;transform:translateY(14px) scale(.97);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@media(max-width:680px){.analytics-location-consent{right:14px;bottom:14px;grid-template-columns:38px minmax(0,1fr) 30px;padding:11px;border-radius:18px}.analytics-location-consent>span{width:38px;height:38px}.analytics-location-consent button[data-location-allow]{grid-column:2/4;width:100%}.analytics-location-consent button.close{grid-column:3;grid-row:1}}
@media(prefers-reduced-motion:reduce){.analytics-location-consent{animation:none}}
