:root{--red:#c0392b;--red-dark:#962d22;--red-soft:#fbeceb;--black:#111;--ink:#1d1d1d;--muted:#6b6b6b;--line:#e4e4e4;--bg:#fff;--bg-alt:#f7f7f7}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0;font:13px/1.35 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit}.page{min-width:1100px}.topbar{background:var(--black);color:#fff;border-bottom:3px solid var(--red);padding:10px 20px}.brand{letter-spacing:.2px;align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.brand-mark{background:var(--red);color:#fff;border-radius:3px;place-items:center;width:22px;height:22px;font-size:13px;display:inline-grid}.brand-sep{color:var(--red)}.toolbar{border-bottom:1px solid var(--line);background:var(--bg-alt);flex-wrap:wrap;align-items:center;gap:24px;padding:12px 20px;display:flex}.counter{font-size:15px}.counter strong{font-size:18px}.red{color:var(--red)}.dot{color:var(--muted);margin:0 4px}.filters{gap:12px;display:flex}.filters label{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}select{font:inherit;color:var(--ink);background:#fff;border:1px solid #cfcfcf;border-radius:3px;padding:3px 6px}.refresh{align-items:center;gap:12px;margin-left:auto;display:flex}.muted{color:var(--muted);font-size:12px}.btn{font:inherit;cursor:pointer;border:1px solid var(--black);color:var(--black);background:#fff;border-radius:3px;padding:6px 12px;font-weight:600;text-decoration:none;display:inline-block}.btn:hover{background:var(--black);color:#fff}.btn:disabled{opacity:.6;cursor:progress}.btn-primary{background:var(--red);border-color:var(--red);color:#fff}.btn-primary:hover{background:var(--red-dark);border-color:var(--red-dark)}.btn-small{padding:3px 8px;font-size:12px}.btn-ghost{color:var(--muted);border-color:#cfcfcf;margin-left:4px}.link-btn{font:inherit;color:var(--red);cursor:pointer;background:0 0;border:0;margin-top:2px;padding:0;font-size:11px;text-decoration:underline}.alert{color:var(--muted);border-bottom:1px solid var(--line);padding:6px 20px;font-size:12px}.alert-error{color:var(--red-dark);background:var(--red-soft)}.grid{border-collapse:collapse;width:100%}.grid th{z-index:1;background:var(--black);color:#fff;text-align:left;white-space:nowrap;padding:6px 8px;font-size:12px;font-weight:600;position:sticky;top:0}.grid td{border-bottom:1px solid var(--line);vertical-align:top;padding:5px 8px}.grid tbody tr:hover{background:#fafafa}.grid tr.st-dead td{color:#999}.grid tr.st-active td:first-child{box-shadow:inset 3px 0 0 var(--black)}.grid tr.st-todo td:first-child{box-shadow:inset 3px 0 0 var(--red)}.nowrap{white-space:nowrap}.company{font-weight:600;text-decoration:none}.company:hover{color:var(--red);text-decoration:underline}.sub{color:var(--muted);font-size:11px}.detail{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.tag{border:1px solid #cfcfcf;border-radius:2px;margin-left:6px;padding:0 4px;font-size:10px;display:inline-block}.tag-warn{border-color:var(--red);color:var(--red)}.badge{text-transform:uppercase;border-radius:2px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}.badge-cession{background:var(--red-soft);color:var(--red-dark)}.badge-fusion{background:var(--black);color:#fff}.statut{font-size:12px}.statut-0{border-color:var(--red);color:var(--red-dark);font-weight:600}.statut-3{border-color:var(--black);font-weight:600}.empty{text-align:center;color:var(--muted);padding:32px}.grid .filter-row th{background:#2a2a2a;padding:4px 6px;top:29px}.filter-row input,.filter-row select{width:100%;min-width:0;padding:2px 4px;font-size:12px}.filter-row input{font:inherit;border:1px solid #cfcfcf;border-radius:3px;font-size:12px}.filter-row input:not(:placeholder-shown){border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.filter-row select:has(option:checked:not([value=""]):not([value=tous])){border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.role{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-size:10px;font-weight:700;display:block}.counterparty{margin-top:3px;font-size:12px}.counterparty .arrow{color:var(--muted)}.counterparty a{color:var(--ink);font-weight:600}.counterparty a:hover{color:var(--red)}.badge-apport{color:var(--black);border:1px solid var(--black);background:#fff}
