:root{--r:#df111d;--n:#1d1d1f;--g:#f2f2f2;--b:#fff}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--g);color:#111}header{background:linear-gradient(90deg,#161616,#2a2a2a);color:#fff;padding:16px 24px;display:flex;gap:14px;align-items:center;border-bottom:5px solid var(--r)}.logo{background:var(--r);width:54px;height:54px;border-radius:8px;display:grid;place-items:center;font-weight:900;font-size:30px}h1{margin:0;font-size:28px;letter-spacing:1px}header p{margin:4px 0 0}nav{max-width:980px;margin:18px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 12px}nav button{border:0;border-radius:10px;padding:13px;font-weight:700;background:#fff;box-shadow:0 2px 10px #0001}nav button.active{background:var(--r);color:#fff}main{max-width:980px;margin:14px auto 40px;padding:0 12px}.card{background:#fff;border-radius:16px;padding:22px;box-shadow:0 18px 45px #0001;margin-bottom:18px}.view{display:none}.view.active{display:block}.num{display:inline-block;background:var(--r);color:#fff;border-radius:7px;padding:8px 10px;font-weight:900;margin-right:10px}label{display:block;font-weight:700;margin-top:14px}input,select{width:100%;padding:13px;border:1px solid #ddd;border-radius:10px;font-size:16px;margin-top:5px}.mat-row{display:grid;grid-template-columns:1fr 100px;gap:12px;align-items:center;border-bottom:1px solid #eee;padding:10px 0}.mat-row input{text-align:center;font-weight:700}.primary,button{cursor:pointer}.primary{width:100%;margin-top:18px;padding:16px;border:0;border-radius:10px;background:var(--r);color:white;font-size:17px;font-weight:900}table{width:100%;border-collapse:collapse;margin-top:14px;background:#fff}th{background:#222;color:#fff}td,th{padding:10px;border-bottom:1px solid #ddd;text-align:left}.ok{background:#eaf8eb}.alerte{background:#fff2d8}.rupture{background:#ffe1e1}.alertBox{border:2px solid var(--r);background:#fff1f1;border-radius:12px;padding:12px;margin:12px 0;font-weight:700}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #eee}li button{background:#222;color:#fff;border:0;border-radius:6px;padding:5px 8px}@media(max-width:700px){nav{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.mat-row{grid-template-columns:1fr 80px}h1{font-size:24px}}
