:root{--color-yellow:#fdc435;--color-sous-text:#828282;--color-background:#f9faff;--font-primary:"Nunito", ui-sans-serif, system-ui, sans-serif;--font-list:"Raleway", ui-sans-serif, system-ui, sans-serif;--font-title:"Poppins", ui-sans-serif, system-ui, sans-serif;--font-title-secondary:"Playfair Display", ui-sans-serif, system-ui, sans-serif;--font-header-text:"Comfortaa", ui-sans-serif, system-ui, sans-serif;--font-button:"Roboto" ui-sans-serif, system-ui, sans-serif}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-primary);background-color:var(--color-background)}h1{font-family:var(--font-title)}h2{font-family:var(--font-title-secondary);padding-bottom:10px;font-size:3rem;display:inline-block;position:relative}h3{font-family:var(--font-title-secondary)}h4{font-family:var(--font-header-text)}ul,ol{font-family:var(--font-list)}li{z-index:10}button{font-family:var(--font-button)}.description{color:var(--color-sous-text);margin-bottom:1.25rem;font-size:1.5rem}.testimonials-section{padding:4rem 1.5rem}.testimonials-container{max-width:1140px;margin:0 auto}.testimonials-header{text-align:center;margin-bottom:4rem}.testimonials-header h2{color:#1a202c;font-family:Playfair Display,Georgia,serif;font-size:2.75rem;font-weight:700;display:inline-block;position:relative}.testimonials-header h2:after{content:"";background-color:var(--color-yellow);border-radius:2px;width:80px;height:4px;margin:12px auto 0;display:block}.testimonials-header p{color:var(--color-sous-text);max-width:600px;margin:1.5rem auto 0;font-size:1.1rem}.testimonials-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:2rem;margin-bottom:5rem;display:grid}@media (width<=768px){.testimonials-header h2{font-size:2.25rem}}.testimonial-card{background-color:#fff;border:1px solid #f0f0f0;border-radius:1rem;flex-direction:column;justify-content:space-between;padding:2rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.testimonial-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000000d,0 4px 6px -2px #00000005}.testimonial-quote-icon{width:2rem;height:2rem;color:var(--color-yellow);opacity:.7;margin-bottom:1rem}.testimonial-content{color:#4a5568;margin-bottom:1.5rem;font-size:1rem;font-style:italic;line-height:1.6}.testimonial-author-info{align-items:center;gap:.75rem;display:flex}.testimonial-avatar{object-fit:cover;border-radius:50%;width:2.5rem;height:2.5rem}.testimonial-author-name{color:#2d3748;font-size:.875rem;font-weight:700}.testimonial-author-role{color:var(--color-sous-text);font-size:.75rem}.testimonial-empty{text-align:center;color:var(--color-sous-text);padding:2rem}.testimonial-form-box{max-width:600px;margin:0 auto;padding:1.5rem}.testimonial-form-box h3{color:#1a202c;text-align:center;font-family:Playfair Display,Georgia,serif;font-size:2.5rem;font-weight:700;display:block;position:relative}.testimonial-form-box h3:after{content:"";background-color:var(--color-yellow);border-radius:2px;width:80px;height:4px;margin:12px auto 0;display:block}.testimonial-form-box p{color:var(--color-sous-text);text-align:center;max-width:450px;margin:1.5rem auto 2.5rem;font-size:1rem}.testimonial-alert-success{color:#166534;text-align:center;background-color:#f0fdf4;border-radius:.75rem;margin-bottom:1.5rem;padding:1rem;font-size:.875rem;font-weight:600}.testimonial-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:#2d3748;text-transform:none;letter-spacing:normal;font-size:1rem;font-weight:500}.form-group input,.form-group textarea{width:100%;font-family:var(--font-primary);background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;padding:.875rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s;box-shadow:0 1px 2px #00000005}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-yellow)}.btn-submit-testimonial{background-color:var(--color-yellow);color:#000;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-self:flex-end;align-items:center;gap:.5rem;padding:.75rem 2.25rem;font-size:1rem;font-weight:700;transition:background-color .2s;display:flex}.btn-submit-testimonial:hover{background-color:#fdb815}@media (width<=768px){.testimonial-form-box h3{font-size:2rem}}@media (width<=480px){.btn-submit-testimonial{align-self:stretch;width:100%}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-container{flex-direction:column;gap:2rem;max-width:1140px;margin:0 auto;padding:3rem 1.5rem;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse;display:flex}.skeleton-header{justify-content:space-between;align-items:center;padding:1rem 0;display:flex}.skeleton-logo{background-color:#e2e8f0;border-radius:.5rem;width:8rem;height:2rem}.skeleton-nav{gap:1rem;display:flex}.skeleton-nav-item{background-color:#e2e8f0;border-radius:.5rem;width:4rem;height:1rem}.skeleton-hero{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;padding:3rem 0;display:grid}@media (width<=768px){.skeleton-hero{grid-template-columns:1fr}}.skeleton-hero-text{flex-direction:column;gap:1.5rem;display:flex}.skeleton-tag{background-color:#e2e8f0;border-radius:.5rem;width:6rem;height:1rem}.skeleton-title{background-color:#e2e8f0;border-radius:.5rem;width:75%;height:3rem}.skeleton-p1{background-color:#e2e8f0;border-radius:.5rem;width:100%;height:1.5rem}.skeleton-p2{background-color:#e2e8f0;border-radius:.5rem;width:83%;height:1.5rem}.skeleton-buttons{gap:1rem;margin-top:1rem;display:flex}.skeleton-button{background-color:#e2e8f0;border-radius:.5rem;width:8rem;height:2.5rem}.skeleton-image{background-color:#e2e8f0;border-radius:1rem;width:100%;height:16rem}.skeleton-section{border-top:1px solid #f0f0f0;flex-direction:column;gap:1rem;padding-top:3rem;display:flex}.skeleton-section-title{background-color:#e2e8f0;border-radius:.5rem;width:12rem;height:1.5rem;margin:0 auto}.skeleton-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;padding-top:1.5rem;display:grid}@media (width<=768px){.skeleton-grid{grid-template-columns:1fr}}.skeleton-card{background-color:#e2e8f0;border-radius:1rem;height:10rem}.contact-page-container{max-width:600px;margin:0 auto;padding:6rem 1.5rem}.contact-header{text-align:center;margin-bottom:3rem}.contact-header h1{color:#1a202c;font-family:Playfair Display,Georgia,serif;font-size:2.75rem;font-weight:700;display:inline-block;position:relative}.contact-header h1:after{content:"";background-color:var(--color-yellow);border-radius:2px;width:80px;height:4px;margin:12px auto 0;display:block}.contact-header p{color:var(--color-sous-text);max-width:480px;margin:1.5rem auto 0;font-size:1rem;line-height:1.6}.contact-form-box{background-color:#0000;padding:0}.contact-success-box{text-align:center;background-color:#fff;border:1px solid #f0f0f0;border-radius:1rem;padding:3rem 1.5rem;box-shadow:0 4px 6px -1px #0000000d}.contact-success-icon{color:#22c55e;width:4rem;height:4rem;margin:0 auto 1.5rem}.contact-success-box h2{color:#1a202c;margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:1.75rem}.contact-success-box p{color:var(--color-sous-text);margin-bottom:2rem;font-size:.95rem}.btn-contact-reset{background-color:var(--color-yellow);color:#000;cursor:pointer;border:none;border-radius:8px;padding:.75rem 2rem;font-size:1rem;font-weight:700;transition:background-color .2s}.btn-contact-reset:hover{background-color:#fdb815}.contact-form{flex-direction:column;gap:1.5rem;display:flex}.input-invalid{background-color:#fef2f2;border-color:#ef4444!important}.input-error-msg{color:#ef4444;margin-top:.25rem;font-size:.75rem;font-weight:600}.btn-submit-contact{background-color:var(--color-yellow);color:#000;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-self:flex-end;align-items:center;gap:.5rem;padding:.75rem 2.5rem;font-size:1rem;font-weight:700;transition:background-color .2s;display:flex}.btn-submit-contact:hover{background-color:#fdb815}@media (width<=480px){.contact-page-container{padding:4rem 1rem}.contact-header h1{font-size:2.25rem}.btn-submit-contact{align-self:stretch;width:100%}}.login-section{text-align:center;flex-direction:column;align-items:center;max-width:600px;margin:6rem auto;padding:0 1.5rem;display:flex}.login-section h2{color:var(--color-texte);font-size:2.5rem;font-weight:700;font-family:var(--font-title);text-align:center;margin-bottom:1rem;padding-bottom:15px;position:relative}.login-section h2:after{content:"";background-color:var(--color-yellow);width:50px;height:4px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.login-section p{color:var(--color-sous-text);max-width:500px;margin-top:1.5rem;margin-bottom:2.5rem;font-size:1rem;line-height:1.6}.google-signin-btn-container{justify-content:center;width:100%;display:flex}.admin-container{max-width:1100px;margin:4rem auto;padding:0 1.5rem}.admin-header-section{text-align:center;margin-bottom:2rem}.admin-header-section h2{color:var(--color-texte);font-size:2.5rem;font-weight:700;font-family:var(--font-title);text-align:center;margin-bottom:.5rem;padding-bottom:15px;position:relative}.admin-header-section h2:after{content:"";background-color:var(--color-yellow);width:50px;height:4px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.admin-subtitle{color:var(--color-sous-text);margin-top:1.5rem;font-size:.95rem}.admin-submenu{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:3rem;padding-bottom:1.5rem;display:flex}.admin-submenu-item{color:var(--color-texte);border-radius:.75rem;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s ease-in-out;display:flex}.admin-submenu-item:hover{color:#000;background-color:#f1f5f9}.admin-submenu-item.active{color:#000;background-color:#fef9c3;font-weight:700}.admin-submenu-badge{background-color:var(--color-yellow);color:#000;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:700}.admin-submenu-item.active .admin-submenu-badge{background-color:#fff}.admin-loading-screen{justify-content:center;align-items:center;min-height:70vh;display:flex}.admin-loading-spinner{border-top:2px solid var(--color-yellow);border-bottom:2px solid var(--color-yellow);border-left:2px solid #0000;border-right:2px solid #0000;border-radius:50%;width:3rem;height:3rem;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:2.5rem;display:grid}.kpi-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:1rem;justify-content:space-between;align-items:center;padding:1.75rem 1.5rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 10px 30px #00000005}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 12px 35px #8a5cf60f}.kpi-info p{color:var(--color-sous-text);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.kpi-value{color:var(--color-texte);font-size:2.25rem;font-weight:800;font-family:var(--font-title-secondary);margin-top:.5rem}.kpi-icon-box{color:#ca8a04;background-color:#fef9c3;border-radius:.75rem;padding:1rem}.kpi-icon-box svg{width:1.75rem;height:1.75rem}.kpi-blue{border-left:4px solid var(--color-yellow)}.kpi-red{border-left:4px solid #f87171}.kpi-green{border-left:4px solid #4ade80}.kpi-amber{border-left:4px solid #fbbf24}.dashboard-details-grid{grid-template-columns:2fr 1fr;gap:2rem;display:grid}@media (width<=1024px){.dashboard-details-grid{grid-template-columns:1fr}}.dashboard-card-box{background-color:#fff;border:1px solid #e2e8f0;border-radius:1rem;flex-direction:column;gap:1.5rem;padding:2rem;display:flex;box-shadow:0 10px 30px #00000005}.dashboard-card-box h3{color:var(--color-texte);font-size:1.25rem;font-weight:700;font-family:var(--font-title);margin-bottom:.5rem}.dashboard-progress-stack{flex-direction:column;gap:1.25rem;display:flex}.progress-item-label{color:var(--color-texte);justify-content:space-between;margin-bottom:.25rem;font-size:.9rem;font-weight:600;display:flex}.progress-track{background-color:#f1f5f9;border-radius:9999px;width:100%;height:.6rem;overflow:hidden}.progress-fill{border-radius:9999px;height:100%}.bg-blue{background-color:var(--color-yellow)}.bg-green{background-color:#4ade80}.bg-red{background-color:#f87171}.bg-amber{background-color:#fbbf24}.dashboard-shortcuts-box{background-color:#fff;border:1px solid #e2e8f0;border-radius:1rem;flex-direction:column;justify-content:space-between;padding:2rem;display:flex;box-shadow:0 10px 30px #00000005}.dashboard-shortcuts-info h3{color:var(--color-texte);font-size:1.25rem;font-weight:700;font-family:var(--font-title);margin-bottom:.5rem}.dashboard-shortcuts-info p{color:var(--color-sous-text);margin-bottom:1.5rem;font-size:.9rem}.shortcuts-list{flex-direction:column;gap:.75rem;margin-top:auto;display:flex}.shortcut-item{background-color:#fafafa;border:1px solid #f0f0f0;border-radius:.75rem;align-items:center;gap:.75rem;padding:1rem;display:flex}.shortcut-item svg{width:1.25rem;height:1.25rem}.shortcut-item span{color:var(--color-texte);font-size:.9rem;font-weight:600}.admin-projects-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.admin-projects-subtitle{color:#64748b;font-size:.875rem}.btn-add-project{background-color:var(--color-yellow);color:#000;cursor:pointer;border:none;border-radius:.75rem;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:700;transition:background-color .2s;display:flex;box-shadow:0 4px 6px -1px #fdc4351a}.btn-add-project:hover{background-color:#fdb815}.editor-grid{grid-template-columns:7fr 5fr;gap:2rem;display:grid}@media (width<=1024px){.editor-grid{grid-template-columns:1fr}}.editor-form-box{background-color:#fff;border:1px solid #e2e8f0;border-radius:1rem;flex-direction:column;gap:1.5rem;padding:2rem;display:flex;box-shadow:0 1px 3px #0000000d}.editor-form-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.editor-form-header h3{color:#1e293b;font-size:1.125rem;font-weight:700}.btn-close-editor{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;transition:background-color .2s;display:flex}.btn-close-editor:hover{background-color:#f1f5f9}.form-grid-fields{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.col-span-full{grid-column:span 2/span 2}.form-grid-fields input,.form-grid-fields textarea,.form-grid-fields select{box-sizing:border-box;width:100%;font-family:var(--font-primary);background-color:#fff;border:1px solid #e2e8f0;border-radius:.75rem;outline:none;padding:.75rem 1rem;font-size:.9rem;transition:border-color .2s,box-shadow .2s;box-shadow:0 1px 2px #00000005}.form-grid-fields input:focus,.form-grid-fields textarea:focus,.form-grid-fields select:focus{border-color:var(--color-yellow);box-shadow:0 0 0 3px #fdc43526}.form-grid-fields label{color:#475569;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.form-actions-box{border-top:1px solid #f1f5f9;gap:1rem;padding-top:1.5rem;display:flex}.btn-save-project{background-color:var(--color-yellow);color:#000;cursor:pointer;border:none;border-radius:.75rem;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-size:.875rem;font-weight:700;transition:background-color .2s;display:flex}.btn-save-project:hover{background-color:#fdb815}.btn-cancel-project{color:#475569;cursor:pointer;background-color:#f1f5f9;border:none;border-radius:.75rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;transition:background-color .2s}.btn-cancel-project:hover{background-color:#e2e8f0}.preview-title-bar{color:#64748b;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:700;display:flex}.preview-card-box{background-color:#fff;border:1px solid #e2e8f0;border-radius:1rem;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000000d}.preview-card-image{background-color:#f1f5f9;height:12rem;position:relative}.preview-card-image img{object-fit:cover;width:100%;height:100%}.preview-card-body{flex-direction:column;flex:1;justify-content:space-between;padding:1.5rem;display:flex}.preview-card-body h3{color:#1e293b;margin-bottom:.5rem;padding-bottom:0;font-size:1.25rem;font-weight:700}.preview-card-tags{flex-wrap:wrap;gap:.375rem;margin-bottom:1rem;display:flex}.preview-card-tag{color:#d97706;background-color:#fdc43526;border-radius:9999px;padding:.125rem .5rem;font-size:.625rem;font-weight:700}.preview-card-desc{color:#64748b;-webkit-box-orient:vertical;margin-bottom:1.5rem;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.preview-card-cta{background-color:var(--color-yellow);color:#000;border-radius:.5rem;width:max-content;padding:.5rem 1rem;font-size:.75rem;font-weight:700;display:inline-block}.projects-list-box{background-color:#fff;border:1px solid #e2e8f0;border-radius:1rem;overflow:hidden;box-shadow:0 1px 3px #0000000d}.projects-list-divider{flex-direction:column;display:flex}.project-row-item{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:1.5rem;transition:background-color .2s;display:flex}.project-row-item:last-child{border-bottom:none}.project-row-item:hover{background-color:#f8fafc}.project-row-left{align-items:center;gap:1rem;display:flex}.project-row-thumb{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;flex-shrink:0;width:4rem;height:4rem;overflow:hidden}.project-row-thumb img{object-fit:cover;width:100%;height:100%}.project-row-info h4{color:#1e293b;font-size:1rem;font-weight:700;font-family:var(--font-primary)}.project-row-tags{flex-wrap:wrap;gap:.375rem;margin-top:.375rem;display:flex}.project-row-tag{color:#475569;background-color:#f1f5f9;border-radius:9999px;align-items:center;gap:.25rem;padding:.125rem .625rem;font-size:.625rem;font-weight:600;display:inline-flex}.project-row-tag svg{width:.625rem;height:.625rem}.project-row-actions{align-items:center;gap:.5rem;display:flex}.btn-row-action{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem;transition:background-color .2s,color .2s;display:flex}.btn-row-action:hover{color:#d97706;background-color:#fdc43526}.btn-row-action.delete-action:hover{color:#ef4444;background-color:#fef2f2}.btn-row-action svg{width:1.125rem;height:1.125rem}@media (width<=640px){.admin-projects-header{flex-direction:column;align-items:stretch;gap:1rem}.btn-add-project{justify-content:center}.form-grid-fields{grid-template-columns:1fr}.form-grid-fields .col-span-full{grid-column:span 1/span 1}.project-row-item{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.25rem}.project-row-left{width:100%}.project-row-actions{border-top:1px solid #f1f5f9;justify-content:flex-end;width:100%;padding-top:.75rem}}.admin-contacts-grid{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=1025px){.admin-contacts-grid.has-selection{grid-template-columns:1fr 1fr}}.messages-list-box{background-color:#fff;border:1px solid #e2e8f0;border-radius:1rem;overflow:hidden;box-shadow:0 1px 3px #0000000d}.messages-list{flex-direction:column;display:flex}.message-row-item{cursor:pointer;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:1.25rem;transition:background-color .2s;display:flex}.message-row-item:last-child{border-bottom:none}.message-row-item:hover{background-color:#f8fafc}.message-row-item.unread{border-left:4px solid var(--color-yellow);background-color:#fdc4350a}.message-row-left{align-items:center;gap:1rem;min-width:0;display:flex}.message-status-icon-box{border-radius:.75rem;flex-shrink:0;padding:.625rem}.message-row-item.unread .message-status-icon-box{color:#d97706;background-color:#fdc43526}.message-row-item:not(.unread) .message-status-icon-box{color:#94a3b8;background-color:#f1f5f9}.message-status-icon-box svg{width:1.25rem;height:1.25rem}.message-row-info{min-width:0}.message-row-sender-line{align-items:center;gap:.5rem;display:flex}.message-sender-name{color:#475569;font-size:.875rem;font-weight:600}.message-row-item.unread .message-sender-name{color:#1e293b;font-weight:800}.message-date-stamp{color:#94a3b8;font-size:.625rem;font-weight:600}.message-sender-email{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;margin-top:.125rem;font-size:.75rem;overflow:hidden}.message-snippet-text{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin-top:.375rem;font-size:.875rem;overflow:hidden}.message-row-actions-block{align-items:center;gap:.5rem;display:flex}.btn-message-action{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;padding:.375rem;transition:background-color .2s,color .2s;display:flex}.btn-message-action:hover{color:#475569;background-color:#f1f5f9}.btn-message-action.delete-message-btn:hover{color:#ef4444;background-color:#fef2f2}.btn-message-action svg{width:1rem;height:1rem}.message-detail-box{background-color:#fff;border:1px solid #e2e8f0;border-radius:1rem;flex-direction:column;justify-content:space-between;padding:2rem;display:flex;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.message-detail-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:start;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.message-detail-sender-name{color:#1e293b;font-size:1.125rem;font-weight:700}.message-detail-sender-link{color:#d97706;font-size:.75rem;font-weight:600;text-decoration:none}.message-detail-sender-link:hover{text-decoration:underline}.message-detail-body-title{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:700}.message-detail-body-content{color:#334155;white-space:pre-wrap;background-color:#f8fafc;border:1px solid #f1f5f9;border-radius:.75rem;min-height:150px;padding:1rem;font-size:.875rem;line-height:1.6}.message-detail-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.5rem;display:flex}.message-detail-timestamp{color:#94a3b8;font-size:.75rem;font-weight:600}.btn-detail-delete{color:#ef4444;cursor:pointer;background-color:#fef2f2;border:none;border-radius:.75rem;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.75rem;font-weight:600;transition:background-color .2s;display:flex}.btn-detail-delete:hover{background-color:#fee2e2}.btn-detail-delete svg{width:.875rem;height:.875rem}.messages-empty-view{text-align:center;color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem;display:flex}.messages-empty-view svg{color:#cbd5e1;width:2.5rem;height:2.5rem}@media (width<=640px){.message-row-item{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.25rem}.message-row-left{width:100%}.message-row-actions-block{border-top:1px solid #f1f5f9;justify-content:flex-end;width:100%;padding-top:.5rem}.message-detail-header{flex-direction:column;align-items:flex-start;gap:.75rem}.message-detail-footer{text-align:center;flex-direction:column;align-items:stretch;gap:1rem}.btn-detail-delete{justify-content:center}}.admin-testimonials-subtitle{color:#64748b;margin-bottom:1.5rem;font-size:.875rem}.admin-testimonials-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;display:grid}.admin-testimonial-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:1rem;flex-direction:column;justify-content:space-between;padding:1.5rem;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000000d}.admin-testimonial-card.approved{background-color:#f0fdf44d;border-color:#bbf7d0}.admin-testimonial-card.pending{background-color:#fef3c74d;border-color:#fde68a}.admin-testimonial-top{justify-content:space-between;align-items:start;margin-bottom:1rem;display:flex}.admin-testimonial-author-block{align-items:center;gap:.75rem;display:flex}.admin-testimonial-avatar{object-fit:cover;border:1px solid #e2e8f0;border-radius:50%;width:2.5rem;height:2.5rem}.admin-testimonial-name{color:#1e293b;font-size:.875rem;font-weight:700}.admin-testimonial-role{color:#94a3b8;font-size:.75rem;font-weight:600}.testimonial-status-badge{border-radius:9999px;align-items:center;gap:.25rem;padding:.125rem .625rem;font-size:.625rem;font-weight:700;display:inline-flex}.testimonial-status-badge.approved{color:#166534;background-color:#dcfce7}.testimonial-status-badge.pending{color:#92400e;background-color:#fef3c7}.testimonial-status-badge svg{width:.75rem;height:.75rem}.admin-testimonial-quote{color:#475569;margin-bottom:1.5rem;font-size:.875rem;font-style:italic;line-height:1.6}.admin-testimonial-actions{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem;display:flex}.btn-testimonial-toggle-status{cursor:pointer;border:none;border-radius:.75rem;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.75rem;font-weight:700;transition:all .2s;display:flex}.admin-testimonial-card.approved .btn-testimonial-toggle-status{color:#d97706;background-color:#fdc43526}.admin-testimonial-card.approved .btn-testimonial-toggle-status:hover{background-color:#fdc43540}.admin-testimonial-card.pending .btn-testimonial-toggle-status{color:#166534;background-color:#22c55e26}.admin-testimonial-card.pending .btn-testimonial-toggle-status:hover{background-color:#22c55e40}.btn-testimonial-toggle-status svg{width:.875rem;height:.875rem}.btn-testimonial-delete{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem;transition:background-color .2s,color .2s;display:flex}.btn-testimonial-delete:hover{color:#ef4444;background-color:#fef2f2}.btn-testimonial-delete svg{width:1rem;height:1rem}.admin-testimonials-empty{text-align:center;color:#94a3b8;background-color:#fff;border:1px solid #e2e8f0;border-radius:1rem;grid-column:span 3;padding:3rem}.project-details-container{max-width:900px;margin:0 auto;padding:3rem 1.5rem}.btn-back-projects{color:#4a5568;align-items:center;gap:.5rem;margin-bottom:2rem;font-weight:700;text-decoration:none;transition:color .2s;display:inline-flex}.btn-back-projects:hover{color:var(--color-yellow)}.btn-back-projects svg{width:1rem;height:1rem}.project-details-header{margin-bottom:2rem}.project-details-header h1{color:#1a202c;font-size:2.5rem;font-weight:800;font-family:var(--font-title);margin-bottom:1rem}.project-details-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.project-details-tag{color:#334155;background-color:#f1f5f9;border-radius:9999px;align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.8125rem;font-weight:600;display:inline-flex}.project-details-tag svg{color:#64748b;width:.875rem;height:.875rem}.project-details-hero-img-box{background-color:#f8fafc;border:1px solid #f0f0f0;border-radius:1.5rem;max-height:480px;margin-bottom:3rem;overflow:hidden;box-shadow:0 10px 15px -3px #0000000d}.project-details-hero-img-box img{object-fit:cover;width:100%;height:100%}.project-details-layout{grid-template-columns:2fr 1fr;gap:3rem;display:grid}@media (width<=768px){.project-details-layout{grid-template-columns:1fr;gap:2rem}}.project-details-description{flex-direction:column;gap:1.5rem;display:flex}.project-details-description h2{color:#1a202c;border-bottom:1px solid #f1f5f9;margin-bottom:.5rem;padding-bottom:.75rem;font-size:1.75rem;font-weight:700}.project-details-description p{color:#4a5568;white-space:pre-line;font-size:1.1rem;line-height:1.7}.project-details-sidebar{flex-direction:column;gap:1.5rem;display:flex}.project-meta-card{background-color:#f8fafc;border:1px solid #f1f5f9;border-radius:1rem;padding:1.5rem}.project-meta-card h3{color:#1e293b;margin-bottom:1rem;font-size:1.125rem;font-weight:700}.project-meta-stack{flex-direction:column;gap:.75rem;display:flex}.project-meta-row{border-bottom:1px solid #e2e8f080;justify-content:space-between;align-items:center;padding-bottom:.5rem;font-size:.875rem;display:flex}.project-meta-row:last-child{border-bottom:none;padding-bottom:0}.project-meta-row-label{color:#64748b}.project-meta-row-value{color:#334155;font-weight:600}.btn-project-cta-link{background-color:var(--color-yellow);color:#000;text-align:center;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-weight:700;text-decoration:none;transition:background-color .2s,box-shadow .2s;display:flex;box-shadow:0 4px 6px -1px #fdc4351a}.btn-project-cta-link:hover{background-color:#fdb815}.btn-project-cta-link svg{width:1rem;height:1rem}
