invoice-manager/static/styles.css

75 lines
1.6 KiB
CSS

/* Styles personnalisés */
input[type="text"],
input[type="number"],
select {
@apply border border-gray-300 rounded-md px-3 py-2;
}
/* Animation de chargement */
.loading {
position: relative;
pointer-events: none;
}
.loading::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 20px;
height: 20px;
margin: -10px 0 0 -10px;
border: 2px solid #ffffff;
border-top-color: transparent;
border-radius: 50%;
animation: loading 0.6s linear infinite;
}
@keyframes loading {
to {
transform: rotate(360deg);
}
}
/* Message de succès */
.success-message {
@apply fixed top-4 right-4 bg-green-500 text-white px-6 py-3 rounded-md shadow-lg transform transition-transform duration-300;
transform: translateX(120%);
}
.success-message.show {
transform: translateX(0);
}
/* Message d'erreur */
.error-message {
@apply fixed top-4 right-4 bg-red-500 text-white px-6 py-3 rounded-md shadow-lg transform transition-transform duration-300;
transform: translateX(120%);
}
.error-message.show {
transform: translateX(0);
}
/* Styles pour l'auto-complétion des clients */
.client-suggestions {
border: 1px solid #e2e8f0;
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
max-height: 200px;
overflow-y: auto;
z-index: 50;
}
.client-suggestion {
padding: 0.75rem 1rem;
cursor: pointer;
transition: background-color 0.2s;
}
.client-suggestion:hover {
background-color: #f3f4f6;
}
.client-suggestion:not(:last-child) {
border-bottom: 1px solid #e2e8f0;
}