:root{--red: #fd1c11;--red-dark: #c8120a;--ink: #121212;--ink-2: #2b2b2b;--muted: #6b6b6b;--line: #e6e3df;--bg: #f6f5f3;--card: #fff;--ok: #1f9d55;--warn: #e8890c;--bad: #d92d20;--info: #2f6fde;--empty: #b9b4ad;--radius: 10px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit;cursor:pointer}input,select{font:inherit}h1{font-size:22px;margin:0 0 4px;letter-spacing:-.01em}h2{font-size:15px;margin:0 0 12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.muted{color:var(--muted)}.small{font-size:12.5px}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px}.brand{font-weight:800;letter-spacing:.02em;display:flex;align-items:baseline;gap:6px}.brand .innov{color:#fff}.brand .drone{color:var(--red)}.brand.dark .innov{color:var(--ink)}.brand .product{font-weight:500;font-size:.72em;padding:2px 7px;border:1px solid currentColor;border-radius:99px;color:#aaa;letter-spacing:.08em}.app{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.side{background:var(--ink);color:#ddd;padding:20px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh}.side .brand{font-size:19px;margin:0 8px 22px}.side a{text-decoration:none;padding:9px 12px;border-radius:8px;display:flex;gap:10px;align-items:center;color:#cfcfcf;font-size:14.5px}.side a:hover{background:#1f1f1f;color:#fff}.side a.active{background:#262626;color:#fff;box-shadow:inset 3px 0 0 var(--red)}.side .sep{flex:1}.side select{width:100%;background:#1d1d1d;color:#fff;border:1px solid #333;border-radius:8px;padding:8px;margin-bottom:14px}.side .who{font-size:12.5px;color:#8d8d8d;padding:8px 12px;border-top:1px solid #262626}.main{padding:26px 32px 60px;max-width:1400px;width:100%}.head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.grid{display:grid;gap:16px}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g32{grid-template-columns:3fr 2fr}@media (max-width: 1100px){.g4{grid-template-columns:repeat(2,1fr)}.g2,.g32{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.kpi .v{font-size:30px;font-weight:750;letter-spacing:-.02em}.kpi .l{font-size:13px;color:var(--muted);margin-top:2px}.kpi .s{font-size:12px;margin-top:8px;color:var(--muted)}.bar{height:8px;background:#efedea;border-radius:99px;overflow:hidden}.bar>div{height:100%;background:var(--ink);border-radius:99px}.bars .row{display:grid;grid-template-columns:70px 1fr 54px;align-items:center;gap:10px;margin:9px 0;font-size:13.5px}table{width:100%;border-collapse:collapse;font-size:13.5px}th{text-align:left;font-weight:600;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:8px 10px;border-bottom:1px solid var(--line)}td{padding:9px 10px;border-bottom:1px solid #f0eeeb;vertical-align:middle}tr.click{cursor:pointer}tr.click:hover td{background:#faf9f7}.btn{border:1px solid var(--line);background:#fff;padding:8px 14px;border-radius:8px;font-weight:600;font-size:13.5px;display:inline-flex;gap:6px;align-items:center}.btn:hover{border-color:#cfcac4}.btn.primary{background:var(--red);color:#fff;border-color:var(--red)}.btn.primary:hover{background:var(--red-dark)}.btn.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.btn:disabled{opacity:.45;cursor:default}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:99px;font-size:12px;font-weight:600;background:#efedea;white-space:nowrap}.pill.haute{background:#fde7e5;color:var(--bad)}.pill.moyenne{background:#fdf0dc;color:#a35b00}.pill.faible{background:#e8effc;color:var(--info)}.pill.ok{background:#e3f4ea;color:var(--ok)}.pill.live{background:var(--red);color:#fff}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line);background:#fff;border-radius:99px;padding:6px 13px;font-weight:600;font-size:13px}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.field{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted)}.field input,.field select{padding:9px 11px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fff}.err{background:#fde7e5;color:var(--bad);padding:10px 12px;border-radius:8px;font-size:13.5px}.note{background:#fff7e8;border:1px solid #f6dfb3;padding:10px 12px;border-radius:8px;font-size:13px}.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--muted)}.legend span{display:inline-flex;gap:6px;align-items:center}.twin-wrap{position:relative;height:calc(100vh - 170px);min-height:520px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#eceae6}.twin-panel{position:absolute;right:14px;top:14px;width:330px;max-height:calc(100% - 28px);overflow:auto}.twin-tools{position:absolute;left:14px;top:14px;display:flex;gap:8px;flex-wrap:wrap}.photo{width:100%;border-radius:8px;background:#222;display:block}.empty{padding:30px;text-align:center;color:var(--muted)}.login{min-height:100vh;display:grid;place-items:center;background:var(--ink)}.login .card{width:380px;padding:30px}.login .brand{font-size:24px;margin-bottom:4px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.demo-banner{background:var(--red);color:#fff;text-align:center;font-size:12.5px;padding:5px;font-weight:600}.field-app{min-height:100vh;background:#0d0d0d;color:#eee;display:flex;flex-direction:column}.field-app .top{display:flex;align-items:center;gap:14px;padding:14px 20px;background:#000;border-bottom:1px solid #222}.field-app .top .brand{font-size:20px}.field-app .body{flex:1;padding:20px;display:grid;gap:18px}.tcard{background:#181818;border:1px solid #262626;border-radius:14px;padding:18px}.tcard h2{color:#8f8f8f}.tbtn{border:0;border-radius:14px;padding:18px 22px;font-size:18px;font-weight:750;background:#262626;color:#fff;min-height:64px;display:inline-flex;align-items:center;justify-content:center;gap:10px}.tbtn:active{transform:scale(.98)}.tbtn.red{background:var(--red)}.tbtn.amber{background:#e8890c}.tbtn.green{background:#1f9d55}.tbtn.ghost{background:transparent;border:2px solid #333}.tbtn:disabled{opacity:.35}.tchip{border:2px solid #333;background:#121212;color:#ddd;border-radius:12px;min-width:72px;min-height:64px;font-size:22px;font-weight:800}.tchip.on{border-color:var(--red);background:#2a0d0b;color:#fff}.check{display:flex;gap:14px;align-items:center;padding:14px;border-radius:12px;background:#121212;border:2px solid #262626;font-size:16.5px;margin-bottom:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.check.on{border-color:#1f9d55}.check .box{width:30px;height:30px;border-radius:8px;border:2px solid #444;display:grid;place-items:center;font-weight:900;flex:none}.check.on .box{background:#1f9d55;border-color:#1f9d55}.live-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;align-items:start}@media (max-width: 900px){.live-grid{grid-template-columns:1fr}}.video{position:relative;background:#000;border-radius:14px;overflow:hidden;aspect-ratio:4/3;display:grid;place-items:center;color:#555}.video img{width:100%;height:100%;object-fit:cover}.video .osd{position:absolute;left:0;right:0;bottom:0;padding:10px 14px;background:linear-gradient(transparent,#000000d9);display:flex;gap:18px;font-weight:700}.big{font-size:34px;font-weight:800;letter-spacing:-.02em}.tbar{height:12px;background:#262626;border-radius:99px;overflow:hidden}.tbar>div{height:100%;background:var(--red);transition:width .3s}.feed{max-height:300px;overflow:auto;display:flex;flex-direction:column;gap:6px}.feed .it{display:flex;gap:10px;align-items:center;padding:8px 10px;background:#121212;border-radius:10px;font-size:14px}.ctrl{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:grid;place-items:center;z-index:10}.modal .tcard{width:min(480px,92vw)}.pf{display:grid;gap:8px}.pf-it{display:flex;gap:12px;align-items:flex-start;padding:11px 13px;border-radius:12px;background:#121212;border:2px solid #262626;font-size:15.5px}.pf-it.bloquant{border-color:var(--red);background:#2a0d0b}.pf-it.alerte{border-color:#e8890c}.pf-ic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-weight:900;flex:none;background:#1f9d55;color:#fff}.pf-it.alerte .pf-ic{background:#e8890c}.pf-it.bloquant .pf-ic{background:var(--red)}.pf-d{color:#a9a9a9;font-size:13.5px;margin-top:2px}.rv{display:grid;grid-template-columns:340px 1fr;gap:18px;align-items:start}.rv img{width:100%;border-radius:8px;background:#222;cursor:zoom-in;display:block}.rv .noimg{height:200px;border-radius:8px;background:#eceae6;display:grid;place-items:center;color:var(--muted)}.rv-reasons{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}.rv-codes td{padding:4px 8px 4px 0}.zoom{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:grid;place-items:center;z-index:50;cursor:zoom-out}.zoom img{max-width:96vw;max-height:94vh}@media (max-width: 900px){.rv{grid-template-columns:1fr}}
