@import"https://fonts.googleapis.com/css2?family=Roboto:wght@500&display=swap";:root{--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--primary: #3b82f6;--primary-light: #60a5fa;--primary-dark: #2563eb;--success: #10b981;--danger: #ef4444;--warning: #f59e0b;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--text-primary: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--border-color: #e5e7eb;--border-color-hover: #d1d5db;--card-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--card-shadow-hover: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04)}.dark{--bg-primary: #1f2937;--bg-secondary: #111827;--bg-tertiary: #0f172a;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-tertiary: #9ca3af;--border-color: #374151;--border-color-hover: #4b5563;--card-shadow: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -2px rgba(0, 0, 0, .2);--card-shadow-hover: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .3)}body{background-color:var(--bg-secondary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-secondary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{font-family:Roboto,sans-serif}.headerApp{position:fixed;top:0;width:100%;height:120px;background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);z-index:1000;transition:all .3s ease}.contentCenter{display:flex;justify-content:center;min-height:calc(100vh - 120px)}.titleFont{font-family:Roboto,sans-serif;color:var(--text-primary);transition:color .3s ease}.font{font-family:Roboto,sans-serif}.fontErrorMessage{font-family:Roboto,sans-serif;color:var(--danger)}.titleFontSize{margin-left:1rem;font-size:50px}.avatar{height:60px}.App{min-height:100dvh;display:flex;flex-direction:column}.routeContent{flex:1}@media (max-width: 600px){.titleFontSize{margin-left:.5rem}}.form-connect{position:relative;display:flex;flex-direction:column;margin-top:100px;margin-bottom:auto}.form-title-font{font-family:Roboto,sans-serif;font-size:32px;color:#acacac;text-align:center}.form-title-font-h3{font-family:Roboto,sans-serif;text-align:center;color:#4a4a4a}.form{position:relative;display:flex;flex-direction:column;width:300px;height:auto;padding:1rem;margin:auto;border:1px solid grey;border-radius:12px;z-index:2;box-shadow:0 10px 25px -5px #3b82f626,0 4px 6px -2px #0000001a}.form-input{background:transparent;border:transparent;margin:.6rem 1rem;border-bottom:1px solid grey;color:#acacac;width:calc(100% - 2rem)}.form-input:focus{outline:none}.form-input::placeholder{color:gray}.forgotPassword-input{text-align:center}.alreadyHaveAnAccont{margin:1rem;font-size:1rem;color:#4a4a4a}.formConnectAvatar{display:flex;flex-direction:column;align-items:center;margin:.5rem 0}.password-input-container{position:relative;display:flex;align-items:center}.password-input-container input{width:100%;background:transparent;border:transparent;margin:1rem;border-bottom:1px solid grey}.toggle-password-visibility{position:absolute;right:20px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1rem;color:#888;padding:0}.toggle-password-visibility:focus{outline:none}.error-message{margin:20px}.btn-link{display:flex;justify-content:center;margin-top:10px}.btnAcount{padding:.4rem;font-size:.8rem;background-color:var(--gray-700);color:var(--gray-300);border-color:var(--gray-600);margin-bottom:1rem;border-radius:7px}.btnLog{padding:.6rem;font-size:.8rem;background-color:var(--gray-800);color:var(--gray-300);border-color:var(--gray-700);border-radius:10px}.btnLog:hover{background-color:var(--gray-600)}.form-connect-message{margin-top:1rem;display:flex;flex-direction:column;text-align:center}.btnLogin{display:flex;justify-content:space-around}.avatarSignup{height:100px;margin-top:.5rem;display:block}.form-group{display:flex;flex-direction:column;margin:.5rem 1rem}.form-label{font-size:.75rem;color:gray;margin-bottom:.25rem}.form-group .form-input{margin:0}.modal-overlay,.delete-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-in-out}.delete-modal{background:var(--bg-primary);border:3px solid var(--danger);padding:2rem;border-radius:12px;max-width:500px;width:90%;box-shadow:0 10px 40px #00000080;animation:slideUp .3s ease-in-out;transition:all .3s ease}.delete-modal h2{color:var(--danger);margin-bottom:1rem;font-size:1.5rem;font-family:Roboto,sans-serif;text-align:center}.delete-modal p{margin-bottom:1rem;color:var(--text-secondary);line-height:1.6;font-family:Roboto,sans-serif;text-align:center;transition:color .3s ease}.delete-modal strong{color:var(--danger);font-weight:600}.delete-modal input{width:100%;margin:1rem 0;padding:12px;border:2px solid var(--border-color);border-radius:4px;background-color:var(--bg-tertiary);color:var(--text-primary);font-size:16px;font-family:Roboto,sans-serif;box-sizing:border-box;transition:all .3s ease}.delete-modal input:focus{outline:none;border-color:var(--danger)}.delete-modal-buttons{display:flex;gap:1rem;margin-top:1.5rem;justify-content:center;align-items:stretch}.delete-modal-buttons .btn-profil,.delete-modal-buttons .btn-delete{padding:10px;height:50px}.success-message-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1001;animation:fadeIn .3s ease-in-out}.success-message{background:var(--bg-primary);border:3px solid var(--success);padding:2.5rem 2rem;border-radius:12px;max-width:400px;width:90%;box-shadow:0 10px 40px #00000080;animation:slideUp .3s ease-in-out;text-align:center;transition:all .3s ease}.success-icon{width:70px;height:70px;background:var(--success);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:#fff;margin:0 auto 1.5rem;animation:successPulse .6s ease-in-out}.success-message h2{color:var(--success);margin-bottom:1rem;font-size:1.5rem;font-family:Roboto,sans-serif}.success-message p{color:var(--text-secondary);font-family:Roboto,sans-serif;font-size:1rem;transition:color .3s ease}.error-message-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1001;animation:fadeIn .3s ease-in-out}.error-message{background:var(--bg-primary);border:3px solid var(--danger);padding:2.5rem 2rem;border-radius:12px;max-width:400px;box-shadow:0 10px 40px #00000080;animation:slideUp .3s ease-in-out;text-align:center;transition:all .3s ease}.error-icon{width:70px;height:70px;background:var(--danger);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:#fff;margin:0 auto 1.5rem 0;animation:errorShake .6s ease-in-out}.error-message h2{color:var(--danger);margin-bottom:1rem;font-size:1.5rem;font-family:Roboto,sans-serif}.error-message p{color:var(--text-secondary);font-family:Roboto,sans-serif;font-size:1rem;margin-bottom:1.5rem;transition:color .3s ease}.error-message-button{background-color:var(--danger);color:#fff;border:none;padding:12px 32px;border-radius:4px;font-size:16px;font-family:Roboto,sans-serif;cursor:pointer;transition:all .3s ease}.error-message-button:hover{background-color:#c82333;transform:translateY(-2px);box-shadow:0 4px 12px #dc354566}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes successPulse{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes errorShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@media (max-width: 600px){.delete-modal{padding:1.5rem;width:95%}.delete-modal h2{font-size:1.3rem}.delete-modal-buttons{flex-direction:column;gap:.5rem}.delete-modal-buttons button{width:100%;margin:0}.success-message{padding:2rem 1.5rem}.success-icon{width:60px;height:60px;font-size:2rem}.success-message h2{font-size:1.3rem}.error-message{padding:2rem 1.5rem}.error-icon{width:60px;height:60px;font-size:2rem}.error-message h2{font-size:1.3rem}.error-message-button{width:100%;padding:12px 16px}}.formAddDAte{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:800px;margin:0 auto;gap:1rem}.formAddInput{background:transparent;border:transparent;margin:.5rem;border-bottom:1px solid grey}.formAddInput::placeholder{color:#fff}.formAddInput:focus{outline:none}.formEditDateInput:focus{outline:none}.formEditDateInput{background:transparent;border:transparent;border-bottom:1px solid grey}#family{color:#f0f8ff}.form-date-label{font-size:.8em;color:var(--gray-500)}.form-date-input1{margin-bottom:.6rem}.addDate-inputDate{width:100px;border-bottom:none}#family{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;background:#ffffff0d;border:1px solid rgba(255,255,255,.3);border-radius:4px;cursor:pointer;transition:all .3s ease;position:relative}#family:hover{border-color:#667eea}#family:checked{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea}#family:checked:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.form-date-checkbox{display:flex;flex-direction:row;align-items:center;gap:8px;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;transition:all .3s ease;box-sizing:border-box;height:40px}.form-date-checkbox:hover{border-color:#fff3}.form-date-input{color:#fff;background:transparent;border:transparent;border-bottom:1px solid grey;cursor:pointer;color-scheme:dark}.form-input-date::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer;opacity:.7;transition:all .3s ease}.form-input-date::-webkit-calendar-picker-indicator:hover{opacity:1;filter:invert(.7) sepia(1) saturate(3) hue-rotate(200deg)}.form-input-date:focus{outline:none;border-bottom-color:#667eea}input[type=date].filter-input{color:var(--gray-500);color-scheme:dark}input[type=date].filter-input::-webkit-datetime-edit-fields-wrapper{color:var(--gray-500)}input[type=date].filter-input::-webkit-datetime-edit-day-field,input[type=date].filter-input::-webkit-datetime-edit-month-field,input[type=date].filter-input::-webkit-datetime-edit-year-field{color:var(--gray-500)}input[type=date].filter-input::-webkit-datetime-edit-day-field:focus,input[type=date].filter-input::-webkit-datetime-edit-month-field:focus,input[type=date].filter-input::-webkit-datetime-edit-year-field:focus{background:#667eea4d;color:#fff}input[type=date].filter-input::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.7;cursor:pointer;transition:opacity .3s ease}input[type=date].filter-input::-webkit-calendar-picker-indicator:hover{opacity:1}:root{--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827}:root table{width:100%;border-collapse:collapse;table-layout:fixed}:root td{border:1px solid #ddd;padding:8px;vertical-align:top;width:14.28%;color:#8dbfce;overflow:auto;scrollbar-width:none}:root tr:nth-child(2n){background-color:var(--gray-600)}:root td:hover{background-color:#ddd;color:var(--gray-600)}:root h2{text-align:center;color:#333}:root .btnAgenda{background-color:#1b1b71;color:#fff;padding:10px 24px;margin:10px;border:none;border-radius:50px;cursor:pointer}:root .btnAgenda:hover{background-color:#008cba}:root p{margin:0;color:#666}:root .square{width:80%;height:0;padding-bottom:45%;position:relative}:root .square-content{position:absolute;width:100%;height:100%}:root .nameAgenda{text-align:end}:root .month-navigation{display:flex;justify-content:center;align-items:center}:root .currentMonth{color:var(--gray-300)}:root .agenda-names{width:225px;margin:.3rem;font-size:smaller}@media (max-width: 600px){:root .day-number{display:flex;justify-content:center;align-items:center}:root .day-number strong{margin-right:4px}:root .names{font-size:smaller;text-align:center}:root td{height:80px}:root table{margin-top:1rem}}.date-filter{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:800px;margin:0 0 .5rem;gap:1rem}.filter-input{margin-bottom:.6rem}.title-filter{margin:0;font-size:1.5rem;color:var(--text-primary);font-family:Roboto,sans-serif;transition:color .3s ease}.inputFilter{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:.5rem;color:var(--text-primary);width:170px;margin:0 1rem 0 0rem;transition:all .3s ease}.inputFilter:focus{outline:none;border-color:var(--primary);background:var(--bg-secondary)}.inputFilter::placeholder{color:var(--text-tertiary)}@media (max-width: 600px){.btn-filter{padding:.65rem 1rem}.inputFilter{width:130px;margin:.4rem}.title-filter{font-size:1.3em}}:root{--primary: #4361ee;--primary-light: #4cc9f0;--secondary: #f72585;--secondary-light: #ff9e00;--dark: #3a0ca3;--light: #f8f9fa;--gray: #6c757d;--success: #4ade80;--danger: #ef4444}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.birthCardCountdown{display:flex;justify-content:space-between;margin-bottom:1rem;gap:.5rem}.daysContainer,.hoursContainer,.minutesContainer,.secondsContainer{display:flex;flex-direction:column;align-items:center;flex:1}.days,.hours,.minutes,.seconds{font-size:1.5rem;font-weight:700;width:100%;height:46px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary) 100%);color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin-bottom:.25rem;animation:pulse 1s infinite;animation-delay:.1s}.hours{background:linear-gradient(135deg,var(--primary) 0%,var(--dark) 100%);animation-delay:.2s}.minutes{background:linear-gradient(135deg,var(--secondary-light) 0%,var(--secondary) 100%);animation-delay:.3s}.seconds{background:linear-gradient(135deg,var(--secondary) 0%,var(--dark) 100%);animation-delay:.4s}.daysLabel,.hoursLabel,.minutesLabel,.secondsLabel{font-size:.625rem;color:var(--gray);text-transform:uppercase;letter-spacing:.05em}.lastDay .days{animation:pulse .6s infinite;background:linear-gradient(135deg,var(--secondary) 0%,var(--danger) 100%)}Style pour le compteur mobile .birthCardCountdown.mobile{gap:.25rem}.birthCardCountdown.mobile .days,.birthCardCountdown.mobile .hours,.birthCardCountdown.mobile .minutes,.birthCardCountdown.mobile .seconds{border-radius:6px;font-size:.85rem;height:28px}.birthCardCountdown.mobile .daysLabel,.birthCardCountdown.mobile .hoursLabel,.birthCardCountdown.mobile .minutesLabel,.birthCardCountdown.mobile .secondsLabel{font-size:.6rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.birthDeck{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;padding:1.5rem;max-width:1600px;margin:0 auto}.birthCard{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;position:relative;box-shadow:var(--card-shadow);transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,border-color .3s ease;animation:fadeIn .5s ease backwards;display:flex;flex-direction:column;min-height:320px;height:100%;z-index:0}.birthCard:nth-child(5n+1){animation-delay:.1s}.birthCard:nth-child(5n+2){animation-delay:.2s}.birthCard:nth-child(5n+3){animation-delay:.3s}.birthCard:nth-child(5n+4){animation-delay:.4s}.birthCard:nth-child(5n+5){animation-delay:.5s}.birthCard:hover{transform:translateY(-5px);box-shadow:var(--card-shadow-hover)}.birthCard:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--gray-400)}.birthCard:nth-child(4n+1):before{background:var(--gray-400)}.birthCard:nth-child(4n+2):before{background:var(--gray-500)}.birthCard:nth-child(4n+3):before{background:var(--gray-600)}.birthCard:nth-child(4n+4):before{background:var(--primary)}.birthCard.family:before{background:var(--gray-700)}.birthCardName{padding:1.25rem 1.25rem .5rem;display:flex;flex-direction:column;line-height:1.2;z-index:1}.birthCard-name{font-size:1.25rem;color:var(--text-primary);margin-right:.5rem;text-align:center;transition:color .3s ease}.birthCardName span:last-child{text-align:center;font-size:1rem;color:var(--text-secondary);transition:color .3s ease}.birthCardAge{padding:0 1.25rem;margin-bottom:.5rem}.age{font-size:2rem;font-weight:700;color:var(--primary);display:inline-block}.birthCardDate{text-align:center;padding:0 1.25rem;margin-bottom:1rem;font-size:.875rem;color:var(--text-secondary);transition:color .3s ease}.birthCardCenter{margin-top:auto;padding:1.25rem;border-top:1px solid var(--border-color);background-color:var(--bg-secondary);display:flex;flex-direction:column;gap:1rem;transition:background-color .3s ease,border-color .3s ease}.daysUntilBirthday{width:100%}.button-group{display:flex;gap:.5rem}.btn-edit,.btn-view,.btn-message{flex:1;padding:.65rem 0;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem}.btn-edit{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-view{background-color:var(--primary);color:#fff}.btn-message{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-edit:hover{background-color:var(--bg-secondary);border-color:var(--border-color-hover)}.btn-view:hover{background-color:var(--primary-light)}.btn-message:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.birthCard.today:after{content:"Aujourd'hui !";position:absolute;top:22px;right:-47px;background-color:var(--gray-600);color:#fff;padding:.25rem 1.5rem;font-size:.75rem;font-weight:700;transform:rotate(45deg);box-shadow:0 2px 4px #0000001a;z-index:1;width:110px;text-align:center}.birthCard.thisWeek:after{content:"Cette semaine";position:absolute;top:22px;right:-47px;background-color:var(--gray-500);color:#fff;padding:.25rem 1.5rem;font-size:.75rem;font-weight:700;transform:rotate(45deg);box-shadow:0 2px 4px #0000001a;z-index:1;width:110px;text-align:center}.no-results{text-align:center;padding:2rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:1.1rem;margin:2rem auto;box-shadow:var(--card-shadow);max-width:600px;transition:all .3s ease}@media (max-width: 1400px){.birthDeck{grid-template-columns:repeat(4,1fr)}}@media (max-width: 1100px){.birthDeck{grid-template-columns:repeat(3,1fr)}}@media (max-width: 850px){.birthDeck{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.birthDeck{grid-template-columns:repeat(2,1fr);gap:.8rem;row-gap:2.5rem;padding:.8rem}.birthCard{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"name age" "date date" "countdown countdown" "actions actions";min-height:unset;padding:.75rem .75rem 0;border-radius:12px;overflow:hidden}.birthCardName{grid-area:name;padding:.3rem 0 .3rem .3rem}.birthCardAge{grid-area:age;text-align:right;padding:.3rem .3rem .3rem 0;margin:0}.birthCardDate{grid-area:date;text-align:center;padding:0;margin:.25rem 0;font-size:.8rem}.daysUntilBirthday{grid-area:countdown;margin:.3rem 0}.birthCardCenter{grid-area:actions;width:calc(100% + 1.5rem);margin:.4rem -.75rem -.75rem;padding:.5rem .75rem;border-top:1px solid var(--border-color);background-color:var(--bg-secondary);border-radius:0 0 12px 12px}.birthCard-name{font-size:1rem;margin-right:0}.birthCardName span:last-child{font-size:.8rem}.age{flex-direction:column;font-size:1.5rem;display:flex}.button-group{display:flex;flex-direction:row;gap:.4rem;width:100%}.btn-edit,.btn-view,.btn-message{flex:1;padding:.5rem 0;font-size:.75rem;border-radius:6px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.birthCard.today:after,.birthCard.thisWeek:after{font-size:.65rem;top:19px;right:-40px;padding:.2rem 1rem;width:100px}}@media (max-width: 380px){.birthDeck{gap:.6rem;padding:.6rem}.btn-edit,.btn-view,.btn-message{font-size:.68rem;padding:.45rem 0}.birthCard.today:after,.birthCard.thisWeek:after{right:-40px;font-size:.6rem;padding:.15rem .8rem;width:90px}}.btn-message{position:relative;overflow:visible!important}.notification-badge-inline{position:absolute;top:-6px;right:-6px;background:#ef4444;color:#fff;border-radius:50%;width:18px;height:18px;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;z-index:2}.manual-merge-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.manual-merge-modal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;max-width:600px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #00000080;transition:all .3s ease}.manual-merge-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:var(--success);color:#fff;border-radius:12px 12px 0 0}.manual-merge-header h3{margin:0;font-size:1.3rem}.close-btn{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .3s}.close-btn:hover{background:#fff3}.manual-merge-body{padding:20px;overflow-y:auto;flex:1}.source-card-info{margin-bottom:20px}.source-card-info h4,.target-selection h4{margin:0 0 10px;color:var(--text-primary);font-size:1rem;transition:color .3s ease}.card-preview-small{background:var(--bg-tertiary);border:2px solid var(--warning);border-radius:8px;padding:15px;transition:all .3s ease}.card-preview-small p{margin:5px 0;color:var(--text-secondary);transition:color .3s ease}.arrow-down{text-align:center;font-size:2rem;margin:15px 0;color:var(--text-tertiary)}.target-selection{margin-top:20px}.no-cards{text-align:center;color:var(--text-tertiary);padding:20px;font-style:italic}.cards-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto}.card-option{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;padding:15px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease;position:relative}.card-option:hover{border-color:var(--success);background:var(--bg-tertiary);transform:translate(5px)}.card-option.selected{border-color:var(--success);background:#10b9811a;box-shadow:0 2px 8px #10b9814d}.card-option-info{flex:1}.card-option-name{margin:0 0 5px;color:var(--text-primary);font-size:1.1rem;transition:color .3s ease}.card-option-date,.card-option-gifts{margin:3px 0;color:var(--text-secondary);font-size:.9rem;transition:color .3s ease}.selected-check{width:30px;height:30px;background:var(--success);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700}.manual-merge-footer{display:flex;gap:10px;padding:20px;border-top:1px solid var(--border-color);transition:border-color .3s ease}.btn-cancel,.btn-merge{flex:1;padding:12px;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:700;transition:all .3s ease}.btn-cancel{background:var(--gray-600);color:#fff}.btn-cancel:hover{background:var(--gray-700)}.btn-merge{background:var(--success);color:#fff}.btn-merge:hover:not(:disabled){background:#059669}.btn-merge:disabled,.btn-cancel:disabled{background:var(--gray-400);cursor:not-allowed;opacity:.6}.cards-list::-webkit-scrollbar{width:8px}.cards-list::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:10px}.cards-list::-webkit-scrollbar-thumb{background:var(--gray-500);border-radius:10px}.cards-list::-webkit-scrollbar-thumb:hover{background:var(--gray-600)}@media (max-width: 768px){.manual-merge-modal{max-height:90vh}.manual-merge-header h3{font-size:1.1rem}.card-option{padding:12px}.card-option-name{font-size:1rem}}.conversation-list{width:100%;max-width:380px;background:var(--bg-primary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100%;transition:background-color .3s ease}.conversation-list-header{padding:20px;border-bottom:1px solid var(--border-color);background:var(--bg-primary);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.conversation-list-header h2{margin:0;font-size:24px;font-weight:600;color:var(--text-primary)}.new-chat-button{background:var(--primary);color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 8px #3b82f64d}.new-chat-button:hover{background:var(--primary-dark);transform:scale(1.05);box-shadow:0 4px 12px #3b82f666}.new-chat-button:active{transform:scale(.95)}.conversations{flex:1;overflow-y:auto;background:var(--bg-primary)}.conversations::-webkit-scrollbar{width:8px}.conversations::-webkit-scrollbar-track{background:transparent}.conversations::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px;transition:background .2s}.conversations::-webkit-scrollbar-thumb:hover{background:var(--border-color-hover)}.conversation-item{position:relative;display:flex;padding:16px;cursor:pointer;transition:all .2s;border-bottom:1px solid var(--border-color)}.conversation-item:hover{background:var(--bg-secondary)}.conversation-item:hover .delete-conversation-btn{opacity:1}.conversation-item.deleting{background:#fef3c7;cursor:default}.dark .conversation-item.deleting{background:#f59e0b26}.conversation-item.active{background:#3b82f61a;border-left:4px solid var(--primary)}.dark .conversation-item.active{background:#3b82f626}.conversation-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:20px;margin-right:12px;flex-shrink:0;position:relative}.conversation-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.conversation-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.conversation-name{font-weight:600;font-size:15px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-time{font-size:12px;color:var(--text-tertiary);white-space:nowrap;flex-shrink:0}.conversation-preview{display:flex;align-items:center;gap:8px}.last-message{flex:1;font-size:14px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unread-badge{background:var(--primary);color:#fff;font-size:12px;font-weight:600;padding:3px 8px;border-radius:12px;min-width:20px;text-align:center;flex-shrink:0}.delete-conversation-btn{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:18px;cursor:pointer;opacity:0;transition:all .2s;padding:8px;border-radius:6px;z-index:10;color:var(--text-secondary)}.delete-conversation-btn:hover{background:#ef44441a;color:var(--danger);transform:translateY(-50%) scale(1.15)}.delete-conversation-btn:active{transform:translateY(-50%) scale(.95)}.delete-confirmation{background:#fef3c7;border-left:4px solid var(--warning);padding:15px;display:flex;flex-direction:column;gap:12px;animation:slideDown .2s ease-out}.dark .delete-confirmation{background:#f59e0b26;border-left-color:var(--warning)}@keyframes slideDown{0%{opacity:0;max-height:0;padding:0 15px}to{opacity:1;max-height:120px;padding:15px}}.delete-confirmation-text{font-size:14px;color:#92400e;font-weight:500}.dark .delete-confirmation-text{color:var(--warning)}.delete-confirmation-actions{display:flex;gap:10px}.confirm-delete-btn,.cancel-delete-btn{flex:1;padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.confirm-delete-btn{background:var(--danger);color:#fff}.confirm-delete-btn:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 2px 8px #ef44444d}.confirm-delete-btn:active{transform:translateY(0)}.cancel-delete-btn{background:var(--gray-500);color:#fff}.cancel-delete-btn:hover{background:var(--gray-600);transform:translateY(-1px);box-shadow:0 2px 8px #6b72804d}.cancel-delete-btn:active{transform:translateY(0)}.no-conversations{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px;text-align:center;color:var(--text-secondary)}.no-conversations p{margin:10px 0;color:var(--text-primary)}.no-conversations .hint{font-size:14px;color:var(--text-tertiary)}.new-chat-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-primary);padding:30px;border-radius:12px;box-shadow:var(--card-shadow-hover);border:1px solid var(--border-color);z-index:1000;min-width:400px;max-width:90%;max-height:80vh;overflow-y:auto;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.new-chat-modal h3{margin:0 0 20px;font-size:20px;color:var(--text-primary)}.friends-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.friend-item{display:flex;align-items:center;padding:12px;border-radius:8px;cursor:pointer;transition:background .2s}.friend-item:hover{background:var(--bg-secondary)}.friend-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;margin-right:12px;position:relative}.friend-info{flex:1;display:flex;flex-direction:row;gap:2px}.friend-name{font-weight:500;color:var(--text-primary)}.no-friends{text-align:center;color:var(--text-tertiary);padding:20px}.close-modal{width:100%;padding:12px;background:var(--gray-500);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.close-modal:hover{background:var(--gray-600)}@media (max-width: 768px){.conversation-list{max-width:100%;border-right:none}.conversation-item{padding:14px}.delete-conversation-btn{opacity:.6}.new-chat-modal{min-width:auto;width:90%;padding:20px}.delete-confirmation{padding:12px}.delete-confirmation-text{font-size:13px}.confirm-delete-btn,.cancel-delete-btn{font-size:13px;padding:8px 12px}}.message-input-container{border-top:1px solid var(--border-color);background:var(--bg-primary);flex-shrink:0;transition:all .3s ease}.editing-indicator{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#3b82f61a;border-bottom:2px solid var(--primary);font-size:13px;color:var(--primary-dark);font-weight:500;animation:slideDown .2s ease-out}.dark .editing-indicator{background:#3b82f626;color:var(--primary-light)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.editing-indicator span{display:flex;align-items:center;gap:8px}.cancel-edit-btn{background:none;border:none;color:var(--primary);font-size:20px;cursor:pointer;padding:6px 10px;border-radius:6px;transition:all .2s;line-height:1}.cancel-edit-btn:hover{background:#3b82f626;transform:scale(1.1)}.cancel-edit-btn:active{transform:scale(.95)}.message-input-form{display:flex;padding:16px;gap:12px;align-items:flex-end;width:100%}.message-input-form textarea{flex:1;min-height:48px;max-height:150px;padding:12px 16px;border:2px solid var(--border-color);border-radius:24px;font-size:15px;font-family:inherit;resize:none;outline:none;transition:all .2s;background:var(--bg-primary);color:var(--text-primary);line-height:1.5}.message-input-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.dark .message-input-form textarea:focus{box-shadow:0 0 0 3px #3b82f633}.message-input-form textarea.editing{border:2px solid var(--primary);background:#3b82f60d}.dark .message-input-form textarea.editing{background:#3b82f61a}.message-input-form textarea::placeholder{color:var(--text-tertiary)}.send-button{width:48px;height:48px;border:none;background:var(--primary);color:#fff;border-radius:50%;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;box-shadow:0 2px 8px #3b82f64d}.send-button:hover:not(:disabled){background:var(--primary-dark);transform:scale(1.05);box-shadow:0 4px 12px #3b82f666}.send-button:active:not(:disabled){transform:scale(.95)}.send-button:disabled{background:var(--gray-400);cursor:not-allowed;opacity:.6;box-shadow:none}.dark .send-button:disabled{background:var(--gray-600)}@media (max-width: 768px){.message-input-form{padding:12px;gap:10px}.editing-indicator{padding:8px 12px;font-size:12px}.message-input-form textarea{min-height:42px;font-size:14px;padding:10px 14px}.send-button{width:44px;height:44px;font-size:16px}}.chat-window{display:flex;flex-direction:column;height:100%;background:var(--bg-primary);min-height:0;width:100%;transition:background-color .3s ease}.direct-chat-container{height:530px}.chat-header{padding:20px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-primary);flex-shrink:0;display:flex;align-items:center;gap:12px;transition:all .3s ease}.back-button{display:none;background:none;border:none;font-size:24px;cursor:pointer;color:var(--primary);padding:8px;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;transition:background .2s;flex-shrink:0}.back-button:hover{background:var(--bg-tertiary)}.chat-header-user{display:flex;align-items:center;flex:1}.chat-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;margin-right:12px;flex-shrink:0;position:relative}.chat-user-info{display:flex;flex-direction:column;gap:2px}.chat-name{font-weight:600;font-size:16px;color:var(--text-primary)}.chat-user-status{font-size:13px;font-weight:500}.chat-user-status.online{color:var(--success)}.chat-user-status.offline{color:var(--text-tertiary)}.messages-container{flex:1;overflow-y:auto;padding:24px;background:var(--bg-secondary);min-height:0}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px;transition:background .2s}.messages-container::-webkit-scrollbar-thumb:hover{background:var(--border-color-hover)}.unread-separator{text-align:center;display:flex;align-items:center;justify-content:center;gap:10px;color:#92400e;font-size:12px;font-weight:600;background:#fef3c7;padding:6px 16px;border-radius:16px;width:fit-content;margin:20px auto;animation:slideIn .3s ease-out}.dark .unread-separator{background:#f59e0b26;color:var(--warning)}.unread-separator.fade-out{animation:fadeOut .4s ease-out forwards}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0;transform:scale(.9)}}.message{position:relative;display:flex;margin-bottom:12px;animation:fadeIn .3s ease-out;align-items:flex-end}.message.show-delete .message-bubble{opacity:.6}.message.own{justify-content:flex-end}.message.other{justify-content:flex-start}.message-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;margin-right:8px;flex-shrink:0;align-self:flex-end}.message-content{display:flex;flex-direction:column;max-width:65%;position:relative}.message-bubble{padding:12px 16px;border-radius:18px;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;line-height:1.5;max-width:100%;font-size:15px;transition:all .2s ease}.message.own .message-bubble{background:var(--primary);color:#fff;border-bottom-right-radius:4px;box-shadow:0 1px 3px #0000001f}.dark .message.own .message-bubble{box-shadow:0 2px 8px #0006}.message.other .message-bubble{background:var(--bg-tertiary);color:var(--text-primary);border-bottom-left-radius:4px;box-shadow:0 1px 2px #00000014}.dark .message.other .message-bubble{background:#ffffff0d;box-shadow:0 1px 3px #0000004d}.edited-indicator{font-size:11px;opacity:.7;font-style:italic;margin-left:6px}.message.own .edited-indicator{color:#ffffffd9}.message.other .edited-indicator{color:var(--text-tertiary)}.message-time{font-size:11px;color:var(--text-tertiary);margin-top:4px;padding:0 4px;font-weight:500}.message.own .message-time{text-align:right}.message.other .message-time{text-align:left}.typing-indicator{display:flex;align-items:center;margin-bottom:12px;animation:fadeIn .3s}.typing-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;margin-right:8px;flex-shrink:0}.typing-dots{background:var(--bg-tertiary);padding:12px 16px;border-radius:18px 18px 18px 4px;box-shadow:0 1px 2px #00000014;display:flex;align-items:center;gap:4px}.dark .typing-dots{background:#ffffff0d;box-shadow:0 1px 3px #0000004d}.typing-dots span{width:8px;height:8px;border-radius:50%;background:var(--text-tertiary);animation:typing 1.4s infinite}.typing-dots span:nth-child(1){animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-8px);opacity:1}}.context-menu{position:fixed;background:var(--bg-primary);border-radius:8px;box-shadow:var(--card-shadow);border:1px solid var(--border-color);z-index:1000;min-width:160px;padding:6px 0;animation:contextMenuFadeIn .15s ease-out}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{width:100%;padding:10px 16px;border:none;background:none;text-align:left;cursor:pointer;font-size:14px;color:var(--text-primary);transition:background .2s;display:flex;align-items:center;gap:8px}.context-menu-item:hover{background:var(--bg-secondary)}.context-menu-item.edit{color:var(--primary)}.context-menu-item.edit:hover{background:#3b82f61a}.context-menu-item.delete{color:var(--danger)}.context-menu-item.delete:hover{background:#ef44441a}.message-edit{width:100%;display:flex;flex-direction:column;gap:10px}.message-edit-input{width:100%;min-height:80px;padding:12px;border:2px solid var(--primary);border-radius:12px;font-size:14px;font-family:inherit;resize:vertical;outline:none;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.message-edit-input:focus{border-color:var(--primary-dark)}.message-edit-actions{display:flex;gap:8px;justify-content:flex-end}.btn-cancel,.btn-save{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel{background:var(--gray-500);color:#fff}.btn-cancel:hover{background:var(--gray-600)}.btn-save{background:var(--primary);color:#fff}.btn-save:hover{background:var(--primary-dark)}.mobile-actions{display:flex;flex-direction:column;gap:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10}.edit-button-mobile,.delete-button-mobile{display:none}.online-indicator{position:absolute;bottom:2px;right:2px;width:12px;height:12px;background:var(--success);border:2px solid var(--bg-primary);border-radius:50%;box-shadow:0 0 0 2px #10b98133}.offline-indicator{position:absolute;bottom:2px;right:2px;width:12px;height:12px;background:var(--danger);border:2px solid var(--bg-primary);border-radius:50%;box-shadow:0 0 0 2px #ef444433}.online-dot{position:absolute;bottom:0;right:0;width:10px;height:10px;background:var(--success);border:2px solid white;border-radius:50%}.online-text{font-size:12px;color:var(--success);font-weight:500}.conversation-avatar,.friend-avatar,.chat-avatar{position:relative}.loading{display:flex;justify-content:center;align-items:center;height:100%;color:var(--text-secondary);font-size:16px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.chat-window{width:100%;height:100%}.back-button{display:flex}.chat-header{padding:16px;gap:8px}.chat-avatar{width:40px;height:40px;font-size:16px;margin-right:10px}.message-content{max-width:80%}.message-bubble{font-size:14px;padding:10px 14px}.messages-container{padding:16px}.edit-button-mobile,.delete-button-mobile{display:block;border:none;border-radius:20px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #0003;animation:buttonPop .2s ease-out}.edit-button-mobile{background:var(--primary);color:#fff}.edit-button-mobile:active{transform:scale(.95)}.delete-button-mobile{background:var(--danger);color:#fff}.delete-button-mobile:active{transform:scale(.95)}@keyframes buttonPop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.context-menu{display:none}}@media (min-width: 769px){.edit-button-mobile,.delete-button-mobile,.mobile-actions{display:none!important}}.chat-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:9999;animation:modalOverlayFadeIn .2s ease-out}@keyframes modalOverlayFadeIn{0%{opacity:0}to{opacity:1}}.chat-modal-container{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);display:flex;flex-direction:column;animation:modalSlideUp .3s ease-out}@keyframes modalSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.chat-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-primary);flex-shrink:0}.chat-modal-title{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.chat-modal-close{background:none;border:none;font-size:28px;color:var(--text-secondary);cursor:pointer;padding:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.chat-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.chat-modal-close:active{transform:scale(.95)}.chat-modal-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.chat-modal-content .chat-container{height:100%;margin:0;border-radius:0;box-shadow:none}.chat-modal-content .direct-chat-container{height:100%}.chat-container{display:flex;height:600px;max-width:1400px;margin:20px auto;background:var(--bg-primary);border-radius:12px;overflow:hidden;box-shadow:var(--card-shadow);transition:all .3s ease}.dark .chat-container{box-shadow:var(--card-shadow-hover)}.loading{display:flex;align-items:center;justify-content:center;height:100%;font-size:18px;color:var(--text-secondary)}.no-conversation-selected{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);transition:background-color .3s ease}.no-conversation-selected p{color:var(--text-tertiary);font-size:18px}@media (max-width: 768px){.chat-container{height:100%;margin:0;border-radius:0;box-shadow:none}}.dateList{margin-top:120px}.dateListHeader{display:flex;flex-direction:column}.dateList-tiltle{display:flex;justify-content:center}.dateListHeader-btn{display:flex;justify-content:center;align-items:center;margin:1rem}.dateListHeader-btn .btnSwitch{width:200px}.dateListheaderConter{padding:1.5rem;max-width:1600px;margin:0 auto}.titleFont{font-size:1.75rem;color:var(--text-primary);margin-bottom:1.5rem;transition:color .3s ease}.btnSwitch{padding:.65rem 1.25rem;background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem;margin:0 1rem}.btnSwitch:hover{background-color:var(--bg-secondary);border-color:var(--border-color-hover)}.btnSwitch.active{background-color:var(--primary);color:#fff;border-color:var(--primary)}.forms-container{width:100%;max-width:800px;margin-left:auto;margin-right:auto}.form-section{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:.8rem;margin:1rem;box-shadow:var(--card-shadow);animation:slideDown .3s ease-out;opacity:1;transform:translateY(0);text-align:center;transition:all .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin:2rem auto;max-width:1600px;padding:0 1.5rem}.pagination button{min-width:2.5rem;height:2.5rem;padding:0 .75rem;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-weight:500}.pagination button:hover:not([disabled]){background-color:var(--bg-secondary);border-color:var(--border-color-hover)}.pagination button.active{background-color:var(--primary);color:#fff;border-color:var(--primary)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination .ellipsis{display:flex;align-items:center;justify-content:center;min-width:2rem;color:var(--text-tertiary);font-weight:700}.pagination button:first-child,.pagination button:last-child{min-width:auto;padding:0 1rem;font-weight:600}@media (max-width: 768px){.dateListHeader-btn{gap:.75rem;margin:1rem .5rem}.dateListHeader-btn .btnSwitch{width:180px;height:48px}.pagination{gap:.25rem;padding:0 1rem}.pagination button{min-width:2.25rem;height:2.25rem;font-size:.8rem}.pagination button:first-child,.pagination button:last-child{padding:0 .75rem;font-size:.8rem}.pagination .ellipsis{min-width:1.5rem;height:2.25rem;font-size:.8rem}.chat-in-datelist{height:500px}}@media (max-width: 600px){.dateListHeader-btn{margin:1rem;gap:.2rem}.dateListHeader-btn .btnSwitch{width:130px;height:60px}.btnSwitch{margin:.2rem;padding:.4rem .1rem;width:143px}.pagination{flex-wrap:wrap;gap:.3rem}.pagination button{min-width:2rem;height:2rem;padding:0 .5rem;font-size:.85rem}.pagination button:first-child,.pagination button:last-child{flex:1}}.notification-badge{position:absolute;top:-8px;right:-8px;background:#f44;color:#fff;border-radius:50%;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;padding:2px 6px;box-shadow:0 2px 4px #0000004d}.btnSwitch{position:relative}.notification-badge-inline{background:#f44;color:#fff;border-radius:50%;width:20px;height:20px;font-size:11px;font-weight:700;margin-left:8px;display:inline-flex;align-items:center;justify-content:center;line-height:1;vertical-align:middle}.simple-notification-manager{position:relative;max-width:400px;max-height:650px;padding:1rem;overflow:auto;scrollbar-width:none;-ms-overflow-style:none;margin:auto}.simple-notification-manager::-webkit-scrollbar{display:none}.notification-header{margin-bottom:24px;text-align:center}.notification-header h2{margin:0 0 8px;color:var(--text-primary);font-size:1.2em;font-weight:600;font-family:Roboto,sans-serif;transition:color .3s ease}.notification-summary{padding:8px 16px;border-radius:8px;display:inline-block;background:var(--bg-tertiary);border:1px solid var(--border-color);transition:all .3s ease}.summary-text{color:var(--text-secondary);font-size:.9rem;font-weight:500;transition:color .3s ease}.global-actions{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.action-button{padding:10px 20px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem}.action-button:disabled{opacity:.5;cursor:not-allowed}.enable-all{background-color:var(--success)!important;color:#fff}.enable-all:hover:not(:disabled){background-color:#059669;transform:translateY(-2px)}.disable-all{background-color:var(--danger)!important;color:#fff}.disable-all:hover:not(:disabled){background-color:#dc2626;transform:translateY(-2px)}.notification-list{display:flex;flex-direction:column;gap:16px}.notification-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:var(--bg-primary);border-radius:12px;border:2px solid var(--border-color);transition:all .3s ease;min-height:60px}.notification-item.enabled{border-color:var(--success);background:#10b9811a}.notification-item.disabled{border-color:var(--danger);background:#ef44441a}.notification-item.updating{opacity:.7;transform:scale(.98)}.person-info{flex:1}.person-name{display:flex;gap:8px;margin-bottom:4px}.person-name .name{font-weight:700;color:var(--text-primary);font-size:1.1rem;transition:color .3s ease}.person-name .surname{font-weight:600;color:var(--text-secondary);font-size:1.1rem;transition:color .3s ease}.person-details{display:flex;gap:12px;align-items:center}.birth-date{color:var(--text-tertiary);font-size:.9rem;transition:color .3s ease}.family-badge{background-color:#7c3aed33;color:#7c3aed;padding:2px 8px;border-radius:12px;font-size:.8rem;font-weight:500;border:1px solid rgba(124,58,237,.3)}.notification-toggle{display:flex;align-items:center;justify-content:center;gap:12px;min-width:120px}.switch{position:relative;display:inline-block;width:60px;height:34px;flex-shrink:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--gray-400);transition:.4s}.slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:var(--success)}input:checked+.slider:before{transform:translate(26px)}input:disabled+.slider{opacity:.6;cursor:not-allowed}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.status-text{font-weight:600;font-size:.9rem;min-width:80px}.status-text.enabled{color:var(--success)}.status-text.disabled{color:var(--danger)}.updating-text{display:flex;align-items:center;gap:6px;color:var(--primary)}.loading-state,.error-state{text-align:center;padding:40px 20px}.loading-spinner{width:40px;height:40px;border:4px solid var(--bg-tertiary);border-top:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.mini-spinner{width:12px;height:12px;border:2px solid var(--border-color);border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;display:inline-block}.error-state p{color:var(--danger);margin-bottom:16px}.retry-button{background-color:var(--primary);color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.retry-button:hover{background-color:var(--primary-light);transform:translateY(-2px)}.empty-state{text-align:center;padding:40px 20px;color:var(--text-tertiary)}.notification-footer{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color);transition:border-color .3s ease}.info-text{text-align:center;color:var(--text-tertiary);font-size:.9rem;margin:0;transition:color .3s ease}.user-email-preferences-simple{margin:20px 0;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:10px;transition:all .3s ease}.user-pref-toggle-simple{display:flex;justify-content:space-between;align-items:center;gap:20px}.toggle-info{display:flex;flex-direction:column;gap:4px}.toggle-label{font-size:12px;font-weight:500;color:var(--text-primary);transition:color .3s ease}.toggle-sublabel{font-size:13px;color:var(--text-secondary);transition:color .3s ease}.warning-simple{margin-top:15px;padding:12px 16px;background:#ef44441a;border-left:3px solid var(--danger);border-radius:6px;color:var(--danger);font-size:12px;line-height:1.5}.notification-item.user-disabled{opacity:.5}.notification-item.user-disabled .switch{pointer-events:none}.list-toggle-section{margin:16px 0;text-align:center}.toggle-list-btn{display:inline-flex;align-items:center;gap:12px;padding:12px 24px;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-weight:600;font-size:15px;cursor:pointer;transition:all .3s ease;width:100%;justify-content:center}.toggle-list-btn:hover{background:var(--bg-secondary);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f633}.toggle-list-btn:active{transform:translateY(0)}.toggle-icon{font-size:12px;color:var(--primary);transition:transform .3s ease}.toggle-list-btn:hover .toggle-icon{transform:scale(1.2)}.toggle-text{flex:1}.toggle-count{font-size:13px;color:var(--text-tertiary);background:var(--bg-secondary);padding:2px 8px;border-radius:8px;transition:all .3s ease}.collapsible-content{animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;max-height:0;overflow:hidden}to{opacity:1;max-height:2000px;overflow:visible}}.filter-section{margin-bottom:20px;padding:16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;transition:all .3s ease}.filter-section h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 12px;text-align:center;transition:color .3s ease}.filter-inputs{display:flex;gap:8px;margin-bottom:12px}.filter-input{flex:1;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;transition:all .2s ease;box-sizing:border-box;min-width:0;height:40px}.filter-input:focus{outline:none;border-color:var(--primary);background:var(--bg-primary)}.filter-input::placeholder{color:var(--text-tertiary)}.filter-buttons{display:flex;gap:8px}.filter-btn{flex:1;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-btn:hover{background:var(--bg-primary);border-color:var(--border-color-hover)}.filter-btn:active{transform:scale(.98)}.filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff;font-weight:600}.notif-tabs{display:flex;gap:0;border-bottom:2px solid rgba(255,255,255,.08);margin-bottom:1.5rem}.notif-tab{flex:1;padding:.75rem 1rem;background:transparent;border:none;border-bottom:3px solid transparent;color:#ffffff80;font-size:.9rem;font-weight:500;cursor:pointer;transition:color .2s,border-color .2s;margin-bottom:-2px}.notif-tab:hover{color:#ffffffd9}.notif-tab.active{color:#fff;border-bottom-color:#7c6ee6;font-weight:600}.tab-content-inner{display:flex;flex-direction:column;gap:0}.pref-toggle-wrapper{margin-top:1rem}.pref-toggle-wrapper:first-child{margin-top:0}.section-subtitle{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#ffffff80;margin:1.5rem 0 .75rem}.section-subtitle-hint{font-weight:400;text-transform:none;letter-spacing:0;color:#ffffff4d}.frequency-section{margin-top:.5rem}.frequency-options{display:flex;flex-direction:column;gap:.5rem}.frequency-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.75rem 1rem;background:#ffffff0d;border:1.5px solid rgba(255,255,255,.08);border-radius:10px;color:#ffffffb3;cursor:pointer;transition:background .2s,border-color .2s,color .2s;text-align:left;width:100%}.frequency-btn:hover:not(:disabled){background:#7c6ee61f;border-color:#7c6ee666;color:#fff}.frequency-btn.active{background:#7c6ee62e;border-color:#7c6ee6;color:#fff}.frequency-btn:disabled{opacity:.5;cursor:not-allowed}.freq-label{font-size:.9rem;font-weight:600}.freq-desc{font-size:.78rem;color:#ffffff73}.frequency-btn.active .freq-desc{color:#ffffffa6}.friends-chat-prefs{margin-top:.5rem}.chat-hint{font-style:italic;color:#ffffff59!important}@media (max-width: 600px){.simple-notification-manager{width:100%;height:500px;padding:5px;margin:auto;background-color:transparent;border:none}.notification-item{justify-content:space-between!important;gap:16px;height:42px;padding:12px;min-height:60px}.notification-toggle{align-self:flex-end}.global-actions{flex-direction:column}.action-button{width:100%}.person-details{flex-direction:column;align-items:flex-start;gap:8px}.toggle-list-btn{padding:10px 16px;font-size:14px}.toggle-count{font-size:12px}.filter-section{padding:12px}.filter-section h3{font-size:15px}.filter-inputs,.filter-buttons{flex-direction:column}.filter-input,.filter-btn{font-size:13px}}.gift-container{width:400px;padding:1rem;border-radius:12px;background-color:var(--bg-primary);overflow:auto;scrollbar-width:none;margin:auto;min-height:500px;max-height:500px;transition:all .3s ease}.gift-header{text-align:center;margin-bottom:20px}.gift-header h2{color:var(--text-primary);font-size:24px;margin-bottom:8px;transition:color .3s ease}.gift-count{color:var(--text-secondary);font-size:14px}.btn-add-item{width:100%;margin-bottom:20px;margin-top:0;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:12px 20px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-add-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.gift-form-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:20px;margin-bottom:20px;transition:all .3s ease}.gift-form-card h3{color:var(--text-primary);font-size:18px;margin-bottom:16px;text-align:center}.gift-form-input{display:flex;flex-direction:column;align-items:center;width:100%}.gift-form-card .form-input{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;color:var(--text-primary);font-size:14px;margin-bottom:12px;transition:all .3s ease;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block}.gift-form-card .form-input:focus{outline:none;border-color:var(--primary);background:var(--bg-secondary)}.gift-form-card .form-input::placeholder{color:var(--text-tertiary)}.gift-url-row{display:flex;flex-direction:column;gap:8px;width:100%;border:1px solid var(--border-color);border-radius:12px;padding:12px;margin-bottom:12px;box-sizing:border-box}.gift-url-row .form-input{margin:0}.btn-fetch-url{width:100%;padding:10px 16px;font-size:14px}.fetch-message{width:100%;font-size:.85rem;padding:8px 12px;border-radius:6px;margin-bottom:12px;box-sizing:border-box}.fetch-message--success{background:#d4edda;color:#155724}.fetch-message--warning{background:#fff3cd;color:#856404}.gift-image-preview{width:100%;border-radius:8px;overflow:hidden;margin-bottom:12px}.gift-image-preview img{width:100%;height:160px;object-fit:cover}.gift-share-toggle{margin:16px 0;text-align:center}.toggle-label{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-primary);cursor:pointer}.toggle-text{font-size:14px}.gift-form-buttons{display:flex;gap:10px;margin-top:16px}.gift-form-buttons .btn-profil{flex:1}.btn-toggle-filters{width:100%;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:12px 20px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;margin-bottom:12px;display:flex;align-items:center;justify-content:center;gap:8px}.btn-toggle-filters:hover{background:var(--bg-primary);border-color:var(--border-color-hover)}.filter-badge{background:var(--primary);color:#fff;font-size:12px;padding:2px 8px;border-radius:10px;font-weight:700}.filter-arrow{font-size:12px;transition:transform .3s ease;display:inline-block;color:var(--text-secondary)}.filter-arrow.open{transform:rotate(180deg)}.gift-filters{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:16px;margin-bottom:20px}.filter-group{margin-bottom:12px}.filter-group:last-child{margin-bottom:0}.filter-title{color:var(--text-secondary);font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{padding:8px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap}.filter-btn:hover{background:var(--bg-primary);border-color:var(--border-color-hover);transform:translateY(-1px)}.filter-btn.active{background:linear-gradient(135deg,#3b82f64d,#3b82f666);border-color:var(--primary);color:var(--text-primary);font-weight:600}.gift-empty{text-align:center;color:var(--text-tertiary);padding:40px 20px;font-size:16px}.gift-items{display:flex;flex-direction:column;gap:12px;overflow-y:auto;scrollbar-width:none}.gift-items::-webkit-scrollbar{width:6px}.gift-items::-webkit-scrollbar-track{background:transparent}.gift-items::-webkit-scrollbar-thumb{background:var(--primary);border-radius:3px}.gift-items::-webkit-scrollbar-thumb:hover{background:var(--primary-light)}.gift-item-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:16px;transition:all .3s ease}.gift-item-card:hover{transform:translateY(-2px);box-shadow:var(--card-shadow-hover);border-color:var(--border-color-hover)}.gift-item-horizontal{display:flex;gap:12px;align-items:flex-start}.gift-item-img-wrapper{position:relative;flex-shrink:0;width:90px;height:90px;border-radius:8px;overflow:hidden;background:var(--bg-tertiary)}.gift-item-img-wrapper img{width:100%;height:100%;object-fit:cover}.gift-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.gift-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px}.gift-item-title{color:var(--text-primary);font-size:15px;font-weight:500;margin:0;flex:1;word-break:break-word}.gift-item-description{font-size:.8rem;color:var(--text-secondary);line-height:1.3;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gift-item-footer{display:flex;align-items:center;gap:12px;margin-top:4px;flex-wrap:wrap}.gift-item-price{color:var(--primary);font-size:15px;font-weight:600;white-space:nowrap}.gift-item-link{display:inline-block;color:var(--primary);font-size:13px;text-decoration:none;transition:color .3s ease}.gift-item-link:hover{color:var(--primary-light);text-decoration:underline}.gift-item-purchased{font-size:13px;color:var(--success);margin:4px 0 0}.gift-item-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px}.gift-occasion{color:var(--primary);font-weight:500}.gift-year{color:var(--text-tertiary)}.gift-item-badge{padding:3px 8px;border-radius:12px;font-size:11px;font-weight:500;white-space:nowrap;flex-shrink:0}.gift-item-badge.purchased{background:#10b98133;color:var(--success);border:1px solid rgba(16,185,129,.3)}.gift-item-badge.pending{background:#fbbf2433;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.gift-item-badge.shared{background:#10b98133;color:var(--success);border:1px solid rgba(16,185,129,.3)}.gift-item-badge.private{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.gift-item-badge.reserved{background:#667eea33;color:#667eea;border:1px solid rgba(102,126,234,.3)}.gift-item-actions{display:flex;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color)}.btn-gift{flex:1;padding:6px 10px;border:none;border-radius:8px;font-size:14px;cursor:pointer;transition:all .3s ease;background:var(--bg-tertiary);color:var(--text-primary)}.btn-gift:hover{transform:translateY(-1px);background:var(--bg-secondary)}.btn-gift.btn-toggle{background:#10b98133}.btn-gift.btn-toggle:hover{background:#10b9814d}.btn-gift.btn-edit{background:#3b82f633}.btn-gift.btn-edit:hover{background:#3b82f64d}.btn-gift.btn-delete{background:#ef444433}.btn-gift.btn-delete:hover{background:#ef44444d}.btn-gift.btn-reserve{background:#667eea33;border:1px solid rgba(102,126,234,.3)}.btn-gift.btn-reserve:hover{background:#667eea59}.btn-gift.btn-unreserve{background:#fbbf2433;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.btn-gift.btn-unreserve:hover{background:#fbbf2459}.wishlist-reserved-title{color:var(--text-secondary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:8px 0 4px;padding-top:8px;border-top:1px dashed var(--border-color)}.gift-item-card--reserved{opacity:.75;border-color:#667eea4d;background:#667eea0a}.gift-item-reserved-by{font-size:.8rem;color:#667eea;margin:2px 0 4px}.gift-delete-confirm{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 16px;min-height:200px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.delete-confirm-icon{font-size:48px;margin-bottom:16px;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.delete-confirm-title{color:var(--text-primary);font-size:18px;font-weight:600;margin-bottom:12px}.delete-confirm-text{color:var(--primary);font-size:16px;margin-bottom:8px;word-break:break-word}.delete-confirm-warning{color:var(--danger);font-size:13px;margin-bottom:20px;font-weight:500}.delete-confirm-buttons{display:flex;gap:12px;width:100%;max-width:300px}.delete-confirm-buttons .btn-profil{flex:1;margin:0}.delete-confirm-buttons .btn-profilGrey:hover{background-color:var(--gray-700);transform:translateY(-2px)}.delete-confirm-buttons .btn-delete:hover{background-color:#c82333;transform:translateY(-2px);box-shadow:0 4px 12px #ef444466}.gift-item-card:has(.gift-delete-confirm){border-color:#ef44444d;background:#ef44440d}.gift-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.gift-modal-content{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:12px;max-width:600px;width:100%;max-height:80vh;display:flex;flex-direction:column}.gift-modal-header{padding:20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.gift-modal-header h2{color:var(--text-primary);font-size:24px;margin:0}.close-btn{background:var(--bg-tertiary);border:none;color:var(--text-primary);font-size:24px;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:var(--bg-secondary);transform:rotate(90deg)}.gift-modal-body{padding:20px;overflow-y:auto;flex:1}.gift-modal-footer{padding:20px;border-top:1px solid var(--border-color);text-align:center}.btn-close{background:var(--bg-tertiary);border:none;color:var(--text-primary);padding:12px 30px;border-radius:8px;font-size:16px;cursor:pointer;transition:all .3s ease}.btn-close:hover{background:var(--bg-secondary)}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--danger);padding:12px;border-radius:8px;margin-bottom:20px;text-align:center}.loading{text-align:center;color:var(--text-tertiary);padding:40px;font-size:16px}@media (max-width: 768px){.gift-container{width:100%;padding:10px;background-color:transparent;border:none;margin:0;border-radius:0;max-height:none;min-height:unset}.gift-header{margin-bottom:10px}.gift-header h2{font-size:20px}.gift-item-title,.gift-item-price{font-size:14px}.gift-item-img-wrapper{width:70px;height:70px}.gift-form-buttons,.delete-confirm-buttons{flex-direction:column;gap:8px}.delete-confirm-icon{font-size:40px}.delete-confirm-title{font-size:16px}.gift-items{margin-bottom:12px}.gift-filters{padding:10px;margin-bottom:12px}.filter-btn{font-size:14px;padding:6px 12px}.gift-modal-content{max-height:90vh}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--gray-800);border:1px solid var(--gray-700);border-radius:16px;width:90%;max-width:500px;box-shadow:0 10px 40px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid var(--gray-700)}.modal-header h2{color:#fff;font-size:24px;margin:0}.modal-close{background:transparent;border:none;color:#adb5bd;font-size:24px;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .3s ease}.modal-close:hover{background:#ffffff1a;color:#fff}.modal-body{padding:24px}.modal-description{color:#adb5bd;font-size:14px;margin-bottom:24px;line-height:1.5}.alert{padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:20px;display:flex;align-items:center;gap:8px}.alert-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444}.alert-success{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#10b981}.modal-actions{display:flex;gap:12px;margin-top:24px}.btn-modal{flex:1;padding:12px 24px;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .3s ease;border:none}.btn-cancel{background:#ffffff0d;color:#adb5bd;border:1px solid rgba(255,255,255,.1)}.btn-cancel:hover:not(:disabled){background:#ffffff1a;color:#fff}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-modal:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 600px){.modal-content{width:95%;max-width:none}.modal-header{padding:20px 16px 12px}.modal-header h2{font-size:20px}.modal-body{padding:16px}.modal-actions{flex-direction:column}.btn-modal{width:100%}}.friends-manager,.friends-manager-mobile{padding:24px;height:fit-content}.friends-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.friends-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.friends-count{background:#6366f133;color:#818cf8;padding:4px 12px;border-radius:12px;font-size:.875rem;font-weight:600}.friends-tabs{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid #e0e0e0;flex-direction:row}.friends-tabs .tab{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;color:#666;transition:all .3s ease;position:relative}.friends-tabs .tab.active{color:#4caf50;border-bottom-color:#4caf50;font-weight:700}.friends-tabs .badge{display:inline-block;background-color:#e74c3c;color:#fff;border-radius:12px;padding:2px 8px;font-size:.75rem;margin-left:8px;font-weight:700}.friends-content,.friends-content-mobile{min-height:200px}.friend-card--clickable{cursor:pointer}.friend-card,.request-card{background:var(--card-bg, rgba(51, 65, 85, .5));border:1px solid var(--card-border, rgba(148, 163, 184, .1));border-radius:12px;padding:16px;display:flex;justify-content:space-between;align-items:center;transition:transform .2s,background .2s,box-shadow .2s;animation:slideIn .3s ease-out}.friend-card:hover,.request-card:hover{background:var(--card-bg-hover, rgba(51, 65, 85, .7));transform:translateY(-2px);box-shadow:0 4px 12px #00000026}html.dark .friend-card,html.dark .request-card{--card-bg: rgba(51, 65, 85, .5);--card-border: rgba(148, 163, 184, .1);--card-bg-hover: rgba(51, 65, 85, .7)}html:not(.dark) .friend-card,html:not(.dark) .request-card{--card-bg: #ffffff;--card-border: #e2e8f0;--card-bg-hover: #f8fafc}.friend-info,.request-info{display:flex;gap:12px;align-items:center;flex:1}.friend-avatar,.request-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0}.friend-avatar img,.request-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.5rem;font-weight:700;text-transform:uppercase}.friend-details,.request-details{flex:1;min-width:0}.friend-details h4,.request-details h4{margin:0 0 4px;color:var(--text-primary);font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-email,.request-email{color:var(--text-secondary);font-size:.875rem;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-birth{color:#fbbf24;font-size:.875rem;margin:0}.friend-since,.request-date{color:var(--text-secondary);font-size:.8rem;margin:4px 0 0}.request-actions,.friend-actions{display:flex;gap:8px;flex-shrink:0}.delete-friend-btn{background:#ef44441a;border:none;color:#ef4444;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:1.2rem;transition:background .2s;flex-shrink:0}.delete-friend-btn:hover{background:#ef444433}.btn-accept,.btn-reject,.btn-cancel-request,.btn-remove{border:none;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s}.btn-accept{background:#22c55e33;color:#22c55e}.btn-accept:hover{background:#22c55e4d}.btn-reject{background:#ef444433;color:#ef4444}.btn-reject:hover{background:#ef44444d}.btn-cancel-request,.btn-remove{display:inline-flex;align-items:center;gap:.4rem;background:transparent;border:1px solid #ef4444;color:#ef4444}.btn-cancel-request:hover,.btn-remove:hover{background:#ef4444;color:#fff}.add-friend-btn{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s;margin-bottom:1rem}.add-friend-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px #667eea4d}.friends-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;padding-right:4px}.pending-requests,.sent-requests{display:flex;flex-direction:column;gap:12px}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary)}.empty-state p:first-child{font-size:2rem;margin:0 0 8px}.empty-subtitle{font-size:.875rem;margin:0;color:var(--text-secondary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-surface, #1e293b);border-radius:16px;padding:24px;width:90%;max-width:450px;border:1px solid rgba(148,163,184,.1);animation:slideIn .2s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h3{margin:0;color:var(--text-primary);font-size:1.25rem}.close-btn{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:4px 8px;line-height:1;transition:color .2s}.close-btn:hover{color:var(--text-primary)}.form-group{margin-bottom:20px}.form-group label{display:block;color:var(--text-primary);margin-bottom:8px;font-size:.875rem;font-weight:500}.error-message-friend{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:12px;border-radius:8px;margin-bottom:16px;font-size:.875rem}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.friends-list::-webkit-scrollbar{width:6px}.friends-list::-webkit-scrollbar-track{background:#3341554d;border-radius:3px}.friends-list::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:3px}.friends-list::-webkit-scrollbar-thumb:hover{background:#94a3b880}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.friends-manager-mobile{padding:16px}.friends-header h2{font-size:1.25rem}.friend-card,.request-card{padding:12px}.friend-avatar,.request-avatar{width:40px;height:40px}.avatar-placeholder{font-size:1.2rem}.friend-details h4,.request-details h4{font-size:.95rem}.friend-email,.request-email{font-size:.8rem}.friends-tabs .tab{padding:10px 12px;font-size:.875rem}.request-actions{flex-direction:column;gap:6px}.btn-accept,.btn-reject{padding:6px 12px;font-size:.8rem;white-space:nowrap}.friends-list{max-height:300px}}@media (min-width: 769px){.friends-manager{max-width:100%}.friends-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;max-height:none}}.merge-section{background:#2d374899;border-radius:8px;padding:20px;margin-top:20px;box-shadow:0 2px 10px #0000001a}.merge-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.merge-section h3{margin:0 0 15px;color:var(--gray-100);font-size:1.3rem}.merge-title{text-align:center;font-size:1.5em}.duplicate-count{background:#ff9800;color:#fff;padding:4px 12px;border-radius:20px;font-size:.9rem;font-weight:700}.duplicates-compact-list{display:flex;flex-direction:column;gap:15px}.duplicate-item-compact{border:1px solid #e0e0e0;border-radius:8px;padding:15px;background:#fafafa}.duplicate-info h4{margin:0 0 10px;color:#2c3e50;font-size:1.1rem}.duplicate-details,.manual-details{color:#666;font-size:.9rem;margin:5px 0}.manual-info{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid #e0e0e0}.btn-merge-all-compact{width:100%;padding:10px;background-color:#ff9800;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.95rem;font-weight:700;margin-bottom:15px}.btn-merge-all-compact:hover{background-color:#f57c00}.btn-merge-compact{padding:8px 16px;background-color:#4caf50;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.9rem;font-weight:700}.btn-merge-compact:hover{background-color:#45a049}.btn-merge-compact:disabled,.btn-merge-all-compact:disabled{background-color:#ccc;cursor:not-allowed}.empty-state-small{text-align:center;padding:20px;color:#4caf50}.loading-state{text-align:center;padding:20px}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #4CAF50;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 10px}.error-state{text-align:center;padding:20px;color:#e74c3c}.btn-retry{padding:8px 16px;background-color:#4caf50;color:#fff;border:none;border-radius:5px;cursor:pointer;margin-top:10px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-content h3{margin:0;padding:20px;background:#4caf50;color:#fff;border-radius:12px 12px 0 0;font-size:1.3rem}.modal-body{padding:20px}.modal-body>p{font-size:1.1rem;margin-bottom:20px;text-align:center;color:#2c3e50;font-weight:700}.modal-section{background:#f5f5f5;padding:15px;border-radius:8px;margin-bottom:15px}.modal-section.highlight{background:#fff8f0;border:2px solid #ff9800}.modal-section h4{margin:0 0 10px;color:#2c3e50;font-size:1rem}.modal-section ul{list-style:none;padding:0;margin:0}.modal-section li{padding:5px 0;color:#555}.modal-arrow{text-align:center;font-size:2rem;color:#4caf50;margin:10px 0}.gifts-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.gift-tag{background:#ff9800;color:#fff;padding:4px 12px;border-radius:15px;font-size:.85rem}.modal-info{background:#e3f2fd;padding:15px;border-radius:8px;border-left:4px solid #2196F3;margin-top:15px}.modal-info p{margin:5px 0;color:#1976d2;font-size:.9rem}.modal-actions{display:flex;gap:10px;padding:20px;border-top:1px solid #e0e0e0}.btn-cancel,.btn-confirm{flex:1;padding:12px;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:700;transition:all .3s ease}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover{background:#5a6268}.btn-confirm{background:#4caf50;color:#fff}.btn-confirm:hover{background:#45a049}.btn-cancel:disabled,.btn-confirm:disabled{background:#ccc;cursor:not-allowed}@media (max-width: 768px){.manual-info{flex-direction:column;align-items:flex-start;gap:10px}.btn-merge-compact{width:100%}.modal-content{margin:0;max-height:95vh;border-radius:8px}.modal-content h3{font-size:1.1rem;padding:15px}}.theme-toggle-container{padding:.5rem;background:var(--gray-50);border-radius:12px;border:1px solid var(--gray-200);margin-bottom:1.5rem}.theme-toggle-title{font-size:1.1rem;font-weight:600;color:var(--gray-800);margin:.5rem}.theme-toggle-subtitle{font-size:.875rem;color:var(--gray-600);margin-bottom:1rem}.theme-toggle-buttons{display:flex;gap:.75rem;justify-content:space-between}.theme-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .5rem;background:#fff;border:2px solid var(--gray-200);border-radius:10px;cursor:pointer;transition:all .2s ease}.theme-btn:hover{border-color:var(--primary);background:var(--gray-50);transform:translateY(-2px)}.theme-btn.active{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 4px 12px #3b82f64d}.theme-btn-icon{font-size:1.75rem}.theme-btn.active .theme-btn-icon{transform:scale(1.1)}.theme-btn-label{font-size:.875rem;font-weight:600}.theme-btn.active .theme-btn-label{color:#fff}.dark .theme-toggle-container{background:var(--gray-800);border-color:var(--gray-700)}.dark .theme-toggle-title{color:var(--gray-100)}.dark .theme-toggle-subtitle{color:var(--gray-400)}.dark .theme-btn{background:var(--gray-900);border-color:var(--gray-700);color:var(--gray-300)}.dark .theme-btn:hover{background:var(--gray-800);border-color:var(--primary)}.dark .theme-btn.active{background:var(--primary);color:#fff}@media (max-width: 768px){.theme-toggle-buttons{flex-direction:row}.theme-btn{padding:.75rem .5rem}.theme-btn-icon{font-size:1.5rem}.theme-btn-label{font-size:.75rem}}@media (max-width: 767px){.mobile-carousel-container{display:flex;flex-direction:column;width:95%;max-width:400px;margin:0 auto;padding:0}.mobile-carousel-header{padding:16px;text-align:center;background:var(--bg-primary);border-bottom:1px solid var(--border-color);transition:all .3s ease}.mobile-carousel-title{color:var(--text-primary);font-size:20px;font-weight:600;margin:0;display:flex;align-items:center;justify-content:center;gap:8px;transition:color .3s ease}.friend-badge-inline{font-size:16px}.mobile-carousel{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:0 0 16px 16px;overflow:hidden;box-shadow:var(--card-shadow);display:flex;flex-direction:column;height:700px;transition:all .3s ease}.mobile-carousel__content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px;background-color:var(--bg-secondary);scrollbar-width:thin;scrollbar-color:var(--primary) transparent;transition:background-color .3s ease}.mobile-carousel__content::-webkit-scrollbar{width:4px}.mobile-carousel__content::-webkit-scrollbar-track{background:transparent}.mobile-carousel__content::-webkit-scrollbar-thumb{background:var(--primary);border-radius:2px}.mobile-carousel__content::-webkit-scrollbar-thumb:hover{background:var(--primary-light)}.mobile-carousel__topbar{background:var(--bg-secondary)}.mobile-section{animation:fadeIn .3s ease;height:460px}@keyframes fadeIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.mobile-carousel__indicators{display:flex;justify-content:center;gap:8px;padding:12px;background-color:var(--bg-secondary);border-top:1px solid var(--border-color);flex-shrink:0;height:10px;transition:all .3s ease}.mobile-carousel__indicator{width:8px;height:8px;border-radius:50%;background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;transition:all .3s ease;padding:0}.mobile-carousel__indicator--active{width:24px;border-radius:4px;background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea}.mobile-carousel__quick-nav{display:flex;justify-content:center;align-items:center;padding:12px 16px;background:var(--bg-tertiary);border-top:1px solid var(--border-color);flex-shrink:0;height:65px;transition:all .3s ease}.mobile-carousel__quick-buttons{display:flex;gap:8px;justify-content:center;flex-wrap:nowrap}.mobile-carousel__quick-btn{font-size:28px;border:1px solid var(--border-color);border-radius:12px;background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:all .2s ease;padding:8px 12px;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center}.mobile-carousel__quick-btn:hover{background:var(--bg-secondary);border-color:var(--primary);transform:scale(1.05)}.mobile-carousel__quick-btn--active{background:linear-gradient(135deg,#3b82f633,#3b82f64d);border:2px solid var(--primary);transform:scale(1.1)}.desktop-view,.desktop-title,.desktop-profile-container{display:none!important}.mobile-section .gift-container{padding:0;max-width:100%;background:transparent;border:none;margin:0;max-height:none}.mobile-section .simple-notification-manager{padding:0;background:transparent;border:none;margin:0;max-height:none}.mobile-section .notificationPreferences{background:transparent;border:none;padding:0;max-width:100%}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:var(--text-tertiary);font-size:16px;transition:color .3s ease}}@media (min-width: 768px){.mobile-carousel-container,.mobile-carousel-header{display:none!important}.desktop-view{display:grid!important}.desktop-title{display:block!important}}.containerInfo{position:relative;width:500px;max-height:650px;padding:1rem;margin:2rem 1rem -1rem;border:2px solid var(--border-color);border-radius:12px;background-color:var(--bg-primary);flex-shrink:0;overflow:auto;scrollbar-width:none;z-index:0;transition:all .3s ease}@media (max-width: 600px){.containerInfo{position:relative;max-width:400px;min-width:330px;max-height:500px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;flex-shrink:0;overflow:auto;scrollbar-width:none;z-index:0;box-shadow:var(--card-shadow);transition:all .3s ease}}.profile-wrapper{display:flex;flex-direction:column}.profile{display:flex;flex-direction:row;justify-content:center;align-items:flex-start;gap:1rem;flex-wrap:nowrap}.profile h2{color:var(--text-primary)!important;font-family:Roboto,sans-serif;font-size:xx-large;margin-bottom:3rem;transition:color .3s ease}.profile_info_details{margin:1rem!important;color:var(--text-secondary)!important;font-family:Roboto,sans-serif;font-size:1.8rem;text-align:center;transition:color .3s ease}.notification{margin-top:2rem;flex-shrink:0}.profil-countdown{margin:1rem auto 2rem}.profil-btn{display:flex;justify-content:center;gap:1rem}.profile-togglePasswordContainer{text-align:center}.btn-profil{margin-top:1rem;padding:10px;margin:8px 0;box-sizing:border-box;border:none;border-radius:8px;background-color:var(--primary);color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%}.btn-profil:hover{opacity:.9;transform:translateY(-2px)}.btn-profilGreen{background-color:var(--success);margin:8px 0 0;padding:8px}.btn-profilGrey{background-color:var(--gray-600);margin:8px 0 0;padding:8px}.btn-profilGrey:hover{background-color:var(--gray-700)}.btn-profilEditContainer{display:flex;flex-direction:column;margin-top:1rem;align-items:center}.btn-profilEditContainer .btn-profil,.btn-profilEditContainer .btn-delete{width:200px;margin-top:8px}.btn-delete{background-color:var(--danger);color:#fff;border:none;padding:10px;margin:8px 0;box-sizing:border-box;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%}.btn-delete:hover:not(:disabled){background-color:#c82333;transform:translateY(-2px);box-shadow:0 4px 12px #dc354566}.btn-delete:disabled{background-color:var(--gray-600);cursor:not-allowed;opacity:.6}.desktop-back-btn{display:block;margin-bottom:1rem}.mobile-back-btn{display:none}.btnBackToDateList{padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;background-color:var(--bg-tertiary);color:var(--text-primary);border:2px solid var(--border-color);border-radius:16px;background-color:var(--bg-primary);margin:0 auto;width:150px;cursor:pointer;transition:all .3s ease}.btnBackToDateList:hover{background-color:var(--primary);color:#fff;border-color:var(--primary)}@media (max-width: 900px){.profile{flex-direction:row;justify-content:center;gap:.5rem}.profile_info,.notification{margin:.5rem;max-width:350px}}@media (max-width: 600px){.desktop-back-btn{display:none}.mobile-back-btn{display:block}.mobile-section h2{display:none}.profile_info_details{margin-top:2rem;padding:.5rem;font-size:1.5rem}.profil-countdown{width:90%;margin:0 auto .5rem}.profil-btn{margin:0;width:100%}.btn-profilEditContainer .btn-profil,.btn-profilEditContainer .btn-delete{width:100%;max-width:300px}}.desktop-profile-container{display:none}@media (min-width: 768px){.desktop-profile-container{display:flex;gap:2rem;max-width:1200px;margin:0 auto;padding:2rem}}.desktop-sidebar{display:flex;flex-direction:column;gap:.5rem;min-width:200px;max-width:200px;margin-top:100px}.sidebar-btn{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;text-align:left;white-space:nowrap}.sidebar-btn:hover{background:var(--bg-secondary);border-color:var(--primary);transform:translate(4px)}.sidebar-btn.active{background:linear-gradient(135deg,#3b82f626,#3b82f640);border-color:var(--primary);color:var(--primary);box-shadow:0 4px 12px #3b82f64d}.sidebar-icon{font-size:24px;flex-shrink:0}.sidebar-text{flex:1}.desktop-content{flex:1;min-height:550px;max-height:550px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--primary) transparent}.desktop-content::-webkit-scrollbar{width:6px}.desktop-content::-webkit-scrollbar-track{background:transparent}.desktop-content::-webkit-scrollbar-thumb{background:var(--primary);border-radius:3px}.desktop-content::-webkit-scrollbar-thumb:hover{background:var(--primary-light)}@media (max-width: 767px){.desktop-profile-container{display:none!important}}@media (min-width: 768px) and (max-width: 1024px){.desktop-sidebar{min-width:160px;max-width:160px}.sidebar-btn{padding:12px 16px;font-size:14px}.sidebar-icon{font-size:20px}}.btn-updateContainer{display:flex;flex-direction:column;margin-top:1rem;align-items:center}.btn-update{margin-top:1rem;padding:8px;box-sizing:border-box;border:none;border-radius:4px;background-color:var(--primary);color:#fff;font-size:16px;cursor:pointer;transition:all .3s ease;width:200px}.btn-update:hover{opacity:.9;transform:translateY(-2px)}.btn-updateGreen{background-color:var(--success)}.btn-updateGrey{background-color:var(--gray-600)}.btn-updateRed{background-color:var(--danger)}.formUpdate,.btn-updateContainer p{color:var(--text-secondary);transition:color .3s ease}.updateLbel{margin-left:16px}.gift-offered-modal-body{padding:20px 24px}.gift-offered-modal-body p{margin-bottom:16px;color:#fffc;font-size:14px}.gift-offered-field{margin-bottom:16px}.gift-offered-field label{display:block;margin-bottom:6px;font-size:13px;color:#ffffffb3}.gift-offered-select,.gift-offered-input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff;font-size:14px;box-sizing:border-box;transition:border-color .2s ease,background .2s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.gift-offered-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(255,255,255,0.5)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;background-color:#2a2a4a}.gift-offered-select:focus,.gift-offered-input:focus{outline:none;border-color:#667eeacc;background:#ffffff1f}.gift-offered-select option{background:#2a2a4a;color:#fff}.gift-offered-other{margin-top:10px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.gift-offered-footer{display:flex;justify-content:flex-end;gap:10px;padding:0 24px 20px}.btn-gift-offered-confirm{background:linear-gradient(135deg,#4ade80,#22c55e);color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s ease,transform .1s ease}.btn-gift-offered-confirm:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-gift-offered-confirm:disabled{opacity:.5;cursor:not-allowed}.friend-notification{background-color:transparent;padding:15px;border-radius:12px;max-width:400px;min-height:500px;max-height:500px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;font-family:Roboto,sans-serif}.friend-notification h2,.friend-notification h3{color:var(--text-primary);margin:2rem}.friend-notification-span{color:var(--text-secondary)}.friend-notification-toggle{display:flex;align-items:center;margin-bottom:15px;gap:1rem}.notification-timing{padding-left:15px;border-left:2px solid #dee2e6;margin-top:10px}.friend-notification-timing-option{margin:1rem}.friend-notification-timing-option label{display:flex;align-items:center;gap:8px;cursor:pointer;columns:var(--gray-300)}.save-preferences-btn{background-color:#007bff;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;width:100%;max-width:300px}.save-preferences-btn:disabled{background-color:#6c757d;cursor:not-allowed}.switch{position:relative;display:inline-block;width:50px;height:28px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:28px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#2196f3}input:focus+.slider{box-shadow:0 0 1px #2196f3}input:checked+.slider:before{transform:translate(22px)}@media (max-width: 600px){.notificationPreferences{padding:20px;margin-bottom:15px}.notificationPreferences h2{font-size:1.2rem;margin-bottom:12px;color:#f8f9fa}.notificationPreferences h3{font-size:1rem;margin-bottom:10px;color:#f8f9fa}.friend-notification-toggle{padding:20px}.notification-toggle{font-size:14px}.notification-timing{padding-left:10px;margin-top:8px}.timing-option{margin-bottom:10px;font-size:14px}.timing-option input[type=checkbox]{width:16px;height:16px;flex-shrink:0}.save-preferences-btn{width:100%;padding:10px 16px;font-size:14px}.switch{width:44px;height:24px}.slider:before{height:18px;width:18px;left:3px;bottom:3px}input:checked+.slider:before{transform:translate(20px)}}@media (max-width: 350px){.notification-toggle{flex-direction:column;align-items:flex-start;gap:8px}.switch{margin-bottom:5px}}.grid-friendProfil{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(1,1fr);gap:1.6rem;margin:auto;max-width:900px}.grid1-friendProfil{grid-area:1 / 1 / 2 / 3;height:120px;margin-bottom:1rem}.grid2-friendProfil{grid-area:2 / 2 / 4 / 3}.grid3-friendProfil{grid-area:2 / 1 / 4 / 2;max-width:400px}.font-profilFriend{font-family:Roboto,sans-serif;color:#fff}.giftTiltle-friendProfil{color:var(--gray-100);font-family:Roboto,sans-serif}.friendProfil{border-radius:16px;overflow:hidden;position:relative;height:100%}.info-friendProfil{margin:auto;width:500px}.age{width:100%;text-align:center}.date-profilFriend{text-align:center;margin:2rem}.name-profilFriend{text-align:center;margin:3rem;color:var(--text-primary)}.btnRLD{display:flex;justify-content:flex-start;padding:0 0 .5rem .5rem}.profile_info{position:relative}.profile_info-header{display:flex;justify-content:flex-start;padding:12px 12px 0}.btnBack{padding:.5rem .8rem;font-size:.8rem;border:2px solid var(--border-color);border-radius:12px;background-color:var(--bg-primary);color:var(--gray-300);cursor:pointer;transition:background-color .2s;margin:.5rem}.btnBack:hover{background-color:var(--gray-700);color:var(--gray-100)}.formGift-friendProfil{display:flex;flex-direction:column;align-items:center}.inputGift-friendProfil{width:200px;margin:.2rem;box-sizing:border-box;padding:8px;border:1px solid #ccc;border-radius:4px}.addGift-friendProfil{width:200px;margin:.2rem;padding:8px;border:none;border-radius:4px;background-color:#007bff;color:#fff;cursor:pointer;font-size:14px;box-sizing:border-box;transition:background-color .2s}.chat-section-mobile-trigger{display:none}.chat-section-desktop{display:block;height:100%}.btn-open-chat-modal{width:100%;padding:16px;background:var(--primary);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.btn-open-chat-modal:hover{background:var(--primary-dark);transform:translateY(-2px)}.btn-open-chat-modal:active{transform:translateY(0)}@media (max-width: 768px){.btnRLD{display:none}.chat-section-mobile-trigger{display:block;padding:20px}.chat-section-desktop{display:none}}@media (max-width: 600px){.btnRLD{display:none}.grid-friendProfil{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(1,1fr);gap:.6rem;margin:0 .6rem}.notificationPreferences-friendProfil{background-color:#224c72}.notificationFrequency-friendProfil{font-size:.75em}.notificationPreferences-friendProfil,h2{font-size:.9em}.info-friendProfil{margin:auto;width:250px}.inputGift-friendProfil,.addGift-friendProfil{width:150px}.friend-notification h2,h3{color:var(--gray-300);margin:1rem}.friend-notification{padding:0;background-color:transparent;min-height:0;max-height:0}}img{height:50px}.logoHeader{height:100px;margin:2em}.homePageRoot{margin-top:110px;background-color:var(--bg-secondary);min-height:100vh;transition:background-color .3s ease}.homePageCurrentuser{display:flex;flex-direction:column}.homePageUser{display:flex}.homePageHeader{display:flex;justify-content:space-between;align-items:center;position:fixed;top:0;width:100%;height:80px;background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);z-index:1000;transition:all .3s ease}.btn-currentName{display:flex;flex-direction:row;align-items:center;gap:.5rem;font-size:3ch;padding-left:1rem;font-family:Roboto,sans-serif;color:var(--text-primary);transition:color .3s ease}.avatar{width:40px;height:40px;border-radius:50%;margin-right:10px}.btnProfile{background-color:#3b82f61a;color:var(--text-primary);border:1px solid var(--primary);border-radius:5px;cursor:pointer;margin-right:1rem;padding:.5rem 1rem;transition:all .3s ease}.btnProfile:hover{background-color:var(--primary);color:#fff}@media (max-width: 600px){.homeTest{height:80px}.titleFontSize{font-size:2.2em!important}.logoHeader{height:70px;margin:.5em;margin-top:0rem}.homePageRoot{margin-top:100px}.btn-currentName{font-size:2.5ch;padding-left:.5rem}}.logo{height:60px;transition:opacity .3s ease;cursor:pointer}.logo:hover{opacity:.85}@media (max-width: 600px){.logo{height:50px}}.verify-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#1a1a2e}.verify-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:60px 40px;text-align:center;max-width:480px;width:90%;box-shadow:0 10px 40px #0000004d}.verify-brand{font-size:32px;font-weight:700;margin:0 0 8px;color:#fff}.verify-title{font-size:20px;font-weight:500;margin:0 0 24px;color:#ffffffe6}.verify-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;margin:0 auto 24px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.verify-icon{font-size:48px;margin-bottom:16px}.verify-status{font-size:16px;line-height:1.6;color:#fffffff2;margin:0}.verify-redirect{font-size:14px;color:#fffc;margin-top:12px}.verify-btn{margin-top:24px;background:#fff;color:#667eea;border:none;padding:12px 32px;border-radius:8px;font-weight:600;font-size:15px;cursor:pointer;transition:opacity .2s}.verify-btn:hover{opacity:.9}.landing-container{text-align:center;background-color:var(--bg-secondary);height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:background-color .3s ease}.landing-container h1{font-size:3rem;margin-bottom:20px;color:var(--text-primary);transition:color .3s ease}.landing-container p{font-size:1.5rem;margin-bottom:30px;color:var(--text-secondary);transition:color .3s ease}.btn-start{font-size:1.2rem;padding:10px 20px;background-color:var(--primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.btn-start:hover{background-color:var(--primary-light);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.landingPage_logo{margin-top:90px;height:600px}.welcome{margin-bottom:7rem}@media (max-width: 600px){.landing-container h1{font-size:2rem}.landing-container p{font-size:1.2rem}.landingPage_logo{height:400px}}.merge-duplicates-page{max-width:1400px;margin:0 auto;padding:20px}.merge-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.merge-header h1{font-size:2rem;color:var(--text-primary)}.merge-summary{background:#2196f31a;border-left:4px solid #2196F3;padding:20px;margin-bottom:30px;border-radius:5px;display:flex;justify-content:space-between;align-items:center}.merge-summary p{margin:0;font-size:1.1rem;color:#2196f3}.btn-merge-all{padding:10px 20px;background-color:#ff9800;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:700}.btn-merge-all:hover{background-color:#f57c00}.btn-merge-all:disabled{background-color:var(--gray-600);cursor:not-allowed}.duplicates-list{display:flex;flex-direction:column;gap:40px}.duplicate-group{background:var(--bg-surface, rgba(30, 41, 59, .8));border-radius:8px;padding:30px;box-shadow:0 2px 10px #00000026}.group-title{font-size:1.5rem;color:var(--text-primary);margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid rgba(148,163,184,.1)}.cards-comparison{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:start}.merge-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.merge-arrow span{font-size:3rem;color:var(--success, #22c55e)}.merge-arrow p{margin-top:10px;color:var(--text-secondary);font-weight:700}.card-preview{background:var(--bg-surface, rgba(30, 41, 59, .8));border:2px solid rgba(148,163,184,.2);border-radius:8px;padding:20px;position:relative}.card-preview.friend-origin{border-color:#22c55e}.card-preview.manual-origin{border-color:#ff9800}.card-badge{position:absolute;top:-12px;left:20px;padding:5px 15px;border-radius:20px;font-size:.85rem;font-weight:700;box-shadow:0 2px 5px #0003}.card-preview.friend-origin .card-badge{background:#22c55e;color:#fff}.card-preview.manual-origin .card-badge{background:#ff9800;color:#fff}.card-preview h4{margin:15px 0 10px;font-size:1.3rem;color:var(--text-primary)}.card-date{color:var(--text-secondary);font-size:.95rem;margin-bottom:15px}.card-details{margin-top:15px}.detail-section{margin-bottom:15px;padding:10px;background:#3341554d;border-radius:5px}.detail-section h5{margin:0 0 10px;color:var(--text-primary);font-size:1rem}.detail-section ul{list-style:none;padding:0;margin:0}.detail-section li{padding:5px 0;color:var(--text-secondary);font-size:.9rem}.detail-section li.more{color:var(--text-secondary);font-style:italic;opacity:.7}.detail-section .empty{color:var(--text-secondary);font-style:italic;margin:0;font-size:.9rem}.manual-cards{display:flex;flex-direction:column;gap:15px}.btn-merge{width:100%;padding:12px;background-color:var(--success, #22c55e);color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:700;margin-top:15px;transition:all .3s ease}.btn-merge:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.btn-merge:disabled{background-color:var(--gray-600);cursor:not-allowed;transform:none}@media (max-width: 1024px){.cards-comparison{grid-template-columns:1fr;gap:30px}.merge-arrow{transform:rotate(90deg)}}@media (max-width: 768px){.merge-header,.merge-summary{flex-direction:column;gap:15px;align-items:flex-start}.btn-merge-all{width:100%}.duplicate-group{padding:15px}.group-title{font-size:1.2rem}}.cookie-banner-container{background:var(--bg-primary)!important;border-top:1px solid var(--border-color)!important;padding:20px!important;display:flex!important;align-items:center!important;box-shadow:0 -4px 20px #0000004d!important;transition:all .3s ease!important}.cookie-banner-content{flex:1;margin-right:16px}.cookie-message{font-size:14px;line-height:1.5;color:var(--text-secondary);transition:color .3s ease}.cookie-link{color:var(--primary);text-decoration:underline;transition:color .2s}.cookie-link:hover{color:var(--primary-light)}.cookie-accept-btn{background:var(--primary)!important;color:#fff!important;font-size:14px!important;font-weight:500!important;padding:10px 24px!important;border-radius:8px!important;border:none!important;cursor:pointer!important;transition:background .2s!important}.cookie-accept-btn:hover{background:var(--primary-light)!important}.cookie-decline-btn{background:transparent!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important;font-size:14px!important;font-weight:500!important;padding:10px 24px!important;border-radius:8px!important;cursor:pointer!important;margin-right:10px!important;transition:all .2s!important}.cookie-decline-btn:hover{border-color:var(--border-color-hover)!important;background:var(--bg-tertiary)!important}@media (max-width: 640px){.cookie-banner-container{flex-direction:column!important;align-items:stretch!important;padding:16px!important}.cookie-banner-content{margin-right:0!important;margin-bottom:16px!important;text-align:center!important}.cookie-accept-btn,.cookie-decline-btn{width:100%!important;margin:4px 0!important}.cookie-decline-btn{margin-right:0!important}}.legal-page-container{min-height:100vh;background:var(--bg-secondary);padding:40px 20px;color:var(--text-primary);transition:all .3s ease}.legal-page-content{max-width:900px;margin:0 auto;background:var(--bg-primary);border:1px solid var(--border-color);padding:40px;border-radius:12px;transition:all .3s ease}.back-link{display:inline-block;color:var(--primary);text-decoration:none;margin-bottom:24px;font-size:14px;transition:color .2s}.back-link:hover{text-decoration:underline;color:var(--primary-light)}.legal-page-content h1{font-size:32px;margin-bottom:24px;color:var(--text-primary);transition:color .3s ease}.legal-page-content h2{font-size:24px;margin-top:32px;margin-bottom:16px;color:var(--text-primary);border-bottom:2px solid var(--border-color);padding-bottom:8px;transition:all .3s ease}.legal-page-content h3{font-size:18px;margin-top:24px;margin-bottom:12px;color:var(--text-primary);transition:color .3s ease}.legal-page-content p{line-height:1.7;margin-bottom:16px;color:var(--text-secondary);transition:color .3s ease}.legal-page-content section{margin-bottom:32px}.legal-page-content ul{list-style:none;padding-left:0;margin-bottom:16px}.legal-page-content ul li{padding:8px 0 8px 24px;position:relative;color:var(--text-secondary);transition:color .3s ease}.legal-page-content ul li:before{content:"→";position:absolute;left:0;color:var(--primary)}.legal-page-content ol{padding-left:24px;margin-bottom:16px}.legal-page-content ol li{padding:8px 0;color:var(--text-secondary);transition:color .3s ease}.legal-page-content a{color:var(--primary);text-decoration:underline;transition:color .2s}.legal-page-content a:hover{color:var(--primary-light)}.note{background:#3b82f61a;border:1px solid var(--primary);padding:16px;border-left:4px solid var(--primary);border-radius:4px;font-size:14px;margin:16px 0;transition:all .3s ease}.warning{background:#ef44441a;border:1px solid var(--danger);padding:16px;border-left:4px solid var(--danger);border-radius:4px;font-size:14px;margin:16px 0;transition:all .3s ease}.last-update{font-style:italic;color:var(--text-tertiary);margin-top:40px;padding-top:24px;border-top:1px solid var(--border-color);transition:all .3s ease}.legal-page-content table{width:100%;border-collapse:collapse;margin:16px 0;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;transition:all .3s ease}.legal-page-content thead{background:var(--bg-secondary)}.legal-page-content th{text-align:left;padding:12px;font-weight:600;color:var(--text-primary);transition:color .3s ease}.legal-page-content td{padding:12px;border-top:1px solid var(--border-color);color:var(--text-secondary);transition:all .3s ease}.legal-page-content code{background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;color:var(--primary)}@media (max-width: 768px){.legal-page-content{padding:24px}.legal-page-content h1{font-size:24px}.legal-page-content h2{font-size:20px}.legal-page-content h3{font-size:16px}.legal-page-content table{font-size:14px}.legal-page-content th,.legal-page-content td{padding:8px}}.site-footer{background:var(--bg-primary);border-top:1px solid var(--border-color);padding:40px 20px 20px;margin-top:auto;color:var(--text-secondary);transition:all .3s ease}.footer-container{max-width:1200px;margin:0 auto 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px}.footer-column{display:flex;flex-direction:column}.footer-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px;transition:color .3s ease}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.footer-links li{margin:0;padding:0}.footer-links a{color:var(--text-secondary);text-decoration:none;font-size:14px;transition:color .2s ease;display:inline-block}.footer-links a:hover{color:var(--primary)}.footer-divider{max-width:1200px;margin:0 auto 24px;height:1px;background:var(--border-color);transition:background .3s ease}.footer-bottom{max-width:1200px;margin:0 auto;text-align:center;display:flex;flex-direction:column;gap:8px}.footer-copyright{font-size:14px;color:var(--text-tertiary);margin:0;transition:color .3s ease}.footer-legal-notice{font-size:12px;color:var(--text-tertiary);margin:0;transition:color .3s ease}@media (max-width: 768px){.site-footer{padding:32px 16px 16px}.footer-container{grid-template-columns:1fr;gap:24px;text-align:center}.footer-column{align-items:center}.footer-title{font-size:14px}.footer-links{align-items:center}.footer-links a{font-size:13px}.footer-bottom{gap:12px}}@media (max-width: 480px){.footer-container{gap:20px}.footer-title{margin-bottom:12px}.footer-links{gap:10px}}
