@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Space+Grotesk:wght@600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.language-switcher{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;gap:8px;padding:8px;position:fixed;right:20px;top:20px;z-index:1000}.lang-button{background:#0000;border:2px solid #0000;border-radius:8px;color:#6b7280;cursor:pointer;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;padding:8px 16px;position:relative;transition:all .5s cubic-bezier(.4,0,.2,1)}.lang-button.active{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#2563eb;box-shadow:0 4px 10px #2563eb4d;color:#fff;transform:scale(1.05)}.lang-button:not(.active){opacity:.6;transform:scale(.95)}.lang-button:focus{outline:none}@media (max-width:768px){.language-switcher{padding:6px;right:16px;top:16px}.lang-button{font-size:13px;padding:6px 12px}}.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;box-shadow:0 2px 16px #00000014;font-family:DM Sans,sans-serif;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header.scrolled{box-shadow:0 4px 20px #0000001f}.header-container{align-items:center;display:flex;gap:32px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:20px 32px}.logo{flex-shrink:0}.logo-image{display:block;height:70px;transition:transform .3s ease;width:auto}.logo:hover .logo-image{transform:scale(1.05)}.nav{align-items:center;display:flex;flex:1 1;gap:8px;justify-content:center}.nav-link{border-radius:10px;color:#6b7280;font-size:15px;font-weight:600;padding:10px 20px;position:relative;text-decoration:none;transition:all .3s ease}.nav-link:after{background:linear-gradient(135deg,#667eea,#764ba2);bottom:6px;content:"";height:2px;left:20px;position:absolute;right:20px;transform:scaleX(0);transition:transform .3s ease}.nav-link:hover{background:#667eea0d;color:#667eea}.nav-link.active{background:#667eea1a;color:#667eea}.nav-link.active:after{transform:scaleX(1)}.header-actions{flex-shrink:0;gap:16px}.nav-language-switcher{display:none}.mobile-menu-btn{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:8px;position:relative;z-index:1001}.menu-line{background:#667eea;border-radius:2px;height:3px;transition:all .3s ease;width:24px}.mobile-menu-btn.open .menu-line:first-child{transform:rotate(45deg) translate(6px,6px)}.mobile-menu-btn.open .menu-line:nth-child(2){opacity:0}.mobile-menu-btn.open .menu-line:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.mobile-overlay{display:none}@media (max-width:1024px){.nav{gap:4px}.nav-link{font-size:14px;padding:8px 14px}}@media (max-width:768px){body,html{overflow-x:hidden}.header-container{padding:16px 20px}.logo-image{height:40px}.mobile-menu-btn{display:flex}.header-actions>.language-switcher{display:none}.nav-language-switcher{border-top:1px solid #e5e7eb;display:block;margin-top:24px;padding-top:24px;width:100%}.mobile-overlay{background:#00000080;bottom:0;display:block;left:0;opacity:0;position:fixed;right:0;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;z-index:998}.mobile-overlay.active{opacity:1;visibility:visible}.nav{align-items:stretch;background:#fff;box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;gap:8px;height:100vh;height:100dvh;justify-content:flex-start;max-width:80vw;overflow-x:hidden;overflow-y:auto;padding:100px 24px 32px;position:fixed;right:-300px;top:0;transition:right .3s ease;width:280px;z-index:999}.nav.mobile-open{right:0}.nav-link{border-radius:8px;font-size:16px;padding:16px 20px;text-align:left;width:100%}.nav-link:after{display:none}.nav-link.active{background:#667eea26}}@media (max-width:480px){.header-container{padding:12px 16px}.logo-image{height:32px}.nav{max-width:100%;padding:90px 20px 32px;right:-100%;width:100%}.nav.mobile-open{right:0}}.footer{background:#1a1a1a;color:#f3f4f6;font-family:DM Sans,sans-serif;margin-top:80px}.footer-container{margin:0 auto;max-width:1400px;padding:60px 32px 32px}.footer-main{grid-gap:48px;border-bottom:1px solid #ffffff1a;display:grid;gap:48px;grid-template-columns:2fr 1fr 1fr 1.5fr;padding-bottom:40px}.footer-section{display:flex;flex-direction:column;gap:20px}.footer-logo{align-items:center;display:flex;gap:12px;margin-bottom:8px}.footer-logo-icon{font-size:32px}.footer-logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:700}.footer-description{color:#9ca3af;font-size:14px;line-height:1.7}.social-links{flex-wrap:wrap;gap:12px}.social-link,.social-links{align-items:center;display:flex;justify-content:center}.social-link{background:#ffffff0d;border-radius:12px;color:#9ca3af;height:44px;text-decoration:none;transition:all .3s ease;width:44px}.social-link svg{height:20px;transition:transform .3s ease;width:20px}.social-link:hover{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 8px 20px #667eea4d;color:#fff;transform:translateY(-4px)}.social-link:hover svg{transform:scale(1.1)}.footer-title{color:#fff;font-family:Space Grotesk,sans-serif;font-size:18px;font-weight:700;margin-bottom:4px}.footer-links{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.footer-link{color:#9ca3af;display:inline-block;font-size:14px;text-decoration:none;transition:all .3s ease}.footer-link:hover{color:#667eea;transform:translateX(4px)}.tech-tags{display:flex;flex-wrap:wrap;gap:8px}.tech-tag{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#9ca3af;font-size:12px;font-weight:600;padding:6px 12px;transition:all .3s ease}.tech-tag:hover{background:#667eea33;border-color:#667eea;color:#667eea;transform:translateY(-2px)}.contact-info{display:flex;flex-direction:column;gap:12px}.contact-item{align-items:center;color:#9ca3af;display:flex;font-size:14px;gap:12px;text-decoration:none;transition:color .3s ease}.contact-item:hover{color:#667eea}.contact-icon{font-size:18px;text-align:center;width:24px}.footer-bottom{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding-top:32px}.copyright{color:#6b7280;font-size:14px;margin:0}.footer-bottom-links{display:flex;gap:24px}.footer-bottom-link{color:#6b7280;font-size:14px;text-decoration:none;transition:color .3s ease}.footer-bottom-link:hover{color:#667eea}@media (max-width:1024px){.footer-main{gap:40px;grid-template-columns:1fr 1fr}.footer-section.about{grid-column:1/-1}}@media (max-width:768px){.footer-container{padding:48px 20px 24px}.footer-main{gap:32px;grid-template-columns:1fr}.footer-section.about{grid-column:auto}.footer-bottom{flex-direction:column;gap:12px;text-align:center}.footer-bottom-links{justify-content:center}}@media (max-width:480px){.footer-logo-text{font-size:20px}.footer-logo-icon{font-size:28px}.social-links{justify-content:flex-start}.social-link{font-size:18px;height:40px;width:40px}}.cookie-consent{align-items:flex-end;display:flex;font-family:DM Sans,sans-serif;inset:0;justify-content:center;padding:20px;pointer-events:none;position:fixed;z-index:10000}.cookie-consent.visible{pointer-events:all}.cookie-overlay{animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;inset:0;position:fixed}.cookie-container{animation:slideUp .4s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:600px;padding:32px;position:relative;width:100%;z-index:1}.cookie-header{align-items:center;display:flex;gap:12px;margin-bottom:20px}.cookie-icon{font-size:32px}.cookie-title{color:#1a1a1a;font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:700;margin:0}.cookie-content{margin-bottom:24px}.cookie-description{color:#374151;font-size:15px;line-height:1.7;margin-bottom:16px}.cookie-details-toggle{background:none;border:none;color:#667eea;cursor:pointer;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;padding:8px 0;transition:all .3s ease}.cookie-details-toggle:hover{color:#764ba2;transform:translateX(4px)}.cookie-details{animation:slideDown .3s ease;background:#f9fafb;border-radius:12px;display:flex;flex-direction:column;gap:16px;margin-top:20px;padding:20px}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:500px;opacity:1}}.cookie-category{background:#fff;border:2px solid #e5e7eb;border-radius:10px;padding:16px}.category-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:8px}.category-header strong{color:#1a1a1a;font-size:15px}.category-badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.category-badge.required{background:#fee2e2;color:#dc2626}.category-badge.optional{background:#dbeafe;color:#2563eb}.category-description{color:#6b7280;font-size:13px;line-height:1.6;margin:0}.cookie-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.cookie-btn{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-family:DM Sans,sans-serif;font-size:14px;font-weight:700;min-width:140px;padding:14px 24px;transition:all .3s ease}.cookie-btn.accept{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.cookie-btn.accept:hover{box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.cookie-btn.necessary{background:#fff;border:2px solid #667eea;color:#667eea}.cookie-btn.necessary:hover{background:#f3f4f6;transform:translateY(-2px)}.cookie-btn.reject{background:#f3f4f6;color:#6b7280}.cookie-btn.reject:hover{background:#e5e7eb;color:#374151}.cookie-footer{color:#9ca3af;font-size:12px;margin:0;text-align:center}@media (max-width:768px){.cookie-consent{align-items:flex-end;padding:16px}.cookie-container{border-radius:20px 20px 0 0;max-height:90vh;overflow-y:auto;padding:24px 20px}.cookie-title{font-size:20px}.cookie-icon{font-size:28px}.cookie-actions{flex-direction:column}.cookie-btn{min-width:auto;width:100%}}@media (max-width:480px){.cookie-description{font-size:14px}.category-header{align-items:flex-start;flex-direction:column}}.admin-login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:DM Sans,sans-serif;justify-content:center;min-height:100vh;padding:20px}.login-card{animation:slideUp .5s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:450px;padding:48px;width:100%}.login-header{margin-bottom:32px;text-align:center}.login-header h1{color:#1a1a1a;font-size:32px;font-weight:700;margin-bottom:8px}.login-header p{color:#6b7280;font-size:14px}.login-form{display:flex;flex-direction:column;gap:20px}.form-group input{border:2px solid #e5e7eb;border-radius:12px;font-family:DM Sans,sans-serif;font-size:16px;padding:14px 16px;transition:all .3s ease}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.error-message{background:#ef44441a;border:2px solid #ef4444;font-size:14px;padding:12px;text-align:center}.login-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-family:DM Sans,sans-serif;font-size:16px;font-weight:700;gap:10px;justify-content:center;margin-top:12px;padding:16px;transition:all .3s ease}.login-button:hover:not(:disabled){box-shadow:0 10px 25px #667eea66;transform:translateY(-2px)}.login-button:disabled{cursor:not-allowed;opacity:.7}@media (max-width:768px){.login-card{padding:32px 24px}.login-header h1{font-size:28px}}.admin-dashboard{background:#f9fafb;font-family:DM Sans,sans-serif;min-height:100vh}.dashboard-header{align-items:center;background:#fff;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:space-between;margin-bottom:32px;padding:24px 32px}.header-left h1{color:#1a1a1a;font-size:28px;font-weight:700;margin-bottom:4px}.header-left p{color:#6b7280;font-size:14px}.header-actions{align-items:center;display:flex;gap:12px}.payments-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-family:DM Sans,sans-serif;font-size:15px;font-weight:700;padding:12px 24px;transition:all .3s ease}.payments-button:hover{box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.logout-button{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.logout-button:hover{background:#dc2626;transform:translateY(-2px)}.stats-grid{grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:0 32px}.stat-card{box-shadow:0 2px 8px #0000000d;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 20px #0000001a;transform:translateY(-4px)}.stat-card.highlight{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-icon{font-size:40px}.stat-content{flex:1 1}.stat-label{margin-bottom:4px}.stat-card.highlight .stat-label{color:#ffffffe6}.stat-value{font-size:32px}.stat-card.highlight .stat-value{color:#fff}.filters-section{margin-bottom:24px;padding:0 32px}.filters-row{display:flex;flex-wrap:wrap;gap:16px}.filter-select,.search-input{border:2px solid #e5e7eb;border-radius:10px;font-family:DM Sans,sans-serif;font-size:14px;padding:12px 16px;transition:all .3s ease}.filter-select{min-width:180px}.search-input{flex:1 1;min-width:300px}.filter-select:focus,.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.contacts-section{padding:0 32px 32px}.contacts-section h2{color:#1a1a1a;font-size:24px;font-weight:700;margin-bottom:20px}.empty-state,.loading{color:#6b7280;font-size:16px;padding:60px 20px;text-align:center}.contacts-table{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d;overflow:hidden}table{border-collapse:collapse;width:100%}thead{background:#f9fafb}th{border-bottom:2px solid #e5e7eb;color:#6b7280;font-size:13px;font-weight:600;text-align:left;text-transform:uppercase}td,th{padding:16px}td{border-bottom:1px solid #f3f4f6;color:#374151}tbody tr{transition:background .2s ease}tbody tr:hover{background:#f9fafb}.name-cell{color:#1a1a1a;font-weight:600}.type-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:6px 12px;text-transform:capitalize}.type-badge.client{background:#dbeafe;color:#2563eb}.type-badge.entreprise{background:#ede9fe;color:#7c3aed}.status-select{background:#fff;font-family:DM Sans,sans-serif}.actions-cell{display:flex;gap:8px}.action-btn{transition:all .2s ease}.view-btn{background:#dbeafe}.view-btn:hover{background:#3b82f6}.delete-btn:hover,.view-btn:hover{transform:scale(1.1)}.pagination{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:24px}.pagination-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-family:DM Sans,sans-serif;font-weight:600;padding:10px 20px;transition:all .3s ease}.pagination-btn:hover:not(:disabled){border-color:#667eea;color:#667eea}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-info{color:#6b7280;font-weight:500}.modal-content{max-width:700px}.modal-header{align-items:center;border-bottom:2px solid #f3f4f6;display:flex;justify-content:space-between;padding:24px}.modal-header h2{color:#1a1a1a;font-size:24px;font-weight:700}.modal-body{padding:24px}.detail-section{margin-bottom:24px}.detail-section h3{color:#1a1a1a;font-size:18px;font-weight:700;margin-bottom:12px}.detail-section p{color:#374151;line-height:1.6;margin-bottom:8px}.description-text{background:#f9fafb;border-radius:12px;line-height:1.7;padding:16px;white-space:pre-wrap}.status-select-modal{background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;padding:12px 16px;width:100%}.modal-footer{border-top:2px solid #f3f4f6;display:flex;gap:12px;justify-content:space-between;padding:24px}.close-modal-btn,.delete-modal-btn{border:none;border-radius:10px;cursor:pointer;font-family:DM Sans,sans-serif;font-weight:600;padding:12px 24px;transition:all .3s ease}.delete-modal-btn{background:#fee2e2;color:#ef4444}.delete-modal-btn:hover{background:#ef4444;color:#fff}.close-modal-btn{color:#374151}@media (max-width:768px){.dashboard-header{flex-direction:column;gap:16px;text-align:center}.contacts-section,.filters-section,.stats-grid{padding:0 16px}.filters-row{flex-direction:column}.filter-select,.search-input{width:100%}.contacts-table{overflow-x:auto}table{min-width:800px}.modal-content{margin:0 16px}}.App{min-height:100vh;width:100%}html{scroll-behavior:smooth}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#3b82f6;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#2563eb}:root{--shadow-xl:0 20px 25px #00000026;--section-padding:80px 20px;--content-max-width:1200px}*{box-sizing:border-box;margin:0;padding:0}body{background:#fafafa;background:var(--background);color:#1a1a1a;color:var(--text-primary);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden}.home-container{min-height:100vh;width:100%}.hero-section{align-items:center;animation:fadeInUp .8s ease forwards;background:radial-gradient(ellipse at bottom,#1b2735 0,#090a0f 100%);display:flex;justify-content:center;min-height:100vh;opacity:0;overflow:hidden;padding:120px 20px 80px;position:relative;transform:translateY(20px)}.hero-section.visible{opacity:1;transform:translateY(0)}.stars-background{height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}#stars{animation:animStar 50s linear infinite}#stars,#stars:after{background:#0000;box-shadow:1799px 815px #fff,643px 1502px #fff,1067px 420px #fff,1091px 1730px #fff,720px 183px #fff,1867px 1080px #fff,1786px 1592px #fff,1924px 1320px #fff,654px 629px #fff,1851px 458px #fff,347px 1221px #fff,1535px 526px #fff,986px 1937px #fff,1185px 1528px #fff,1116px 1747px #fff,1975px 1019px #fff,1486px 1703px #fff,1588px 1767px #fff,1193px 1403px #fff,1782px 1897px #fff,1355px 1134px #fff,768px 1615px #fff,1223px 674px #fff,1840px 229px #fff,432px 1567px #fff,1964px 778px #fff,1129px 1941px #fff,591px 345px #fff,1703px 1112px #fff,977px 1823px #fff,1456px 891px #fff,1312px 1456px #fff,845px 1278px #fff,1634px 612px #fff,1089px 1689px #fff,1923px 1423px #fff,567px 1890px #fff,1245px 234px #fff,789px 1456px #fff,1678px 987px #fff,923px 1567px #fff,1456px 1789px #fff,678px 890px #fff,1234px 456px #fff,890px 1234px #fff,1567px 789px #fff,456px 1890px #fff,1789px 567px #fff,234px 1345px #fff,1456px 890px #fff,789px 1567px #fff,1234px 678px #fff,890px 1456px #fff,567px 1789px #fff,1345px 234px #fff,678px 1890px #fff,1890px 456px #fff,456px 1234px #fff,1567px 890px #fff,789px 1345px #fff,1234px 567px #fff,890px 1789px #fff,1456px 678px #fff,234px 1567px #fff,1789px 890px #fff,567px 1456px #fff,1345px 789px #fff,678px 1234px #fff;height:1px;position:absolute;width:1px}#stars:after{content:" ";top:2000px}#stars2{animation:animStar 100s linear infinite}#stars2,#stars2:after{background:#0000;box-shadow:1234px 567px #fff,890px 1456px #fff,1567px 234px #fff,456px 1789px #fff,1789px 890px #fff,234px 1345px #fff,1456px 678px #fff,678px 1234px #fff,890px 456px #fff,1567px 1789px #fff,456px 890px #fff,1234px 1456px #fff,789px 234px #fff,1345px 1567px #fff,567px 678px #fff,1890px 1234px #fff,234px 890px #fff,1456px 456px #fff,678px 1567px #fff,1789px 789px #fff,890px 1345px #fff,1234px 234px #fff,456px 1456px #fff,1567px 678px #fff,789px 1890px #fff,1345px 890px #fff,234px 1567px #fff,1456px 1789px #fff,678px 456px #fff,1890px 1345px #fff,567px 1234px #fff,1234px 789px #fff,890px 567px #fff,1567px 1456px #fff,456px 234px #fff,1789px 1567px #fff,234px 678px #fff,1345px 456px #fff,678px 1789px #fff,1456px 890px #fff,789px 1234px #fff,1890px 567px #fff,567px 1345px #fff,1234px 1890px #fff,890px 234px #fff,1567px 1345px #fff,456px 678px #fff,1789px 1456px #fff,234px 456px #fff,1345px 1234px #fff,678px 890px #fff,1456px 567px #fff;height:2px;position:absolute;width:2px}#stars2:after{content:" ";top:2000px}#stars3{animation:animStar 150s linear infinite}#stars3,#stars3:after{background:#0000;box-shadow:567px 1234px #fff,1345px 456px #fff,890px 1567px #fff,1789px 234px #fff,234px 1456px #fff,1456px 789px #fff,678px 1345px #fff,1890px 678px #fff,456px 1789px #fff,1234px 890px #fff,789px 456px #fff,1567px 1234px #fff,234px 678px #fff,1345px 1567px #fff,890px 1890px #fff,1789px 1345px #fff,456px 567px #fff,1456px 1456px #fff,678px 234px #fff,1890px 1789px #fff,567px 890px #fff,1234px 1567px #fff,1345px 678px #fff,789px 1234px #fff,234px 1890px #fff,1456px 234px #fff,890px 1345px #fff,1567px 890px #fff,456px 1456px #fff,1789px 567px #fff,678px 1567px #fff,1890px 456px #fff;height:3px;position:absolute;width:3px}#stars3:after{content:" ";top:2000px}@keyframes animStar{0%{transform:translateY(0)}to{transform:translateY(-2000px)}}.dreamdev-logo-container{animation:fadeInDown 1s ease-out;margin-bottom:60px;text-align:center}.dreamdev-logo{animation:floatLogo 3s ease-in-out infinite;filter:drop-shadow(0 0 30px rgba(102,126,234,.6)) drop-shadow(0 0 60px rgba(118,75,162,.4));height:300px;margin-bottom:20px;object-fit:contain;width:300px}@keyframes floatLogo{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-15px) rotate(5deg)}}.dreamdev-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2 50%,#f093fb);-webkit-background-clip:text;background-clip:text;font-family:Space Grotesk,sans-serif;font-size:clamp(32px,6vw,56px);font-weight:900;letter-spacing:3px;margin:0 0 16px;text-shadow:0 0 30px #667eea80;text-transform:uppercase}.dreamdev-slogan{color:#fffc;font-size:clamp(14px,2.5vw,20px);font-style:italic;font-weight:300;letter-spacing:1.5px;margin:0;text-shadow:0 2px 10px #0000004d}.hero-divider{animation:expandWidth 2s ease-out;background:linear-gradient(90deg,#0000,#667eea,#764ba2,#0000);height:2px;margin:50px auto;width:100px}@keyframes expandWidth{0%{opacity:0;width:0}to{opacity:1;width:100px}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}.hero-content{color:#fff;max-width:900px;position:relative;text-align:center;z-index:2}.avatar-container{animation:scaleIn .6s ease .3s backwards;flex-wrap:wrap;gap:16px;margin-bottom:32px}.avatar,.avatar-container{align-items:center;display:flex;justify-content:center}.avatar{animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 8px 32px #667eea66;color:#fff;font-size:32px;font-weight:700;height:80px;position:relative;width:80px}.avatar:before{animation:rotate 4s linear infinite;background:linear-gradient(45deg,#667eea,#764ba2,#f093fb);border-radius:50%;content:"";inset:-4px;opacity:.5;position:absolute;z-index:-1}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.avatar-initials{font-family:Space Grotesk,sans-serif;position:relative;z-index:1}.status-badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#10b98126;border:1px solid #10b98166;border-radius:25px;color:#10b981;display:flex;font-weight:600;gap:8px;padding:8px 18px}.status-dot{animation:blink 2s ease-in-out infinite;background:#10b981;box-shadow:0 0 10px #10b981}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.hero-title{animation:fadeInUp .8s ease .5s backwards;color:#fff;font-family:Space Grotesk,sans-serif;font-size:clamp(28px,5vw,52px);font-weight:900;line-height:1.3;margin:0 0 24px}.highlight-name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;display:inline-block;position:relative}.hero-subtitle{animation:fadeInUp .8s ease .7s backwards;color:#ffffffe6;font-size:clamp(16px,3vw,22px);font-weight:600;margin:0 0 16px}.hero-description{animation:fadeInUp .8s ease .9s backwards;color:#ffffffb3;font-size:clamp(14px,2vw,18px);line-height:1.8;margin:0 auto 48px;max-width:700px}.hero-cta-buttons{animation:fadeInUp .8s ease 1.1s backwards;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:48px}.cta-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;display:flex;gap:16px;min-width:280px;overflow:hidden;padding:20px 32px;position:relative;text-decoration:none;transition:all .3s ease}.cta-button:before{background:linear-gradient(90deg,#0000,#ffffff26,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.cta-button:hover:before{left:100%}.cta-client{background:#667eea26;border:2px solid #667eea66}.cta-client:hover{background:#667eea40;border-color:#667eea99;box-shadow:0 15px 50px #667eea66;transform:translateY(-6px)}.cta-entreprise{background:#764ba226;border:2px solid #764ba266}.cta-entreprise:hover{background:#764ba240;border-color:#764ba299;box-shadow:0 15px 50px #764ba266;transform:translateY(-6px)}.cta-icon{flex-shrink:0;font-size:32px}.cta-text{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;text-align:left}.cta-title{color:#fff;font-size:17px;font-weight:700;margin-bottom:4px}.cta-subtitle{color:#ffffffb3;font-size:13px}.cta-arrow{color:#fffc;font-size:24px;transition:transform .3s ease}.cta-button:hover .cta-arrow{transform:translateX(10px)}.coffee-section{animation:fadeInUp .8s ease 1.3s backwards;flex-direction:column;gap:16px;margin-top:48px}.coffee-button,.coffee-section{align-items:center;display:flex}.coffee-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f59e0b26;border:2px solid #f59e0b66;border-radius:50px;color:#fff;cursor:pointer;font-family:DM Sans,sans-serif;font-size:16px;font-weight:700;gap:12px;padding:16px 36px;position:relative;transition:all .3s ease}.coffee-button:hover:not(:disabled){background:#f59e0b40;border-color:#f59e0b99;box-shadow:0 12px 30px #f59e0b66;transform:translateY(-4px) scale(1.05)}.coffee-button:disabled{cursor:not-allowed;opacity:.6}.coffee-button.loading .coffee-emoji{animation:spin .6s linear infinite}.coffee-emoji{animation:steam 2s ease-in-out infinite;font-size:24px}@keyframes steam{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.coffee-text{letter-spacing:.5px}.coffee-animation{animation:floatUp 1s ease-out;color:#10b981;font-size:24px;font-weight:900;position:absolute;right:20px;text-shadow:0 0 10px #10b981;top:-25px}@keyframes floatUp{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-40px) scale(1.5)}}.coffee-counter{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:30px;color:#ffffffe6;display:flex;font-size:14px;font-weight:600;gap:10px;margin:0;padding:10px 24px}.counter-emoji{animation:pulse 2s ease-in-out infinite;font-size:20px}section{padding:80px 20px;padding:var(--section-padding)}.section-content{margin:0 auto;max-width:1200px;max-width:var(--content-max-width)}.section-tag{background:#dbeafe;background:var(--client-lighter);border-radius:20px;color:#2563eb;color:var(--client-primary);display:inline-block;font-size:14px;font-weight:600;margin-bottom:16px;padding:6px 16px}.section-title{color:var(--text-primary);font-size:clamp(32px,4vw,48px);margin-bottom:24px}.section-description{color:#6b7280;color:var(--text-secondary);font-size:18px;line-height:1.8;margin-bottom:20px}.about-section{background:#fff;background:var(--surface);border-radius:32px;box-shadow:0 4px 6px #00000012;box-shadow:var(--shadow-md);margin:0 20px}.tech-section{background:linear-gradient(180deg,#fafafa,#fff);background:linear-gradient(to bottom,var(--background),var(--surface))}.tech-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:48px 0}.tech-card{align-items:center;animation:fadeInUp .6s ease backwards;background:#fff;background:var(--surface);border:2px solid #e5e7eb;border:2px solid var(--border);border-radius:20px;box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:16px;padding:32px 24px;transition:all .3s ease}.tech-card:hover{border-color:#60a5fa;border-color:var(--client-light);box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-8px)}.tech-icon{height:56px;transition:transform .3s ease;width:56px}.tech-card:hover .tech-icon{transform:scale(1.15) rotate(10deg)}.tech-name{color:#1a1a1a;color:var(--text-primary);font-size:16px;font-weight:600}.tech-details{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:48px}.tech-category{background:#fff;background:var(--surface);border-left:4px solid #2563eb;border-left:4px solid var(--client-primary);border-radius:16px;box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);padding:28px;transition:transform .3s ease}.tech-category:hover{transform:translateX(8px)}.tech-category h3{color:#1a1a1a;color:var(--text-primary);font-size:20px;font-weight:700;margin-bottom:12px}.tech-category p{color:#6b7280;color:var(--text-secondary);font-size:16px;line-height:1.6}.advantages-section{background:#fff;background:var(--surface);border-radius:32px;box-shadow:0 4px 6px #00000012;box-shadow:var(--shadow-md);margin:0 20px}.advantages-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:48px}.advantage-card{animation:fadeInUp .6s ease backwards;background:#fafafa;background:var(--background);border:2px solid #e5e7eb;border:2px solid var(--border);border-radius:20px;padding:32px;transition:all .3s ease}.advantage-card:hover{border-color:#60a5fa;border-color:var(--client-light);box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-8px)}.advantage-icon{display:inline-block;font-size:48px;margin-bottom:20px}.advantage-title{color:#1a1a1a;color:var(--text-primary);font-size:20px;font-weight:700;margin-bottom:12px}.advantage-description{color:#6b7280;color:var(--text-secondary);font-size:16px;line-height:1.7}.testimonials-section{background:linear-gradient(135deg,#f9fafb,#fff);padding:80px 20px}.testimonials-section .section-tag{background:#667eea1a;color:#667eea}.testimonials-section .section-title{margin-bottom:16px}.testimonials-section .section-description{color:#6b7280;font-size:17px;margin-bottom:48px;text-align:center}.testimonials-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:60px}.testimonial-card{animation:fadeInUp .8s ease backwards;background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;padding:32px;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.testimonial-card:first-child{animation-delay:.1s}.testimonial-card:nth-child(2){animation-delay:.2s}.testimonial-card:nth-child(3){animation-delay:.3s}.testimonial-card:hover{box-shadow:0 15px 40px #00000026;transform:translateY(-10px)}.testimonial-card.featured{background:linear-gradient(135deg,#667eea08,#764ba208);border:3px solid #667eea}.featured-badge{padding:6px 16px;right:24px;top:-12px}.testimonial-header{align-items:center;display:flex;gap:16px;margin-bottom:16px}.testimonial-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.avatar-letter{color:#fff;font-size:24px;font-weight:700}.testimonial-author h4{color:#1a1a1a;font-size:18px;font-weight:700;margin-bottom:4px}.testimonial-role{color:#6b7280;font-size:14px;margin:0}.testimonial-rating{display:flex;font-size:18px;gap:4px;margin-bottom:16px}.star{animation:scaleIn .3s ease backwards}.star:first-child{animation-delay:.4s}.star:nth-child(2){animation-delay:.5s}.star:nth-child(3){animation-delay:.6s}.star:nth-child(4){animation-delay:.7s}.star:nth-child(5){animation-delay:.8s}.testimonial-text{color:#374151;font-size:15px;font-style:italic;line-height:1.7;margin-bottom:20px}.testimonial-project{background:#f3f4f6;border-radius:10px;color:#667eea;display:inline-block;font-size:13px;font-weight:600;padding:8px 16px}.testimonials-stats{grid-gap:32px;background:#fff;border-radius:20px;box-shadow:0 8px 24px #00000014;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 auto;max-width:900px;padding:40px 32px}.stat-item{align-items:center;display:flex;flex-direction:column;gap:8px;text-align:center}.stat-number{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-family:Space Grotesk,sans-serif;font-size:40px;font-weight:900}.stat-label{font-size:14px}.final-cta-section{background:linear-gradient(135deg,#f8fafc,#e0e7ff);text-align:center}.cta-section-title{font-family:Space Grotesk,sans-serif;font-size:clamp(36px,4vw,52px);font-weight:700;margin-bottom:20px}.cta-section-description{color:#6b7280;color:var(--text-secondary);font-size:20px;line-height:1.7;margin:0 auto 56px;max-width:700px}.final-cta-cards{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin:0 auto;max-width:900px}.final-cta-card{background:#fff;background:var(--surface);border:2px solid #0000;border-radius:24px;box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg);overflow:hidden;padding:40px;position:relative;text-align:left;transition:all .4s cubic-bezier(.4,0,.2,1)}.final-cta-card:before{content:"";height:6px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.final-cta-card:hover:before{transform:scaleX(1)}.client-card:before{background:linear-gradient(135deg,#3b82f6,#2563eb);background:var(--client-gradient)}.entreprise-card:before{background:linear-gradient(135deg,#8b5cf6,#7c3aed);background:var(--entreprise-gradient)}.final-cta-card:hover{box-shadow:0 20px 25px #00000026;box-shadow:var(--shadow-xl);transform:translateY(-12px)}.client-card:hover{border-color:#60a5fa;border-color:var(--client-light)}.entreprise-card:hover{border-color:#a78bfa;border-color:var(--entreprise-light)}.card-header{align-items:center;display:flex;gap:16px;margin-bottom:20px}.card-emoji{font-size:40px}.card-header h3{color:#1a1a1a;color:var(--text-primary);font-family:Space Grotesk,sans-serif;font-size:28px;font-weight:700}.card-description{color:#6b7280;color:var(--text-secondary);font-size:16px;line-height:1.7;margin-bottom:28px}.card-features{list-style:none;margin-bottom:32px}.card-features li{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);color:#6b7280;color:var(--text-secondary);font-size:15px;padding:10px 0}.card-features li:last-child{border-bottom:none}.card-button{align-items:center;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;gap:12px;justify-content:center;padding:16px 24px;text-decoration:none;transition:all .3s ease;width:100%}.client-button{background:linear-gradient(135deg,#3b82f6,#2563eb);background:var(--client-gradient)}.client-button:hover{box-shadow:0 10px 25px #2563eb4d;transform:scale(1.03)}.entreprise-button{background:linear-gradient(135deg,#8b5cf6,#7c3aed);background:var(--entreprise-gradient)}.entreprise-button:hover{box-shadow:0 10px 25px #7c3aed4d;transform:scale(1.03)}.card-button:hover .button-arrow{transform:translateX(5px)}@media (max-width:768px){:root{--section-padding:60px 16px}.hero-section{padding:100px 20px 60px}.dreamdev-logo{height:200px;width:200px}.dreamdev-title{font-size:36px;letter-spacing:2px}.dreamdev-slogan{font-size:16px}.hero-cta-buttons{flex-direction:column;gap:16px}.cta-button{min-width:100%}.tech-grid{gap:16px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.final-cta-cards{grid-template-columns:1fr}.advantage-card{padding:24px}.testimonials-section{padding:60px 16px}.testimonials-grid{gap:24px;grid-template-columns:1fr}.testimonial-card{padding:24px}.testimonials-stats{gap:24px;grid-template-columns:1fr;padding:32px 24px}.stat-number{font-size:36px}}@media (max-width:480px){.dreamdev-logo{height:200px;width:200px}.dreamdev-title{font-size:28px;letter-spacing:1.5px}.dreamdev-slogan{font-size:14px}.avatar{font-size:24px;height:60px;width:60px}.hero-title{font-size:28px}.hero-subtitle{font-size:16px}.tech-card{padding:24px 16px}.tech-icon{height:48px;width:48px}.coffee-button{font-size:15px;padding:14px 28px}}.portfolio-container{background:#fafafa;font-family:DM Sans,sans-serif;min-height:100vh;padding-bottom:80px}.portfolio-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:40px 32px 80px;position:relative}.back-link{color:#fff}.back-link:hover{transform:translateX(-5px)}.header-content{margin:0 auto;max-width:1200px;text-align:center}.portfolio-title{animation:fadeInUp .6s ease;font-family:Space Grotesk,sans-serif;font-size:clamp(36px,5vw,56px);font-weight:700;margin-bottom:16px}.portfolio-subtitle{animation:fadeInUp .6s ease .2s backwards;font-size:clamp(16px,2.5vw,20px);margin:0 auto;max-width:600px;opacity:.95}.filters-container{margin:-40px auto 48px;max-width:1200px;padding:0 32px;position:relative;z-index:10}.filters{background:#fff;border-radius:16px;box-shadow:0 8px 24px #0000001a;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:16px;padding:12px}.filter-btn{background:#0000;border:2px solid #0000;border-radius:12px;color:#6b7280;cursor:pointer;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;padding:12px 24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.filter-btn:hover{background:#f3f4f6;color:#667eea;transform:translateY(-2px)}.filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 4px 12px #667eea4d;color:#fff;transform:scale(1.05)}.results-count{color:#6b7280;font-size:14px;font-weight:500;text-align:center}.projects-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));margin:0 auto;max-width:1200px;padding:0 32px}.project-card{animation:fadeInScale .6s ease backwards;background:#fff;border-radius:20px;box-shadow:0 4px 16px #00000014;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.project-card:hover{box-shadow:0 12px 32px #00000026;transform:translateY(-8px)}.project-card.featured{border:3px solid #667eea}.featured-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:20px;box-shadow:0 4px 12px #fbbf2466;color:#fff;font-size:12px;font-weight:700;padding:6px 12px;position:absolute;right:16px;top:16px;z-index:10}.project-image-container{height:240px;overflow:hidden;position:relative}.project-image{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.project-card:hover .project-image{transform:scale(1.1)}.project-overlay{align-items:flex-end;background:linear-gradient(0deg,#000000b3 0,#0000 50%);display:flex;inset:0;opacity:0;padding:20px;position:absolute;transition:opacity .3s ease}.project-card:hover .project-overlay{opacity:1}.category-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:20px;color:#667eea;font-size:13px;font-weight:700;padding:8px 16px}.project-content{padding:24px}.project-title{color:#1a1a1a;font-family:Space Grotesk,sans-serif;font-size:22px;font-weight:700;line-height:1.3;margin-bottom:12px}.project-description{color:#6b7280;font-size:15px;line-height:1.6;margin-bottom:16px}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.project-tag{background:#f3f4f6;border-radius:8px;color:#374151;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s ease}.project-card:hover .project-tag{background:#ede9fe;color:#7c3aed}.project-link{align-items:center;color:#667eea;display:inline-flex;font-size:15px;font-weight:700;gap:8px;text-decoration:none;transition:all .3s ease}.project-link:hover{color:#764ba2;gap:12px}.portfolio-cta{background:#fff;border-radius:24px;box-shadow:0 8px 24px #0000001a;margin:80px auto 0;max-width:800px;padding:48px 32px;text-align:center}.portfolio-cta h2{color:#1a1a1a;font-family:Space Grotesk,sans-serif;font-size:clamp(28px,4vw,40px);font-weight:700;margin-bottom:16px}.portfolio-cta p{color:#6b7280;font-size:18px;line-height:1.7;margin-bottom:32px}.cta-btn{gap:12px}@media (max-width:768px){.portfolio-header{padding:32px 20px 60px}.filters-container,.portfolio-cta,.projects-grid{padding-left:20px;padding-right:20px}.projects-grid{gap:24px;grid-template-columns:1fr}.filters{justify-content:flex-start;overflow-x:auto;padding:8px}.filter-btn{font-size:14px;padding:10px 20px;white-space:nowrap}.cta-buttons{flex-direction:column;width:100%}.cta-btn{justify-content:center;width:100%}}@media (max-width:480px){.portfolio-title{font-size:32px}.project-image-container{height:200px}.project-content{padding:20px}.project-title{font-size:20px}}:root{--client-primary:#2563eb;--client-light:#60a5fa;--client-lighter:#dbeafe;--client-gradient:linear-gradient(135deg,#3b82f6,#2563eb)}.contact-client-container{background:#fafafa;background:var(--background);font-family:DM Sans,sans-serif;min-height:100vh;padding:40px 20px}.contact-client-header{margin:0 auto 48px;max-width:800px;text-align:center}.back-link{color:#2563eb;color:var(--client-primary)}.contact-client-title{color:#1a1a1a;color:var(--text-primary);font-family:Space Grotesk,sans-serif;font-size:clamp(32px,5vw,48px);font-weight:700;margin-bottom:16px}.contact-client-subtitle{color:#6b7280;color:var(--text-secondary);font-size:18px;line-height:1.6}.contact-form{background:#fff;background:var(--surface);border-radius:24px;box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg);margin:0 auto;max-width:800px;padding:48px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#2563eb;border-color:var(--client-primary);box-shadow:0 0 0 3px #2563eb1a}.radio-input:checked+.radio-custom{background:#dbeafe;background:var(--client-lighter);border-color:#2563eb;border-color:var(--client-primary);color:#2563eb;color:var(--client-primary)}.radio-label:hover .radio-custom{border-color:#60a5fa;border-color:var(--client-light)}.submit-button{background:linear-gradient(135deg,#3b82f6,#2563eb);background:var(--client-gradient)}.submit-button:hover:not(:disabled){box-shadow:0 12px 24px #2563eb4d}@media (max-width:768px){.contact-form{padding:32px 24px}.form-row{gap:24px}.form-row,.radio-group{grid-template-columns:1fr}.contact-client-title{font-size:32px}}@media (max-width:480px){.contact-client-container,.contact-form{padding:24px 16px}.form-section-title{font-size:20px}}:root{--entreprise-primary:#7c3aed;--entreprise-light:#a78bfa;--entreprise-lighter:#ede9fe;--entreprise-gradient:linear-gradient(135deg,#8b5cf6,#7c3aed);--background:#fafafa;--surface:#fff;--text-primary:#1a1a1a;--text-secondary:#6b7280;--border:#e5e7eb;--error:#ef4444;--success:#22c55e;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 15px #0000001a}.contact-entreprise-container{background:#fafafa;background:var(--background);font-family:DM Sans,sans-serif;min-height:100vh;padding:40px 20px}.contact-entreprise-header{margin:0 auto 48px;max-width:800px;text-align:center}.back-link{color:#7c3aed;color:var(--entreprise-primary);cursor:pointer;margin-bottom:24px;transition:transform .2s ease}.contact-entreprise-title{color:#1a1a1a;color:var(--text-primary);font-family:Space Grotesk,sans-serif;font-size:clamp(32px,5vw,48px);font-weight:700;margin-bottom:16px}.contact-entreprise-subtitle{color:#6b7280;color:var(--text-secondary);font-size:18px;line-height:1.6}.contact-form-entreprise{background:#fff;background:var(--surface);border-radius:24px;box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg);margin:0 auto;max-width:800px;padding:48px}.form-section{margin-bottom:48px}.form-section:last-of-type{margin-bottom:32px}.form-section-title{align-items:center;color:#1a1a1a;color:var(--text-primary);display:flex;font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:700;gap:12px;margin-bottom:24px}.form-group{margin-bottom:24px}.form-row{grid-gap:24px;gap:24px}.form-label{color:#1a1a1a;color:var(--text-primary);display:block;font-size:15px;font-weight:600;margin-bottom:8px}.required{color:#ef4444;color:var(--error)}.form-input,.form-select,.form-textarea{background:#fff;background:var(--surface);border:2px solid #e5e7eb;border:2px solid var(--border);border-radius:12px;color:#1a1a1a;color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:16px;padding:14px 16px;transition:all .3s ease;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#7c3aed;border-color:var(--entreprise-primary);box-shadow:0 0 0 3px #7c3aed1a;outline:none}.form-input::placeholder,.form-textarea::placeholder{color:#6b7280;color:var(--text-secondary);opacity:.6}.form-input.error,.form-select.error,.form-textarea.error{border-color:#ef4444;border-color:var(--error)}.form-textarea{min-height:120px;resize:vertical}.textarea-footer{align-items:center;display:flex;justify-content:space-between;margin-top:8px}.char-count{color:#6b7280;color:var(--text-secondary);font-size:13px}.radio-group{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.radio-label{cursor:pointer;position:relative}.radio-input{cursor:pointer;opacity:0;position:absolute}.radio-custom{background:#fff;background:var(--surface);border:2px solid #e5e7eb;border:2px solid var(--border);border-radius:12px;display:block;font-weight:500;padding:14px 20px;text-align:center;transition:all .3s ease}.radio-input:checked+.radio-custom{background:#ede9fe;background:var(--entreprise-lighter);border-color:#7c3aed;border-color:var(--entreprise-primary);color:#7c3aed;color:var(--entreprise-primary)}.radio-label:hover .radio-custom{border-color:#a78bfa;border-color:var(--entreprise-light);transform:translateY(-2px)}.error-message{color:#ef4444;color:var(--error);display:block;font-size:13px;font-weight:500;margin-top:6px}.error-message-box{background:#ef44441a;border:2px solid #ef4444;border:2px solid var(--error);border-radius:12px;color:#ef4444;color:var(--error)}.error-message-box,.success-message{font-weight:500;margin-bottom:24px;padding:16px}.success-message{background:#22c55e1a;border:2px solid #22c55e;border:2px solid var(--success);border-radius:12px;color:#22c55e;color:var(--success)}.submit-button{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);background:var(--entreprise-gradient);border:none;border-radius:12px;box-shadow:0 4px 6px #00000012;box-shadow:var(--shadow-md);color:#fff;cursor:pointer;display:flex;font-family:DM Sans,sans-serif;font-size:18px;font-weight:700;gap:12px;justify-content:center;padding:18px 32px;transition:all .3s ease;width:100%}.submit-button:hover:not(:disabled){box-shadow:0 12px 24px #7c3aed4d;transform:translateY(-2px)}.submit-button:disabled{cursor:not-allowed;opacity:.7}.button-arrow{font-size:20px;transition:transform .3s ease}.submit-button:hover:not(:disabled) .button-arrow{transform:translateX(5px)}.spinner{animation:spin .8s linear infinite;border:3px solid #ffffff4d;border-top-color:#fff;height:20px;width:20px}.form-footer-text{color:#6b7280;color:var(--text-secondary);font-size:13px;line-height:1.5;margin-top:16px;text-align:center}@media (max-width:768px){.contact-form-entreprise{padding:32px 24px}.form-row{gap:24px}.form-row,.radio-group{grid-template-columns:1fr}.contact-entreprise-title{font-size:32px}}@media (max-width:480px){.contact-entreprise-container,.contact-form-entreprise{padding:24px 16px}.form-section-title{font-size:20px}}.notfound-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:DM Sans,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;padding:40px 20px;position:relative}.notfound-content{animation:fadeInUp .8s ease;max-width:600px;position:relative;text-align:center;z-index:2}.notfound-animation{margin-bottom:32px;position:relative}.notfound-emoji{animation:bounce 2s ease-in-out infinite;display:block;font-size:80px;margin-bottom:16px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.notfound-title{animation:glitch 3s ease-in-out infinite;color:#fff;font-family:Space Grotesk,sans-serif;font-size:clamp(80px,15vw,150px);font-weight:900;letter-spacing:-5px;margin:0;text-shadow:0 10px 30px #0000004d}@keyframes glitch{0%,to{text-shadow:0 0 20px #ffffff80,0 10px 30px #0000004d}25%{text-shadow:-5px 0 20px #ff00ff80,5px 0 20px #00ffff80,0 10px 30px #0000004d}50%{text-shadow:5px 0 20px #ff00ff80,-5px 0 20px #00ffff80,0 10px 30px #0000004d}}.notfound-subtitle{color:#fff;font-family:Space Grotesk,sans-serif;font-size:clamp(24px,4vw,36px);font-weight:700;margin-bottom:16px}.notfound-description{color:#ffffffe6;font-size:18px;line-height:1.7;margin-bottom:40px;margin-left:auto;margin-right:auto;max-width:500px}.notfound-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:48px}.notfound-btn{align-items:center;border-radius:12px;box-shadow:0 8px 20px #0003;display:inline-flex;font-size:16px;font-weight:600;gap:12px;padding:16px 32px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.notfound-btn span{font-size:20px}.notfound-btn.primary{background:#fff;color:#667eea}.notfound-btn.primary:hover{box-shadow:0 12px 28px #ffffff4d;transform:translateY(-4px)}.notfound-btn.secondary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;color:#fff}.notfound-btn.secondary:hover{background:#ffffff4d;box-shadow:0 12px 28px #fff3;transform:translateY(-4px)}.notfound-suggestions{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:2px solid #fff3;border-radius:16px;padding:24px}.suggestions-title{color:#ffffffe6;font-size:14px;font-weight:600;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.suggestions-links{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.suggestions-links a{border-radius:6px;color:#fff;font-size:15px;font-weight:600;padding:4px 8px;text-decoration:none;transition:all .3s ease}.suggestions-links a:hover{background:#fff3;transform:translateY(-2px)}.suggestions-links span{color:#ffffff80;font-size:12px}.notfound-decoration{inset:0;pointer-events:none;position:absolute;z-index:1}.floating-shape{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:50%;position:absolute}.shape-1{animation:float1 15s ease-in-out infinite;height:300px;right:-100px;top:-100px;width:300px}.shape-2{animation:float2 12s ease-in-out infinite;bottom:-50px;height:200px;left:-50px;width:200px}.shape-3{animation:float3 18s ease-in-out infinite;height:150px;left:10%;top:50%;width:150px}@keyframes float1{0%,to{transform:translate(0) rotate(0deg)}33%{transform:translate(50px,-50px) rotate(120deg)}66%{transform:translate(-30px,30px) rotate(240deg)}}@keyframes float2{0%,to{transform:translate(0) rotate(0deg)}50%{transform:translate(-40px,-40px) rotate(180deg)}}@keyframes float3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,30px) scale(1.2)}}@media (max-width:768px){.notfound-container{padding:40px 20px}.notfound-title{font-size:100px;letter-spacing:-3px}.notfound-subtitle{font-size:24px}.notfound-description{font-size:16px}.notfound-actions{flex-direction:column;gap:12px}.notfound-btn{justify-content:center;width:100%}.floating-shape{display:none}}.about-container{background:#fafafa;font-family:DM Sans,sans-serif;min-height:100vh}.about-hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:80px 32px;text-align:center}.about-hero-content{animation:fadeInUp .8s ease;margin:0 auto;max-width:800px}.about-avatar{flex-direction:column;gap:16px;margin-bottom:32px}.about-avatar,.avatar-circle{align-items:center;display:flex}.avatar-circle{animation:float 3s ease-in-out infinite;background:#fff;border-radius:50%;box-shadow:0 8px 24px #0003;height:120px;justify-content:center;width:120px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.avatar-initials{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:48px;font-weight:700}.avatar-status{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:20px;display:flex;font-size:14px;font-weight:600;gap:8px;padding:8px 16px}.status-dot{animation:pulse 2s ease-in-out infinite;background:#22c55e;border-radius:50%;height:8px;width:8px}.about-title{font-family:Space Grotesk,sans-serif;font-size:clamp(36px,5vw,56px);font-weight:700;margin-bottom:16px}.about-role{font-size:clamp(16px,2.5vw,20px);margin-bottom:32px;opacity:.95}.about-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.contact-btn,.download-cv-btn{align-items:center;border-radius:12px;box-shadow:0 4px 12px #00000026;display:inline-flex;font-size:15px;font-weight:700;gap:10px;padding:14px 28px;text-decoration:none;transition:all .3s ease}.download-cv-btn{background:#fff;border:none;color:#667eea;cursor:pointer}.download-cv-btn:hover{box-shadow:0 8px 20px #ffffff4d;transform:translateY(-4px)}.contact-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;color:#fff}.contact-btn:hover{background:#ffffff4d;transform:translateY(-4px)}.about-bio{background:#fff;padding:80px 32px}.section-container{margin:0 auto;max-width:1200px}.section-title{color:#1a1a1a;font-family:Space Grotesk,sans-serif;font-size:clamp(28px,4vw,40px);font-weight:700;margin-bottom:32px;text-align:center}.bio-text{color:#374151;font-size:17px;line-height:1.8;margin-bottom:20px;margin-left:auto;margin-right:auto;max-width:800px}.about-tabs-section{padding:80px 32px}.tabs-header{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:48px}.tab-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;display:flex;font-family:DM Sans,sans-serif;gap:8px}.tab-btn:hover{border-color:#667eea;transform:translateY(-2px)}.tab-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 4px 12px #667eea4d;color:#fff}.tabs-content{min-height:400px}.timeline{margin:0 auto;max-width:900px;position:relative}.timeline:before{background:linear-gradient(180deg,#667eea,#764ba2);bottom:0;content:"";left:20px;position:absolute;top:0;width:3px}.timeline-item{animation:slideInLeft .6s ease backwards;margin-bottom:40px;padding-left:60px;position:relative}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.timeline-marker{background:#667eea;border-radius:50%;box-shadow:0 0 0 4px #f3f4f6,0 0 0 8px #667eea33;height:20px;left:11px;position:absolute;top:8px;width:20px}.timeline-content{background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014;padding:24px;transition:all .3s ease}.timeline-content:hover{box-shadow:0 8px 24px #0000001f;transform:translateX(8px)}.timeline-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:8px}.timeline-header h3{color:#1a1a1a;font-family:Space Grotesk,sans-serif;font-size:20px;margin:0}.timeline-period{background:#ede9fe;border-radius:8px;color:#7c3aed;font-size:13px;font-weight:600;padding:4px 12px}.timeline-company{color:#667eea;font-size:15px;font-weight:600;margin-bottom:12px}.timeline-description{color:#6b7280;font-size:15px;line-height:1.7;margin-bottom:16px}.timeline-achievements{display:flex;flex-direction:column;gap:8px;list-style:none;padding:0}.timeline-achievements li{color:#374151;font-size:14px;padding-left:24px;position:relative}.timeline-achievements li:before{color:#22c55e;content:"✓";font-weight:700;left:0;position:absolute}.skills-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.skill-category h3{color:#1a1a1a;font-family:Space Grotesk,sans-serif;font-size:20px;margin-bottom:20px}.skill-item{margin-bottom:20px}.skill-header{display:flex;justify-content:space-between;margin-bottom:8px}.skill-name{color:#374151;font-size:15px;font-weight:600}.skill-percent{color:#667eea;font-size:14px;font-weight:700}.skill-bar{background:#f3f4f6;border-radius:10px;height:8px;overflow:hidden}.skill-progress{animation:growWidth 1s ease forwards;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;height:100%}@keyframes growWidth{0%{width:0}}.certifications-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.certification-card{animation:fadeInScale .6s ease backwards;background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014;padding:32px 24px;text-align:center;transition:all .3s ease}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.certification-card:hover{box-shadow:0 12px 32px #00000026;transform:translateY(-8px)}.cert-icon{display:block;font-size:48px;margin-bottom:16px}.certification-card h3{color:#1a1a1a;font-size:18px;margin-bottom:8px}.cert-issuer{color:#6b7280;font-size:14px;margin-bottom:12px}.cert-year{background:#ede9fe;border-radius:8px;color:#7c3aed;display:inline-block;font-size:13px;font-weight:600;padding:4px 12px}.about-cta{background:#fff;padding:80px 32px;text-align:center}.about-cta h2{color:#1a1a1a;font-family:Space Grotesk,sans-serif;font-size:clamp(28px,4vw,40px);margin-bottom:16px}.about-cta p{color:#6b7280;font-size:18px;margin-bottom:32px}.cta-buttons{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.cta-btn{align-items:center;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:inline-flex;font-size:16px;font-weight:700;gap:10px;padding:16px 32px;text-decoration:none;transition:all .3s ease}.cta-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.cta-btn.primary:hover{box-shadow:0 8px 20px #667eea66;transform:translateY(-4px)}.cta-btn.secondary{background:#fff;border:2px solid #667eea;color:#667eea}.cta-btn.secondary:hover{background:#f3f4f6;transform:translateY(-4px)}@media (max-width:768px){.about-bio,.about-cta,.about-hero,.about-tabs-section{padding:60px 20px}.tabs-header{gap:8px}.tab-btn{font-size:14px;padding:10px 16px}.timeline:before{left:15px}.timeline-item{padding-left:50px}.timeline-marker{left:6px}.certifications-grid,.skills-grid{grid-template-columns:1fr}.cta-buttons{flex-direction:column;width:100%}.cta-btn{justify-content:center;width:100%}}.legal-page{background:#fafafa;font-family:DM Sans,sans-serif;min-height:100vh;padding:40px 20px}.legal-container{animation:fadeIn .6s ease;background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;margin:0 auto;max-width:900px;padding:60px}.back-link{align-items:center;color:#667eea;display:inline-flex;font-size:15px;font-weight:600;gap:8px;margin-bottom:32px;text-decoration:none;transition:all .3s ease}.back-link:hover{color:#764ba2;transform:translateX(-4px)}.legal-title{border-bottom:3px solid #667eea;color:#1a1a1a;font-family:Space Grotesk,sans-serif;font-size:clamp(32px,5vw,48px);font-weight:700;margin-bottom:16px;padding-bottom:16px}.legal-content{color:#374151;font-size:16px;line-height:1.8}.legal-intro{background:linear-gradient(135deg,#667eea0d,#764ba20d);border-left:4px solid #667eea;border-radius:12px;font-size:17px;margin-bottom:32px;padding:24px}.legal-section{margin-bottom:0;padding:0!important}.legal-section h2{color:#1a1a1a;font-family:Space Grotesk,sans-serif;font-size:28px;font-weight:700;margin-bottom:16px;margin-top:32px}.legal-section h3{color:#374151;font-size:20px;font-weight:600;margin-bottom:12px;margin-top:24px}.legal-section p,.legal-section ul{margin-bottom:16px}.legal-section ul{margin-left:24px}.legal-section li{margin-bottom:12px;padding-left:8px}.legal-section li::marker{color:#667eea}.legal-section a{color:#667eea;font-weight:600;text-decoration:none;transition:color .3s ease}.legal-section a:hover{color:#764ba2;text-decoration:underline}.legal-section strong{color:#1a1a1a;font-weight:700}.legal-note{background:#f3f4f6;border-left:3px solid #6b7280;border-radius:10px;font-size:15px;margin-top:16px;padding:16px}.legal-link{border-bottom:2px solid #0000;color:#667eea;font-weight:600;text-decoration:none;transition:color .3s ease}.legal-link:hover{border-bottom-color:#764ba2;color:#764ba2}.legal-update{background:#ede9fe;border-radius:10px;color:#7c3aed;font-size:15px;margin-top:32px;padding:16px 24px}@media (max-width:768px){.legal-page{padding:20px 16px}.legal-container{border-radius:16px;padding:40px 24px}.legal-title{font-size:32px}.legal-section h2{font-size:24px}.legal-section h3{font-size:18px}.legal-content{font-size:15px}.legal-section ul{margin-left:16px}}@media (max-width:480px){.legal-container{padding:32px 20px}.legal-title{font-size:28px}.legal-section h2{font-size:22px}}.progress-modal-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:2000}.progress-modal-content{animation:slideUp .3s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:1000px;overflow-y:auto;width:100%}.progress-modal-header{align-items:flex-start;border-bottom:2px solid #f3f4f6;display:flex;justify-content:space-between;padding:32px}.progress-modal-header h2{color:#1a1a1a;font-size:24px;margin:0 0 8px}.project-name{color:#6b7280;font-size:14px;margin:0}.close-modal-btn{background:#f3f4f6;border:none;border-radius:50%;color:#6b7280;cursor:pointer;font-size:20px;height:40px;transition:all .3s ease;width:40px}.close-modal-btn:hover{background:#e5e7eb;color:#1a1a1a}.progress-tabs{border-bottom:2px solid #f3f4f6;display:flex;gap:8px;padding:0 32px}.progress-tab{background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .3s ease}.progress-tab:hover{color:#667eea}.progress-tab.active{border-bottom-color:#667eea;color:#667eea}.progress-tab-content{padding:32px}.progress-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:300px 1fr}.steps-list h3{color:#6b7280;font-size:16px;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.step-item{align-items:center;border:2px solid #0000;border-radius:12px;cursor:pointer;display:flex;gap:12px;margin-bottom:8px;padding:16px;transition:all .3s ease}.step-item:hover{background:#f9fafb}.step-item.selected{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-color:#667eea}.step-item-icon{flex-shrink:0;font-size:24px}.step-item.completed .step-item-icon{filter:grayscale(0)}.step-item.pending .step-item-icon{opacity:.4}.step-item-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.step-item-name{color:#1a1a1a;font-size:14px;font-weight:600}.step-status-badge{border-radius:8px;font-size:11px;padding:2px 8px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.step-status-badge.status-pending{background:#f3f4f6;color:#6b7280}.step-status-badge.status-in-progress{background:#dbeafe;color:#1e40af}.step-status-badge.status-completed{background:#d1fae5;color:#059669}.step-details{background:#f9fafb;border-radius:16px;padding:24px}.step-details-header{align-items:center;display:flex;gap:16px;margin-bottom:24px}.step-details-icon{font-size:48px}.step-details-header h3{color:#1a1a1a;font-size:20px;margin:0 0 8px}.step-completed-info{background:#d1fae5;border-radius:10px;color:#047857;font-size:14px;font-weight:600;margin-bottom:24px;padding:12px 16px}.step-notes-section{margin-bottom:24px}.step-notes-section label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.step-notes-section textarea{border:2px solid #e5e7eb;border-radius:10px;font-family:DM Sans,sans-serif;font-size:14px;padding:12px 16px;resize:vertical;transition:all .3s ease;width:100%}.step-notes-section textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.step-actions{display:flex;flex-wrap:wrap;gap:12px}.step-action-btn{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:14px;font-weight:700;min-width:120px;padding:12px 20px;transition:all .3s ease}.step-action-btn:disabled{cursor:not-allowed;opacity:.5}.pending-btn{background:#f3f4f6;color:#6b7280}.pending-btn:hover:not(:disabled){background:#e5e7eb}.progress-btn{color:#1e40af}.progress-btn:hover:not(:disabled){background:#bfdbfe}.completed-btn{background:#d1fae5;color:#059669}.completed-btn:hover:not(:disabled){background:#a7f3d0}.updates-container{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr}.add-update-form,.updates-history{background:#f9fafb;border-radius:16px;padding:24px}.add-update-form h3,.updates-history h3{color:#1a1a1a;font-size:18px;margin:0 0 20px}.add-update-form .form-group{margin-bottom:16px}.add-update-form label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.add-update-form input,.add-update-form textarea{border:2px solid #e5e7eb;border-radius:10px;font-family:DM Sans,sans-serif;font-size:14px;padding:12px 16px;transition:all .3s ease;width:100%}.add-update-form input:focus,.add-update-form textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.submit-update-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:14px 24px;transition:all .3s ease;width:100%}.submit-update-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.updates-list{max-height:400px;overflow-y:auto}.update-card{background:#fff;border-left:4px solid #667eea;border-radius:12px;padding:16px}.update-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.update-card-header h4{color:#1a1a1a;flex:1 1;font-size:15px;margin:0}.update-message{line-height:1.6}.no-updates{color:#6b7280;font-size:14px;padding:40px 20px;text-align:center}@media (max-width:968px){.progress-grid,.updates-container{grid-template-columns:1fr}.progress-modal-content{max-height:95vh}}@media (max-width:640px){.progress-modal-header{padding:24px 20px}.progress-tabs{overflow-x:auto;padding:0 20px}.progress-tab{font-size:14px;padding:12px 16px;white-space:nowrap}.progress-tab-content{padding:24px 20px}.step-actions{flex-direction:column}.step-action-btn{width:100%}}.admin-payments{background:#f9fafb;font-family:DM Sans,sans-serif;min-height:100vh;padding:20px}.payments-header{flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px}.header-left,.payments-header{align-items:center;display:flex}.header-left{gap:20px}.payments-header h1{color:#1a1a1a;font-size:28px;font-weight:700;margin:0}.back-btn{background:#fff;border:2px solid #667eea;border-radius:10px;color:#667eea;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.back-btn:hover{background:#667eea;color:#fff}.logout-btn{background:#ef4444;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .3s ease}.logout-btn:hover{background:#dc2626}.payments-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:12px;margin-bottom:32px}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .3s ease}.tab-btn:hover{color:#667eea}.tab-btn.active{border-bottom-color:#667eea;color:#667eea}.message{border-radius:12px;font-weight:600;margin-bottom:24px;padding:16px 20px}.success-message{background:#d1fae5;border:2px solid #6ee7b7;color:#059669}.create-payment-section{margin:0 auto;max-width:800px}.form-container{background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;padding:40px}.form-container h2{color:#1a1a1a;font-size:24px;margin-bottom:8px}.form-description{color:#6b7280;margin-bottom:32px}.payment-form{display:flex;flex-direction:column;gap:24px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#374151;font-size:14px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:2px solid #e5e7eb;border-radius:10px;font-family:DM Sans,sans-serif;font-size:15px;padding:12px 16px;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:16px 32px;transition:all .3s ease}.submit-btn:hover:not(:disabled){box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.6}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.stat-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014;display:flex;gap:16px;padding:24px}.stat-icon{font-size:32px}.stat-value{color:#1a1a1a;font-size:24px;font-weight:700;margin:0 0 4px}.stat-label{color:#6b7280;font-size:13px;font-weight:600;margin:0;text-transform:uppercase}.filters{display:flex;gap:16px;margin-bottom:24px}.filter-search,.filter-select{border:2px solid #e5e7eb;border-radius:10px;font-family:DM Sans,sans-serif;font-size:15px;padding:12px 16px}.filter-search{flex:1 1}.payments-table{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.payments-table table{border-collapse:collapse;width:100%}.payments-table th{background:#f9fafb;color:#374151;font-size:13px;font-weight:700;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.payments-table td{border-top:1px solid #e5e7eb;color:#1a1a1a;padding:16px}.payments-table tr:hover{background:#f9fafb}.amount{color:#059669;font-weight:700}.status-badge{font-size:12px;padding:6px 12px;text-transform:uppercase}.status-pending{background:#fef3c7;color:#f59e0b}.status-cancelled{background:#fee2e2;color:#dc2626}.actions{align-items:center;display:flex;gap:8px}.action-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;padding:8px 12px;transition:all .3s ease}.view-btn{background:#ede9fe}.view-btn:hover{background:#667eea}.progress-btn{background:#dbeafe}.progress-btn:hover{background:#3b82f6}.delete-btn{background:#fee2e2}.delete-btn:hover{background:#ef4444}.status-select{border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px}.modal-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;padding:40px;width:100%}.modal-content h2{align-items:center;color:#1a1a1a;display:flex;font-size:24px;gap:10px;margin:0 0 24px}.payment-details{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:20px}.payment-details p{color:#374151;font-size:15px;line-height:1.6;margin:12px 0}.payment-details p:first-child{margin-top:0}.payment-details p:last-child{margin-bottom:0}.payment-link-box{margin-bottom:32px}.payment-link-box label{color:#1a1a1a;display:block;font-size:15px;font-weight:700;margin-bottom:12px}.link-input-group{align-items:stretch;display:flex;gap:12px}.link-input{background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;color:#374151;flex:1 1;font-family:monospace;font-size:14px;padding:14px 16px}.copy-btn{background:#667eea;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;min-width:110px;padding:14px 24px;transition:all .3s ease;white-space:nowrap}.copy-btn:hover{background:#764ba2;box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.modal-actions{border-top:2px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:8px}.close-btn,.test-link-btn{border:none;border-radius:12px;cursor:pointer;font-size:15px;font-weight:700;padding:14px 28px;transition:all .3s ease}.test-link-btn{background:#059669;color:#fff;flex:1 1;max-width:200px}.test-link-btn:hover{background:#047857;box-shadow:0 4px 12px #05966966;transform:translateY(-2px)}.close-btn{background:#f3f4f6;color:#374151;min-width:120px}.close-btn:hover{background:#e5e7eb;color:#1a1a1a}.loading,.no-data{color:#6b7280;font-size:16px;padding:60px 20px;text-align:center}@media (max-width:768px){.form-row{grid-template-columns:1fr}.payments-table{overflow-x:auto}.modal-content{max-height:85vh;padding:32px 24px}.modal-content h2{font-size:20px}.link-input-group{flex-direction:column}.copy-btn{width:100%}.modal-actions{flex-direction:column-reverse}.close-btn,.test-link-btn{max-width:none;width:100%}.stats-grid{grid-template-columns:1fr}.payment-details p{font-size:14px}}.checkout-page{background:linear-gradient(135deg,#667eea,#764ba2);font-family:DM Sans,sans-serif;min-height:100vh;padding:40px 20px}.checkout-error,.checkout-loading{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;margin:100px auto;max-width:500px;padding:60px 40px;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#667eea;height:50px;margin:0 auto 20px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.error-icon{display:block;font-size:64px;margin-bottom:20px}.checkout-error h2{color:#1a1a1a;margin-bottom:12px}.home-btn{background:#667eea;border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:700;margin-top:24px;padding:12px 32px;transition:all .3s ease}.home-btn:hover{background:#764ba2;transform:translateY(-2px)}.checkout-container{animation:fadeInUp .6s ease;margin:0 auto;max-width:800px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.checkout-header{color:#fff;margin-bottom:32px;text-align:center}.checkout-header h1{font-family:Space Grotesk,sans-serif;font-size:clamp(28px,5vw,40px);margin-bottom:12px}.checkout-header p{font-size:16px;opacity:.95}.checkout-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.card-section{border-bottom:2px solid #f3f4f6;padding:32px}.card-section:last-child{border-bottom:none}.card-section h2{align-items:center;color:#1a1a1a;display:flex;font-size:20px;gap:8px;margin-bottom:20px}.detail-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-item{flex-direction:column;gap:8px}.detail-item.full-width{grid-column:1/-1}.detail-label{color:#6b7280;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.detail-value{color:#1a1a1a;font-size:18px;font-weight:700}.detail-description{color:#374151;font-size:15px;line-height:1.7;margin:0}.amount-section{background:linear-gradient(135deg,#667eea0d,#764ba20d)}.amount-display{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.amount-label{color:#374151;font-size:16px;font-weight:600}.amount-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;font-family:Space Grotesk,sans-serif;font-size:36px;font-weight:900}.amount-note{color:#6b7280;font-size:13px;margin:0}.payment-method{text-align:center}.stripe-logo{height:40px;margin-bottom:16px}.payment-method p{color:#374151;margin-bottom:16px}.payment-badges{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.badge{background:#f3f4f6;border-radius:8px;color:#374151;font-size:13px;font-weight:600;padding:6px 12px}.cgv-box{background:#f9fafb;border-radius:12px;margin-bottom:20px;padding:20px}.cgv-box ul{list-style:none;margin:0;padding:0}.cgv-box li{color:#374151;font-size:14px;line-height:1.6;padding:8px 0}.checkbox-container{align-items:flex-start;background:#fffbeb;border:2px solid #fbbf24;border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:16px}.checkbox-container input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px;margin-top:2px;width:20px}.checkbox-text{color:#92400e;font-size:14px;line-height:1.6}.checkout-actions{padding:32px;text-align:center}.pay-btn{align-items:center;background:linear-gradient(135deg,#059669,#047857);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-family:DM Sans,sans-serif;font-size:18px;font-weight:700;gap:12px;justify-content:center;padding:18px 32px;transition:all .3s ease;width:100%}.pay-btn:hover:not(:disabled){box-shadow:0 12px 32px #05966966;transform:translateY(-4px)}.pay-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-spinner{animation:spin .8s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}.security-note{color:#6b7280;font-size:13px;margin-top:16px}.error-message{background:#fee2e2;border:2px solid #fca5a5;border-radius:12px;color:#dc2626;font-weight:600;margin-bottom:16px;padding:16px}.checkout-footer{color:#fff;font-size:14px;margin-top:32px;text-align:center}.checkout-footer a{color:#fff;font-weight:600;text-decoration:underline}@media (max-width:768px){.checkout-page{padding:20px 16px}.card-section,.checkout-actions{padding:24px 20px}.amount-value{font-size:28px}.detail-grid{grid-template-columns:1fr}.pay-btn{font-size:16px}}.order-tracking-page{font-family:DM Sans,sans-serif;min-height:100vh;padding:40px 20px}.order-tracking-page.tracking-mode{background:#f3f4f6}.order-summary{background:linear-gradient(135deg,#667eea0d,#764ba20d);border-radius:16px;margin-bottom:32px;padding:32px}.summary-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.summary-header h2{color:#1a1a1a;font-size:24px;margin:0}.status-badge{border-radius:20px;font-size:14px;font-weight:700;padding:8px 16px}.status-paid{background:#d1fae5;color:#059669}.summary-details{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-item{display:flex;flex-direction:column;gap:8px}.summary-label{color:#6b7280;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.summary-value{color:#1a1a1a;font-size:16px;font-weight:700}.progress-section{border-bottom:2px solid #f3f4f6;padding:32px}.progress-section h3{color:#1a1a1a;font-size:20px;margin:0 0 32px}.progress-step,.progress-steps{position:relative}.progress-step{display:flex;gap:24px;padding-bottom:40px}.progress-step:last-child{padding-bottom:0}.step-icon{align-items:center;background:#f3f4f6;border:3px solid #e5e7eb;border-radius:50%;display:flex;flex-shrink:0;font-size:24px;height:56px;justify-content:center;transition:all .3s ease;width:56px}.progress-step.in-progress .step-icon{animation:pulse 2s infinite;background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea}.progress-step.completed .step-icon{background:#d1fae5;border-color:#059669}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.step-content{flex:1 1;padding-top:8px}.step-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:8px}.step-header h4{color:#1a1a1a;font-size:18px;margin:0}.progress-step.pending .step-header h4{color:#9ca3af}.step-date{color:#059669;font-size:13px;font-weight:600}.step-status-badge{border-radius:12px;font-size:12px;font-weight:700;padding:4px 12px}.step-status-badge.in-progress{background:#dbeafe;color:#1e40af}.step-notes{color:#6b7280;font-size:14px;line-height:1.6;margin:8px 0 0}.step-connector{background:#e5e7eb;bottom:0;left:27px;position:absolute;top:56px;width:2px}.step-connector.completed{background:#059669}.updates-section{border-bottom:2px solid #f3f4f6;padding:32px}.updates-section h3{color:#1a1a1a;font-size:20px;margin:0 0 24px}.updates-list{display:flex;flex-direction:column;gap:16px}.update-item{background:#f9fafb;border-left:4px solid #667eea;border-radius:12px;padding:20px}.update-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px}.update-header h4{color:#1a1a1a;flex:1 1;font-size:16px;margin:0}.update-date{color:#6b7280;font-size:12px;white-space:nowrap}.update-message{color:#374151;font-size:14px;line-height:1.7;margin:0}.contact-section{color:#6b7280;padding:32px;text-align:center}.contact-section a{color:#667eea;font-weight:600;text-decoration:none}.contact-section a:hover{text-decoration:underline}@media (max-width:768px){.summary-details{grid-template-columns:1fr}.summary-header{align-items:flex-start;flex-direction:column}.progress-step{gap:16px}.step-icon{font-size:20px;height:48px;width:48px}.step-connector{left:23px}.update-header{align-items:flex-start;flex-direction:column}}.payment-success-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.confetti-container{height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:1}.confetti{animation:confetti-fall 3s linear forwards;height:10px;position:absolute;top:-10px;width:10px}@keyframes confetti-fall{to{opacity:0;transform:translateY(100vh) rotate(1turn)}}.success-container{animation:slideUp .5s ease-out;background:#fff;border-radius:24px;box-shadow:0 20px 60px #0000004d;max-width:700px;padding:60px 40px;position:relative;text-align:center;width:100%;z-index:2}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.success-icon{animation:scaleIn .5s ease-out .2s both;height:100px;margin:0 auto 30px;width:100px}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.success-title{animation:fadeIn .5s ease-out .3s both;color:#1f2937;font-size:36px;font-weight:700;margin-bottom:16px}.success-message{animation:fadeIn .5s ease-out .4s both;color:#6b7280;font-size:18px;line-height:1.6;margin-bottom:40px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.success-details{animation:fadeIn .5s ease-out .5s both;display:flex;flex-direction:column;gap:20px;margin-bottom:40px;text-align:left}.detail-item{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-left:4px solid #667eea;border-radius:16px;display:flex;gap:16px;padding:20px;transition:all .3s ease}.detail-item:hover{box-shadow:0 4px 12px #667eea26;transform:translateX(5px)}.detail-icon{font-size:32px;line-height:1}.detail-item h3{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 8px}.detail-item p{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.success-actions{animation:fadeIn .5s ease-out .6s both;display:flex;gap:16px;justify-content:center;margin-bottom:24px}.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:14px 32px;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea66;color:#fff}.btn-primary:hover{box-shadow:0 6px 20px #667eea80;transform:translateY(-2px)}.btn-secondary{background:#fff;border:2px solid #667eea;color:#667eea}.btn-secondary:hover{background:#f9fafb;transform:translateY(-2px)}.auto-redirect{animation:fadeIn .5s ease-out .7s both;color:#9ca3af;font-size:14px}@media (max-width:768px){.success-container{padding:40px 24px}.success-title{font-size:28px}.success-message{font-size:16px}.success-actions{flex-direction:column}.btn-primary,.btn-secondary{justify-content:center;width:100%}.detail-item{flex-direction:column;text-align:center}.detail-icon{font-size:40px}}
/*# sourceMappingURL=main.0cb7ec01.css.map*/