:root{--teal:#157a6e;--teal-strong:#0f5d54;--teal-soft:#e8f3f0;--ink:#1f2a28;--muted:#6b7771;--line:#e7e2d8;--line-soft:#f1eee7;--bg:#f7f5f0;--surface:#ffffff;--sidebar:#103f39;--red:#a8392f;--red-soft:#fbecea;--amber:#b8740f;--amber-soft:#fdf3e3;--sh:0 1px 2px rgba(16,63,57,.05),0 6px 16px rgba(16,63,57,.07);--radius:12px;--radius-sm:8px;font-family:system-ui,Segoe UI,Roboto,sans-serif;color:var(--ink)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);font-size:14px;color:var(--ink)}a{color:var(--teal-strong);text-decoration:none}button{font:inherit;cursor:pointer}.muted{color:var(--muted)}.sm{font-size:12.5px}.xs{font-size:11.5px}.num{font-variant-numeric:tabular-nums}.shell{display:flex;height:100vh;overflow:hidden}.side{width:240px;background:var(--sidebar);color:#bcd2cc;display:flex;flex-direction:column;flex-shrink:0}.side .brand{display:flex;align-items:center;gap:10px;padding:18px 18px 20px}.side .mono{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#1aa090,#0f5d54);display:grid;place-items:center;color:#fff;font-weight:800}.side .brand b{color:#fff;font-size:16px;line-height:1.1}.side .brand .sub{color:#7fa39b;font-size:11px;font-weight:400}.side nav{padding:8px 12px;display:flex;flex-direction:column;gap:2px}.side nav a{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:8px;color:#bcd2cc;font-weight:500}.side nav a .i{width:7px;height:7px;border-radius:2px;background:#5e857d;flex-shrink:0}.side nav a .ct{margin-left:auto;font-size:12.5px;color:#85a59d}.side nav a:hover{background:#ffffff0f;color:#fff}.side nav a.router-link-active{background:var(--teal);color:#fff}.side nav a.router-link-active .i{background:#bfe9e0}.side nav a.router-link-active .ct{color:#d7eee9}.side nav a.alert .ct{color:#e6a8a0}.side .who{margin-top:auto;padding:14px 18px;border-top:1px solid rgba(255,255,255,.08);display:flex;gap:10px;align-items:center}.side .who .av{width:30px;height:30px;border-radius:50%;background:#1aa090;color:#fff;display:grid;place-items:center;font-weight:700;flex-shrink:0}.side .who .nm{color:#fff;font-weight:600;font-size:13px}.side .who .ro{font-size:11px;color:#7fa39b}.main{flex:1;overflow:auto;display:flex;flex-direction:column;min-width:0}.head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 30px;border-bottom:1px solid var(--line);background:var(--bg)}.head h1{font-size:21px;font-weight:700}.content{padding:22px 30px 40px}.btn{border:0;border-radius:var(--radius-sm);padding:9px 15px;font-weight:600;font-size:13px;background:var(--teal);color:#fff}.btn:disabled{opacity:.5;cursor:default}.btn.sec{background:var(--surface);color:var(--teal-strong);border:1px solid var(--line)}.btn.xs{padding:3px 9px;font-size:12px}.input,select,textarea{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:8px 11px;font:inherit;font-size:13.5px;color:var(--ink)}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--sh)}.card.pad{padding:16px 18px}.card h3{font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:600;margin-bottom:12px}.section-h{display:flex;align-items:baseline;justify-content:space-between;margin:26px 2px 10px}.section-h h2{font-size:15px;font-weight:600}.section-h a,.section-h .lk{color:var(--teal-strong);font-size:13px;font-weight:600;cursor:pointer}.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface)}.seg button{border:0;background:none;padding:7px 13px;font-size:13px;color:var(--muted)}.seg button.on{background:var(--teal-soft);color:var(--teal-strong);font-weight:600}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line-soft)}th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:600}tbody tr:last-child td{border-bottom:0}tbody tr.clickable:hover{background:#faf9f5;cursor:pointer}.nom{font-weight:600}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:middle;margin-right:5px;background:#cdd6d2}.dot.teal{background:var(--teal)}.dot.red{background:var(--red)}.dot.amber{background:var(--amber)}.chip{display:inline-block;font-size:11px;font-weight:700;border-radius:999px;padding:2px 9px;background:var(--teal-soft);color:var(--teal-strong)}.chip.red{background:var(--red-soft);color:var(--red)}.chip.amber{background:var(--amber-soft);color:var(--amber)}.chip.neutral{background:#efece6;color:var(--muted)}.row{display:flex;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid var(--line-soft)}.row:last-child{border-bottom:0}.row .t{font-weight:600}.row .s{color:var(--muted);font-size:12.5px;margin-top:2px}.row .meta{margin-left:auto;text-align:right;color:var(--muted);font-size:12.5px;white-space:nowrap}.vide{text-align:center;color:var(--muted);padding:2.5rem 1rem}.erreur{color:var(--red);margin:.5rem 0;font-size:13px}.retard{background:var(--red-soft)}.proche{background:var(--amber-soft)}.tag-retard{color:var(--red);font-size:11.5px;font-weight:700}.tag-jaune{color:var(--amber);font-size:11.5px;font-weight:700}.tag-vert{color:var(--teal);font-weight:700}.champ{margin-bottom:.8rem}.champ label{display:block;font-size:11.5px;color:var(--muted);margin-bottom:.25rem}.grille-2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}details.section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:.8rem;padding:.4rem .9rem}details.section>summary{cursor:pointer;font-weight:600;padding:.5rem 0;list-style:none}details.section>summary::-webkit-details-marker{display:none}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-top:14px}.tabs button{border:0;background:none;font-size:13.5px;color:var(--muted);padding:10px 14px;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.on{color:var(--teal-strong);font-weight:600;border-bottom-color:var(--teal)}.rhead{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--line);padding:16px 30px 0}.timeline-item{border-left:2px solid var(--teal-soft);padding:4px 0 14px 14px;margin-left:4px}.timeline-item.retard{border-left-color:var(--red)}
