*{margin:0;padding:0;box-sizing:border-box}:root{--primary:#667eea;--primary-dark:#5a67d8;--secondary:#764ba2;--success:#48bb78;--danger:#f56565;--warning:#ed8936;--gray-100:#f7fafc;--gray-200:#edf2f7;--gray-300:#e2e8f0;--gray-400:#cbd5e0;--gray-500:#a0aec0;--gray-600:#718096;--gray-700:#4a5568;--gray-800:#2d3748;--gray-900:#1a202c}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:var(--gray-800);background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%)}.container,body{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:20px;background:hsla(0,0%,100%,.95);box-shadow:0 0 40px rgba(0,0,0,.1)}header{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:2px solid var(--gray-200);margin-bottom:40px}header h1{color:var(--primary);font-size:2em;font-weight:800;letter-spacing:-.5px}nav{display:flex;gap:10px;align-items:center}.logout-btn,nav a{text-decoration:none;color:var(--gray-600);font-weight:500;padding:8px 16px;border-radius:25px;transition:all .3s;background:none;border:none;cursor:pointer;font-size:1em}.logout-btn:hover,nav a:hover{color:var(--primary);background:var(--gray-100)}.hero{text-align:center;padding:80px 20px;background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%);border-radius:20px;color:#fff;margin-bottom:60px}.hero h2{font-size:2.5em;margin-bottom:20px;font-weight:800}.hero p{font-size:1.2em;margin-bottom:30px;opacity:.95}.hero-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.btn-primary{display:inline-block;background:#fff;color:var(--primary);padding:15px 40px;border-radius:50px;text-decoration:none;font-weight:700;transition:all .3s;border:2px solid transparent;cursor:pointer}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(0,0,0,.2);background:var(--gray-100)}.btn-secondary{display:inline-block;background:transparent;color:#fff;padding:15px 40px;border-radius:50px;text-decoration:none;font-weight:700;transition:all .3s;border:2px solid #fff}.btn-secondary:hover{background:#fff;color:var(--primary);transform:translateY(-3px)}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:30px;gap:30px;margin-bottom:60px}.feature-card{background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,.05);text-align:center;transition:transform .3s;border:1px solid var(--gray-200)}.feature-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(102,126,234,.1)}.feature-icon{font-size:3em;margin-bottom:20px}.feature-card h3{color:var(--primary);margin-bottom:15px;font-size:1.3em}.products-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:30px;gap:30px;margin-top:30px}.product-card{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 5px 20px rgba(0,0,0,.05);transition:transform .3s;border:1px solid var(--gray-200)}.product-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(102,126,234,.1)}.product-card img{width:100%;height:200px;object-fit:cover}.product-card h3{color:var(--primary);margin:20px 20px 10px}.product-card p{color:var(--gray-600);margin:0 20px 10px}.price{font-size:1.5em;font-weight:700;color:var(--gray-800);margin:10px 20px}.product-card .btn-secondary{margin:20px;background:var(--primary);color:#fff;border:none;display:block;text-align:center}.checkout-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.checkout-container{max-width:500px;width:100%;background:#fff;padding:40px;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.3)}.checkout-container h1{color:var(--gray-800);margin-bottom:10px;text-align:center}.amount{text-align:center;color:var(--gray-600);margin-bottom:30px;font-size:1.2em}.amount strong{color:var(--primary);font-size:1.5em}.btn-pay,.checkout-form{margin-top:20px}.btn-pay{width:100%;padding:15px;background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%);color:#fff;border:none;border-radius:10px;font-size:1.2em;font-weight:600;cursor:pointer;transition:all .3s}.btn-pay:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px rgba(102,126,234,.4)}.btn-pay:disabled{background:var(--gray-400);cursor:not-allowed}.error-message{background:var(--danger);color:#fff;padding:15px;border-radius:10px;margin-top:20px;text-align:center}.success-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.success-card{max-width:500px;width:100%;background:#fff;padding:60px 40px;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.3);text-align:center}.success-icon{width:100px;height:100px;background:var(--success);color:#fff;font-size:50px;line-height:100px;border-radius:50%;margin:0 auto 30px;box-shadow:0 10px 30px rgba(72,187,120,.3)}.success-card h1{color:var(--gray-800);margin-bottom:20px}.transaction-id{color:var(--gray-600);font-size:.9em;margin-bottom:20px;word-break:break-all}.countdown{color:var(--gray-500);margin-bottom:30px}.success-actions{display:flex;gap:20px;justify-content:center}.dashboard-page{max-width:1200px;margin:0 auto;padding:40px 20px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;padding:20px;background:#fff;border-radius:15px;box-shadow:0 5px 15px rgba(0,0,0,.05)}.dashboard-header h1{color:var(--primary)}.welcome-message{margin-bottom:30px}.welcome-message h2{color:var(--gray-700)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:30px;gap:30px;margin-bottom:40px}.stat-card{background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 15px rgba(0,0,0,.05);text-align:center;border:1px solid var(--gray-200)}.stat-card h3{color:var(--gray-600);margin-bottom:15px;font-size:1.1em;font-weight:500}.stat-value{font-size:2.5em;font-weight:700;color:var(--primary)}.quick-actions,.recent-transactions{background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 15px rgba(0,0,0,.05);margin-bottom:40px}.quick-actions h2,.recent-transactions h2{color:var(--gray-800);margin-bottom:20px}.transactions-table{width:100%;border-collapse:collapse}.transactions-table th{text-align:left;padding:15px;background:var(--gray-100);color:var(--primary);font-weight:600}.transactions-table td{padding:15px;border-bottom:1px solid var(--gray-200)}.positive{color:var(--success);font-weight:600}.negative{color:var(--danger);font-weight:600}.status{padding:5px 10px;border-radius:20px;font-size:.9em;font-weight:500}.status-reussi,.status-succeeded{background:var(--success);color:#fff}.status-en cours,.status-pending{background:var(--warning);color:#fff}.no-data{color:var(--gray-500);text-align:center;padding:40px}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:20px;gap:20px}.action-card{display:block;padding:30px;background:var(--gray-100);border-radius:10px;text-align:center;text-decoration:none;color:var(--gray-700);transition:all .3s;border:1px solid var(--gray-200)}.action-card:hover{background:#fff;transform:translateY(-3px);box-shadow:0 10px 25px rgba(102,126,234,.1);border-color:var(--primary)}.action-icon{font-size:2.5em;margin-bottom:15px}.action-card h3{font-size:1.1em;font-weight:500}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.auth-container{max-width:400px;width:100%;background:#fff;padding:40px;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.3)}.auth-container h1{text-align:center;color:var(--primary);margin-bottom:30px}.auth-form,.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;color:var(--gray-700);font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:2px solid var(--gray-300);border-radius:10px;font-size:1em;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary)}.btn-submit{width:100%;padding:15px;background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%);color:#fff;border:none;border-radius:10px;font-size:1.1em;font-weight:600;cursor:pointer;transition:all .3s}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px rgba(102,126,234,.4)}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.auth-link{text-align:center;color:var(--gray-600)}.auth-link a{color:var(--primary);text-decoration:none;font-weight:600}.auth-link a:hover{text-decoration:underline}.contact-page{max-width:600px;margin:0 auto;padding:40px 0}.contact-page h1{color:var(--primary);margin-bottom:30px;text-align:center}.contact-form{background:#fff;padding:40px;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,.05)}.success-message{background:var(--success);color:#fff;padding:15px;border-radius:10px;margin-bottom:20px;text-align:center}.about-page{max-width:800px;margin:0 auto;padding:40px 0}.about-page h1{color:var(--primary);margin-bottom:40px;text-align:center}.about-section{background:#fff;padding:30px;border-radius:15px;margin-bottom:30px;box-shadow:0 5px 20px rgba(0,0,0,.05)}.about-section h2{color:var(--gray-700);margin-bottom:20px}.about-section p{color:var(--gray-600);line-height:1.8}.about-section ul{list-style:none;padding:0}.about-section li{padding:10px 0;border-bottom:1px solid var(--gray-200);color:var(--gray-600)}.about-section li:last-child{border-bottom:none}.error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.error-container{max-width:500px;width:100%;background:#fff;padding:60px 40px;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.3);text-align:center}.error-container h1{font-size:4em;color:var(--primary);margin-bottom:20px}.error-container p{color:var(--gray-600);margin-bottom:30px}.loading{padding:40px;color:var(--gray-600);font-size:1.2em}.loading,footer{text-align:center}footer{padding:30px;border-top:1px solid var(--gray-200);margin-top:60px;color:var(--gray-500)}@media (max-width:768px){header{flex-direction:column;gap:15px}nav{flex-wrap:wrap;justify-content:center}.hero h2{font-size:2em}.hero-buttons{flex-direction:column;align-items:center}.btn-primary,.btn-secondary{width:100%;max-width:300px}.success-actions{flex-direction:column}.actions-grid{grid-template-columns:1fr}.transactions-table{font-size:.9em}.transactions-table td,.transactions-table th{padding:10px}.stats-grid{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.feature-card,.hero,.product-card{animation:fadeIn .6s ease-out}