body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#1e3a8a,#0f172a);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}.app{margin:0 auto;max-width:1200px;padding:20px}header{color:#fff;margin-bottom:30px;text-align:center}header h1{font-size:2.5rem;text-shadow:2px 2px 4px #0003}.projets-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:30px 0;padding:0 20px}.projet-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:10px;justify-content:center;min-height:140px;padding:20px;position:relative;text-align:center;transition:all .2s ease}.projet-card:hover{border-color:#4a90e2;box-shadow:0 4px 12px #4a90e226;transform:translateY(-2px)}.projet-card.actif{background:linear-gradient(135deg,#f0f7ff,#fff);border-color:#4a90e2;box-shadow:0 4px 12px #4a90e233}.projet-card-content{display:flex;flex:1 1;flex-direction:column;gap:10px;justify-content:center}.projet-card h3{color:#2c3e50;font-size:18px;margin:0;word-break:break-word}.projet-card .prix-total{color:#27ae60;font-size:24px;font-weight:700;margin:0}.projet-card .nb-articles{color:#7f8c8d;font-size:12px}.projet-card.nouveau{background:#f8f9fa;border:2px dashed #bdc3c7;color:#7f8c8d}.projet-card.nouveau:hover{background:#f0f7ff;border-color:#4a90e2;color:#4a90e2}.projet-card.nouveau .plus{font-size:32px;line-height:1}.btn-delete-project{align-items:center;background:#f5576c1a;border:none;border-radius:50%;color:#f5576c;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:28px;justify-content:center;opacity:0;position:absolute;right:8px;top:8px;transition:all .2s ease;width:28px}.projet-card:hover .btn-delete-project{opacity:1}.btn-delete-project:hover{background:#f5576c;color:#fff;transform:scale(1.1)}.empty-projects{animation:pulse 2s ease-in-out infinite;color:#fff;font-size:20px;padding:40px;text-align:center}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.projet-actif{padding:0 20px 40px}.projet-actif h2{border-bottom:3px solid #4a90e2;color:#fff;margin-bottom:20px;padding-bottom:10px}.article-form{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.article-form input{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;color:#2d3748;flex:1 1;font-size:16px;min-width:150px;padding:12px;transition:all .3s ease}.article-form input::placeholder{color:#a0aec0}.article-form input:focus{background:#fff;border-color:#1e40af;box-shadow:0 0 0 3px #1e40af1a;outline:none}.article-form button{background:linear-gradient(135deg,#1e3a8a,#0f172a);border:none;border-radius:8px;box-shadow:0 4px 15px #1e3a8a66;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:12px 30px;transition:transform .2s ease,box-shadow .2s ease}.article-form button:hover{box-shadow:0 6px 20px #1e3a8a99;transform:translateY(-2px)}.table-container{background:#e0e7ff;overflow-x:auto}table{border-collapse:collapse;width:100%}thead{background:linear-gradient(135deg,#1e3a8a,#0f172a);color:#fff}td,th{border-bottom:1px solid #e2e8f0;padding:15px;text-align:left}th{font-size:14px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}tbody td{color:#2d3748}tbody tr:nth-child(2n){background:#f7fafc}tbody tr:hover{transform:scale(1.01);transition:all .2s ease}td:first-child{font-weight:700}td:nth-child(4),tfoot td{color:#10b981;font-size:18px;font-weight:700}.quantite-controls{gap:8px}.btn-quantite,.quantite-controls{align-items:center;display:flex;justify-content:center}.btn-quantite{border:none;border-radius:6px;cursor:pointer;font-size:18px;font-weight:700;height:32px;transition:all .2s ease;width:32px}.btn-quantite:first-child{background:#ef4444;color:#fff}.btn-quantite:first-child:hover{background:#dc2626;transform:scale(1.1)}.btn-quantite:last-child{background:#10b981;color:#fff}.btn-quantite:last-child:hover{background:#059669;transform:scale(1.1)}.quantite-value{color:#2d3748;font-size:16px;font-weight:700;min-width:30px;text-align:center}.btn-supprimer{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease}.btn-supprimer:hover{background:#dc2626;box-shadow:0 4px 12px #ef444466;transform:translateY(-2px)}tfoot{background:linear-gradient(135deg,#d4fc79,#96e6a1);font-weight:700}tfoot tr{border-top:3px solid #10b981}tfoot td{padding:20px 15px}.total-label{color:#2d3748;font-size:18px;text-align:right}.total-general{color:#047857;font-size:24px}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;padding:30px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{color:#2c3e50;font-size:24px;margin:0 0 20px}.modal-content label{color:#4a5568;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.modal-content input{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;color:#2d3748;font-size:16px;margin-bottom:20px;padding:12px;transition:all .3s ease;width:100%}.modal-content input:focus{background:#fff;border-color:#1e40af;box-shadow:0 0 0 3px #1e40af1a;outline:none}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.btn-cancel{background:#e2e8f0;border:none;border-radius:8px;color:#4a5568;cursor:pointer;font-size:16px;font-weight:600;margin-left:10px;padding:12px 24px;transition:all .2s ease}.btn-cancel:hover{background:#cbd5e0;transform:translateY(-2px)}.btn-confirm{background:linear-gradient(135deg,#1e3a8a,#0f172a);border:none;border-radius:8px;box-shadow:0 4px 15px #1e3a8a66;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-confirm:hover{box-shadow:0 6px 20px #1e3a8a99;transform:translateY(-2px)}.btn-confirm:disabled{background:#cbd5e0;box-shadow:none;color:#a0aec0;cursor:not-allowed}@media (max-width:768px){.article-form{flex-direction:column}.article-form button,.article-form input{width:100%}.btn-delete-project{opacity:1}table{font-size:14px}thead{display:none}tbody tr{background:#fff;border:2px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:block;margin-bottom:20px;padding:15px}tbody tr:hover{background:#fff;box-shadow:0 4px 12px #00000026;transform:none}td{border:none;color:#fff;display:block;padding:10px 0 10px 50%;position:relative;text-align:left}td:before{color:#1e3a8a;content:attr(data-label);font-size:12px;font-weight:700;left:0;padding-left:10px;position:absolute;text-transform:uppercase;width:45%}td:nth-child(4){color:#10b981;font-size:18px;font-weight:700}.btn-supprimer{margin-top:10px;padding:12px;width:100%}tfoot{background:linear-gradient(135deg,#d4fc79,#96e6a1);border-radius:8px;margin-top:15px;padding:20px}tfoot tr{border:none;box-shadow:none;margin:0}tfoot td{font-size:20px;padding:0;text-align:center}tfoot td:before{display:none}}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-webkit-appearance:textfield;appearance:textfield}
/*# sourceMappingURL=main.57ec325b.css.map*/