:root{--bg-primary: #fffaf0;--bg-secondary: #ffffff;--text-primary: #252525;--text-secondary: #8b7b70;--accent-color: #db7135;--highlight-color: #f4c677;--shadow-color: rgba(0,0,0,.1)}#root{width:100%}body{margin:0;font-family:Helvetica,sans-serif;background:var(--bg-primary) url(/assets/background-50-CJfoHzXd.png) no-repeat fixed center center;background-size:cover;color:var(--text-primary)}.app{max-width:900px;margin:0 auto;padding:20px}.header{text-align:center;margin-bottom:30px}.header-subtitle{font-family:Roboto,sans-serif;font-size:1.6rem;color:var(--text-secondary);text-align:center;margin:0}.header h1{font-family:Brush Script MT,cursive;font-size:5rem;color:var(--accent-color);margin:0}.header-date{display:inline-block;font-family:Inter,sans-serif;font-size:1rem;font-weight:700;color:var(--text-secondary);text-align:center;margin-top:0;background-color:var(--highlight-color);padding:5px 10px;border-radius:5px}.upload-section{background-color:var(--bg-secondary);padding:20px 40px;border-radius:15px;margin-bottom:40px;box-shadow:#64646f33 0 7px 29px}.upload-section h2{margin-bottom:15px;color:var(--accent-color)}.upload-form{display:flex;flex-direction:column;gap:10px}.upload-form input,.upload-form textarea{padding:10px;border-radius:10px;border:1px solid #ccc;font-size:1rem}.upload-button{background-color:var(--text-secondary);border:none;border-radius:30px;padding:10px;color:#fff;font-weight:700;cursor:pointer;transition:transform .2s,background-color .2s}.upload-button:hover{background-color:var(--accent-color)}.status{text-align:center;margin-top:10px;color:var(--text-secondary)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.photo-card{position:relative;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:transform .3s,box-shadow .3s}.photo-card img{width:100%;display:block}.photo-card:hover{transform:scale(1.05);box-shadow:0 4px 12px #0003}.photo-prenom{position:absolute;bottom:5px;left:5px;color:#fff;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.6);font-size:.8rem}.card{display:flex;flex-direction:column;background-color:var(--bg-secondary);border-radius:15px;box-shadow:0 4px 10px var(--shadow-color);overflow:hidden;margin:20px 0}.card-image{width:100%;height:180px;object-fit:cover}.card-content{padding:20px 40px;display:flex;flex-direction:column;gap:8px}.card-title{font-size:1.5rem;font-weight:700;margin-bottom:15px;color:var(--accent-color)}.card-body{flex:1;font-size:1rem;color:#555}.card.card--action{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;text-align:center}.card.card--action:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0000001a}@media (max-width: 768px){.card{max-width:100%}}:root{--bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15)}.modal{position:fixed;display:block;top:0;left:0;width:100%;height:100%;z-index:1055;overflow-x:hidden;overflow-y:auto;background-color:#00000080}.modal-dialog{position:relative;width:auto;margin:1.75rem;pointer-events:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border-radius:.5rem;border:1px solid rgba(0,0,0,.17);outline:0}@media (min-width: 576px){.modal-dialog{max-width:500px;margin-right:auto;margin-left:auto}}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:1rem;border-bottom:1px solid rgb(222,226,230);border-top-left-radius:calc(.5rem - 1px);border-top-right-radius:calc(.5rem - 1px)}.modal-header .modal-title{margin-bottom:0;line-height:1.5}.modal-header .btn-close{box-sizing:content-box;cursor:pointer;width:1em;height:1em;padding:.25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5;margin:-.5rem -.5rem -.5rem auto}.modal-header .btn-close:hover{color:#000;text-decoration:none;opacity:.75}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;background-color:#fff;border-top:1px solid rgb(222,226,230);border-bottom-left-radius:calc(.5rem - 1px);border-bottom-right-radius:calc(.5rem - 1px)}.preview{display:block;overflow:hidden}.preview img{display:block;max-width:100%}.input-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.input-field label{font-weight:500}.input-field input,.input-field select,.input-field textarea{padding:8px 12px;border:1px solid #ccc;border-radius:6px;font-size:1rem;transition:border .2s ease}.input-field input:focus,.input-field select:focus,.input-field textarea:focus{outline:none;border-color:#007bff}.error{color:red;font-size:.85rem}.btn{display:inline-block;padding:.6rem 1rem;border-radius:8px;border:none;cursor:pointer;font-weight:500;transition:background .2s ease}.btn--primary{background:var(--text-secondary);color:#fff}.btn--primary:hover{background:var(--accent-color)}.btn--secondary{background:var(--highlight-color);color:#fff}.btn--secondary:hover{background:var(--accent-color)}.container{display:flex;gap:1rem;justify-content:center;margin:2rem 0}.popup-message{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:12px 20px;border-radius:8px;font-size:16px;animation:fadeInOut 3s ease forwards;z-index:9999}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,20px)}10%{opacity:1;transform:translate(-50%)}90%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,20px)}}.loader-overlay{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background:#fffc;z-index:9999}.loader{display:flex;align-items:center;justify-content:center;flex-direction:column}.loader svg{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.install-banner{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#ffc0cbf2;color:#4a2c2a;padding:14px 20px;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:0 4px 15px #0003;font-family:Arial,sans-serif;max-width:90%;z-index:1000;animation:slideUp .5s ease-out;text-align:center}@keyframes slideUp{0%{transform:translate(-50%) translateY(100px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.install-banner-text{font-size:1rem}.install-banner-buttons{display:flex;gap:10px;margin-top:5px}.install-btn{background:#ff69b4;color:#fff;border:none;padding:8px 16px;border-radius:8px;cursor:pointer;font-weight:700;transition:transform .2s ease}.install-btn:hover{transform:scale(1.05)}.close-btn{background:transparent;color:#4a2c2a;border:none;font-size:1.2rem;cursor:pointer}
