:root{--red: #c8102e;--red-dark: #9b0c23;--bg: #f4f5f7;--card: #ffffff;--border: #dfe3e8;--text: #1f2933;--muted: #6b7785;--green: #2e7d32}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:15px}a{color:var(--red);text-decoration:none}button,.btn{font:inherit;cursor:pointer;border:1px solid var(--border);background:#fff;color:var(--text);padding:.45rem .8rem;border-radius:6px}button:hover{background:#f0f1f3}.btn-primary{background:var(--red);border-color:var(--red);color:#fff}.btn-primary:hover{background:var(--red-dark)}.btn-danger{color:var(--red);border-color:var(--red);background:#fff}.btn-sm{padding:.25rem .5rem;font-size:.85rem}.btn-lg{padding:.7rem 1.6rem;font-size:1.05rem;font-weight:600}.actions-right{display:flex;justify-content:flex-end;margin-top:.4rem}input,select,textarea{font:inherit;padding:.45rem .6rem;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);width:100%}label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.2rem}.field{margin-bottom:.8rem}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1rem 1.2rem;margin-bottom:1rem}.container{max-width:1000px;margin:0 auto;padding:1.2rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.row{display:flex;gap:.8rem;flex-wrap:wrap;align-items:flex-end}.row>*{flex:1;min-width:120px}.muted{color:var(--muted)}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.78rem;background:#eef0f3;color:var(--muted)}.badge.en_cours{background:#e6f4ea;color:var(--green)}.badge.a_venir{background:#fff3e0;color:#b26a00}.badge.terminee,.badge.archivee{background:#eceff1;color:var(--muted)}.topbar{background:var(--red);color:#fff;padding:.7rem 1.2rem;display:flex;align-items:center;gap:1.2rem}.topbar a{color:#fff;opacity:.9}.topbar a.router-link-active{opacity:1;font-weight:600;border-bottom:2px solid #fff}.topbar .spacer{flex:1}.error{color:var(--red);font-size:.9rem;margin:.4rem 0}.inline-add{display:flex;gap:.4rem;align-items:center}.inline-add select{flex:1}@media print{.no-print{display:none!important}body{background:#fff;font-size:12px}.container{max-width:none;padding:0}.card{border:none;box-shadow:none;padding:0}.vehicle-group{page-break-inside:avoid}th,td{border-bottom:1px solid #999}}
