*{box-sizing:border-box}body{color:#1a1a2e;background:#f5f6fa;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.layout{min-height:100vh;display:flex}.sidebar{color:#fff;background:#1a1a2e;flex-direction:column;gap:4px;width:220px;padding:16px;display:flex}.sidebar h1{margin:0 0 16px;font-size:16px}.sidebar a{color:#c9cbe0;border-radius:6px;padding:8px 10px;font-size:14px;text-decoration:none}.sidebar a.active,.sidebar a:hover{color:#fff;background:#33344d}.content{flex:1;padding:20px 28px;overflow-x:auto}.topbar{border-bottom:1px solid #dcdce6;gap:24px;margin-bottom:20px;padding-bottom:14px;display:flex}.topbar-field{color:#555;flex-direction:column;gap:4px;font-size:12px;display:flex}.topbar-field select{border:1px solid #ccc;border-radius:6px;min-width:200px;padding:6px 8px}h2{margin-top:0}table{border-collapse:collapse;background:#fff;width:100%;font-size:13px}th,td{text-align:left;white-space:nowrap;border:1px solid #e2e2ea;padding:6px 8px}th{background:#eceef7}button{cursor:pointer;color:#fff;background:#3457d5;border:none;border-radius:6px;padding:6px 12px;font-size:13px}button.secondary{color:#1a1a2e;background:#e2e2ea}button.danger{background:#c0392b}input,select,textarea{border:1px solid #ccc;border-radius:5px;padding:5px 7px;font-size:13px}.card{background:#fff;border-radius:10px;margin-bottom:16px;padding:16px;box-shadow:0 1px 3px #0000000f}.cell-role{text-align:center;cursor:pointer;font-weight:600}.cell-role.active{background:#d7f4de}.cell-role.grise{color:#888;background:#d8d8d8}.cell-role.na{color:#bbb;background:#fafafa}td.grise{background:#d8d8d8}.badge{border-radius:12px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.badge.ok{color:#217a3a;background:#d7f4de}.badge.attention{color:#8a5a00;background:#fdeecb}.badge.alerte{color:#a5470a;background:#ffe0c2}.badge.expiree{color:#a52020;background:#fadada}.badge.na{color:#888;background:#eee}.form-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}@media print{@page{size:A4 landscape;margin:8mm}body *{visibility:hidden}.print-target,.print-target *{visibility:visible}.print-target{width:100%;box-shadow:none;position:absolute;top:0;left:0}.print-target table{font-size:7px}.print-target th,.print-target td{padding:2px 3px}.print-target button{display:none}}
