:root{--encre:#36454f;--fond:#f7f8f9;--carte:#fff;--trait:#e3e7ea;--accent:#e8a03d;--doux:#7a858c;--rayon:6px;--titre:600 18px/1.3 system-ui, sans-serif;--densite:10px}*{box-sizing:border-box}body{margin:0;font:14px/1.55 system-ui,-apple-system,sans-serif;color:var(--encre);background:var(--fond);display:grid;grid-template-rows:auto 1fr auto;min-height:100vh}header{display:flex;align-items:center;gap:28px;padding:14px 22px;background:var(--carte);border-bottom:2px solid var(--accent)}h1{margin:0;font:var(--titre);letter-spacing:-.2px}nav{display:flex;gap:6px;flex-wrap:wrap}nav a{color:var(--doux);text-decoration:none;padding:6px 12px;border-radius:var(--rayon);font-size:13px}nav a:hover{background:var(--fond);color:var(--encre)}nav a.on{background:var(--accent);color:#fff}.corps{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;padding:18px 22px;align-items:start}.cote{display:flex;flex-direction:column;gap:16px;min-width:0}#flotte{display:flex;flex-direction:column;gap:6px}.veh{display:flex;flex-direction:column;gap:2px;text-align:left;cursor:pointer;background:var(--carte);border:1px solid var(--trait);border-radius:var(--rayon);padding:var(--densite) 12px;font:inherit;color:inherit}.veh:hover{border-color:var(--accent)}.veh.on{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.veh b{font-weight:600}.caps{font-size:11px;color:var(--doux)}main{background:var(--carte);border:1px solid var(--trait);border-radius:var(--rayon);padding:16px;min-height:320px}footer{padding:10px 22px;color:var(--doux);font-size:12px;border-top:1px solid var(--trait)}.tbl{border-collapse:collapse;width:100%}.tbl th{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--doux);font-weight:600}.tbl th,.tbl td{padding:var(--densite) 10px;border-bottom:1px solid var(--trait);text-align:left}.tbl .num{text-align:right;font-variant-numeric:tabular-nums}.tbl tr:hover td{background:var(--fond)}.vide{color:var(--doux);font-style:italic}.note{color:var(--doux);font-size:12px;margin-top:12px}.tag{font-size:10px;color:var(--doux);border:1px solid var(--trait);border-radius:3px;padding:1px 5px;margin-left:6px}#date{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cal{display:flex;flex-direction:column;gap:6px}.cal-tete{display:flex;align-items:center;justify-content:space-between;gap:8px}.cal-tete b{font-size:13px;text-transform:capitalize}.cal-tete button{font:inherit;line-height:1;padding:2px 8px;cursor:pointer;color:inherit;background:var(--carte);border:1px solid var(--trait);border-radius:var(--rayon)}.cal-tete button[disabled]{opacity:.3;cursor:default}.cal-grille{display:grid;grid-template-columns:repeat(7,38px);gap:3px}.jour-nom{font-size:10px;color:var(--doux);text-align:center}.jc{display:flex;flex-direction:column;align-items:center;justify-content:center;height:38px;border-radius:var(--rayon);border:1px solid transparent;font:inherit;padding:0}.jc b{font-size:10px;font-weight:500;line-height:1.1;opacity:.8}.jc i{font-size:11px;font-weight:700;font-style:normal;line-height:1.1}.jc.hors{visibility:hidden}.jc.rien{color:var(--trait)}.jc.pose{color:var(--doux);background:var(--fond);border-color:var(--trait);cursor:pointer}.jc.roule{cursor:pointer;color:#fff;background:var(--accent)}.jc.p1{background:color-mix(in srgb,var(--accent) 32%,var(--carte));color:var(--encre)}.jc.p2{background:color-mix(in srgb,var(--accent) 58%,var(--carte));color:var(--encre)}.jc.p3{background:color-mix(in srgb,var(--accent) 80%,var(--carte))}.jc.on{border-color:var(--encre);box-shadow:0 0 0 1px var(--encre)}#date input[type=date]{font:inherit;color:inherit;padding:5px 8px;border:1px solid var(--trait);border-radius:var(--rayon);background:var(--carte)}#date .note{margin:0}#date .vide{font-size:12px}.section{font:600 13px/1.3 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.5px;color:var(--doux);margin:22px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--trait)}.section:first-child{margin-top:0}details.periode>summary.section{cursor:pointer;list-style:none}details.periode>summary.section:before{content:"\25b8  "}details.periode[open]>summary.section:before{content:"\25be  "}.scene{display:grid;grid-template-rows:minmax(260px,42vh) 1fr;gap:14px;min-width:0}#carte{display:block;width:100%;height:100%;border:1px solid var(--trait);border-radius:var(--rayon);overflow:hidden;background:var(--carte)}#carte.vide{opacity:.55}
