first commit

This commit is contained in:
2026-03-11 17:18:34 +01:00
commit c6954c1f50
20 changed files with 5049 additions and 0 deletions

165
css/auth.css Normal file
View File

@@ -0,0 +1,165 @@
/* ============================================
AUTHENTIFICATION - STYLES
============================================ */
.auth-page {
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, var(--bg-darker) 0%, var(--bg-dark) 50%, var(--primary-dark) 100%);
position: relative;
overflow: hidden;
}
.auth-page::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, rgba(99, 102, 241, 0.1) 0%, transparent 50%);
animation: rotate 30s linear infinite;
}
@keyframes rotate {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
.auth-container {
position: relative;
z-index: 1;
width: 100%;
max-width: 420px;
padding: 20px;
}
.auth-box {
background: var(--bg-card);
border-radius: var(--border-radius);
padding: 40px;
border: 1px solid var(--border);
box-shadow: var(--shadow-lg);
backdrop-filter: blur(10px);
}
.auth-logo {
text-align: center;
margin-bottom: 32px;
}
.auth-logo .logo-icon {
font-size: 4rem;
display: block;
margin-bottom: 16px;
}
.auth-logo h1 {
font-size: 1.8rem;
font-weight: 700;
background: linear-gradient(135deg, var(--primary-light) 0%, var(--primary) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin-bottom: 8px;
}
.auth-logo p {
color: var(--text-muted);
font-size: 0.95rem;
}
.auth-form h2 {
font-size: 1.3rem;
margin-bottom: 24px;
text-align: center;
}
.auth-form .form-group {
margin-bottom: 20px;
}
.auth-form .form-group label {
display: block;
margin-bottom: 8px;
font-size: 0.9rem;
font-weight: 500;
color: var(--text-secondary);
}
.auth-form .form-control {
width: 100%;
padding: 14px 16px;
background: var(--bg-dark);
border: 1px solid var(--border);
border-radius: var(--border-radius-sm);
color: var(--text-primary);
font-size: 1rem;
transition: var(--transition);
}
.auth-form .form-control:focus {
outline: none;
border-color: var(--primary);
box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2);
}
.auth-form .btn-block {
width: 100%;
padding: 14px;
margin-top: 8px;
}
.auth-switch {
text-align: center;
margin-top: 20px;
color: var(--text-muted);
font-size: 0.9rem;
}
.auth-switch a {
color: var(--primary-light);
text-decoration: none;
font-weight: 600;
}
.auth-switch a:hover {
text-decoration: underline;
}
.auth-message {
margin-top: 16px;
padding: 12px 16px;
border-radius: var(--border-radius-sm);
font-size: 0.9rem;
text-align: center;
}
.auth-message.error {
background: rgba(239, 68, 68, 0.1);
border: 1px solid var(--danger);
color: var(--danger);
}
.auth-message.success {
background: rgba(16, 185, 129, 0.1);
border: 1px solid var(--success);
color: var(--success);
}
/* Responsive */
@media (max-width: 480px) {
.auth-box {
padding: 24px;
}
.auth-logo .logo-icon {
font-size: 3rem;
}
.auth-logo h1 {
font-size: 1.5rem;
}
}

108
css/dashboard.css Normal file
View File

@@ -0,0 +1,108 @@
/* ============================================
DASHBOARD - STYLES SPÉCIFIQUES
============================================ */
/* Reservation form */
.reservation-form-container {
max-width: 600px;
margin: 0 auto;
}
.reservation-form {
background: var(--bg-card);
border-radius: var(--border-radius);
padding: 32px;
border: 1px solid var(--border);
}
.price-preview {
display: flex;
justify-content: space-between;
align-items: center;
background: var(--bg-dark);
padding: 16px 20px;
border-radius: var(--border-radius-sm);
margin: 20px 0;
}
.price-preview span:first-child {
color: var(--text-secondary);
}
.price-amount {
font-size: 1.5rem;
font-weight: 700;
color: var(--primary-light);
}
/* Chart container */
.chart-container {
position: relative;
height: 300px;
width: 100%;
}
/* Admin table actions */
.table-actions {
display: flex;
gap: 8px;
}
.btn-icon-only {
padding: 6px 10px;
font-size: 1rem;
}
/* Status badges */
.badge {
display: inline-block;
padding: 4px 12px;
border-radius: 20px;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
}
.badge-admin {
background: rgba(99, 102, 241, 0.2);
color: var(--primary-light);
}
.badge-client {
background: rgba(6, 182, 212, 0.2);
color: var(--info);
}
/* Animation pour les mises à jour */
@keyframes pulse-update {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.05); }
}
.stat-card.updating {
animation: pulse-update 0.3s ease;
}
/* Loading state */
.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 var(--border);
border-top-color: var(--primary);
border-radius: 50%;
animation: spin 0.8s linear infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}

1124
css/style.css Normal file

File diff suppressed because it is too large Load Diff