@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f4f6fa;--surface:#fff;--surface-2:#eef1f7;--fg:#0e1424;--bp-body:#fff;--muted:#5a6478;--line:#e2e6ef;--line-strong:#c9d0de;--input-line:#8a94a6;--accent:#2e5bff;--accent-text:#2449d8;--accent-fg:#fff;--accent-soft:#e9eeff;--danger:#c8281c;--danger-soft:#fdeceb;--warn:#2449d8;--warn-soft:#e3eaff;--st-roule:#2e5bff;--st-roule-fg:#fff;--st-arret:#93abff;--st-arret-fg:#0e1424;--st-off:#b4bdcf;--st-off-fg:#0e1424;--shadow:0 1px 2px #0e14240d, 0 10px 30px -14px #14205033;--shadow-lift:0 2px 4px #0e14240f, 0 18px 40px -16px #1420504d;--chart-roule:#2e5bff;--chart-arret:#93abff;--chart-critical:#d92d20;--chart-other:#8a94a6;--chart-grid:#e6e9f0;--chart-1:#1d3bc4;--chart-2:#2e5bff;--chart-3:#6f8cff;--chart-4:#a9bcff;--chart-5:#8a94a6;--glass:#fffc;--glass-line:#0e142414;--aurora:#2e5bff1a;--map-icon-filter:none;--side-bg:#1d3bc4;--side-bg-2:#2f55f0;--side-fg:#fff;--side-muted:#e2e8ff;--side-line:#ffffff2e;--side-active:#fff;--side-active-fg:#1f3fd1;--side-accent:#fff;--radius:14px;--radius-sm:10px;--font:"Geist Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"Geist Mono Variable", ui-monospace, Menlo, Consolas, monospace;--ease:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--fast:.15s;--mid:.26s;--slow:.42s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0a0d16;--surface:#111524;--surface-2:#171c2e;--fg:#e8ecf6;--bp-body:#dfe5f5;--muted:#98a2b8;--line:#222a40;--line-strong:#2e3853;--input-line:#5e6a88;--accent:#6d8bff;--accent-text:#9db1ff;--accent-fg:#0a1030;--accent-soft:#18214a;--danger:#f97066;--danger-soft:#36181a;--warn:#9db1ff;--warn-soft:#1d2a5c;--st-roule:#7d98ff;--st-roule-fg:#0a1030;--st-arret:#3d55b8;--st-arret-fg:#fff;--st-off:#5f6a80;--st-off-fg:#fff;--shadow:0 1px 2px #0000004d, 0 12px 32px -16px #0009;--shadow-lift:0 2px 4px #00000059, 0 20px 44px -16px #000000b3;--side-bg:#0f1c5c;--side-bg-2:#1a2e86;--side-active-fg:#1a2e86;--chart-roule:#7d98ff;--chart-arret:#3d55b8;--chart-critical:#e5584d;--chart-other:#5f6a80;--chart-grid:#1c2235;--chart-1:#9db1ff;--chart-2:#6d8bff;--chart-3:#3d55b8;--chart-4:#2a3a80;--chart-5:#5f6a80;--glass:#111524cc;--glass-line:#ffffff14;--aurora:#6d8bff14;--map-icon-filter:invert(.88);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0a0d16;--surface:#111524;--surface-2:#171c2e;--fg:#e8ecf6;--bp-body:#dfe5f5;--muted:#98a2b8;--line:#222a40;--line-strong:#2e3853;--input-line:#5e6a88;--accent:#6d8bff;--accent-text:#9db1ff;--accent-fg:#0a1030;--accent-soft:#18214a;--danger:#f97066;--danger-soft:#36181a;--warn:#9db1ff;--warn-soft:#1d2a5c;--st-roule:#7d98ff;--st-roule-fg:#0a1030;--st-arret:#3d55b8;--st-arret-fg:#fff;--st-off:#5f6a80;--st-off-fg:#fff;--shadow:0 1px 2px #0000004d, 0 12px 32px -16px #0009;--shadow-lift:0 2px 4px #00000059, 0 20px 44px -16px #000000b3;--side-bg:#0f1c5c;--side-bg-2:#1a2e86;--side-active-fg:#1a2e86;--chart-roule:#7d98ff;--chart-arret:#3d55b8;--chart-critical:#e5584d;--chart-other:#5f6a80;--chart-grid:#1c2235;--chart-1:#9db1ff;--chart-2:#6d8bff;--chart-3:#3d55b8;--chart-4:#2a3a80;--chart-5:#5f6a80;--glass:#111524cc;--glass-line:#ffffff14;--aurora:#6d8bff14;--map-icon-filter:invert(.88);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--fg);font:15px/1.55 var(--font);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;margin:0}h1{letter-spacing:-.025em;text-wrap:balance;margin:0 0 20px;font-size:28px;font-weight:650;line-height:1.15}h2{letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:17px;font-weight:620;line-height:1.3}h3{margin:6px 0 0;font-size:14px;font-weight:620}a{color:var(--accent-text);text-underline-offset:3px;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft)}button,input,select,textarea{font:inherit;color:inherit}label{gap:6px;font-size:13.5px;font-weight:560;display:grid}label small{color:var(--muted);font-weight:400}input,select,textarea{border:1px solid var(--input-line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:42px;transition:border-color var(--fast), box-shadow var(--fast), background-color var(--fast);padding:9px 12px}input:hover,select:hover,textarea:hover{border-color:var(--muted)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--muted) 75%, transparent)}textarea{resize:vertical}input[type=checkbox]{width:auto;min-height:0;accent-color:var(--accent)}input[type=range]{min-height:0;accent-color:var(--accent);background:0 0;border:0;padding:0}input[type=file]{color:var(--muted);padding:6px;font-size:13.5px}input[type=file]::file-selector-button{border:1px solid var(--line-strong);background:var(--surface-2);color:var(--fg);font:inherit;cursor:pointer;border-radius:8px;margin-right:10px;padding:6px 12px;font-weight:600}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:13px}.num{text-align:right;font-variant-numeric:tabular-nums}.stack{gap:14px;display:grid}.row{flex-wrap:wrap;gap:8px;display:flex}.row.between{justify-content:space-between;align-items:center}a.plate{color:var(--fg);transition:border-color var(--fast), box-shadow var(--fast);text-decoration:none}a.plate:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.plate{border:1.5px solid var(--fg);font:600 12.5px/1.5 var(--mono);letter-spacing:.03em;white-space:nowrap;background:var(--surface);border-radius:5px;align-items:center;padding:1px 7px;display:inline-flex}.btn{border-radius:var(--radius-sm);background:var(--accent);min-height:42px;color:var(--accent-fg);white-space:nowrap;cursor:pointer;transition:transform var(--fast) var(--ease), filter var(--fast), background-color var(--mid), box-shadow var(--mid);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-weight:600;display:inline-flex;box-shadow:inset 0 1px #ffffff2e,0 1px 2px #0000001f}.btn:hover:not(:disabled){filter:brightness(1.07);box-shadow:inset 0 1px 0 #fff3, 0 6px 16px -6px color-mix(in srgb, var(--accent) 60%, transparent)}.btn:active:not(:disabled){transform:translateY(1px)scale(.985)}.btn:disabled{opacity:.55;cursor:not-allowed}a.btn{text-decoration:none}.btn.ghost{background:var(--surface);color:var(--fg);border-color:var(--line-strong);box-shadow:none}.btn.ghost:hover:not(:disabled){background:var(--surface-2);filter:none}button.link{color:var(--accent-text);cursor:pointer;transition:opacity var(--fast);background:0 0;border:0;padding:0;font-weight:600}button.link:hover{opacity:.75}button.link.danger{color:var(--danger)}.icon-btn{border-radius:var(--radius-sm);width:38px;height:38px;color:inherit;cursor:pointer;transition:background-color var(--fast), transform var(--fast) var(--ease);background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:color-mix(in srgb, currentColor 10%, transparent)}.icon-btn:active{transform:scale(.94)}.error{border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 25%, transparent);padding:10px 12px;font-size:14px}.pill{background:var(--accent-soft);color:var(--accent-text);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.pill.expiry-warn{background:var(--warn-soft);color:var(--warn)}.pill.status-en_panne{background:var(--fg);color:var(--bg)}.pill.expiry-ok,.pill.status-hors_service{background:var(--surface-2);color:var(--muted)}.pill.status-livree,.pill.mission-en_cours{background:var(--accent);color:var(--accent-fg)}.pill:is(.mission-livree,.mission-annulee){background:var(--surface-2);color:var(--muted)}.pill.mission-late{background:var(--amber);color:var(--accent-fg)}.pill-live{--ring:var(--accent-fg);width:7px;height:7px;animation:ring-dot 1.8s var(--ease) 3;background:currentColor;border-radius:50%;flex:none}.pill.expiry-danger{background:var(--danger-soft);color:var(--danger)}.pill.due-late{background:var(--warn);color:var(--accent-fg)}.badge{background:var(--accent);min-width:20px;height:20px;color:var(--accent-fg);font:700 11px/1 var(--font);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;padding:0 6px;display:inline-grid}.live{background:var(--accent-soft);color:var(--accent-text);border-radius:999px;align-items:center;gap:7px;padding:4px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.live.offline{background:var(--surface-2);color:var(--muted)}.stale .maplibregl-marker>*{filter:opacity(.45);transition:filter var(--mid)}.stale :is(.dot-roule,.mini-dot.status-roule){animation:none}.stale .truck-marker:after{display:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:12px}th,td.num,td .pill,td .plate,td button{white-space:nowrap}td .mono{word-break:break-all}.cell-main{justify-items:start;gap:4px;display:grid}.cell-main .muted{font-size:13px}th{z-index:1;background:var(--surface-2);color:var(--muted);font-size:12.5px;font-weight:600;position:sticky;top:0}tbody tr{transition:background-color var(--fast)}tbody tr:hover td{background:color-mix(in srgb, var(--accent-soft) 45%, transparent)}tr:last-child td{border-bottom:0}tr.selected td{background:var(--accent-soft)}tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.doc-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.doc-list li{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:11px 14px;display:flex}.shell{grid-template-columns:252px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{background:linear-gradient(180deg, var(--side-bg-2), var(--side-bg));height:100dvh;color:var(--side-fg);border-right:1px solid var(--side-line);flex-direction:column;gap:18px;padding:18px 14px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:4px 6px;display:flex}.brand-mark{color:#fff;background:linear-gradient(140deg,#9db1ff,#2e5bff);border-radius:11px;flex:none;place-items:center;width:36px;height:36px;display:grid;box-shadow:inset 0 1px #ffffff73,0 6px 18px -6px #2e5bffb3}.brand-mark.small{border-radius:9px;width:28px;height:28px}.brand-text{min-width:0;line-height:1.2;display:grid}.brand-text strong{letter-spacing:-.01em;color:#fff;font-size:16px}.brand-text span{color:var(--side-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.sidebar-close{margin-left:auto;display:none}.side-search{border-radius:var(--radius-sm);border:1px solid var(--side-line);width:100%;color:var(--side-muted);text-align:left;cursor:pointer;transition:background-color var(--mid), border-color var(--mid), color var(--mid);background:#ffffff1f;align-items:center;gap:10px;padding:8px 8px 8px 12px;font-size:14px;display:flex}.side-search:hover{color:var(--side-fg);background:#ffffff2e;border-color:#ffffff52}.side-search span{flex:1}.side-search kbd{border-color:var(--side-line);color:var(--side-fg);background:#ffffff29}kbd{border:1px solid var(--line-strong);background:var(--surface);min-width:22px;height:22px;color:var(--muted);font:600 11px/1 var(--font);white-space:nowrap;border-bottom-width:2px;border-radius:6px;place-items:center;padding:0 6px;display:inline-grid}.collapse-btn{border-radius:var(--radius-sm);width:100%;color:var(--side-muted);cursor:pointer;transition:background-color var(--mid), color var(--mid);background:0 0;border:0;align-items:center;gap:12px;padding:8px 12px;font-size:13.5px;display:flex}.collapse-btn:hover{color:var(--side-fg);background:#ffffff1f}.collapse-btn svg{transition:transform var(--slow) var(--ease)}.side-nav{gap:2px;display:grid;overflow:hidden auto}.side-nav a{border-radius:var(--radius-sm);color:var(--side-fg);transition:background-color var(--mid) var(--ease), color var(--mid) var(--ease);align-items:center;gap:12px;padding:9px 12px;font-size:14.5px;font-weight:520;text-decoration:none;display:flex;position:relative}.side-nav a svg{color:var(--side-muted);transition:color var(--mid), transform var(--mid) var(--ease-spring)}.side-nav a:hover{background:#ffffff1f}.side-nav a:hover svg{transform:scale(1.08)}.side-nav a.active{background:var(--side-active);color:var(--side-active-fg);font-weight:600;box-shadow:0 6px 16px -8px #00000059}.side-nav a.active svg{color:var(--side-active-fg)}.side-nav a.active:before{content:"";background:var(--side-accent);width:3px;animation:grow-in var(--mid) var(--ease) both;border-radius:0 3px 3px 0;position:absolute;top:9px;bottom:9px;left:-14px}.side-nav .badge{margin-left:auto}.sidebar-foot{gap:12px;margin-top:auto;display:grid}.theme-switch{border-radius:var(--radius-sm);border:1px solid var(--side-line);background:#ffffff1f;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.theme-switch button{height:30px;color:var(--side-muted);cursor:pointer;transition:background-color var(--mid) var(--ease), color var(--mid);background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.theme-switch button:hover{color:var(--side-fg)}.theme-switch button.active{background:var(--side-active);color:var(--side-active-fg)}.user-card{border-radius:var(--radius-sm);border:1px solid var(--side-line);background:#ffffff1f;align-items:center;gap:10px;min-width:0;padding:10px;display:flex}.sidebar .brand-mark,.sidebar .avatar{color:var(--side-active-fg);background:#fff;box-shadow:0 6px 18px -8px #00000059}.sidebar .badge{color:var(--side-active-fg);background:#fff}.avatar{color:#f2f5ff;background:linear-gradient(140deg,#2449d8,#5b7cff);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid}.user-text{flex:1;min-width:0;line-height:1.25;display:grid}.user-text strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.user-text span{color:var(--side-muted);font-size:12px}.content{background:radial-gradient(900px 340px at 85% -160px, var(--aurora), transparent 70%), radial-gradient(700px 300px at 0% -200px, var(--aurora), transparent 70%);flex-direction:column;min-width:0;display:flex}.shell{transition:grid-template-columns var(--slow) var(--ease)}@media (width>=901px){.shell.collapsed{grid-template-columns:76px minmax(0,1fr)}.shell.collapsed .sidebar{padding-inline:12px}.shell.collapsed :is(.brand-text,.nav-label,.side-search span,.side-search kbd,.user-text){display:none}.shell.collapsed .brand,.shell.collapsed :is(.side-search,.collapse-btn),.shell.collapsed .side-nav a{justify-content:center;padding-inline:0}.shell.collapsed .side-nav a.active:before{left:-12px}.shell.collapsed .side-nav .badge{min-width:17px;height:17px;padding:0 4px;font-size:10px;position:absolute;top:3px;right:6px}.shell.collapsed .theme-switch{grid-template-columns:minmax(0,1fr)}.shell.collapsed .user-card{flex-direction:column;padding:8px 0}.shell.collapsed .collapse-btn svg{transform:scaleX(-1)}}.mobile-bar{display:none}main{width:100%;max-width:1280px;margin:0 auto;padding:32px max(16px,3vw) 48px}.scrim{display:none}@media (width<=900px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:30;width:min(300px,86vw);transition:transform var(--slow) var(--ease), box-shadow var(--slow);position:fixed;inset:0 auto 0 0;transform:translate(-102%)}.sidebar.open{transform:none;box-shadow:20px 0 60px #00000059}.sidebar-close{color:var(--side-fg);display:inline-grid}.scrim{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity var(--slow) var(--ease);background:#050a0880;display:block;position:fixed;inset:0}.scrim.open{opacity:1;pointer-events:auto}.mobile-bar{z-index:10;background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(12px)saturate(160%);backdrop-filter:blur(12px)saturate(160%);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 12px;display:flex;position:sticky;top:0}.mobile-bar strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.mobile-bar .search{color:var(--fg);margin-left:auto}.mobile-bar .assistant{width:44px;height:44px;color:var(--fg)}.mobile-bar .bell{color:var(--fg);position:relative}.collapse-btn{display:none}.mobile-bar .bell .badge{min-width:17px;height:17px;padding:0 4px;font-size:10px;position:absolute;top:0;right:-2px}main{padding:20px 16px 40px}h1{margin-bottom:16px;font-size:24px}}.page-head{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:20px;display:flex}.page-head h1{margin:0}.page-head .live{margin-left:auto}.login{background:var(--bg);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);min-height:100dvh;display:grid}.login-brand{--mx:0;--my:0;isolation:isolate;color:#fff;background:radial-gradient(70% 55% at 18% 0,#7d9bff80,#0000 70%),radial-gradient(60% 60% at 100% 100%,#2e5bff99,#0000 70%),linear-gradient(160deg,#1d3bc4,#12299a 60%,#0b1b6e);grid-template-rows:auto auto minmax(0,1fr);gap:22px;padding:36px clamp(24px,4vw,56px) 30px;display:grid;position:relative;overflow:hidden}.login-brand .brand-mark{color:#1f3fd1;background:#fff}.login-brand h1{letter-spacing:-.04em;color:#fff;max-width:12ch;margin:0 0 12px;font-size:clamp(34px,4.2vw,58px);line-height:1.02}.login-brand h1 .word{animation:word-in .8s var(--ease) both;display:inline-block}.login-brand p{color:#d5deff;max-width:44ch;animation:rise var(--slow) .5s var(--ease) both;margin:0;font-size:16px}.login-form{place-items:center;padding:32px 16px;display:grid}.login-form form{width:100%;max-width:380px}.login .card{animation:rise var(--slow) .2s var(--ease-spring) both}.scene{min-height:0;display:grid;position:relative}.scene-map{align-self:center;width:100%;height:100%;max-height:560px;overflow:visible}.scene-layer,.scene-grid{transition:transform .9s var(--ease)}.scene-grid{transform:translate(calc(var(--mx) * 5px), calc(var(--my) * 5px))}.scene-far{transform:translate(calc(var(--mx) * -3px), calc(var(--my) * -3px))}.scene-routes{transform:translate(calc(var(--mx) * -8px), calc(var(--my) * -8px))}.scene-cities{transform:translate(calc(var(--mx) * -10px), calc(var(--my) * -10px))}.scene-trucks{transform:translate(calc(var(--mx) * -16px), calc(var(--my) * -16px))}.scene-coast{fill:none;stroke:#ffffff40;stroke-width:1.5px;stroke-dasharray:2 7;stroke-linecap:round}.scene-sea{fill:#ffffff80;font:italic 500 12px var(--font);letter-spacing:.04em}.scene-route{fill:none;stroke:#ffffff57;stroke-width:1.6px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:draw 1.4s var(--ease) both}.scene-flow{fill:none;stroke:#fff;stroke-width:2px;stroke-linecap:round;stroke-dasharray:.012 .05;opacity:.5;animation:1s 1.6s both fade-in,7s linear 1.6s infinite flow}.scene-node{fill:#fff}.scene-city{animation:.7s .6s both fade-in}.scene-city.port .scene-node{fill:#c9d6ff;stroke:#fff;stroke-width:1.5px}.scene-city.hub .scene-node{filter:drop-shadow(0 0 7px #ffffffe6)}.scene-halo{fill:none;stroke:#ffffffbf;stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;animation:halo 2.6s var(--ease) infinite}.scene-halo.late{animation-delay:1.3s}.scene-label{fill:#fffc;font:600 11.5px var(--font)}.scene-city.hub .scene-label{fill:#fff;font-size:13px;font-weight:700}.scene-ticker{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-width:100%;animation:rise var(--slow) 1.2s var(--ease) both;background:#ffffff1f;border:1px solid #ffffff3d;border-radius:999px;align-items:center;gap:10px;padding:9px 16px 9px 12px;font-size:13.5px;display:inline-flex;position:absolute;bottom:0;left:0}.scene-ticker strong{font:600 12.5px var(--mono);letter-spacing:.03em;margin-right:6px}.scene-ticker-text{text-overflow:ellipsis;white-space:nowrap;animation:ticker-in .5s var(--ease) both;overflow:hidden}.live-dot{background:#fff;border-radius:50%;flex:none;width:8px;height:8px;animation:1.6s ease-in-out infinite live-blink}.scene-3d{width:100%;height:100%;min-height:320px;position:relative}.scene-3d canvas{width:100%;height:100%;animation:.9s both fade-in;display:block;position:absolute;inset:0;-webkit-mask-image:radial-gradient(120% 95% at 50% 45%,#000 62%,#0000 100%);mask-image:radial-gradient(120% 95% at 50% 45%,#000 62%,#0000 100%)}.scene-3d-labels{pointer-events:none;animation:.7s .9s both fade-in;position:absolute;inset:0;overflow:hidden}.scene-3d-label{white-space:nowrap;color:#ffffffd1;font:600 11.5px var(--font);text-shadow:0 1px 8px #08145ab3;position:absolute;top:0;left:0;translate:10px -50%}.scene-3d-label.hub{color:#fff;font-size:13px;font-weight:700;translate:14px -50%}.scene-3d-label.port{translate:-50% 12px}.scene-3d-label.flip{translate:calc(-100% - 10px) -50%}.scene-3d-label.hub.flip{translate:calc(-100% - 14px) -50%}.scene-3d-label.sea{color:#ffffff80;font:italic 500 12px var(--font);letter-spacing:.04em;translate:-50% -50%}.bp{--bp-glow:var(--accent);--bp-beam:color-mix(in srgb, var(--accent) 45%, #fff);--bp-bg:color-mix(in srgb, var(--accent) 5%, var(--surface));--bp-grid:color-mix(in srgb, var(--accent) 9%, transparent);--bp-edge:#0e142438;color:color-mix(in srgb, var(--accent) 60%, transparent);background:linear-gradient(var(--bp-grid) 1px, transparent 1px) 0 0 / 14px 14px, linear-gradient(90deg, var(--bp-grid) 1px, transparent 1px) 0 0 / 14px 14px, var(--bp-bg);border-radius:12px;position:relative;overflow:hidden}.bp.viewfinder:before{--vf-len:12px;inset:6px}.bp svg{width:100%;height:auto;display:block}.bp-hud{font:600 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);position:absolute;top:11px;left:14px}.bp-hud:before{content:"";vertical-align:1px;background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:7px;animation:1.6s ease-in-out infinite live-blink;display:inline-block}.bp-dim{animation:.7s .5s both fade-in}.bp-dim path{fill:none;stroke:var(--accent);stroke-width:.8px;opacity:.55}.bp-dim rect{fill:var(--bp-bg)}.bp-dim text{font:600 8px var(--mono);letter-spacing:.06em;fill:var(--accent-text)}.bp-ground{fill:none;stroke:color-mix(in srgb, var(--accent) 40%, transparent);stroke-dasharray:24 16}.bp-plan path{fill:none;stroke:var(--accent);stroke-width:1.1px;stroke-linejoin:round;stroke-dasharray:1;animation:draw 1.2s var(--ease) both}.bp-plan .bp-axles{stroke-width:.8px;stroke-dasharray:none;animation:.6s .8s both fade-in}.bp-cargo g{opacity:0;transition:opacity .22s var(--ease), translate .42s var(--ease);translate:0 -16px}.bp-cargo g.on{opacity:1;translate:0}.bp-cargo path{fill:color-mix(in srgb, var(--accent) 16%, var(--surface));stroke:var(--accent);stroke-width:.9px}.bp-cargo .bp-tape{fill:none;stroke-width:2.4px;stroke:color-mix(in srgb, var(--accent) 35%, transparent)}.bp-scan{stroke:var(--accent);stroke-width:1.6px;filter:drop-shadow(0 0 3px var(--accent));animation:2.4s ease-in-out infinite alternate bp-scan}.bp-part{animation:bp-assemble .64s var(--ease) both}.bp-body{fill:var(--bp-body);stroke:var(--bp-edge);stroke-width:.8px}.bp-glass{fill:#1b2a5e}.bp-shine{fill:#ffffff47}.bp-steel{fill:#3a4664}.bp-tank{fill:#aab4ca}.bp-seam{fill:none;stroke:var(--bp-edge);stroke-width:.8px}.bp-stripe{fill:var(--accent)}.bp-lamp{fill:#fff;stroke:var(--bp-edge);stroke-width:.6px}.bp-brand{font:700 13px var(--mono);letter-spacing:.32em;fill:var(--accent)}.bp-tyre{fill:#0e1424}.bp-rim{fill:#c9d0de}.bp-spoke{fill:none;stroke:#3a4664;stroke-width:1.2px;stroke-linecap:round}.bp-hub{transform-box:fill-box;transform-origin:50%}.bp-shadow{fill:#0e142429}.bp-glow,.bp-trails,.bp-beam{opacity:0;transition:opacity .4s var(--ease)}.bp.moving :is(.bp-glow,.bp-trails,.bp-beam){opacity:1}.bp-trails path{fill:none;stroke-width:2px;stroke-linecap:round;stroke-dasharray:46 26}.bp.moving .bp-hub{animation:.42s linear infinite bp-spin}.bp.moving .bp-trails path{animation:.42s linear infinite bp-trail}.bp.moving .bp-ground{animation:.255s linear infinite bp-lane}.bp-truck{transition:translate .5s var(--ease)}.bp.depart .bp-truck{transition:translate .8s cubic-bezier(.32,0,.67,0) .2s;translate:470px}.bp.bump .bp-truck{animation:bp-bump .52s var(--ease) both}@media (prefers-reduced-motion:reduce){.bp.depart .bp-truck{translate:none}}@keyframes bp-assemble{0%{opacity:0;translate:var(--dx) var(--dy)}}@keyframes bp-scan{to{translate:212px}}@keyframes bp-lane{to{stroke-dashoffset:40px}}@keyframes bp-trail{to{stroke-dashoffset:72px}}@keyframes bp-spin{to{rotate:360deg}}@keyframes bp-bump{20%{translate:-7px}40%{translate:5px}60%{translate:-3px}80%{translate:1.5px}}@media (width<=900px){.login{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.login-brand{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 20px}.login-brand h1{letter-spacing:-.04em;max-width:none;margin:0 0 6px;font-size:27px;line-height:1.1}.login-brand p{font-size:14px;line-height:1.45}.scene{grid-template-rows:minmax(0,1fr) auto;gap:4px;container-type:size}.scene-map{height:100%;min-height:0;max-height:none}.login-form{padding:10px 16px 12px}.login-form .card{padding:16px 18px 18px}.login-form .stack{gap:10px}.scene-label{font-size:16px}.scene-city.hub .scene-label{font-size:17px}.scene-3d{height:100%;min-height:0}.scene-3d-label{font-size:9.2px}.scene-3d-label.hub{font-size:10.4px}.scene-3d-label.sea{display:none}.scene-3d-label[data-city=bobo]{translate:calc(-100% - 10px) -50%}.scene-ticker{grid-row:2;justify-self:start;position:relative}.login:has(.login-form input:focus) .scene{display:none}}@container (height<=194px){.scene-3d,.scene-map{display:none}}@container (height<=44px){.scene-ticker{display:none}}@keyframes word-in{0%{opacity:0;filter:blur(8px);transform:translateY(.5em)rotate(3deg)}to{opacity:1;filter:none;transform:none}}@keyframes flow{to{stroke-dashoffset:-1px}}@keyframes halo{0%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(3.4)}}@keyframes ticker-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes live-blink{50%{opacity:.3}}@keyframes fade-in{0%{opacity:0}}.notice{place-items:center;min-height:100dvh;padding:16px;display:grid}.notice .card{max-width:420px}.users{grid-template-columns:minmax(0,2fr) minmax(320px,1fr);align-items:start;gap:20px;display:grid}@media (width<=1080px){.users{grid-template-columns:minmax(0,1fr)}}.users>.stack{position:sticky;top:24px}@media (width<=1080px){.users>.stack{position:static}}.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}@media (width<=640px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile{padding:14px}.tile-value{font-size:30px}}.tile{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--fg);box-shadow:var(--shadow);transition:transform var(--mid) var(--ease), box-shadow var(--mid) var(--ease), border-color var(--mid);gap:10px;padding:18px;text-decoration:none;display:grid;position:relative;overflow:hidden}.tile:hover{box-shadow:var(--shadow-lift);border-color:color-mix(in srgb, var(--accent) 45%, var(--line));transform:translateY(-3px)}.tile-label{color:var(--muted);align-items:center;gap:10px;font-size:13.5px;font-weight:560;display:flex}.tile-icon{background:var(--surface-2);width:34px;height:34px;color:var(--muted);border-radius:10px;flex:none;place-items:center;display:grid}.tile-roule .tile-icon{background:color-mix(in srgb, var(--st-roule) 16%, transparent);color:var(--st-roule)}.tile-arret .tile-icon{background:color-mix(in srgb, var(--st-arret) 16%, transparent);color:var(--st-arret)}.tile-hors_ligne .tile-icon{background:color-mix(in srgb, var(--st-off) 18%, transparent);color:var(--st-off)}.tile-critical .tile-icon{background:var(--danger-soft);color:var(--danger)}.tile-warn .tile-icon{background:var(--warn-soft);color:var(--warn)}.tile-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:36px;font-weight:680;line-height:1}.tile-note{color:var(--muted);font-size:12.5px}.tile-critical{border-color:color-mix(in srgb, var(--danger) 55%, var(--line))}.tile-critical .tile-value{color:var(--danger)}.tile-warn .tile-value{color:var(--warn)}.card.skeleton{background:linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 50%, var(--surface) 75%);background-size:200% 100%;min-height:260px;animation:1.4s linear infinite shimmer}.bento .tile.skeleton{height:auto;min-height:150px}.tile.skeleton{background:linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 50%, var(--surface) 75%);background-size:200% 100%;height:112px;animation:1.4s linear infinite shimmer}.fleet-bar{background:var(--surface-2);border-radius:999px;gap:2px;height:10px;display:flex;overflow:hidden}.fleet-bar span{transform-origin:0;height:100%;animation:bar-in .9s var(--ease) both}.fleet-bar .roule{background:var(--st-roule)}.fleet-bar .arret{background:var(--st-arret)}.fleet-bar .hors_ligne{background:var(--st-off)}.fleet-legend{color:var(--muted);flex-wrap:wrap;gap:6px 16px;font-size:13px;display:flex}.fleet-legend span{align-items:center;gap:6px;display:inline-flex}.fleet-list{margin:0;padding:0;list-style:none;display:grid}.fleet-list li{border-bottom:1px solid var(--line);transition:background-color var(--fast);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 6px;font-size:14px;display:flex}.fleet-list li:hover{background:var(--surface-2)}.fleet-list li:last-child{border-bottom:0}.fleet-list li>:last-child{margin-left:auto}.dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.dot-roule{background:var(--st-roule);animation:ring-dot 1.8s var(--ease) infinite}.dot-arret{background:var(--st-arret)}.dot-hors_ligne{background:var(--st-off)}.dot-critical{background:var(--danger);animation:2s infinite pulse-danger}.status-text{font-size:13px;font-weight:600}.status-text.status-roule{color:var(--st-roule)}.status-text.status-arret{color:var(--fg)}.status-text.status-hors_ligne{color:var(--muted)}.map-page{grid-template-columns:300px minmax(0,1fr);gap:18px;height:calc(100dvh - 80px);min-height:460px;display:grid}.map{border-radius:var(--radius);border:1px solid var(--line);min-height:0;box-shadow:var(--shadow);overflow:hidden}.map-list{min-width:0;padding-right:4px;overflow-y:auto}.map-list ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.map-item{text-align:left;cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;transition:border-color var(--fast), transform var(--fast) var(--ease), box-shadow var(--fast);gap:4px;padding:12px 14px;display:grid}.map-item:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translate(3px)}@media (width<=900px){.map-page{grid-template-columns:minmax(0,1fr);height:auto}.map{order:-1;height:60vh}}.truck-marker{background:var(--st-roule);color:var(--st-roule-fg);font:600 12px/1.3 var(--mono);letter-spacing:.02em;white-space:nowrap;cursor:default;transition:background-color var(--mid) var(--ease);animation:marker-in var(--slow) var(--ease-spring) both;border-radius:8px;align-items:center;gap:6px;padding:4px 9px;display:inline-flex;position:relative;box-shadow:0 4px 14px -4px #00000073}.truck-marker.status-arret{background:var(--st-arret);color:var(--st-arret-fg)}.truck-marker.status-hors_ligne{background:var(--st-off);color:var(--st-off-fg)}.truck-marker .heading{width:0;height:0;transform:rotate(var(--course,0deg));transition:transform .7s var(--ease);border-bottom:8px solid;border-left:4px solid #0000;border-right:4px solid #0000}.truck-marker:not(.status-roule) .heading{display:none}.truck-marker.status-roule:after{content:"";border:2px solid var(--st-roule);animation:ring 1.8s var(--ease) infinite;pointer-events:none;border-radius:11px;position:absolute;inset:-3px}.maplibregl-ctrl-group{overflow:hidden;border-radius:var(--radius-sm)!important}.maplibregl-ctrl-group:not(:empty){background:var(--surface);box-shadow:var(--shadow)!important}.maplibregl-ctrl-group button+button{border-top-color:var(--line)!important}.maplibregl-ctrl button .maplibregl-ctrl-icon{filter:var(--map-icon-filter)}.maplibregl-map .maplibregl-ctrl-attrib,.maplibregl-map .maplibregl-ctrl-attrib.maplibregl-compact{background:var(--glass);color:var(--muted)}.maplibregl-map .maplibregl-ctrl-attrib a{color:inherit}.maplibregl-ctrl-attrib-button{filter:var(--map-icon-filter)}.replay{margin-top:16px;padding:18px}.trip-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.trip-facts div{border-radius:var(--radius-sm);background:var(--surface-2);padding:10px 12px}.trip-facts dt{color:var(--muted);font-size:12px}.trip-facts dd{font:650 17px/1.3 var(--font);font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin:0}.btn.play{min-width:44px;padding:8px 12px}.timeline{border-left:2px solid var(--line);gap:10px;margin:0;padding:0 0 0 8px;font-size:14px;list-style:none;display:grid}.timeline li{padding-left:14px;position:relative}.tl-dot{border:2px solid var(--surface);border-radius:50%;width:12px;height:12px;position:absolute;top:5px;left:-15px}.tl-start,.tl-end{background:var(--accent)}.tl-stop{background:var(--st-arret)}.replay-truck{background:var(--accent);width:18px;height:18px;animation:ring-dot 1.4s var(--ease) infinite;border:3px solid #fff;border-radius:50%}.facts{grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;margin:0;font-size:14px;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.proof-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.alert-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.alert-list li{border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:14px 16px;display:flex}.alert-list li.critical{border-left-color:var(--danger)}.public-track main{max-width:900px;margin:0 auto;padding:16px}.public-track .map{order:0;height:60vh}@media (width<=900px){.public-track .map{height:45vh}}.qr-print{justify-items:center;gap:4px;display:grid}.qr-print img{border-radius:var(--radius-sm);background:#fff;padding:10px}@media print{body *{visibility:hidden}.qr-print,.qr-print *{visibility:visible}.qr-print{padding:24px;position:absolute;inset:0 auto auto 0}.qr-print img{width:8cm;height:8cm}.qr-print .plate{color:#000;border-color:#000;font-size:28px}}.glass{background:var(--glass);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(14px)saturate(160%);box-shadow:var(--shadow-lift)}@media (prefers-reduced-transparency:reduce){.glass{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}.toolbar{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:14px;display:flex}label.search-field{flex:240px;max-width:380px;font-weight:400;display:block;position:relative}.search-field svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-field input{padding-left:38px}.chips{flex-wrap:wrap;flex-basis:100%;order:3;gap:6px;display:flex}.chips button{border:1px solid var(--line-strong);background:var(--surface);min-height:34px;color:var(--fg);cursor:pointer;transition:background-color var(--mid) var(--ease), border-color var(--mid), color var(--mid), transform var(--fast) var(--ease);border-radius:999px;align-items:center;gap:7px;padding:5px 13px;font-size:13.5px;font-weight:560;display:inline-flex}.chips button:hover{border-color:var(--muted)}.chips button:active{transform:scale(.97)}.chips button.active{background:var(--fg);border-color:var(--fg);color:var(--bg)}.chip-count{font-variant-numeric:tabular-nums;opacity:.65;font-size:12px}.toolbar-actions{gap:8px;margin-left:auto;display:flex}@media (width<=640px){.toolbar-actions{flex-wrap:wrap;width:100%;margin-left:0}.toolbar-actions .btn{flex:1}label.search-field{max-width:none}.toolbar-actions:not(:has(>.btn)){width:auto}.toolbar .chips{scrollbar-width:none;flex-wrap:nowrap;flex-basis:calc(100% + 32px);margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px;overflow-x:auto}.toolbar .chips::-webkit-scrollbar{display:none}.toolbar .chips button{flex:none;min-height:44px}.toolbar .chips button.empty{display:none}}.more{position:relative}.btn.more-btn{width:44px;min-height:44px;padding:0}.more-panel{z-index:20;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(300px,100vw - 32px);box-shadow:var(--shadow-lift);animation:rise var(--fast) var(--ease) both;gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.more-panel>:is(button,label){border-radius:var(--radius-sm);min-height:44px;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;font-size:14px;font-weight:500;display:flex}.more-panel>:is(button,label):hover{background:var(--surface-2)}.more-panel svg{color:var(--muted);flex:none}.more-panel>button:disabled{opacity:.5;cursor:not-allowed}@media (width<=640px){.table-cards :is(table,tbody){display:block}.table-cards thead{display:none}.table-cards tr{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px 12px;padding:12px 14px;display:flex}.table-cards tr:last-child{border-bottom:0}.table-cards tr:after{content:"";flex-basis:100%;order:2}.table-cards td{border:0;order:3;padding:0;font-size:13.5px}.table-cards td.tc-main{flex:1 1 0;order:0;min-width:0;font-size:14px}.table-cards td.tc-end{order:1}.table-cards td.tc-push{margin-left:auto}.table-cards td.tc-hide,.table-cards td:empty{display:none}.table-cards td button.link{align-items:center;min-height:44px;margin-block:-10px;display:inline-flex}.table-cards tbody tr:hover td,.table-cards tr.selected td{background:0 0}.table-cards tr.selected{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.table-cards tr.selected td:first-child{box-shadow:none}}tr.clickable{cursor:pointer}tr.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.table-wrap.flat{box-shadow:none}.live-status{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.live-status .muted{font-size:12.5px}.count-note{color:var(--muted);margin:10px 2px 0;font-size:13px}.empty{text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 60%, transparent);justify-items:center;gap:8px;padding:40px 20px;display:grid}.empty-icon{background:var(--accent-soft);width:56px;height:56px;color:var(--accent-text);animation:pop var(--slow) var(--ease-spring) both;border-radius:16px;place-items:center;margin-bottom:4px;display:grid}.empty p{max-width:44ch;margin:0}.drawer-scrim{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity var(--slow) var(--ease);background:#050a086b;position:fixed;inset:0}.drawer-scrim.open{opacity:1;pointer-events:auto}.drawer{z-index:41;background:var(--surface);border-left:1px solid var(--line);visibility:hidden;width:min(580px,100vw);transition:transform var(--slow) var(--ease), visibility 0s linear var(--slow);outline:none;flex-direction:column;display:flex;position:fixed;inset:0 0 0 auto;transform:translate(104%);box-shadow:-30px 0 70px -24px #0006}.drawer.open{visibility:visible;transition:transform var(--slow) var(--ease), visibility 0s;transform:none}.drawer-head{border-bottom:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--accent-soft) 75%, var(--surface)), var(--surface));grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px 12px;padding:20px 20px 16px;display:grid}.drawer-head:has(.tabs){padding-bottom:0}.drawer-title{gap:8px;min-width:0;display:grid}.drawer-title h2{letter-spacing:-.02em;font-size:21px}.drawer-extra{grid-column:1/-1;min-width:0}.drawer-body{overscroll-behavior:contain;flex:1;grid-auto-rows:max-content;align-content:start;gap:20px;padding:20px;display:grid;overflow-y:auto}.drawer-body .card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.drawer-body .card+.card{border-top:1px solid var(--line);padding-top:20px}.drawer-meta{flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:14px;display:flex}.tab-panel{animation:rise var(--mid) var(--ease) both;gap:20px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (width<=520px){.form-grid{grid-template-columns:minmax(0,1fr)}}.avatar.sm{width:32px;height:32px;font-size:12px}.avatar.lg{width:48px;height:48px;font-size:17px}.person{align-items:center;gap:10px;min-width:0;display:flex}.plate.big{border-width:2px;border-radius:7px;padding:3px 12px;font-size:19px}.tabs{scrollbar-width:none;gap:2px;margin:0 -6px;display:flex;overflow-x:auto}.tabs button{color:var(--muted);white-space:nowrap;cursor:pointer;transition:color var(--mid);background:0 0;border:0;flex:none;align-items:center;gap:7px;padding:10px 10px 13px;font-size:14px;font-weight:560;display:inline-flex;position:relative}.tabs button:hover,.tabs button.active{color:var(--fg)}.tabs button.active svg{color:var(--accent-text)}.tab-indicator{background:var(--accent);view-transition-name:tab-indicator;border-radius:2px;height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.drawer .tabs{flex-wrap:wrap;overflow:visible}@media (width<=600px){.drawer .tabs svg{display:none}.drawer .tabs button{padding-inline:8px}}.tab-count{background:var(--surface-2);min-width:18px;height:18px;color:var(--muted);border-radius:999px;place-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-grid}.toasts{z-index:80;pointer-events:none;justify-items:end;gap:10px;display:grid;position:fixed;bottom:20px;right:20px}.toast{pointer-events:auto;max-width:min(420px,100vw - 32px);animation:toast-in var(--slow) var(--ease-spring) both;background:var(--glass);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(14px)saturate(160%);backdrop-filter:blur(14px)saturate(160%);box-shadow:var(--shadow-lift);border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-size:14px;font-weight:520;display:flex}.toast svg{flex:none}.toast-success svg{color:var(--accent-text)}.toast-error svg{color:var(--danger)}.toast-info svg{color:var(--muted)}@media (width<=640px){.toasts{justify-items:stretch;bottom:16px;left:16px;right:16px}.toast{max-width:none}}.palette-layer{z-index:70;visibility:hidden;transition:visibility 0s linear var(--mid);place-items:start center;padding:12vh 16px 16px;display:grid;position:fixed;inset:0}.palette-layer.open{visibility:visible;transition:none}.palette-scrim{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity var(--mid) var(--ease);background:#050a0873;position:absolute;inset:0}.palette-layer.open .palette-scrim{opacity:1}.palette{background:var(--surface);border:1px solid var(--line);opacity:0;width:min(640px,100%);max-height:min(560px,76vh);transition:opacity var(--mid) var(--ease), transform var(--mid) var(--ease-spring);border-radius:16px;flex-direction:column;display:flex;position:relative;overflow:hidden;transform:translateY(-10px)scale(.97);box-shadow:0 30px 80px -20px #00000080}.palette-layer.open .palette{opacity:1;transform:none}.palette-search{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:12px;padding:14px 16px;display:flex}.palette-search input,.palette-search input:focus{min-height:32px;box-shadow:none;color:var(--fg);background:0 0;border:0;padding:0;font-size:16.5px}.palette-list{overscroll-behavior:contain;margin:0;padding:6px;list-style:none;overflow-y:auto}.palette-group{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:10px 10px 4px;font-size:11.5px;font-weight:650}.palette-list button{text-align:left;cursor:pointer;width:100%;transition:background-color var(--fast);background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:8px 10px;display:flex}.palette-list button.active{background:var(--accent-soft)}.palette-icon{background:var(--surface-2);width:32px;height:32px;color:var(--muted);border-radius:9px;flex:none;place-items:center;display:grid}.palette-list button.active .palette-icon{background:var(--surface);color:var(--accent-text)}.palette-text{flex:1;justify-items:start;gap:1px;min-width:0;display:grid}.palette-text .muted{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12.5px;overflow:hidden}.palette-go{color:var(--accent-text);opacity:0;transition:opacity var(--fast), transform var(--fast) var(--ease);transform:translate(-4px)}.palette-list button.active .palette-go{opacity:1;transform:none}.palette-empty{text-align:center;color:var(--muted);padding:28px}.palette-foot{border-top:1px solid var(--line);background:var(--surface-2);gap:18px;padding:10px 16px;font-size:12.5px;display:flex}.palette-foot kbd{margin-right:4px}@media (width<=640px){.palette-layer{padding-top:16px}.palette-foot{display:none}}.chart{min-height:168px;position:relative}.chart svg{display:block;overflow:visible}.chart .grid{stroke:var(--chart-grid);stroke-width:1px;shape-rendering:crispedges}.chart .tick{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px}.chart .col path{transform-box:fill-box;transform-origin:bottom;animation:col-grow .7s var(--ease) both;animation-delay:inherit;transition:filter var(--fast)}.chart .col.hover path{filter:brightness(1.15)saturate(1.1)}.chart .col rect{cursor:default;outline:none}.chart .col rect:focus-visible{stroke:var(--accent);stroke-width:2px}.chart-tip{z-index:2;pointer-events:none;white-space:nowrap;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lift);animation:tip-in var(--fast) var(--ease) both;border-radius:10px;gap:3px;padding:8px 11px;font-size:12.5px;display:grid;position:absolute;transform:translate(-50%,-100%)}.tip-row{align-items:center;gap:7px;display:flex}.tip-row strong{font-variant-numeric:tabular-nums}.line-key,.swatch{border-radius:3px;flex:none;width:10px;height:10px}.swatch.track{background:var(--surface-2);border:1px solid var(--line-strong)}.legend{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin-top:8px;font-size:12.5px;display:flex}.legend>span{align-items:center;gap:6px;display:inline-flex}.figure{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.figure strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:680;line-height:1}.figure .muted{font-size:13px}.icon-btn.subtle{width:32px;height:32px;color:var(--muted)}.icon-btn.subtle:hover{color:var(--fg)}.tip-total{border-top:1px solid var(--line);margin-top:2px;padding-top:3px}.chart .line-path{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:draw .7s var(--ease) both}.chart .line-area{animation:fade-in .7s .2s var(--ease) both}.chart .line-guide{stroke:var(--line-strong);stroke-width:1px;shape-rendering:crispedges}.chart .line-dot{stroke:var(--surface);stroke-width:2px}.chart .line-hit{outline:none}.chart .line-hit:focus-visible{stroke:var(--accent);stroke-width:2px}.spark-area .spark-line{stroke:var(--accent);opacity:1}.rank{gap:12px;margin:0;padding:0;list-style:none;display:grid}.rank li{animation:rise var(--mid) var(--ease) both;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label value""bar bar";align-items:center;gap:6px 10px;display:grid}.rank-label{grid-area:label}.rank-track{background:var(--surface-2);border-radius:0 4px 4px 0;grid-area:bar;height:10px}.rank-bar{background:var(--accent);transform-origin:0;min-width:2px;height:100%;animation:bar-in .9s var(--ease) both;border-radius:0 4px 4px 0;display:block}.rank-value{text-align:right;font-variant-numeric:tabular-nums;grid-area:value;font-size:13px;font-weight:620}.spark{display:block;overflow:visible}.spark-line{fill:none;stroke:var(--muted);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;opacity:.7;stroke-dasharray:1;animation:draw 1s var(--ease) both}.spark-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px;animation:pop var(--slow) .7s var(--ease-spring) both}.daybar{gap:6px;display:grid}.daybar-track{background:var(--surface-2);border-radius:6px;height:28px;position:relative}.daybar-seg{transform-origin:0;min-width:2px;animation:bar-in .6s var(--ease) both;border-radius:4px;position:absolute;top:0;bottom:0}.daybar-seg.roule{background:var(--chart-roule)}.daybar-seg.arret{background:var(--chart-arret)}.daybar-now{background:var(--fg);border-radius:2px;width:2px;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.daybar-hours{height:16px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;position:relative}.daybar-hours span{white-space:nowrap;position:absolute;transform:translate(-50%)}.daybar-hours span:first-child{transform:none}.daybar-hours span:last-child{transform:translate(-100%)}.hello{gap:2px;display:grid}.hello h1{margin:0}.hello p{color:var(--muted);margin:0;font-size:14.5px}.page-head>.hello{flex:auto}.hello-title{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.bento{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.bento>*{min-width:0}.bento .span-2{grid-column:span 2}.bento .row-2{grid-row:span 2}.bento .row-3{grid-row:span 3}.bento .card{animation:assemble .72s var(--ease) both}.bento>:nth-child(2){animation-delay:50ms}.bento>:nth-child(3){animation-delay:90ms}.bento>:nth-child(4){animation-delay:.13s}.bento>:nth-child(5){animation-delay:.17s}.bento>:nth-child(n+6){animation-delay:.22s}@media (width<=1180px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.bento .row-2,.bento .row-3{grid-row:auto}}@media (width<=640px){.bento{gap:12px}.bento>:not(.tile){grid-column:1/-1}}.bento .tile{min-height:150px;animation:assemble .72s var(--ease) both;align-content:space-between}.bento .tile-critical{animation:assemble .72s var(--ease) both, pulse-danger 2.4s .8s infinite}.bento .tile .spark{position:absolute;bottom:18px;right:16px}.bento .skeleton{animation:1.4s linear infinite shimmer}.bento>.stack{align-content:start}@media (width<=640px){.bento .tile{min-height:124px}.bento .tile .spark{display:none}}.card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.card-head a{font-size:13.5px;font-weight:600;text-decoration:none}.card-head a:hover{text-decoration:underline}.hero{color:inherit;transition:box-shadow var(--mid) var(--ease), border-color var(--mid);grid-template-rows:minmax(220px,1fr) auto;padding:0;text-decoration:none;display:grid;position:relative;overflow:hidden}.hero:hover{box-shadow:var(--shadow-lift);border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.hero-map{background:var(--surface-2);min-height:220px;position:relative}.hero-map>div{position:absolute;inset:0}.hero-map .maplibregl-ctrl-attrib{font-size:10px}.hero-hit{z-index:1;border-radius:var(--radius) var(--radius) 0 0;position:absolute;inset:0}.hero-hit:focus-visible{outline-offset:-3px}.hero-tag{pointer-events:none;z-index:2;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex;position:absolute;top:14px;left:14px}.hero-open{z-index:2;color:var(--fg);transition:transform var(--mid) var(--ease);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex;position:absolute;top:14px;right:14px}.hero:hover .hero-open{transform:translate(3px)}.hero-open{text-decoration:none}.hero-body{border-top:1px solid var(--line);background:var(--surface);gap:12px;padding:16px 20px 18px;display:grid}.hero-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.hero-counts div{gap:2px;display:grid}.hero-counts strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:680;line-height:1.1}.hero-counts span{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.mini-dot{width:13px;height:13px;animation:marker-in var(--slow) var(--ease-spring) both;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 8px #00000059}.mini-dot.status-roule{background:var(--st-roule);animation:marker-in var(--slow) var(--ease-spring) both, ring-dot 1.8s var(--ease) infinite}.mini-dot.status-arret{background:var(--st-arret)}.mini-dot.status-hors_ligne{background:#6b7385}.feed{margin:0;padding:0;list-style:none;display:grid}.feed li{animation:rise var(--mid) var(--ease) both;grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:12px;padding:9px 2px;display:grid;position:relative}.feed li:not(:last-child):before{content:"";background:var(--line);border-radius:2px;width:2px;position:absolute;top:43px;bottom:-7px;left:17px}.feed-icon{background:var(--surface-2);width:32px;height:32px;color:var(--muted);border-radius:10px;place-items:center;display:grid}.feed-icon.alert{background:var(--warn-soft);color:var(--warn)}.feed-icon.critical{background:var(--danger-soft);color:var(--danger)}.feed-icon.mission{background:var(--accent-soft);color:var(--accent-text)}.feed-text{gap:3px;min-width:0;font-size:14px;display:grid}.feed-text>span:last-child{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px;display:flex}.feed time{color:var(--muted);white-space:nowrap;font-size:12.5px}.map-wrap{border-radius:var(--radius);min-height:0;position:relative}.map-wrap .map{position:absolute;inset:0}.map-legend{z-index:2;border-radius:12px;flex-wrap:wrap;gap:6px 14px;padding:8px 12px;font-size:12.5px;font-weight:560;display:flex;position:absolute;bottom:12px;left:12px}.map-legend span{align-items:center;gap:6px;display:inline-flex}.vehicle-card{z-index:3;border-radius:var(--radius);width:min(300px,100% - 24px);animation:rise var(--mid) var(--ease-spring) both;gap:12px;padding:16px;display:grid;position:absolute;top:12px;left:12px}.vehicle-card .row{align-items:center}.vehicle-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.vehicle-card dt{color:var(--muted);font-size:12px}.vehicle-card dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.vehicle-card .btn{min-height:36px;padding:6px 12px;font-size:13.5px}.truck-marker{cursor:pointer}.map.compact .truck-marker{border-radius:50%;gap:0;padding:5px}.map.compact .truck-marker:after{border-radius:50%}.map.compact .truck-marker .label{display:none}.map.compact .truck-marker:not(.status-roule,.selected):before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.map.compact .truck-marker:is(:hover,.selected){z-index:5;border-radius:8px;gap:6px;padding:4px 9px}.map.compact .truck-marker:hover:not(.selected):before{display:none}.map.compact .truck-marker:is(:hover,.selected) .label{display:inline}.map.compact .maplibregl-marker:hover,.truck-marker.selected{z-index:5}.maplibregl-marker .truck-marker.selected:before{--vf-len:9px;color:var(--fg);animation:lock-in .46s var(--ease) both;inset:-8px}@keyframes lock-in{0%{opacity:0;scale:1.8}}.map-item.selected{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}@media (width<=640px){.map-legend{top:12px;bottom:auto;right:56px}}@media (width<=900px){.map-wrap{order:-1;height:60vh}.map-wrap .map{height:auto}}.zone-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.zone-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);transition:border-color var(--fast), box-shadow var(--fast);align-items:center;gap:8px;padding:6px 6px 6px 4px;display:flex}.zone-item:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.zone-main{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;min-width:0;padding:6px 8px;display:flex}.zone-main .muted{font-size:12.5px}.zone-swatch{border:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 22%, transparent);border-radius:50%;flex:none;width:14px;height:14px}.zone-item.rouge .zone-swatch{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 22%, transparent)}.map-wrap.placing .maplibregl-canvas{cursor:crosshair}.map-hint{z-index:3;white-space:nowrap;animation:rise var(--mid) var(--ease-spring) both;border-radius:999px;align-items:center;gap:10px;margin:0;padding:8px 14px;font-size:14px;font-weight:560;display:inline-flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.map-hint svg{color:var(--accent-text)}.zone-editor{z-index:3;border-radius:var(--radius);width:min(320px,100% - 24px);animation:rise var(--mid) var(--ease-spring) both;gap:12px;padding:16px;display:grid;position:absolute;top:12px;left:12px}.zone-editor .chips{order:0}@media (width<=640px){.map-hint{white-space:normal;width:calc(100% - 24px)}}.stepper{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.stepper li{text-align:center;color:var(--muted);justify-items:center;gap:6px;font-size:12.5px;display:grid;position:relative}.stepper li:before{content:"";background:var(--line-strong);border-radius:2px;height:2px;position:absolute;top:13px;left:calc(20px - 50%);right:calc(50% + 20px)}.stepper li:first-child:before{display:none}.stepper li.done:before,.stepper li.current:before{background:var(--accent)}.step-dot{z-index:1;border:2px solid var(--line-strong);background:var(--surface);width:28px;height:28px;color:var(--muted);border-radius:50%;place-items:center;display:grid;position:relative}.stepper li.done .step-dot{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);animation:pop var(--slow) var(--ease-spring) both}.stepper li.current .step-dot{border-color:var(--accent);color:var(--accent-text);animation:ring-dot 1.8s var(--ease) infinite}.stepper li.done,.stepper li.current{color:var(--fg);font-weight:600}.stepper small{color:var(--muted);font-weight:400;display:block}.cancelled-note{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.route{flex-wrap:wrap;align-items:center;gap:4px 8px;display:inline-flex}.route svg{color:var(--muted);flex:none}.trips{gap:8px;margin:0;padding:0;list-style:none;display:grid}.trips li{border:1px solid var(--line);border-radius:var(--radius-sm);animation:rise var(--mid) var(--ease) both;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 14px;padding:12px 14px;display:grid}.trip-time{font:600 13px/1.4 var(--mono);white-space:nowrap}.trip-route{gap:2px;min-width:0;font-size:14px;display:grid}.trip-route span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trip-route .muted{font-size:12.5px}.trip-km{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}.day-picker{align-items:center;gap:10px;display:flex}label.day-picker{font-weight:400;display:flex}.trip-facts.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=520px){.trip-facts.four{grid-template-columns:repeat(2,minmax(0,1fr))}}.day-picker input{width:auto;min-height:36px;padding:5px 10px}.alerts-page{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}.alerts-page>aside{position:sticky;top:24px}@media (width<=1080px){.alerts-page{grid-template-columns:minmax(0,1fr)}.alerts-page>aside{position:static}}.alerts-all{flex-wrap:nowrap;align-items:center;margin-bottom:16px;font-weight:400}@media (width>=641px){.alerts-page .more{display:none}}@media (width<=640px){.alerts-page :is(.toolbar-actions>.btn,.alerts-all){display:none}.alerts-page .toolbar-actions{width:auto}}.push-card{flex-wrap:wrap;align-items:center;gap:12px 14px;margin-bottom:16px;display:flex}.push-card>div{flex:240px;gap:4px;min-width:0;display:grid}.push-card .muted{font-size:13.5px}.push-card .alert-icon.on{background:var(--accent-soft);color:var(--accent-text)}.day-group{gap:10px;display:grid}.day-group+.day-group{margin-top:22px}.day-head{color:var(--muted);align-items:center;gap:10px;font-size:13px;font-weight:650;display:flex}.day-head:after{content:"";background:var(--line);flex:1;height:1px}.day-head-row{align-items:center;gap:12px;display:flex}.day-head-row .day-head{flex:1}.day-head-row .link{align-items:center;gap:6px;min-height:44px;font-size:13.5px;display:inline-flex}.alert-list li{grid-template-columns:36px minmax(0,1fr) auto;align-items:center;display:grid}.alert-list li.acknowledged{opacity:.68;border-left-color:var(--line-strong)}.alert-icon{background:var(--warn-soft);width:36px;height:36px;color:var(--warn);border-radius:10px;place-items:center;display:grid}.alert-list li.critical .alert-icon{background:var(--danger-soft);color:var(--danger)}.alert-body{gap:3px;min-width:0;display:grid}.alert-body .muted{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px;display:flex}.alert-details{color:var(--fg);opacity:.8;font-size:13.5px}@media (width<=640px){.alert-list li{grid-template-columns:36px minmax(0,1fr)}.alert-list li>.row{grid-column:1/-1}}@keyframes col-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes tip-in{0%{opacity:0;transform:translate(-50%,calc(4px - 100%))}}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.95)}to{opacity:1;transform:none}}@keyframes draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}main{view-transition-name:page}.side-nav a.active{view-transition-name:nav-pill}::view-transition-group(nav-pill){animation-duration:.36s;animation-timing-function:var(--ease)}::view-transition-group(tab-indicator){animation-duration:.36s;animation-timing-function:var(--ease)}::view-transition-old(page){animation:vt-page-out .2s var(--ease) both}::view-transition-new(page){animation:vt-page-in .38s 60ms var(--ease) both}html[data-vt=tab] main{view-transition-name:none}html[data-vt=tab]::view-transition-old(root){display:none}html[data-vt=tab]::view-transition-new(root){animation:none}html[data-vt=enter]::view-transition-old(root){animation:vt-zoom-out .65s var(--ease) both}html[data-vt=enter]::view-transition-new(root){animation:vt-zoom-in .75s .12s var(--ease) both}@keyframes vt-page-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-page-in{0%{opacity:0;transform:translateY(12px)}}@keyframes vt-zoom-out{to{opacity:0;filter:blur(8px);transform:scale(1.12)}}@keyframes vt-zoom-in{0%{opacity:0;filter:blur(4px);transform:scale(.94)}}@supports (view-transition-name:none){.page{animation:none}}@supports (animation-timeline:view()){.bento>:nth-child(n+6){animation:linear both reveal;animation-timeline:view();animation-range:entry cover 25%}}@keyframes reveal{0%{opacity:0;transform:translateY(28px)scale(.98)}}.tile:before{content:"";pointer-events:none;opacity:0;transition:opacity var(--mid);background:radial-gradient(260px circle at var(--x,50%) var(--y,50%), color-mix(in srgb, var(--accent) 13%, transparent), transparent 65%);position:absolute;inset:0}.tile:hover:before{opacity:1}.tile>:not(.spark){position:relative}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:none}}@keyframes assemble{0%{opacity:0;translate:var(--ex,0) var(--ey,14px);filter:blur(6px);scale:.94}}@keyframes slide-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.18)}to{transform:scale(1)}}@keyframes grow-in{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes bar-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes marker-in{0%{opacity:0;transform:translateY(-12px)scale(.6)}to{opacity:1;transform:none}}@keyframes ring{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.45)}}@keyframes ring-dot{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--ring,var(--st-roule)) 55%, transparent)}to{box-shadow:0 0 0 7px #0000}}@keyframes pulse-danger{0%,to{box-shadow:0 0 #dc3c3273}50%{box-shadow:0 0 0 6px #dc3c3200}}@keyframes pulse-accent{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent)}50%{box-shadow:0 0 0 6px #0000}}@keyframes shake{0%,to{transform:none}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.viewfinder:before,.truck-marker.selected:before{content:"";pointer-events:none;background:linear-gradient(currentColor 0 0) left top / var(--vf-len,14px) 2px, linear-gradient(currentColor 0 0) left top / 2px var(--vf-len,14px), linear-gradient(currentColor 0 0) right top / var(--vf-len,14px) 2px, linear-gradient(currentColor 0 0) right top / 2px var(--vf-len,14px), linear-gradient(currentColor 0 0) left bottom / var(--vf-len,14px) 2px, linear-gradient(currentColor 0 0) left bottom / 2px var(--vf-len,14px), linear-gradient(currentColor 0 0) right bottom / var(--vf-len,14px) 2px, linear-gradient(currentColor 0 0) right bottom / 2px var(--vf-len,14px);background-repeat:no-repeat;position:absolute;inset:0}.page{animation:page-in var(--slow) var(--ease) backwards}.stagger>*,tbody tr{animation:rise var(--mid) var(--ease) both}.stagger>:nth-child(2),tbody tr:nth-child(2){animation-delay:40ms}.stagger>:nth-child(3),tbody tr:nth-child(3){animation-delay:80ms}.stagger>:nth-child(4),tbody tr:nth-child(4){animation-delay:.12s}.stagger>:nth-child(5),tbody tr:nth-child(5){animation-delay:.16s}.stagger>:nth-child(6),tbody tr:nth-child(6){animation-delay:.2s}.stagger>:nth-child(7),tbody tr:nth-child(7){animation-delay:.24s}.stagger>:nth-child(n+8),tbody tr:nth-child(n+8){animation-delay:.28s}.users>.stack>*,.users>form.card{animation:slide-in var(--slow) var(--ease) both}.users>.stack>:nth-child(2){animation-delay:60ms}.users>.stack>:nth-child(3){animation-delay:.12s}.users>.stack>:nth-child(4){animation-delay:.18s}.reveal,.doc-list li,.alert-list li,.facts{animation:rise var(--mid) var(--ease) both}.error{animation:shake .36s var(--ease) both}.pill[role=status]{animation:pop var(--slow) var(--ease-spring) both}.badge{animation:pop var(--slow) var(--ease-spring) both, pulse-accent 2s .5s infinite}.alert-list li.critical{animation:rise var(--mid) var(--ease) both, pulse-danger 2.4s .4s 3}.tile-critical{animation:rise var(--mid) var(--ease) both, pulse-danger 2.4s .5s infinite}.live .dot{animation:ring-dot 1.8s var(--ease) infinite}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.maintenance-card{grid-template-columns:minmax(0,.7fr) minmax(0,1.5fr);align-items:start;gap:12px 20px;display:grid}.maintenance-figure{gap:10px;display:grid}.maintenance-card .fleet-list{max-height:330px;overflow-y:auto}.maintenance-card .fleet-list li{padding:8px 6px;font-size:13.5px}.maintenance-card .fleet-list li:hover{background:0 0}@media (width<=640px){.maintenance-card{grid-template-columns:minmax(0,1fr)}.maintenance-card .fleet-list{max-height:none}}:root{--amber:#8a4b00;--amber-soft:#fff3dc;--amber-line:#f0c57a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--amber:#ffc56b;--amber-soft:#33240b;--amber-line:#6b4a12}}:root[data-theme=dark]{--amber:#ffc56b;--amber-soft:#33240b;--amber-line:#6b4a12}.sub-banner{border-bottom:1px solid;flex-wrap:wrap;align-items:center;gap:4px 12px;min-height:44px;padding:8px max(16px,3vw);font-size:14px;font-weight:560;display:flex}.sub-banner a{color:inherit;white-space:nowrap;align-items:center;gap:4px;font-weight:680;display:inline-flex}.sub-banner .icon-btn{color:inherit;margin-left:auto;width:44px;height:44px;margin-block:-8px}.sub-banner.compact{white-space:nowrap;flex-wrap:nowrap;gap:6px;font-size:13.5px}.sub-banner.compact a{align-items:center;gap:2px;min-height:44px;margin-block:-8px;display:inline-flex}.sub-banner.compact .icon-btn{margin-left:0}.sub-banner.blue{background:var(--accent-soft);color:var(--accent-text);border-color:color-mix(in srgb, var(--accent) 22%, transparent)}.sub-banner.amber{background:var(--amber-soft);color:var(--amber);border-color:var(--amber-line)}.sub-banner.neutral{background:var(--surface-2);color:var(--fg);border-color:var(--line)}.toast:has(a){flex-wrap:wrap}.toast:has(a) span{flex:200px}.toast a{white-space:nowrap;margin-left:auto;font-weight:650}.sub-page{gap:16px;max-width:760px;display:grid}.sub-page th,.sub-page td{padding:10px 8px}.sub-page :is(th,td):first-child{padding-left:0}.sub-page :is(th,td):last-child{padding-right:0}.sub-page p{margin:0}.sub-page .row{align-items:center}.pill:is(.sub-en_retard,.sub-lecture_seule){background:var(--amber-soft);color:var(--amber)}.pill:is(.sub-suspendu,.pay-annule,.pay-echoue){background:var(--surface-2);color:var(--muted)}.durations{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.durations legend{margin-bottom:8px;padding:0;font-size:13.5px;font-weight:560}.durations label{cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);transition:border-color var(--fast), background-color var(--fast);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 14px;font-weight:500;display:grid;position:relative}.durations label:hover{border-color:var(--muted)}.durations label.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.durations label:has(:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.durations input{opacity:0;pointer-events:none;position:absolute}.durations strong{font-variant-numeric:tabular-nums;font-size:15px}.pay-steps{gap:8px;margin:0;padding-left:20px;font-size:14.5px;display:grid}.sub-pay .btn{white-space:normal;text-align:center}.team-actions{gap:8px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.team-actions li{gap:12px;display:flex}.team-actions time{font-variant-numeric:tabular-nums;flex:none;min-width:84px}.terms-gate{width:min(440px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--fg);overflow-y:auto}.terms-gate[open]{animation:rise var(--mid) var(--ease) both}.terms-gate::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#050a0880}.terms-gate p{margin:0}label.check input{margin-top:3px}.receipt-page{gap:16px;max-width:148mm;margin:0 auto;padding:16px;display:grid}.receipt-actions{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.receipt{gap:16px;padding:24px;display:grid}.receipt-head{flex-wrap:wrap;justify-content:space-between;gap:8px 16px;font-size:13.5px;line-height:1.5;display:flex}.receipt-head strong{font-size:16px}.receipt-date{color:var(--muted)}.receipt h1{margin:0;font-size:20px}.receipt-cancelled{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;border:2px solid;border-radius:6px;justify-self:start;margin:0;padding:4px 12px;font-weight:700}.receipt-total{border-top:2px solid var(--fg);justify-content:space-between;align-items:baseline;gap:12px;margin:0;padding-top:12px;display:flex}.receipt-total strong{font-variant-numeric:tabular-nums;font-size:22px}.receipt-note{color:var(--muted);margin:0;font-size:13px}@page receipt{size:A5;margin:10mm}@media print{.receipt-page{page:receipt;max-width:none;padding:0}.receipt-actions{display:none}body:has(.receipt-page){background:#fff}.receipt,.receipt *,.receipt .facts dt{visibility:visible;color:#000;border-color:#000;animation:none}.receipt{box-shadow:none;background:#fff;border:0;border-radius:0;padding:0}}.platform-bar{z-index:10;background:color-mix(in srgb, var(--surface) 86%, transparent);-webkit-backdrop-filter:blur(12px)saturate(160%);backdrop-filter:blur(12px)saturate(160%);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 16px;display:flex;position:sticky;top:0}.platform-bar .muted{text-overflow:ellipsis;white-space:nowrap;margin-left:auto;font-size:13px;overflow:hidden}main.platform{align-content:start;gap:18px;max-width:900px;display:grid}.space-list,.lead-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.space-list button{text-align:left;cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--fg);font:inherit;transition:border-color var(--fast), box-shadow var(--fast);gap:6px;padding:12px 14px;display:grid}.space-list button:hover{border-color:var(--accent);box-shadow:var(--shadow)}.space-head{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.space-head strong{flex:1;min-width:0}.space-meta{color:var(--muted);font-size:13px}.reasons{flex-wrap:wrap;gap:6px;display:flex}.link-box{gap:8px;display:flex}.link-box input{min-width:0;font:13px var(--mono)}.lead-list li.handled{opacity:.7}label.check{align-items:center;gap:8px;font-weight:560;display:flex}@media (width<=400px){main.platform .tabs svg{display:none}}.onboarding{gap:14px;margin-bottom:16px;display:grid}.onboarding .card-head{align-items:start}.onboarding .card-head p{margin:2px 0 0;font-size:13.5px}.onboarding .card-head .link{min-height:32px}.onboarding-actions{align-items:center;gap:4px;display:flex}.onboarding-fold svg{transition:rotate var(--mid) var(--ease)}.onboarding-fold[aria-expanded=false] svg{rotate:-90deg}.onboarding-fold-body{transition:grid-template-rows var(--slow) var(--ease), opacity var(--mid) var(--ease);grid-template-rows:1fr;margin-top:-4px;display:grid}.onboarding-fold-body>ol{min-height:0;padding-top:4px;overflow:hidden}.onboarding-fold-body.folded{opacity:0;grid-template-rows:0fr}.onboarding progress{background:var(--surface-2);appearance:none;border:0;border-radius:999px;width:100%;height:8px;overflow:hidden}.onboarding progress::-webkit-progress-bar{background:var(--surface-2)}.onboarding progress::-webkit-progress-value{background:var(--accent);transition:width var(--slow) var(--ease);border-radius:999px}.onboarding progress::-moz-progress-bar{background:var(--accent);border-radius:999px}.onboarding-steps{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.onboarding-steps li{border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:22px minmax(0,1fr);align-content:start;gap:10px;padding:12px 14px;display:grid}.onboarding-steps li>svg{color:var(--line-strong)}.onboarding-steps li>div{justify-items:start;gap:6px;font-size:14.5px;display:grid}.onboarding-steps li>div .muted{font-size:13.5px}.onboarding-steps li>div a:not(.btn){align-items:center;gap:4px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex}.onboarding-steps li>div a:not(.btn):hover{text-decoration:underline}.onboarding-steps li.done{background:var(--surface-2);color:var(--muted);border-color:#0000}.onboarding-steps li.done>svg{color:var(--accent);animation:pop var(--slow) var(--ease-spring) both}.onboarding-steps li.next{border-color:var(--accent);background:var(--accent-soft)}.onboarding-steps li.next>svg{color:var(--accent)}.onboarding-steps li.next .btn{min-height:38px;padding:7px 14px}.send-app{justify-self:start}.onboarding.compact{align-items:center;gap:6px;padding:6px;display:flex}.onboarding-next{border-radius:var(--radius-sm);min-width:0;min-height:44px;color:var(--fg);transition:background-color var(--fast);flex:1;align-items:center;gap:10px;padding:4px 8px;font-size:14.5px;font-weight:560;text-decoration:none;display:flex}.onboarding-next:hover{background:var(--accent-soft)}.onboarding-next span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.onboarding-next svg{color:var(--accent-text);flex:none}.onboarding-count{background:var(--accent-soft);color:var(--accent-text);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;padding:2px 9px;font-size:13px}.onboarding.compact .icon-btn{width:44px;height:44px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.drawer.assistant{bottom:var(--keyboard,0px)}.drawer.assistant .drawer-body{flex-direction:column;gap:16px;padding-bottom:0;display:flex}.assistant-log{align-content:start;gap:14px;display:grid}.assistant-intro{text-align:center;color:var(--muted);justify-items:center;gap:10px;padding-top:4px;display:grid}.assistant-intro .empty-icon{margin:0}.assistant-intro p{max-width:40ch;margin:0;font-size:14.5px}.assistant-suggestions{gap:8px;margin:0;padding:0;list-style:none;display:grid}.assistant-suggestions li{animation:rise var(--mid) var(--ease) both}.assistant-suggestions li:nth-child(2){animation-delay:40ms}.assistant-suggestions li:nth-child(3){animation-delay:80ms}.assistant-suggestions li:nth-child(4){animation-delay:.12s}.assistant-suggestions button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:48px;color:var(--fg);text-align:left;cursor:pointer;transition:border-color var(--fast), background-color var(--fast), transform var(--fast) var(--ease);align-items:center;gap:10px;padding:10px 14px;font-weight:560;display:flex}.assistant-suggestions button span{flex:1}.assistant-suggestions button svg{color:var(--accent-text);flex:none}.assistant-suggestions button:hover{border-color:var(--accent);background:var(--accent-soft)}.assistant-suggestions button:active{transform:scale(.99)}.assistant-turn{animation:fade-in var(--mid) var(--ease) both;justify-items:start;gap:8px;scroll-margin-top:8px;display:grid}.assistant-turn.user{justify-items:end}.assistant-bubble{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px;max-width:min(100%,52ch);margin:0;padding:10px 14px}.assistant-turn.user .assistant-bubble{background:var(--accent-soft);color:var(--fg);border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);border-bottom-right-radius:4px}.assistant-turn.assistant .assistant-bubble{background:var(--surface-2);border-bottom-left-radius:4px}.assistant-bubble.refusal,.assistant-bubble.waiting{color:var(--muted)}.assistant-dots:after{content:"…";animation:1.2s ease-in-out infinite live-blink}.assistant-cited{flex-wrap:wrap;gap:0 8px;margin:-6px 0;padding:0;list-style:none;display:flex}.assistant-cited a{min-height:44px;color:var(--fg);align-items:center;text-decoration:none;display:inline-flex}.assistant-cited .plate{transition:border-color var(--fast), box-shadow var(--fast)}.assistant-cited a:hover .plate{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.assistant-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;box-shadow:var(--shadow);animation:rise var(--mid) 80ms var(--ease) both;gap:10px;padding:14px 16px;display:grid}.assistant-card h3{align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.assistant-card h3 svg{flex:none}.assistant-card ul{gap:2px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.assistant-card.urgent{border-color:color-mix(in srgb, var(--danger) 55%, var(--line));box-shadow:inset 3px 0 0 var(--danger), var(--shadow)}.assistant-card.urgent h3{color:var(--danger)}.assistant-proposed{border-radius:var(--radius-sm);background:var(--surface-2);gap:4px;padding:10px 12px;font-size:14px;display:grid}.assistant-proposed>span{color:var(--muted);font-size:12.5px;font-weight:600}.assistant-proposed p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.assistant-warn{border:1px solid var(--amber-line);border-radius:var(--radius-sm);background:var(--amber-soft);color:var(--amber);align-items:flex-start;gap:8px;margin:0;padding:8px 12px;font-size:13.5px;font-weight:560;display:flex}.assistant-warn svg{flex:none;margin-top:2px}.assistant-done,.assistant-failed{flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;font-size:14px;display:flex}.assistant-done{color:var(--accent-text);font-weight:600}.assistant-done svg{animation:pop var(--slow) var(--ease-spring) both}.assistant-failed{border-radius:var(--radius-sm);background:var(--surface-2);padding:8px 12px}.assistant-failed span{flex:200px}.assistant-done a,.assistant-failed a{align-items:center;min-height:44px;margin-left:auto;font-weight:650;display:inline-flex}.assistant-actions{flex-wrap:wrap;gap:8px;display:flex}.assistant-actions .btn{min-height:44px}.assistant-new{justify-self:center;min-height:44px}.assistant-consent{border:1px solid color-mix(in srgb, var(--accent) 22%, var(--line));border-radius:var(--radius);background:var(--accent-soft);animation:rise var(--mid) var(--ease) both;gap:12px;padding:16px;display:grid}.assistant-consent h3{margin:0;font-size:16px}.assistant-consent p{margin:0;font-size:14.5px}.assistant-consent .btn{justify-self:start;min-height:44px}.assistant-foot{z-index:1;padding:12px 20px max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);gap:8px;margin:auto -20px 0;display:grid;position:sticky;bottom:0}.assistant-ask{align-items:flex-end;gap:8px;display:flex}.assistant-ask textarea{resize:none;field-sizing:content;flex:1;min-width:0;min-height:46px;max-height:160px;padding:11px 14px;line-height:1.45}.assistant-ask .btn{flex:none;width:46px;min-height:46px;padding:0}.assistant-note{border-radius:var(--radius-sm);background:var(--surface-2);margin:0;padding:8px 12px;font-size:14px}.assistant-left{color:var(--muted);margin:0;font-size:13.5px}.assistant-fine{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.drawer.assistant .drawer-body>.assistant-fine:last-child{margin-bottom:20px}@media (width<=480px){.drawer.assistant .drawer-body{padding-inline:16px}.drawer.assistant .drawer-head>.icon-btn{width:44px;height:44px;margin-block:-3px}.assistant-foot{margin-inline:-16px;padding-inline:16px}.assistant-card{padding:14px}}
