*{-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
.view.active{animation:viewIn .34s cubic-bezier(.2,.75,.25,1)}
.hero,.card,.task-card,.record,.stat,.primary,.secondary,.icon-button,.close,.tab,.tab span,.update-km{transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,filter .2s ease}
.hero:active{transform:scale(.992)}
.task-card:active,.record:active{transform:scale(.987);box-shadow:0 7px 20px rgba(30,48,40,.07)}
.stat:active{transform:scale(.965);filter:brightness(.98)}
.primary{box-shadow:0 8px 20px rgba(23,79,60,.18)}
.primary:active,.secondary:active{transform:scale(.975);filter:brightness(.96)}
.icon-button:active,.close:active,.tab:active{transform:scale(.91)}
.update-km:active{transform:scale(.96);background:rgba(255,255,255,.22)}
.tab.active span,.tab.active svg{transform:translateY(-2px)}.tab.active{transform:translateY(-1px)}
dialog[open]{animation:dialogIn .28s cubic-bezier(.18,.78,.3,1)}
dialog[open]::backdrop{animation:fadeIn .25s ease}
@keyframes viewIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes dialogIn{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Liquid glass : léger, lisible et réactif */
.icon-button,.close,.secondary,.file-picker,.update-km{
  -webkit-backdrop-filter:blur(18px) saturate(165%);
  backdrop-filter:blur(18px) saturate(165%);
  border:1px solid rgba(255,255,255,.5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 22px rgba(25,44,36,.1);
}
.icon-button,.close,.secondary,.file-picker{background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.38))}
.update-km{background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.09))}
.primary{position:relative;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--green) 88%,white),var(--green));border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 24px color-mix(in srgb,var(--green) 25%,transparent)}
.tabbar{background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(249,248,244,.68));-webkit-backdrop-filter:blur(24px) saturate(170%);backdrop-filter:blur(24px) saturate(170%);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 -8px 25px rgba(25,44,36,.05)}

/* Palette des teintes C3 Aircross */
.color-field{border:0;padding:0;margin:0 0 16px}.color-field legend{color:var(--muted);font-size:12px;font-weight:650;margin-bottom:8px}.color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 8px}.color-choice{position:relative;display:flex!important;min-width:0;flex-direction:column;align-items:center;gap:5px;margin:0!important;text-align:center;cursor:pointer}.color-choice input[type="radio"]{position:absolute;opacity:0;pointer-events:none}.color-choice span{width:36px;height:36px;border-radius:50%;background:var(--swatch);border:2px solid rgba(255,255,255,.85);box-shadow:0 0 0 1px var(--line),0 5px 12px rgba(30,48,40,.1);transition:transform .2s ease,box-shadow .2s ease}.color-choice small{max-width:100%;font-size:9px;line-height:1.15;color:var(--muted)}.color-choice.selected span{transform:scale(1.08);box-shadow:0 0 0 3px var(--card),0 0 0 5px var(--green),0 7px 16px rgba(30,48,40,.14)}
.color-picker-toggle{width:100%;display:flex;align-items:center;gap:11px;border:1px solid rgba(255,255,255,.76);border-radius:var(--radius-card);padding:10px 12px;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.4));color:var(--ink);-webkit-backdrop-filter:blur(18px) saturate(175%);backdrop-filter:blur(18px) saturate(175%);box-shadow:inset 1px 1px 0 rgba(255,255,255,.92),inset -1px -1px 0 rgba(255,255,255,.2),0 8px 22px rgba(25,44,36,.07);transition:transform .18s ease}.color-picker-toggle:active{transform:scale(.985)}.color-picker-toggle strong{font-size:14px}.color-picker-toggle em{margin-left:auto;color:var(--muted);font-style:normal;font-size:12px}.selected-color-dot{width:23px;height:23px;border-radius:50%;background:var(--swatch);border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 1px var(--line)}.color-grid{overflow:hidden;transition:max-height .32s ease,opacity .22s ease,margin .3s ease}.color-grid-collapsed{max-height:0;opacity:0;margin-top:0;pointer-events:none}.color-grid-open{max-height:390px;overflow-y:auto;opacity:1;margin-top:13px;padding:3px 3px 8px;pointer-events:auto}.color-palette-context{grid-column:1/-1;margin:0 0 3px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.42);color:var(--green);font-size:10px;font-weight:750;text-align:center}.custom-color-input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;opacity:0;cursor:pointer}.custom-color-choice span{position:relative;background:var(--swatch)}.custom-color-choice span:after{content:'+';position:absolute;inset:0;display:grid;place-items:center;color:var(--on-primary,#fff);font-size:18px;font-weight:500;text-shadow:0 1px 3px rgba(0,0,0,.35)}
.analyze-button{margin-top:8px!important}.analysis-status{display:none;margin:8px 0 12px;padding:10px 12px;border-radius:12px;background:var(--mint);color:var(--green);font-size:12px}.analysis-status.show{display:block;animation:viewIn .25s ease}.analysis-status.loading:before{content:"";display:inline-block;width:11px;height:11px;margin-right:7px;border:2px solid color-mix(in srgb,var(--green) 25%,transparent);border-top-color:var(--green);border-radius:50%;vertical-align:-2px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.file-summary{margin:9px 0 12px}.file-summary:empty{display:none}.file-summary-count{display:block;margin-bottom:7px;color:color-mix(in srgb,var(--on-glass,var(--ink)) 66%,transparent);font-size:11px}.pending-files{display:grid;gap:7px}.pending-file{display:flex;align-items:center;gap:8px;width:100%;min-width:0;padding:10px 12px;border:1px solid rgba(255,255,255,.84);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(255,255,255,.38));color:var(--green);text-decoration:none;font-size:12px;font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 5px 14px rgba(30,48,40,.07);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .18s ease,filter .18s ease}.pending-file:active{transform:scale(.985);filter:brightness(.97)}.pending-file span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-form{margin-top:16px}.ct-summary{margin:6px 0 16px}.ct-counter{display:none!important}.ct-counter.show{display:block!important;animation:viewIn .24s ease}
.incident-type-other{display:none!important}.incident-type-other.show{display:block!important;animation:viewIn .24s ease}.ct-report-link{margin:-4px 0 13px}.ct-report-link .attachment{margin-top:0}

/* Fond complémentaire et surfaces en verre */
@property --bg{syntax:'<color>';inherits:true;initial-value:#f1e2d2}
@property --bg-2{syntax:'<color>';inherits:true;initial-value:#ead7cc}
@property --bg-glow{syntax:'<color>';inherits:true;initial-value:#f4cba9}
:root{--bg-2:#ead7cc;--bg-glow:#f4cba9;color-scheme:light}
:root{transition:--bg .5s ease,--bg-2 .5s ease,--bg-glow .5s ease}
html{background:var(--bg-2)}
body{background:radial-gradient(circle at 88% 8%,var(--bg-glow) 0,transparent 34%),radial-gradient(circle at 8% 78%,var(--bg-2) 0,transparent 38%),linear-gradient(155deg,var(--bg),var(--bg-2));background-attachment:fixed;transition:background .5s ease}
.hero,.card,.task-card,.record,.stat{border-radius:var(--radius-card)}
.card,.task-card,.record,.stat{background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,253,250,.5));color:var(--on-glass,var(--ink));border:1px solid rgba(255,255,255,.74);-webkit-backdrop-filter:blur(24px) saturate(175%);backdrop-filter:blur(24px) saturate(175%);box-shadow:inset 1px 1px 0 rgba(255,255,255,.94),inset -1px -1px 0 rgba(255,255,255,.2),0 12px 32px rgba(30,48,40,.09)}
.card h2,.card h3,.card strong,.task-card h3,.task-card strong,.record h3,.record strong,.stat strong{color:var(--on-glass,var(--ink))}
.card p,.task-card p,.record p,.hint,.color-field legend,.color-choice small{color:color-mix(in srgb,var(--on-glass,var(--ink)) 72%,transparent)}
.vehicle-form label{color:color-mix(in srgb,var(--on-glass,var(--ink)) 72%,transparent)}
.vehicle-form input,.vehicle-form select,dialog input,dialog select,dialog textarea{background:rgba(255,255,255,.88);color:var(--ink);border-color:rgba(50,72,62,.18);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.vehicle-form input::placeholder,dialog input::placeholder,dialog textarea::placeholder{color:#6a756f;opacity:1}
.icon-button,.close,.secondary,.file-picker,.color-picker-toggle{color:var(--ink);background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.68));border-color:rgba(255,255,255,.86)}
.hero,.hero h2,.hero h3,.hero p,.hero span,.hero strong,.hero .update-km,.primary{color:var(--on-primary,#fff)}
.hero .car-line h2,.hero .car-line>span{color:var(--on-primary,#fff);-webkit-text-fill-color:var(--on-primary,#fff);text-shadow:0 1px 2px color-mix(in srgb,var(--on-primary,#fff) 24%,transparent)}
.hero p,.hero .eyebrow{color:var(--on-primary,#fff);text-shadow:0 1px 2px color-mix(in srgb,var(--on-primary,#fff) 20%,transparent)}
.topbar h1,.section-head h2{color:var(--on-bg,var(--ink))}.topbar .eyebrow,.view>.hint{color:color-mix(in srgb,var(--on-bg,var(--ink)) 72%,transparent)}
.brand-lockup{display:flex;align-items:center;gap:11px}.brand-mark{display:block;width:42px;height:42px;border:0;border-radius:14px;background:transparent;box-shadow:0 8px 22px rgba(25,44,36,.14);overflow:hidden}.brand-mark img{display:block;width:100%;height:100%;object-fit:cover}.brand-lockup h1{line-height:1}
.status-grid .stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:12px 6px;text-align:center}.status-grid .stat strong{display:block;color:var(--on-glass,var(--ink));-webkit-text-fill-color:var(--on-glass,var(--ink));font-size:27px;line-height:1}.status-grid .stat span{display:block;color:color-mix(in srgb,var(--on-glass,var(--ink)) 78%,transparent);font-size:10px;line-height:1.1;white-space:nowrap}.stat-due{box-shadow:inset 0 3px 0 color-mix(in srgb,var(--red) 58%,transparent),inset 1px 1px 0 rgba(255,255,255,.94),0 12px 32px rgba(30,48,40,.09)}.stat-soon{box-shadow:inset 0 3px 0 color-mix(in srgb,var(--orange) 58%,transparent),inset 1px 1px 0 rgba(255,255,255,.94),0 12px 32px rgba(30,48,40,.09)}.stat-unknown{box-shadow:inset 0 3px 0 color-mix(in srgb,var(--green) 50%,transparent),inset 1px 1px 0 rgba(255,255,255,.94),0 12px 32px rgba(30,48,40,.09)}
.status-grid button.stat{appearance:none;width:100%;font:inherit;cursor:pointer}
.license-plate{display:inline-grid;grid-template-columns:20px auto;align-items:stretch;height:27px;margin-top:8px;border:2px solid #111;border-radius:6px;overflow:hidden;background:#fff;color:#111!important;box-shadow:0 3px 9px rgba(0,0,0,.16);vertical-align:top}.license-plate i{display:grid;place-items:center;background:#0646a7;color:#fff!important;font:700 9px/1 -apple-system,sans-serif;font-style:normal}.license-plate strong{display:grid;place-items:center;padding:0 9px;color:#111!important;-webkit-text-fill-color:#111!important;font:800 12px/1 -apple-system,sans-serif;letter-spacing:1.2px;white-space:nowrap}.field-help{display:block;margin-top:7px;color:color-mix(in srgb,var(--on-glass,var(--ink)) 64%,transparent);font-size:11px;font-weight:500;line-height:1.35}
.task-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.task-title strong{min-width:0;color:var(--on-glass,var(--ink));-webkit-text-fill-color:var(--on-glass,var(--ink));overflow-wrap:anywhere}.badge{flex:0 0 auto;white-space:nowrap}
.task-intervals{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:9px}.task-intervals span{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:4px 9px;border:1px solid rgba(255,255,255,.82);border-radius:999px;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.36));color:var(--on-glass,var(--ink));font-size:11px;font-weight:750;line-height:1;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 4px 12px rgba(30,48,40,.06);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.task-intervals small{color:color-mix(in srgb,var(--on-glass,var(--ink)) 55%,transparent);font-size:9px}
.dot.deferred{background:#80918b}.badge.deferred{background:color-mix(in srgb,var(--green) 12%,rgba(255,255,255,.72));color:var(--green)}.task-actions{flex-wrap:wrap}.task-guidance{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:7px;margin-top:10px;padding:9px 10px;border-radius:13px;background:rgba(255,255,255,.4);border:1px solid rgba(255,255,255,.7)}.task-guidance strong{padding:3px 7px;border-radius:999px;font-size:9px;white-space:nowrap}.task-guidance span{font-size:10px;line-height:1.35;color:color-mix(in srgb,var(--on-glass,var(--ink)) 66%,transparent)}.task-guidance.flexible strong{background:#e4eee9;color:#477263}.task-guidance.planned strong{background:#f5eadc;color:#91633e}.task-guidance.safety strong{background:#f4deda;color:#a33e37}.hidden-tasks{margin-top:16px}.hidden-tasks summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:750}.hidden-tasks summary span{display:grid;place-items:center;min-width:25px;height:25px;border-radius:999px;background:var(--mint);color:var(--green);font-size:10px}.hidden-tasks>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid rgba(50,72,62,.1)}.hidden-tasks>div:first-of-type{margin-top:12px}.hidden-tasks>div strong{font-size:12px}.hidden-tasks button{border:0;background:transparent;color:var(--green);font-size:11px;font-weight:750}.defer-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0 8px}.defer-options .secondary{min-width:0;padding:12px 7px}.defer-options+.danger-link[hidden]{display:none}
.task-relations{font-weight:650}.record-operations{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.record-operations span{padding:4px 8px;border-radius:999px;background:var(--mint);color:var(--green);font-size:10px;font-weight:700}
.linked-tasks{margin:-6px 0 14px}.linked-task-toggle{width:100%;min-height:38px;border:1px solid rgba(255,255,255,.84);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.34));color:var(--green);font-size:12px;font-weight:750;box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 5px 14px rgba(30,48,40,.06);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.linked-task-picker:not([hidden]),.relation-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px;max-height:180px;overflow:auto}.relation-choice{display:block!important;margin:0!important;min-width:0}.relation-choice input{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.relation-choice span{display:flex;align-items:center;min-height:36px;padding:7px 9px;border:1px solid rgba(50,72,62,.14);border-radius:12px;background:rgba(255,255,255,.62);color:var(--ink);font-size:11px;font-weight:650;line-height:1.2;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.relation-choice input:checked+span{border-color:color-mix(in srgb,var(--green) 55%,white);background:var(--mint);color:var(--green);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 18%,transparent)}.relation-choice input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--green) 42%,transparent);outline-offset:2px}.relation-choice span:active{transform:scale(.98)}
.relation-field{border:0;padding:0;margin:2px 0 15px}.relation-field legend{padding:0;color:var(--muted);font-size:12px;font-weight:650}.relation-field .hint{margin:5px 0 8px}.garage-suggestions:empty{display:none}.garage-suggestions{margin:-5px 0 13px}.garage-suggestions>span{display:block;margin-bottom:6px;color:var(--muted);font-size:10px;font-weight:650}.garage-suggestions>div{display:flex;gap:6px;overflow:auto;padding-bottom:2px}.garage-suggestions button{flex:0 0 auto;border:1px solid rgba(255,255,255,.82);border-radius:999px;padding:6px 9px;background:rgba(255,255,255,.58);color:var(--green);font-size:10px;font-weight:700;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.topbar{position:sticky;z-index:6;top:env(safe-area-inset-top);isolation:isolate;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.48));border:1px solid rgba(255,255,255,.74);border-top:0;border-radius:0 0 var(--radius-card) var(--radius-card);box-shadow:inset 0 -1px 0 rgba(255,255,255,.5),0 8px 24px rgba(30,48,40,.07);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%)}
.topbar::before{content:"";position:fixed;z-index:-1;top:0;left:0;right:0;height:env(safe-area-inset-top);pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.62));box-shadow:inset 0 -1px 0 rgba(255,255,255,.38);-webkit-backdrop-filter:blur(26px) saturate(185%);backdrop-filter:blur(26px) saturate(185%)}
body{padding-top:0}.topbar{top:0;padding-top:calc(22px + env(safe-area-inset-top));background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.48));-webkit-backdrop-filter:blur(26px) saturate(185%);backdrop-filter:blur(26px) saturate(185%)}.topbar::before{display:none}
.yearly-spending{padding:7px 16px}.yearly-spending-row{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border:0;border-bottom:1px solid rgba(50,72,62,.1);background:transparent;color:inherit;text-align:left;font:inherit;transition:transform .18s ease,opacity .18s ease}.yearly-spending-row:active{transform:scale(.985);opacity:.72}.yearly-spending-row:last-child{border-bottom:0}.yearly-spending-row>div{display:flex;flex-direction:column}.yearly-spending-row>div strong{font-size:15px}.yearly-spending-row span{margin-top:2px;color:color-mix(in srgb,var(--on-glass,var(--ink)) 60%,transparent);font-size:10px}.yearly-spending-row>strong{font-size:16px;white-space:nowrap}.yearly-spending-row>strong:after{content:'›';display:inline-block;margin-left:8px;color:var(--green);font-size:18px;line-height:1;transform:translateY(1px)}
.hero-meta{position:relative;z-index:1;display:flex;max-width:54%;flex-direction:column;align-items:flex-end;gap:7px;text-align:right}.hero-fuel{font-size:11px;font-weight:700}.ct-sticker{position:relative;display:grid;width:126px;min-height:88px;grid-template-rows:auto 1fr auto;justify-items:center;overflow:hidden;padding:8px 9px 7px;border:2px solid #8eadd5;border-radius:3px;background:#d7e5f6;color:#0b1724!important;box-shadow:0 8px 18px rgba(0,0,0,.18),inset 0 0 0 2px rgba(255,255,255,.42);transform:rotate(1.5deg)}.ct-sticker-plate{position:relative;z-index:2;color:#0b1724!important;font-size:10px!important;font-weight:900!important;letter-spacing:1.25px;line-height:1}.ct-sticker-watermark{position:absolute;z-index:0;top:16px;left:4px;color:rgba(69,103,166,.2)!important;font:900 65px/.9 -apple-system,sans-serif!important;letter-spacing:-8px;transform:scaleX(1.15)}.ct-sticker-caption{position:relative;z-index:2;align-self:end;color:#2c4083!important;font-size:7px!important;font-weight:900!important;letter-spacing:.65px;line-height:1}.ct-sticker strong{position:relative;z-index:2;color:#07101a!important;-webkit-text-fill-color:#07101a!important;font:900 31px/.95 -apple-system,sans-serif!important;letter-spacing:-1.4px}.ct-sticker.due{border-color:#cb8680;background:#f1d9d7}.ct-sticker.due .ct-sticker-caption{color:#8f2823!important}.ct-sticker.unknown{border-color:rgba(255,255,255,.45);background:rgba(224,235,244,.8)}
.vehicle-insight{position:relative;overflow:hidden;padding:17px}.vehicle-insight:after{content:"";position:absolute;width:100px;height:100px;right:-44px;top:-50px;border-radius:50%;background:color-mix(in srgb,var(--green) 12%,transparent);filter:blur(2px)}.vehicle-insight.attention{box-shadow:inset 0 3px 0 color-mix(in srgb,var(--red) 58%,transparent),inset 1px 1px 0 rgba(255,255,255,.94),0 12px 32px rgba(30,48,40,.09)}.vehicle-insight.watch{box-shadow:inset 0 3px 0 color-mix(in srgb,var(--orange) 58%,transparent),inset 1px 1px 0 rgba(255,255,255,.94),0 12px 32px rgba(30,48,40,.09)}.insight-head{position:relative;z-index:1;display:flex;align-items:center;gap:10px}.insight-head svg{width:25px;height:25px;fill:none;stroke:var(--green);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.insight-head>div{display:flex;flex-direction:column}.insight-head strong{font-size:15px}.insight-head span{color:color-mix(in srgb,var(--on-glass,var(--ink)) 60%,transparent);font-size:10px}.vehicle-insight p{position:relative;z-index:1;margin:12px 0 9px;line-height:1.55}.vehicle-insight>small{position:relative;z-index:1;display:block;color:color-mix(in srgb,var(--on-glass,var(--ink)) 56%,transparent);font-size:9px}
.tabbar{isolation:isolate;left:12px;right:12px;bottom:calc(8px + env(safe-area-inset-bottom));padding:7px 6px;border:1px solid rgba(255,255,255,.88);border-radius:24px;background:radial-gradient(circle at 18% 0,rgba(255,255,255,.86),transparent 38%),linear-gradient(165deg,rgba(255,255,255,.58),rgba(246,246,242,.24));box-shadow:inset 1px 1px 0 rgba(255,255,255,.95),inset -1px -1px 0 rgba(255,255,255,.2),inset 0 12px 24px rgba(255,255,255,.12),0 10px 30px rgba(25,44,36,.16);-webkit-backdrop-filter:blur(34px) saturate(205%);backdrop-filter:blur(34px) saturate(205%)}
.tabbar::before{content:"";position:absolute;z-index:0;top:5px;bottom:5px;left:var(--indicator-x,6px);width:var(--indicator-width,calc(33.333% - 12px));border:1px solid color-mix(in srgb,var(--green) 28%,rgba(255,255,255,.94));border-radius:var(--radius-card);background:radial-gradient(circle at 18% 4%,rgba(255,255,255,1),transparent 35%),linear-gradient(135deg,rgba(255,255,255,.82),color-mix(in srgb,var(--green) 18%,rgba(255,255,255,.5)) 58%,color-mix(in srgb,var(--green) 25%,rgba(255,255,255,.42)));box-shadow:inset 1px 1px 0 rgba(255,255,255,1),inset -1px -1px 0 rgba(255,255,255,.3),inset 11px 0 20px rgba(255,255,255,.22),0 8px 20px color-mix(in srgb,var(--green) 19%,transparent);-webkit-backdrop-filter:blur(28px) saturate(215%);backdrop-filter:blur(28px) saturate(215%);transform:translateZ(0);transition:left .64s cubic-bezier(.2,.88,.18,1),width .64s cubic-bezier(.2,.88,.18,1),box-shadow .4s ease,background .4s ease}
.tabbar.indicator-moving::before{animation:liquidGlide .7s cubic-bezier(.2,.78,.18,1)}
.tabbar .tab{transition:color .42s ease,transform .5s cubic-bezier(.2,.9,.2,1),opacity .4s ease}.tabbar .tab:not(.active){color:color-mix(in srgb,var(--ink) 58%,transparent);opacity:.72}.tabbar .tab.active{color:var(--green);opacity:1;font-weight:800}.tabbar .tab.active svg{stroke-width:2.15;filter:drop-shadow(0 2px 5px color-mix(in srgb,var(--green) 24%,transparent))}.tabbar.indicator-moving .tab.active svg{animation:tabPop .62s cubic-bezier(.2,.82,.2,1)}
@keyframes liquidGlide{0%{transform:scaleX(1) scaleY(1)}32%{transform:scaleX(1.14) scaleY(.93)}64%{transform:scaleX(.975) scaleY(1.025)}82%{transform:scaleX(1.018) scaleY(.992)}100%{transform:scaleX(1) scaleY(1)}}
@keyframes tabPop{0%{transform:translateY(0) scale(.92)}48%{transform:translateY(-3px) scale(1.1)}76%{transform:translateY(-1px) scale(.98)}100%{transform:translateY(-2px) scale(1)}}
@media(min-width:700px){.tabbar{left:50%;right:auto;width:min(650px,calc(100% - 24px));transform:translateX(-50%)}}
.tab{position:relative;z-index:1}.tab.active{color:var(--green)}
.tab svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.add-tab .add-icon{display:grid;place-items:center;width:52px;height:52px;margin-top:-30px;border:0;border-radius:50%;background:var(--green)!important;background-image:none!important;color:var(--on-primary,#fff);opacity:1!important;filter:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:0 9px 22px color-mix(in srgb,var(--green) 36%,transparent);line-height:0;isolation:isolate}.add-tab .add-icon svg{display:block;width:24px;height:24px;transform:none}

/* Densité verticale des deux barres fixes */
body{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
.topbar{padding:calc(10px + env(safe-area-inset-top)) 16px 8px}.topbar h1{font-size:26px}.brand-lockup{gap:9px}.brand-mark{width:34px;height:34px;border-radius:11px}.topbar .icon-button{width:36px;height:36px}.topbar .control-icon{width:20px;height:20px}
.tabbar{bottom:calc(1px + env(safe-area-inset-bottom));height:64px;min-height:64px;padding:7px}.tabbar::before{top:6px;bottom:6px}.tabbar .tab{justify-content:center;gap:3px;padding:3px;font-size:10px;line-height:1.1}

/* Historique compact et dépliable */
.record{display:block;padding:0;overflow:hidden}.record>summary{list-style:none}.record>summary::-webkit-details-marker{display:none}.record-summary{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:74px;padding:12px 14px;cursor:pointer}.record-date{display:flex;width:auto;flex-direction:column;align-items:center;line-height:1.05}.record-date strong{font-size:22px}.record-date span{margin-top:2px;font-size:11px;text-transform:lowercase}.record-date small{margin-top:3px;color:color-mix(in srgb,var(--on-glass,var(--ink)) 55%,transparent);font-size:9px}.record-summary-main{display:flex;min-width:0;flex-direction:column;gap:4px}.record-summary-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.record-summary-main span{color:color-mix(in srgb,var(--on-glass,var(--ink)) 64%,transparent);font-size:12px}.record-summary-cost{display:flex;align-items:center;gap:8px;white-space:nowrap}.record-cost-empty{color:color-mix(in srgb,var(--on-glass,var(--ink)) 38%,transparent)}.free-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 8px;border-radius:999px;background:#dff1e7;color:#28704f;font-size:10px;font-weight:800}.record-chevron{color:var(--green);font-size:22px;line-height:1;transition:transform .22s ease}.record[open] .record-chevron{transform:rotate(90deg)}.record-details{margin:0 14px;padding:12px 0 14px 63px;border-top:1px solid rgba(50,72,62,.1)}.record-details>p:first-child{margin-top:0}.record-details .task-actions{margin-bottom:0}
/* La vignette CT flotte sur la carte sans agrandir sa hauteur. */
.ct-sticker{position:absolute;top:22px;right:0;pointer-events:none}
dialog{background:rgba(255,253,250,.92);color:var(--ink);-webkit-backdrop-filter:blur(28px) saturate(165%);backdrop-filter:blur(28px) saturate(165%);border:1px solid rgba(255,255,255,.82)}

/* Navigation : verre distinct du bouton d'ajout plein. */
.tabbar{
  border-color:rgba(255,255,255,.72);
  background-color:rgba(239,246,243,.16);
  background-image:linear-gradient(155deg,rgba(255,255,255,.44),rgba(255,255,255,.13) 52%,rgba(218,232,226,.22));
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.92),inset -1px -1px 0 rgba(255,255,255,.18),0 12px 32px rgba(25,44,36,.2);
  -webkit-backdrop-filter:blur(38px) saturate(220%) contrast(105%);
  backdrop-filter:blur(38px) saturate(220%) contrast(105%);
}
.tabbar .tab.add-tab{opacity:1!important;filter:none!important}
.tabbar .tab.add-tab .add-icon{background-color:var(--green)!important;opacity:1!important;box-shadow:0 9px 23px color-mix(in srgb,var(--green) 44%,transparent),inset 0 1px 0 rgba(255,255,255,.18)}

/* L'étiquette CT est droite et centrée sur la carte complète. */
.hero>.ct-sticker{top:50%;right:22px;z-index:2;transform:translateY(-50%);margin:0}
.hero>.hero-fuel{position:relative;z-index:1}

/* Le retour rétablit d'abord le scroll, puis révèle la vue. */
.view.active{transition:opacity .14s ease}
html.restoring-view .view.active{visibility:hidden;opacity:0;animation:none!important}

.backup-status{display:grid;gap:3px;margin:10px 0 14px;padding:11px 12px;border:1px solid rgba(255,255,255,.78);border-radius:14px;background:rgba(255,255,255,.42);font-size:11px}
.backup-status strong{font-size:12px}.backup-status span{color:var(--muted)}
.backup-status.due{border-color:color-mix(in srgb,var(--orange) 32%,white);background:color-mix(in srgb,var(--orange) 10%,rgba(255,255,255,.52))}
#settingsButton{position:relative}
#settingsButton.backup-due::after{content:"";position:absolute;top:1px;right:1px;width:8px;height:8px;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:var(--orange)}

/* Verre un peu plus translucide, en conservant le contraste des contenus. */
.topbar{
  border-color:rgba(255,255,255,.56);
  background-color:rgba(247,249,247,.12);
  background-image:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,.25));
  -webkit-backdrop-filter:blur(30px) saturate(195%);
  backdrop-filter:blur(30px) saturate(195%);
}
.tabbar{
  border-color:rgba(255,255,255,.62);
  background-color:rgba(239,246,243,.1);
  background-image:linear-gradient(155deg,rgba(255,255,255,.34),rgba(255,255,255,.08) 52%,rgba(218,232,226,.15));
}
.mileage-updated{position:relative;z-index:1;margin:-2px 0 10px;color:color-mix(in srgb,var(--on-primary,#fff) 72%,transparent)!important;font-size:10px;font-weight:650}

/* Mode multi-véhicule */
.setting-toggle{display:flex!important;align-items:center;justify-content:space-between;gap:16px;margin:14px 0 18px!important;padding:12px 13px;border:1px solid rgba(255,255,255,.78);border-radius:15px;background:rgba(255,255,255,.4)}
.setting-toggle>span{display:grid;gap:2px;min-width:0;color:var(--ink)}.setting-toggle small{color:var(--muted);font-weight:500}
.setting-toggle input{appearance:none;width:48px!important;height:28px!important;flex:0 0 48px;margin:0!important;padding:2px!important;border:0!important;border-radius:999px!important;background:rgba(96,110,103,.28)!important;box-shadow:inset 0 1px 3px rgba(20,35,29,.14);transition:background .2s ease}
.setting-toggle input:after{content:"";display:block;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(20,35,29,.22);transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.setting-toggle input:checked{background:var(--green)!important}.setting-toggle input:checked:after{transform:translateX(20px)}
.garage-title{align-items:flex-end}.garage-title>div:first-child{display:grid;gap:2px}.garage-title p{margin:0;color:var(--muted);font-size:11px}.garage-actions{display:flex;align-items:center;gap:10px}.garage-actions button{display:flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--green);font-weight:750}.garage-title .inline-icon{width:17px;height:17px}
.garage-list{display:grid;gap:10px}.garage-vehicle-row{position:relative;min-width:0;overflow:hidden;border-radius:var(--radius-card);isolation:isolate}.garage-vehicle-card{position:relative;z-index:2;display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:16px;text-align:left;font:inherit;cursor:pointer;touch-action:pan-y;user-select:none;transition:transform .24s cubic-bezier(.2,.78,.3,1),box-shadow .2s ease}.garage-vehicle-row.swiped .garage-vehicle-card{transform:translateX(-92px)}
.garage-delete-action{position:absolute;z-index:1;top:0;right:0;bottom:0;display:flex;width:92px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;background:#bd433b;color:#fff;font-size:10px;font-weight:750}.garage-delete-action .inline-icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.garage-vehicle-card.selected{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--on-glass,var(--ink)) 58%,transparent),inset 1px 1px 0 rgba(255,255,255,.94),0 12px 32px rgba(30,48,40,.09)}
.garage-card-main{display:grid;gap:4px;min-width:0}.garage-card-main>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.garage-card-main>span{overflow:hidden;color:color-mix(in srgb,var(--on-glass,var(--ink)) 68%,transparent);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.garage-ct{display:block;color:var(--on-glass,var(--ink));font-size:10px;font-style:normal}.garage-ct.due{color:var(--red)}.garage-ct.soon{color:#9e4d28}.garage-ct.unknown{color:var(--muted)}
.garage-health{display:flex;align-items:center;gap:6px;white-space:nowrap;color:var(--on-glass,var(--ink));font-size:10px;font-weight:750}.garage-health i{width:10px;height:10px;border-radius:50%;background:var(--muted)}.garage-health.ok i{background:#3d8c69}.garage-health.soon i{background:var(--orange)}.garage-health.due i{background:var(--red)}
.garage-vehicle-card>em{position:absolute;top:8px;right:10px;color:color-mix(in srgb,var(--on-glass,var(--ink)) 48%,transparent);font-size:8px;font-style:normal;font-weight:700;letter-spacing:.4px;text-transform:uppercase}
.garage-vehicle-row.editing .garage-vehicle-card{grid-template-columns:auto minmax(0,1fr) auto auto;cursor:default}.garage-select{position:relative;display:grid!important;width:26px;height:26px;place-items:center;margin:0!important}.garage-select input{position:absolute!important;width:1px!important;height:1px!important;opacity:0}.garage-select span{display:block;width:22px;height:22px;border:1.5px solid color-mix(in srgb,var(--on-glass,var(--ink)) 35%,transparent);border-radius:50%;background:rgba(255,255,255,.45)}.garage-select.checked span{border-color:var(--green);background:var(--green)}.garage-select.checked span:after{content:'✓';display:grid;height:100%;place-items:center;color:var(--on-primary,#fff);font-size:13px;font-weight:800}.garage-order-controls{display:grid;gap:4px}.garage-order-controls button{display:grid;width:29px;height:27px;place-items:center;border:1px solid rgba(255,255,255,.76);border-radius:9px;background:rgba(255,255,255,.52);color:var(--green)}.garage-order-controls button:disabled{opacity:.25}.garage-order-controls .inline-icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.garage-vehicle-row.editing .garage-delete-action,.garage-vehicle-row.editing .garage-vehicle-card>em{display:none}
.garage-edit-toolbar{display:flex;align-items:center;gap:9px;margin:0 0 12px;padding:10px 12px;border:1px solid rgba(255,255,255,.72);border-radius:15px;background:rgba(255,255,255,.4);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.garage-edit-toolbar>span{margin-right:auto;color:var(--on-glass,var(--ink));font-size:11px;font-weight:750}.garage-edit-toolbar button{border:0;background:transparent;color:var(--green);font-size:10px;font-weight:750}.garage-edit-toolbar .garage-delete-selected{display:flex;align-items:center;gap:4px;color:var(--red)}.garage-edit-toolbar .garage-delete-selected:disabled{opacity:.35}.garage-edit-toolbar .inline-icon{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hero[data-dashboard-vehicle-swipe]{touch-action:pan-y}.vehicle-swipe-in-next{animation:vehicleInNext .28s cubic-bezier(.2,.78,.3,1)!important}.vehicle-swipe-in-previous{animation:vehicleInPrevious .28s cubic-bezier(.2,.78,.3,1)!important}@keyframes vehicleInNext{from{opacity:.35;transform:translateX(34px)}to{opacity:1;transform:none}}@keyframes vehicleInPrevious{from{opacity:.35;transform:translateX(-34px)}to{opacity:1;transform:none}}

/* Protection avant suppression d’un véhicule */
.delete-vehicle-warning{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;margin-bottom:14px;padding:13px;border:1px solid rgba(180,68,57,.24);border-radius:16px;background:rgba(247,223,220,.66)}.delete-vehicle-warning>svg{width:25px;height:25px;fill:none;stroke:var(--red);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.delete-vehicle-warning strong{color:var(--red);font-size:13px}.delete-vehicle-warning p{margin:4px 0 0;color:#6f4844;font-size:11px;line-height:1.45}.vehicle-archive-box{margin-bottom:14px;padding:14px;border:1px solid rgba(255,255,255,.78);border-radius:17px;background:rgba(255,255,255,.45)}.vehicle-archive-box>strong{color:var(--ink);font-size:13px}.vehicle-archive-box>p{margin:4px 0 10px;color:var(--muted);font-size:11px}.vehicle-archive-box .secondary{display:flex;align-items:center;justify-content:center;gap:7px}.vehicle-archive-box .inline-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.vehicle-archive-box>small{display:block;min-height:14px;margin-top:7px;color:var(--muted);font-size:9px;line-height:1.35}.irreversible-confirm{display:grid!important;grid-template-columns:23px minmax(0,1fr);align-items:start;gap:10px;margin:4px 0 15px!important;color:var(--ink)!important;font-size:11px!important;line-height:1.4}.irreversible-confirm input{appearance:none!important;display:block!important;width:22px!important;height:22px!important;margin:0!important;padding:0!important;border:1.5px solid rgba(50,72,62,.28)!important;border-radius:7px!important;background:rgba(255,255,255,.72)!important}.irreversible-confirm input:checked{border-color:var(--green)!important;background:var(--green)!important;box-shadow:inset 0 0 0 4px var(--green)}.irreversible-confirm input:checked:after{content:'✓';display:grid;height:100%;place-items:center;color:var(--on-primary,#fff);font-size:13px;font-weight:850}.delete-vehicle-confirm{width:100%;min-height:46px;border:0;border-radius:14px;background:var(--red);color:#fff;font-size:14px;font-weight:780}.delete-vehicle-confirm:disabled{opacity:.34}

/* Mise en page ordinateur */
@media(min-width:900px){
  .topbar{max-width:1100px}
  main{max-width:1100px;padding:18px 24px 110px}
  #dashboardView,#scheduleView,#historyView{max-width:760px;margin-inline:auto}
  #garageView .garage-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  #garageView .garage-vehicle-card{min-height:132px;align-content:center}
  #garageView .garage-health{align-self:start;margin-top:20px}
  #vehicleView.active{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:16px;align-items:start}
  #vehicleView>.section-head{grid-column:1/-1;margin-bottom:0}
  #vehicleView>.vehicle-form:first-of-type{grid-column:1;grid-row:2/span 3;margin:0}
  #vehicleView>.vehicle-history{grid-column:2;grid-row:2;margin:0}
  #vehicleView>.ct-form{grid-column:2;grid-row:3;margin:0}
  #vehicleView>.card:last-child{grid-column:2;grid-row:4;margin:0}
  dialog{max-width:560px}
}

/* Audit UI/UX 2026 : navigation, densité, historique et confirmations. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.header-garage-button{display:inline-flex;min-height:36px;align-items:center;gap:7px;padding:6px 9px;border:1px solid rgba(255,255,255,.58);border-radius:13px;background:rgba(255,255,255,.22);color:var(--on-bg,var(--ink));font:inherit;font-size:11px;font-weight:760;box-shadow:inset 0 1px 0 rgba(255,255,255,.74);-webkit-backdrop-filter:blur(22px) saturate(175%);backdrop-filter:blur(22px) saturate(175%)}
.header-garage-button[hidden]{display:none}.header-garage-button>svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.header-garage-button>strong{display:grid;min-width:19px;height:19px;place-items:center;padding:0 5px;border-radius:999px;background:var(--green);color:var(--on-primary,#fff);font-size:9px}

.status-panel{display:grid;gap:8px}.status-panel .status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.missing-status-link{display:grid;min-height:44px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px 13px;border:1px solid var(--content-line);border-radius:var(--radius-sm);background:var(--content-surface);color:var(--muted);text-align:left;box-shadow:var(--content-shadow)}.missing-status-link strong{color:var(--ink);font-size:15px}.missing-status-link span{font-size:11px}.missing-status-link b{font-size:20px;font-weight:400}

details.task-card,details.record{display:block;padding:0;overflow:hidden}
.task-summary,.record-summary{list-style:none}.task-summary::-webkit-details-marker,.record-summary::-webkit-details-marker{display:none}
.task-summary{display:grid;min-height:68px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:13px 14px;cursor:pointer}.task-summary .dot{margin:0}.task-summary-main{display:grid;min-width:0;gap:3px}.task-summary-main strong,.task-summary-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-summary-main strong{font-size:14px}.task-summary-main small{color:var(--muted);font-size:10px}.task-chevron,.record-chevron{display:inline-block;color:var(--muted);font-size:20px;line-height:1;transform:rotate(0);transition:transform .22s ease}.task-card[open] .task-chevron,.record[open] .record-chevron{transform:rotate(90deg)}
.task-details,.record-details{padding:0 14px 14px;border-top:1px solid var(--content-line)}.task-details>p:first-child,.record-details>p:first-child{margin-top:12px}.task-log-action{width:100%;min-height:42px;margin-top:12px;border:0;border-radius:12px;background:var(--green);color:var(--on-primary,#fff);font-weight:760}.task-secondary-actions{margin-top:8px}.task-secondary-actions>summary{padding:8px 2px;color:var(--muted);font-size:10px;font-weight:700;cursor:pointer}.task-secondary-actions>div{display:flex;gap:14px;padding:3px 2px}.task-secondary-actions button{padding:4px 0;border:0;background:transparent;color:var(--green);font-size:11px;font-weight:700}.task-secondary-actions button:last-child{color:var(--red)}

.record-summary{display:grid;min-height:72px;grid-template-columns:49px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;cursor:pointer}.record-date{width:auto}.record-date strong{font-size:22px}.record-date span,.record-date small{display:block;line-height:1.15}.record-date small{margin-top:2px;color:var(--muted);font-size:9px}.record-summary-main{display:grid;min-width:0;gap:4px}.record-summary-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.record-summary-main span{color:var(--muted);font-size:10px}.record-summary-cost{display:flex;align-items:center;gap:8px}.record-details p{font-size:11px;line-height:1.5}.record-details .task-actions{padding-top:8px;border-top:1px solid var(--content-line)}
.history-search{display:block;margin:0 0 10px}.history-search input{width:100%;min-height:44px;padding:9px 13px;border:1px solid var(--content-line);border-radius:var(--radius-sm);background:var(--content-surface);color:var(--ink);font:inherit;box-shadow:var(--content-shadow)}.history-year{margin:18px 0}.history-year>h3{display:flex;align-items:baseline;justify-content:space-between;margin:0 4px 8px}.history-year>h3 span{font-size:18px}.history-year>h3 small{color:var(--muted);font-size:10px;font-weight:600}

.vehicle-insight ul{display:grid;gap:8px;margin:13px 0;padding-left:18px}.vehicle-insight li{padding-left:2px;color:var(--on-glass,var(--ink));font-size:11px;line-height:1.45}.vehicle-form-section{padding:3px 0 8px}.vehicle-form-section+.vehicle-form-section{margin-top:8px;padding-top:18px;border-top:1px solid var(--content-line)}.vehicle-form-section>h3{margin:0 0 14px;font-size:14px}.field-help{display:block;margin-top:6px;color:var(--muted);font-size:9px;font-weight:500}

.vehicle-switcher-list{display:grid;gap:8px}.vehicle-switcher-option{display:grid;min-height:62px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;padding:10px 12px;border:1px solid var(--content-line);border-radius:15px;background:#fffdfa;color:var(--ink);text-align:left}.vehicle-switcher-health{display:block!important;width:10px;height:10px;border-radius:50%;background:var(--muted)}.vehicle-switcher-health.ok{background:#3d8c69}.vehicle-switcher-health.soon{background:var(--orange)}.vehicle-switcher-health.due{background:var(--red)}.vehicle-switcher-copy{display:grid;min-width:0;gap:3px}.vehicle-switcher-option strong,.vehicle-switcher-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vehicle-switcher-option small{color:var(--muted);font-size:9px}.vehicle-switcher-check{color:var(--green);font-size:18px;opacity:0}.vehicle-switcher-option.active{border-color:color-mix(in srgb,var(--green) 30%,var(--content-line));background:color-mix(in srgb,var(--mint) 45%,#fffdfa)}.vehicle-switcher-option.active .vehicle-switcher-check{opacity:1}.sheet-handle{display:none}

.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.delete-record-confirm{min-height:50px;border:0;border-radius:14px;background:var(--red);color:#fff;font-weight:760}.garage-delete-action{border-radius:var(--radius-card)}
dialog form>.primary:last-child{position:sticky;z-index:3;bottom:-1px;margin-top:12px;box-shadow:0 -10px 22px rgba(255,253,250,.82),0 8px 18px color-mix(in srgb,var(--green) 24%,transparent)}
.analysis-status.proposal{background:color-mix(in srgb,var(--mint) 82%,white);color:var(--ink)}.analysis-status.proposal>strong{display:block;margin-bottom:7px;color:var(--green);font-size:12px}.analysis-status.proposal ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.analysis-status.proposal li{display:flex;justify-content:space-between;gap:12px;font-size:10px}.analysis-status.proposal li span{text-align:right}.analysis-status.proposal small{display:block;margin-top:9px;color:var(--muted);font-size:9px;line-height:1.4}.ocr-filled{animation:ocrField .9s ease}@keyframes ocrField{0%,100%{box-shadow:none}35%{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 18%,transparent)}}

/* Le verre reste fluide, l'action centrale reste parfaitement opaque. */
.tabbar::before{transition:left .42s cubic-bezier(.22,.78,.22,1),width .42s cubic-bezier(.22,.78,.22,1),box-shadow .3s ease,background .3s ease}.tabbar.indicator-moving::before{animation:liquidGlide .46s cubic-bezier(.22,.78,.22,1)}.tabbar .tab{transition:color .28s ease,transform .36s cubic-bezier(.2,.9,.2,1),opacity .28s ease}.tabbar .tab.add-tab .add-icon{background-color:var(--green)!important;background-image:none!important;opacity:1!important;filter:none!important}

@media(max-width:620px){
  dialog.sheet-dialog{top:auto;bottom:0;width:100%;max-width:none;max-height:min(78dvh,620px);margin:0;padding:10px 18px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;animation:sheetIn .32s cubic-bezier(.2,.8,.2,1)}
  .sheet-handle{display:block;width:38px;height:5px;margin:0 auto 12px;border-radius:999px;background:rgba(40,55,49,.2)}
  @keyframes sheetIn{from{opacity:.7;transform:translateY(100%)}to{opacity:1;transform:none}}
}

@media(min-width:900px){
  .tabbar{top:110px;transform:none}
  #garageView .garage-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dashboard-overview{grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr)}
  .status-panel{align-self:stretch}.status-panel .status-grid{grid-template-columns:1fr}.status-panel .stat{min-height:96px}
  dialog form>.primary:last-child{position:static;box-shadow:0 8px 18px color-mix(in srgb,var(--green) 24%,transparent)}
}

/* Verrouillage horizontal iOS : le document ne doit jamais rester décalé après un geste de bord. */
html,body{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
body{position:relative}
main,.view,.topbar{width:100%;min-width:0;max-width:680px}
main,.view{overflow-x:clip}
@supports (overflow:clip){html,body{overflow-x:clip}}
.vehicle-save-state{display:flex;align-items:center;justify-content:center;gap:8px;min-height:45px;margin:0;color:var(--green);font-size:12px;font-weight:750;text-align:center}.vehicle-save-state span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--mint);font-size:13px}.vehicle-save-state[hidden],#vehicleSaveButton[hidden]{display:none}
@media(min-width:900px){.topbar,main{max-width:1100px}.view{max-width:none}}

/* Système visuel MyCar : hiérarchie plus calme, verre réservé à la navigation. */
:root{
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --radius-sm:12px;
  --radius-md:16px;
  --radius-lg:22px;
  --control-height:44px;
  --content-surface:rgba(255,253,250,.86);
  --content-line:rgba(50,72,62,.11);
  --content-shadow:0 8px 24px rgba(30,48,40,.07);
}

.card,.task-card,.record,.stat{
  border:1px solid var(--content-line);
  border-radius:var(--radius-md);
  background:var(--content-surface);
  box-shadow:var(--content-shadow);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
/* Une carte balayable doit masquer totalement l'action destructive placée dessous. */
.garage-vehicle-card.card{
  background:#fffdfa;
  background-image:none;
  opacity:1;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.task-card,.record{margin-bottom:var(--space-3)}
.section-head{margin:var(--space-5) var(--space-1) var(--space-3)}
.section-head h2{font-size:18px;letter-spacing:-.2px}
.primary,.secondary,.file-picker,.filter,.update-km{min-height:var(--control-height);border-radius:var(--radius-sm)}
.primary{background:var(--green)!important;background-image:none!important;opacity:1!important;filter:none!important}

/* En-tête compact et sélecteur de véhicule explicite. */
.topbar{min-height:58px;padding:calc(8px + env(safe-area-inset-top)) var(--space-4) 8px}
.topbar-actions{display:flex;min-width:0;align-items:center;gap:var(--space-2)}
.header-vehicle-switcher{display:grid;max-width:158px;min-height:38px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:5px 8px;border:1px solid rgba(255,255,255,.64);border-radius:14px;background:rgba(255,255,255,.3);color:var(--on-bg,var(--ink));box-shadow:inset 0 1px 0 rgba(255,255,255,.7);-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%)}
.header-vehicle-switcher[hidden]{display:none}
.header-vehicle-status{width:8px;height:8px;border-radius:50%;background:var(--muted)}
.header-vehicle-switcher.ok .header-vehicle-status{background:#3d8c69}.header-vehicle-switcher.soon .header-vehicle-status{background:var(--orange)}.header-vehicle-switcher.due .header-vehicle-status{background:var(--red)}
.header-vehicle-copy{display:flex;min-width:0;flex-direction:column;text-align:left;line-height:1.1}.header-vehicle-copy strong,.header-vehicle-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-vehicle-copy strong{font-size:11px}.header-vehicle-copy small{margin-top:3px;color:color-mix(in srgb,var(--on-bg,var(--ink)) 58%,transparent);font-size:8px}
.header-vehicle-switcher>svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Accueil : identité, kilométrage et CT dans cet ordre de lecture. */
.dashboard-overview,.dashboard-columns{min-width:0}
.hero{padding:20px;border-radius:var(--radius-lg)}
.hero-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}
.vehicle-heading{min-width:0}.vehicle-heading h2{margin:0;font-size:20px;line-height:1.1}.vehicle-heading p{margin:4px 0 0;font-size:12px;opacity:.78}
.hero-context{display:flex;max-width:46%;flex-direction:column;align-items:flex-end;gap:8px}.hero-fuel{font-size:10px;font-weight:750;opacity:.78}
.hero-switcher{display:inline-flex;min-height:30px;align-items:center;gap:4px;padding:5px 8px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.12);color:var(--on-primary,#fff);font-size:9px;font-weight:750;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.hero-switcher svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hero-primary{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-top:18px}
.hero-mileage{min-width:0}.hero-label{display:block;margin-bottom:6px;font-size:9px;font-weight:750;letter-spacing:.55px;text-transform:uppercase;opacity:.64}
.hero .mileage{margin:0 0 5px;font-size:36px;line-height:.95}.hero .mileage-updated{margin:0 0 12px!important}
.hero-primary .ct-sticker{position:relative;top:auto;right:auto;flex:0 0 126px;margin:0;transform:none}
.hero .update-km{min-height:38px;padding:8px 12px}
.status-grid{gap:var(--space-2);margin-top:var(--space-3)}
.status-grid .stat{min-height:76px;padding:11px 6px}
.dashboard-primary,.dashboard-secondary{min-width:0}

/* Navigation mobile : verre visible, bouton Ajouter strictement plein. */
.tabbar{background:linear-gradient(155deg,rgba(255,255,255,.42),rgba(255,255,255,.12) 54%,rgba(218,232,226,.18));border-color:rgba(255,255,255,.66);-webkit-backdrop-filter:blur(40px) saturate(210%);backdrop-filter:blur(40px) saturate(210%)}
.tabbar .tab.add-tab .add-icon{background:var(--green)!important;background-image:none!important;opacity:1!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}

@media(max-width:430px){
  .brand-lockup h1{font-size:24px}.brand-mark{width:32px;height:32px}.brand-lockup{gap:7px}
  .header-vehicle-switcher{max-width:132px}.header-vehicle-copy strong{font-size:10px}
  .hero-primary .ct-sticker{width:116px;min-height:82px;flex-basis:116px}.ct-sticker strong{font-size:28px!important}
}

/* Sur ordinateur, la barre inférieure devient une vraie navigation latérale pleine hauteur. */
@media(min-width:900px){
  body{padding-left:208px;padding-bottom:0}
  .topbar{max-width:1180px;padding-inline:24px;border-radius:0 0 var(--radius-lg) var(--radius-lg)}
  main{max-width:1180px;padding:20px 28px 44px}
  .tabbar{top:0;bottom:0;left:0;right:auto;width:208px;height:100dvh;min-height:100dvh;grid-template-columns:1fr;align-content:start;gap:6px;padding:28px 14px;border-radius:0;border-top:0;border-right:1px solid rgba(0,0,0,.07);transform:none;box-shadow:none}
  .tabbar::before{display:none}
  .tabbar .tab{min-height:52px;flex-direction:row;justify-content:flex-start;gap:12px;padding:10px 14px;border-radius:15px;font-size:13px}
  .tabbar .tab.active{background:color-mix(in srgb,var(--green) 15%,rgba(255,255,255,.62));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 18%,rgba(255,255,255,.6))}
  .tabbar .tab.active,.tabbar .tab.active span,.tabbar .tab.active svg{transform:none}
  .tabbar .tab.add-tab .add-icon{width:34px;height:34px;flex:0 0 34px;margin:0;border-radius:11px;box-shadow:0 5px 13px color-mix(in srgb,var(--green) 27%,transparent)}
  .tabbar .tab.add-tab .add-icon svg{width:18px;height:18px}
  #dashboardView,#scheduleView,#historyView{max-width:none;margin:0}
  .dashboard-overview{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr);align-items:stretch;gap:16px}
  .dashboard-overview .hero{min-height:250px}
  .dashboard-overview .status-grid{grid-template-columns:1fr;margin:0}
  .dashboard-overview .stat{min-height:0}
  .dashboard-columns{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:20px}
  .dashboard-primary .section-head,.dashboard-secondary .section-head{margin-top:22px}
  #garageView .garage-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  #garageView .garage-vehicle-card{min-height:118px}
  .toast{bottom:28px}
}

/* Derniers arbitrages desktop : navigation visible dès le haut et garage dense. */
@media(min-width:900px){
  #garageView .garage-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dashboard-overview{grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr)}
  .status-panel .status-grid{grid-template-columns:1fr}
}
