.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem;position:relative;overflow:hidden}.auth-container:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:pulse 20s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.7}}.auth-card{background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;padding:2rem;width:100%;max-width:440px;box-shadow:0 20px 60px #0000004d;border:1px solid rgba(255,255,255,.3);position:relative;z-index:1}@media (min-width: 768px){.auth-card{padding:3rem}}.auth-header{text-align:center;margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:2px solid var(--border-color)}.auth-logo-link{display:block;text-align:center;margin-bottom:1rem;cursor:pointer;transition:opacity .2s ease}.auth-logo-link:hover{opacity:.8}.auth-header img{height:64px;width:auto;margin:0 auto;display:block;filter:brightness(0) saturate(100%) invert(0%);filter:brightness(0)}.auth-logo{display:none}.auth-tagline{font-size:.95rem;color:var(--text-muted);margin:.5rem 0 0;font-weight:500}.auth-card h2{margin-bottom:2rem;text-align:center;color:var(--text-primary);font-size:1.75rem;font-weight:700;letter-spacing:-.5px}.form-group label{display:block;margin-bottom:.625rem;color:var(--text-primary);font-weight:600;font-size:.95rem}.form-group input{width:100%;padding:1rem 1.125rem;border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:1rem;transition:all .2s ease;background:var(--bg-primary);color:var(--text-primary);min-height:44px;box-sizing:border-box}@media (min-width: 768px){.form-group input{padding:.875rem 1rem;min-height:auto}}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.form-group input::placeholder{color:var(--text-muted)}.btn-primary{width:100%;padding:1rem;background:var(--primary-gradient);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;margin-top:.5rem;transition:all .2s ease;box-shadow:0 4px 12px #667eea66}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea80}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-link{text-align:center;margin-top:1.75rem;color:var(--text-secondary);font-size:.95rem}.auth-link a{color:var(--primary-color);text-decoration:none;font-weight:600;transition:all .2s ease}.auth-link a:hover{color:var(--secondary-color);text-decoration:underline}.gift-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:.625rem .75rem;display:flex;flex-direction:column;gap:.5rem;transition:all .2s ease;box-shadow:0 1px 3px #00000014;position:relative}@media (min-width: 768px){.gift-item{padding:.75rem .875rem;gap:.625rem}}.gift-item:hover{box-shadow:0 2px 4px #0000001a;border-color:var(--primary-color)}.gift-item.reserved{background:#48bb780d;border-color:#48bb784d}.gift-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;flex:1;min-width:0;margin-bottom:.125rem}.gift-name{margin:0;color:var(--text-primary);font-size:.9375rem;font-weight:600;line-height:1.3;flex:1;min-width:0;word-break:break-word}@media (min-width: 768px){.gift-name{font-size:1rem}}.gift-price{font-weight:700;font-size:.9375rem;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap;flex-shrink:0}@media (min-width: 768px){.gift-price{font-size:1rem}}.gift-link{color:var(--primary-color);text-decoration:none;font-size:.8125rem;font-weight:500;white-space:nowrap;flex-shrink:0;opacity:.85;transition:all .2s ease;display:inline-flex;align-items:center;gap:.25rem}.gift-link:hover{opacity:1;text-decoration:underline}.gift-item-actions{display:flex;gap:.25rem;align-items:center;flex-shrink:0;position:absolute;top:.625rem;right:.625rem}@media (min-width: 768px){.gift-item-actions{top:.75rem;right:.75rem}}.btn-action{background:var(--bg-tertiary);border:1px solid var(--border-color);font-size:.8125rem;cursor:pointer;padding:.3125rem;border-radius:5px;min-width:28px;min-height:28px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;opacity:.85;box-shadow:0 1px 2px #00000014}.btn-action:hover{opacity:1;background:var(--bg-secondary);border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.btn-action:active{transform:scale(.9)}.btn-edit{color:var(--primary-color)}.btn-reserve{color:#48bb78}.btn-delete,.btn-unreserve{color:#f56565}.reserved-badge{display:inline-flex;align-items:center;gap:.375rem;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;padding:.375rem .625rem;border-radius:6px;font-size:.8125rem;font-weight:700;white-space:nowrap;flex-shrink:0;box-shadow:0 1px 4px #48bb784d;border:1px solid rgba(255,255,255,.3);align-self:flex-start;margin-top:-.125rem}.reserved-icon{font-size:.75rem;line-height:1}.reserved-text{line-height:1}.reservation-details{display:flex;flex-direction:column;gap:.375rem;flex-shrink:0;font-size:.75rem;padding:.5rem .625rem;background:#48bb781a;border-radius:6px;border-left:3px solid #48bb78;margin-top:.125rem}.reservation-item{display:flex;flex-direction:row;align-items:center;gap:.375rem;flex-wrap:wrap}.reservation-label{font-size:.6875rem;font-weight:700;color:#2d5016;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.reservation-link,.reservation-text{font-size:.75rem;color:var(--text-primary);word-break:break-word;flex:1;min-width:0}.reservation-link{color:#48bb78;text-decoration:none}.reservation-link:hover{text-decoration:underline}.gift-meta{display:contents}.gift-description{display:none}.modal{background:#fff;border-radius:var(--radius-md);padding:1.5rem;max-width:450px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal h2{margin:0 0 1rem;color:var(--text-primary);font-size:1.25rem}.modal form{display:flex;flex-direction:column;gap:.75rem}.modal input,.modal textarea{width:100%;padding:.625rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.9375rem;font-family:inherit;transition:border-color .2s ease}.modal input:focus,.modal textarea:focus{outline:none;border-color:var(--primary-color)}.modal textarea{resize:vertical;min-height:70px}.form-actions{display:flex;gap:.5rem;margin-top:.25rem}.btn-primary,.btn-secondary{flex:1;padding:.625rem 1.25rem;border:none;border-radius:var(--radius-sm);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:40px}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:0 2px 4px #667eea4d}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 767px){.gift-item{padding:.625rem .75rem;gap:.5rem}.gift-name{font-size:.875rem;padding-right:2.25rem}.gift-price{font-size:.875rem}.gift-link{font-size:.75rem}.gift-item-actions{top:.625rem;right:.625rem}.btn-action{min-width:32px;min-height:32px;width:32px;height:32px;font-size:.875rem}.reserved-badge{font-size:.75rem;padding:.3125rem .5625rem}}@media (max-width: 480px){.gift-item{padding:.5625rem .625rem;gap:.4375rem}.gift-name{font-size:.8125rem;padding-right:2rem}.gift-price{font-size:.8125rem}.reserved-badge{font-size:.6875rem;padding:.25rem .5rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem;animation:fadeIn .2s ease;overflow-y:auto;-webkit-overflow-scrolling:touch}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content{background:var(--bg-primary, #ffffff);border-radius:var(--radius-lg, 12px);width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg, 0 10px 40px rgba(0, 0, 0, .2));border:1px solid var(--border-color, #e0e0e0);animation:slideUp .3s cubic-bezier(.4,0,.2,1);margin:auto;position:relative;overflow:hidden}.collaborators-modal{max-width:600px;width:100%}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1.25rem;border-bottom:2px solid var(--border-color, #e0e0e0);flex-shrink:0;position:sticky;top:0;background:var(--bg-primary, #ffffff);z-index:10;border-radius:var(--radius-lg, 12px) var(--radius-lg, 12px) 0 0}.modal-header h2{margin:0;color:var(--text-primary, #333);font-size:1.5rem;font-weight:700;letter-spacing:-.5px}.modal-close{background:transparent;border:none;font-size:1.5rem;color:var(--text-secondary, #666);cursor:pointer;padding:.5rem;line-height:1;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:44px;height:44px;border-radius:var(--radius-sm, 6px);flex-shrink:0}.modal-close:hover{background:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #333);transform:scale(1.1)}.modal-close:active{transform:scale(.95)}.modal-body{color:var(--text-primary, #333);padding:1.5rem;overflow-y:auto;flex:1;min-height:0}@media (min-width: 768px){.modal-header{padding:2rem 2.5rem 1.5rem}.modal-header h2{font-size:1.75rem}.modal-body{padding:2rem 2.5rem 2.5rem}.modal-close{width:36px;height:36px;min-width:36px;min-height:36px}}.invite-form{margin-bottom:2rem;padding-bottom:1.5rem}.form-group{display:flex;flex-direction:column;gap:.75rem}.form-group label{font-weight:600;color:var(--text-primary, #333);font-size:.95rem}.invite-input-group{display:flex;gap:.5rem}.invite-input-group input{flex:1;padding:.875rem 1rem;border:2px solid var(--border-color, #ddd);border-radius:var(--radius-sm, 6px);font-size:1rem;font-family:inherit;background:var(--bg-secondary, #f9f9f9);color:var(--text-primary, #333);transition:all .2s ease;min-height:44px;box-sizing:border-box}.invite-input-group input:focus{outline:none;border-color:var(--primary-color, #667eea);background:var(--bg-primary, #ffffff);box-shadow:0 0 0 3px #667eea1a}.invite-input-group button{padding:.875rem 1.75rem;background:var(--primary-color, #4CAF50);color:#fff;border:none;border-radius:var(--radius-sm, 6px);cursor:pointer;font-size:1rem;font-weight:600;white-space:nowrap;transition:all .2s ease;box-shadow:0 2px 4px #4caf504d;min-height:44px;min-width:100px}.invite-input-group button:hover:not(:disabled){background:#45a049;transform:translateY(-1px);box-shadow:0 4px 8px #4caf5066}.invite-input-group button:disabled{background:#ccc;cursor:not-allowed;opacity:.6;transform:none;box-shadow:none}.collaborators-list{margin-top:1.5rem}.collaborators-list h3{margin:0 0 1.25rem;color:var(--text-primary, #333);font-size:1.25rem;font-weight:600}.no-collaborators{color:#666;font-style:italic;text-align:center;padding:2rem}.collaborators-list ul{list-style:none;padding:0;margin:0}.collaborator-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;margin-bottom:.75rem;background:var(--bg-secondary, #f9f9f9);border-radius:var(--radius-sm, 6px);border:1px solid var(--border-color, #e0e0e0);transition:all .2s ease}.collaborator-item:hover{background:var(--bg-tertiary, #f0f0f0);border-color:var(--border-color-hover, #d0d0d0)}.collaborator-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.collaborator-info strong{color:var(--text-primary, #333);font-size:1rem;font-weight:600;margin-bottom:.125rem}.collaborator-email{color:var(--text-secondary, #666);font-size:.9rem;margin-bottom:.125rem}.invited-by{color:var(--text-tertiary, #999);font-size:.85rem;font-style:italic}.btn-remove{background:#f44336;color:#fff;border:none;padding:.625rem 1rem;border-radius:var(--radius-sm, 6px);cursor:pointer;font-size:1rem;transition:all .2s ease;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #f443364d}.btn-remove:hover{background:#da190b;transform:translateY(-1px);box-shadow:0 4px 8px #f4433666}.btn-remove:active{transform:translateY(0)}.error-message{background:#ffebee;color:#c62828;padding:.875rem 1rem;border-radius:var(--radius-sm, 6px);margin-bottom:1.5rem;border-left:4px solid #c62828;font-size:.95rem;line-height:1.5}.loading{text-align:center;padding:2rem;color:var(--text-secondary, #666);font-size:1rem}.gift-list-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.gift-list-modal{background:var(--bg-primary);border-radius:var(--radius-lg);width:100%;max-width:900px;max-height:90vh;overflow-y:auto;padding:1.5rem;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);animation:slideUp .3s cubic-bezier(.4,0,.2,1)}@media (min-width: 768px){.gift-list-modal{padding:2.5rem}}.gift-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--border-color)}.header-actions{display:flex;gap:.5rem;align-items:center}.btn-collaborators{padding:.5rem 1rem;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-collaborators:hover{background:#0b7dda}.gift-list-header h2{margin:0;color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.5px}@media (min-width: 768px){.gift-list-header h2{font-size:1.75rem}}.btn-close{background:var(--bg-tertiary);border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:.5rem;border-radius:8px;min-width:44px;min-height:44px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}@media (min-width: 768px){.btn-close{width:40px;height:40px;min-width:40px;min-height:40px}}.btn-close:hover{background:var(--bg-secondary);color:var(--text-primary);transform:rotate(90deg)}.gift-list-actions{margin-bottom:2rem;display:flex;gap:1rem;flex-wrap:wrap}.btn-ai{padding:1rem 1.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #667eea4d;display:inline-flex;align-items:center;gap:.5rem;min-height:44px;width:100%;justify-content:center;box-sizing:border-box}@media (min-width: 768px){.btn-ai{padding:.875rem 1.75rem;width:auto}}.btn-ai:hover{transform:translateY(-1px);box-shadow:0 4px 8px #667eea66}.btn-ai:active{transform:translateY(0)}.add-gift-form{background:var(--bg-secondary);padding:1.5rem;border-radius:var(--radius-md);margin-bottom:2rem;border:1px solid var(--border-color)}@media (min-width: 768px){.add-gift-form{padding:2rem}}.add-gift-form input,.add-gift-form textarea{width:100%;padding:1rem 1.125rem;border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:1rem;margin-bottom:1.25rem;font-family:inherit;transition:all .2s ease;background:var(--bg-primary);color:var(--text-primary);min-height:44px;box-sizing:border-box}@media (min-width: 768px){.add-gift-form input,.add-gift-form textarea{padding:.875rem 1rem;min-height:auto}}.add-gift-form input:focus,.add-gift-form textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.add-gift-form textarea{min-height:100px;resize:vertical;line-height:1.5}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.form-actions .btn-primary,.form-actions .btn-secondary{padding:.875rem 1.5rem;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:44px;white-space:nowrap;min-width:auto;width:auto;flex-shrink:0}.form-actions .btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:0 2px 4px #667eea4d}.form-actions .btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 8px #667eea66}.form-actions .btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.form-actions .btn-secondary:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}@media (max-width: 768px){.form-actions{flex-direction:column;width:100%}.form-actions .btn-primary,.form-actions .btn-secondary{width:100%}}.gifts-container{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 768px){.gifts-container{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.25rem}}@media (min-width: 1200px){.gifts-container{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}}.empty-gifts{text-align:center;padding:4rem 2rem;color:var(--text-secondary);background:var(--bg-secondary);border-radius:var(--radius-md)}.empty-gifts p{margin:.5rem 0;font-size:1.1rem;color:var(--text-muted)}.list-description-small{color:var(--text-secondary);font-size:.95rem;margin:.75rem 0 0;font-weight:400;line-height:1.5}.ai-suggestions-container{background:linear-gradient(135deg,#667eea14,#764ba214);border:2px solid rgba(102,126,234,.2);border-radius:var(--radius-md);padding:2rem;margin-bottom:2rem}.ai-suggestions-container h3{margin:0 0 1.25rem;color:var(--text-primary);font-size:1.35rem;font-weight:700;letter-spacing:-.5px}.ai-beta-notice{display:inline-block;background:linear-gradient(135deg,#fff3cd,#ffeaa7);color:#856404;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:500;margin-bottom:1rem;border:1px solid #ffc107;box-shadow:0 2px 4px #ffc10733}.ai-description-text{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.95rem;line-height:1.6}.ai-input-container{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.25rem}.ai-input-container textarea{width:100%;padding:.875rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:1rem;font-family:inherit;resize:vertical;min-height:100px;transition:all .2s ease;background:var(--bg-primary);color:var(--text-primary)}.ai-input-container textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.ai-input-container textarea:disabled{background-color:var(--bg-tertiary);cursor:not-allowed;opacity:.7}.ai-suggestions-list{margin-top:2rem}.ai-suggestions-list h4{margin:0 0 1.25rem;color:var(--text-primary);font-size:1.1rem;font-weight:600}.ai-suggestion-item{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-sm);padding:1.5rem;margin-bottom:1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.suggestion-image-container{margin-bottom:1rem;text-align:center}.suggestion-image{max-width:100%;max-height:200px;border-radius:var(--radius-sm);object-fit:contain;background:var(--bg-tertiary);margin-bottom:.5rem}.ai-suggestion-item:hover{box-shadow:var(--shadow-md);border-color:var(--primary-color);transform:translateY(-2px)}.suggestion-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:.75rem;gap:1rem}.suggestion-header h4{margin:0;color:var(--text-primary);flex:1;font-size:1.2rem;font-weight:600;line-height:1.4}.suggestion-price{background:var(--primary-gradient);color:#fff;padding:.375rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;white-space:nowrap;box-shadow:0 2px 4px #667eea4d}.suggestion-description{color:var(--text-secondary);margin:.75rem 0;font-size:.95rem;line-height:1.6}.suggestion-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.suggestion-category{display:inline-block;background-color:var(--bg-tertiary);color:var(--text-secondary);padding:.375rem .75rem;border-radius:6px;font-size:.85rem;font-weight:500}.suggestion-store{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.375rem .75rem;border-radius:6px;font-size:.85rem;font-weight:500}.btn-use-suggestion{margin-top:1rem;padding:.875rem 1.5rem;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #48bb784d;min-height:44px;width:100%;box-sizing:border-box}@media (min-width: 768px){.btn-use-suggestion{padding:.75rem 1.5rem;font-size:.95rem;width:auto}}.btn-use-suggestion:hover{transform:translateY(-1px);box-shadow:0 4px 8px #48bb7866}.btn-use-suggestion:active{transform:translateY(0)}.btn-use-suggestion.added{background:linear-gradient(135deg,#a0aec0,#718096);cursor:default;transform:none}.btn-use-suggestion.added:hover{transform:none;box-shadow:none}.error-message{background:linear-gradient(135deg,#fee,#fdd);color:#c53030;padding:1rem 1.25rem;border-radius:var(--radius-sm);margin-top:.75rem;border:1px solid #feb2b2;font-size:.95rem;box-shadow:var(--shadow-sm)}.suggestion-url{margin-top:.75rem}.suggestion-link{color:var(--primary-color);text-decoration:none;font-size:.95rem;font-weight:500;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s ease}.suggestion-link:hover{color:var(--secondary-color);text-decoration:underline}.ai-widget-header{margin-bottom:1.5rem}.ai-widget-header h3{margin:0 0 .5rem;color:var(--text-primary);font-size:1.35rem;font-weight:700;letter-spacing:-.5px}.ai-widget-subtitle{color:var(--text-secondary);margin:.5rem 0;font-size:.95rem;line-height:1.6}.cookie-required-banner{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #ffc107;border-radius:var(--radius-sm);padding:1rem;margin-bottom:1rem}.cookie-required-content p{margin:0;color:#856404;font-size:.9rem}.cookie-accept-btn{padding:.5rem 1rem;background:#ffc107;color:#856404;border:1px solid #ffc107;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.cookie-accept-btn:hover{background:#ffb300;border-color:#ffb300}.ai-description-input{width:100%;padding:.875rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:1rem;font-family:inherit;resize:vertical;min-height:80px;transition:all .2s ease;background:var(--bg-primary);color:var(--text-primary);margin-bottom:.75rem}.ai-description-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.ai-description-input:disabled{background-color:var(--bg-tertiary);cursor:not-allowed;opacity:.7}.ai-generate-button{padding:.875rem 1.5rem;background:var(--primary-gradient);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #667eea4d;min-height:44px;flex:1}.ai-generate-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #667eea66}.ai-clear-chat-button{padding:.75rem 1rem;background:#f7fafc;color:#718096;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-height:44px}.ai-error-item{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;background:#fed7d7;border-left:3px solid #e53e3e;border-radius:4px;margin-bottom:.5rem}.ai-error-icon{flex-shrink:0;font-size:1rem}.ai-error-text{flex:1;font-size:.85rem;color:#742a2a;word-break:break-word}.ai-error-message{background:linear-gradient(135deg,#fee,#fdd);color:#c53030;padding:1rem 1.25rem;border-radius:var(--radius-sm);margin-top:.75rem;border:1px solid #feb2b2;font-size:.95rem;box-shadow:var(--shadow-sm)}.share-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease;overflow-y:auto;-webkit-overflow-scrolling:touch}.share-modal{background:var(--bg-primary);border-radius:var(--radius-lg);width:100%;max-width:540px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);animation:slideUp .3s cubic-bezier(.4,0,.2,1);margin:auto;position:relative}.share-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1.25rem;border-bottom:2px solid var(--border-color);flex-shrink:0;position:sticky;top:0;background:var(--bg-primary);z-index:10;border-radius:var(--radius-lg) var(--radius-lg) 0 0}@media (min-width: 768px){.share-modal-header{padding:2rem 2.5rem 1.5rem}}.share-modal-header h2{margin:0;color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.5px}@media (min-width: 768px){.share-modal-header h2{font-size:1.75rem}}.btn-close{background:transparent;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:.5rem;line-height:1;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:44px;height:44px;border-radius:var(--radius-sm);flex-shrink:0}@media (min-width: 768px){.btn-close{width:36px;height:36px;min-width:36px;min-height:36px}}.btn-close:hover{background:var(--bg-secondary);color:var(--text-primary);transform:scale(1.1)}.btn-close:active{transform:scale(.95)}.share-modal-content{color:var(--text-primary);padding:0 1.5rem 1.5rem;overflow-y:auto;flex:1;min-height:0}@media (min-width: 768px){.share-modal-content{padding:0 2.5rem 2.5rem}}.share-title{font-size:1.15rem;margin-bottom:.75rem;color:var(--text-primary);font-weight:600}.share-title strong{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.share-description{margin-bottom:2rem;color:var(--text-secondary);line-height:1.6;font-size:.95rem}.share-url-container{display:flex;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.share-url-input{flex:1;min-width:200px;padding:1rem 1.125rem;border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:.95rem;background-color:var(--bg-secondary);cursor:text;font-family:SF Mono,Monaco,Cascadia Code,monospace;word-break:break-all;transition:all .2s ease;color:var(--text-primary);min-height:44px;box-sizing:border-box}@media (min-width: 768px){.share-url-input{padding:.875rem 1rem;font-size:.9rem;min-height:auto}}.share-url-input:focus{outline:none;border-color:var(--primary-color);background-color:var(--bg-primary);box-shadow:0 0 0 3px #667eea1a}.btn-copy{padding:1rem 1.75rem;background:var(--primary-gradient);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease;box-shadow:0 2px 4px #667eea4d;min-height:44px;min-width:100px}@media (min-width: 768px){.btn-copy{padding:.875rem 1.75rem;font-size:.95rem;min-width:auto}}.btn-copy:hover{transform:translateY(-1px);box-shadow:0 4px 8px #667eea66}.btn-copy:active{transform:translateY(0)}.btn-copy.copied{background:linear-gradient(135deg,#48bb78,#38a169)}.btn-copy.copied:hover{box-shadow:0 4px 8px #48bb7866}.copy-success{color:#48bb78;font-size:.95rem;font-weight:600;margin-top:.75rem;margin-bottom:1.25rem;text-align:center;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.share-info-box{background:linear-gradient(135deg,#667eea14,#764ba214);border:2px solid rgba(102,126,234,.2);border-radius:var(--radius-md);padding:1.5rem;margin-top:2rem}.share-info-title{font-weight:700;color:var(--text-primary);margin-bottom:1rem;font-size:1rem}.share-info-list{margin:0;padding-left:1.5rem;color:var(--text-secondary);font-size:.95rem;line-height:1.8}.share-info-list li{margin-bottom:.75rem}.share-info-list li:last-child{margin-bottom:0}.share-social-container{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--border-color)}.share-social-title{font-weight:600;color:var(--text-primary);margin-bottom:1rem;font-size:1rem}.share-social-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.share-social-btn{padding:1rem;border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:var(--bg-primary);color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:.5rem;flex-direction:column;min-height:80px}@media (min-width: 768px){.share-social-btn{padding:.875rem 1rem;font-size:.9rem;min-height:70px}}.share-social-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.share-social-btn:active{transform:translateY(0)}.share-social-icon{font-size:1.5rem}.share-whatsapp:hover{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;border-color:#25d366}.share-email:hover{background:linear-gradient(135deg,#ea4335,#c5221f);color:#fff;border-color:#ea4335}.share-facebook:hover{background:linear-gradient(135deg,#1877f2,#0c63d4);color:#fff;border-color:#1877f2}.share-x:hover{background:linear-gradient(135deg,#000,#1a1a1a);color:#fff;border-color:#000}.share-instagram:hover{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff;border-color:#bc1888}.share-instagram.copied{background:linear-gradient(135deg,#48bb78,#38a169);border-color:#48bb78}.instagram-message{margin-top:.5rem;font-size:.9rem}.dashboard{max-width:100%;margin:0}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem}.dashboard-tabs{display:flex;gap:.5rem;background:#f9fafb;padding:.25rem;border-radius:8px}.tab-button{padding:.75rem 1.5rem;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;color:#666;transition:all .2s}.tab-button:hover{background:#e9ecef;color:#333}.tab-button.active{background:#fff;color:#d32f2f;box-shadow:0 2px 4px #0000001a}.dashboard-header h1{display:none}.error-message{background:linear-gradient(135deg,#fee,#fdd);color:#c53030;padding:1rem 1.25rem;border-radius:var(--radius-sm);margin-bottom:1.5rem;border:1px solid #feb2b2;font-size:.95rem;box-shadow:var(--shadow-sm)}.empty-state{text-align:center;padding:5rem 2rem;color:var(--text-secondary);background:var(--bg-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.empty-state p{margin:.5rem 0;font-size:1.1rem;color:var(--text-muted)}.lists-description{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem;line-height:1.6;padding:0 .5rem}@media (min-width: 768px){.lists-description{font-size:1rem;margin-bottom:2rem}}.lists-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}@media (min-width: 768px){.lists-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.75rem}}.list-card{background:var(--bg-primary);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}@media (min-width: 768px){.list-card{padding:2rem}}.list-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary-color)}.list-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1.25rem;gap:1rem}.list-card-header h3{margin:0;color:var(--text-primary);flex:1;font-size:1.2rem;font-weight:600;line-height:1.4}@media (min-width: 768px){.list-card-header h3{font-size:1.35rem}}.list-actions{display:flex;gap:.5rem;flex-shrink:0}.btn-icon{background:var(--bg-tertiary);border:none;font-size:1.1rem;cursor:pointer;padding:.5rem;border-radius:8px;opacity:.7;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:44px;height:44px}@media (min-width: 768px){.btn-icon{width:32px;height:32px;min-width:32px;min-height:32px}}.btn-icon:hover{opacity:1;background:var(--bg-secondary);transform:scale(1.1)}.list-description{color:var(--text-secondary);margin-bottom:.75rem;font-size:.95rem;line-height:1.5}.list-gifts-count{color:var(--text-muted);font-size:.875rem;margin-bottom:1.25rem;font-weight:500}.list-share-url-container{display:flex;gap:.5rem;margin-bottom:1rem;align-items:center}.list-share-url-input{flex:1;padding:.625rem .875rem;border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:.85rem;background-color:var(--bg-secondary);cursor:text;font-family:SF Mono,Monaco,Cascadia Code,monospace;word-break:break-all;transition:all .2s ease;color:var(--text-primary);min-width:0}.list-share-url-input:focus{outline:none;border-color:var(--primary-color);background-color:var(--bg-primary);box-shadow:0 0 0 3px #667eea1a}.btn-copy-small{padding:.75rem 1rem;background:var(--primary-gradient);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease;box-shadow:0 2px 4px #667eea4d;min-width:80px;min-height:44px;display:flex;align-items:center;justify-content:center}@media (min-width: 768px){.btn-copy-small{padding:.625rem .875rem;font-size:.9rem;min-width:44px}}.btn-copy-small:hover{transform:translateY(-1px);box-shadow:0 4px 8px #667eea66}.btn-copy-small:active{transform:translateY(0)}.btn-copy-small.copied{background:linear-gradient(135deg,#48bb78,#38a169)}.btn-copy-small.copied:hover{box-shadow:0 4px 8px #48bb7866}.list-card-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-share{flex:1;padding:.875rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #667eea4d;display:flex;align-items:center;justify-content:center;gap:.5rem;min-width:140px;min-height:44px}@media (min-width: 768px){.btn-share{font-size:.95rem}}.btn-share:hover{transform:translateY(-1px);box-shadow:0 4px 8px #667eea66}.btn-share:active{transform:translateY(0)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-primary);border-radius:var(--radius-lg);padding:1.5rem;width:100%;max-width:520px;box-shadow:var(--shadow-lg);animation:slideUp .3s cubic-bezier(.4,0,.2,1);border:1px solid var(--border-color)}@media (min-width: 768px){.modal{padding:2.5rem}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal h2{margin-bottom:1.5rem;color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.5px}@media (min-width: 768px){.modal h2{margin-bottom:1.75rem;font-size:1.75rem}}.modal input,.modal textarea{width:100%;padding:1rem 1.125rem;border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:1rem;margin-bottom:1.25rem;font-family:inherit;transition:all .2s ease;background:var(--bg-primary);color:var(--text-primary);min-height:44px;box-sizing:border-box}@media (min-width: 768px){.modal input,.modal textarea{padding:.875rem 1rem;min-height:auto}}.modal input:focus,.modal textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.modal textarea{min-height:100px;resize:vertical;line-height:1.5}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.btn-primary{padding:1rem 2rem;background:var(--primary-gradient);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #667eea4d;min-height:44px;min-width:120px}@media (min-width: 768px){.btn-primary{padding:.875rem 2rem;min-height:auto;min-width:auto}}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 8px #667eea66}.btn-primary:active{transform:translateY(0)}.btn-secondary{padding:1rem 2rem;background:var(--bg-tertiary);color:var(--text-primary);border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:44px;min-width:120px}@media (min-width: 768px){.btn-secondary{padding:.875rem 2rem;min-height:auto;min-width:auto}}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--text-muted)}.secret-santa-events{margin-top:2rem}.events-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:1.5rem}@media (min-width: 768px){.events-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.75rem}}.event-card{background:#fff;border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all .2s ease}.event-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.event-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.event-card-header h3{margin:0;font-size:1.25rem;color:var(--text-primary);flex:1}.event-status{margin-left:1rem}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.status-badge.drawn{background:#d4edda;color:#155724}.status-badge.pending{background:#fff3cd;color:#856404}.event-details{margin-bottom:1.5rem}.event-details p{margin:.5rem 0;color:var(--text-secondary);font-size:.95rem}.event-date,.event-budget,.event-participants,.event-assignments{display:flex;align-items:center;gap:.5rem}.event-card-actions{display:flex;gap:.75rem}.event-card-actions{display:flex;gap:.5rem}.event-card-actions button{flex:1}.assignments-modal{max-width:800px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.modal-close{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--text-secondary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.assignment-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color);gap:1rem}.assignment-arrow{color:var(--text-muted);font-weight:600}.lists-features{margin-bottom:4rem;margin-top:3rem}.lists-features h2{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:#333}.lists-features .features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.lists-features .feature-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;text-align:center;transition:transform .2s,box-shadow .2s}.lists-features .feature-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.lists-features .feature-icon{font-size:3rem;margin-bottom:1rem}.lists-features .feature-card h3{font-size:1.5rem;margin-bottom:1rem;color:#333}.lists-features .feature-card p{color:#666;line-height:1.6}.lists-how-it-works{margin-bottom:4rem;padding:3rem 2rem;background:#f9fafb;border-radius:16px}.lists-how-it-works h2{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:#333}.lists-how-it-works .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.lists-how-it-works .step{text-align:center;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.lists-how-it-works .step-number{width:60px;height:60px;background:linear-gradient(135deg,#d32f2f,#c62828);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin:0 auto 1.5rem}.lists-how-it-works .step h3{font-size:1.3rem;margin-bottom:1rem;color:#333}.lists-how-it-works .step p{color:#666;line-height:1.6}@media (max-width: 768px){.lists-features h2,.lists-how-it-works h2{font-size:2rem}.lists-features .features-grid,.lists-how-it-works .steps{grid-template-columns:1fr}}.shared-list{max-width:1200px;margin:0 auto}.shared-list-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--border-color)}.shared-list-header h1{color:var(--text-primary);margin-bottom:.75rem;font-size:1.75rem;font-weight:700;letter-spacing:-.5px}.list-description{color:var(--text-secondary);font-size:1rem;margin-bottom:.5rem;line-height:1.5;max-width:800px;margin-left:auto;margin-right:auto}.list-owner{color:var(--text-muted);font-size:.85rem;font-weight:500;margin-top:.5rem}@media (min-width: 768px){.shared-list-header h1{font-size:2rem}.list-description{font-size:1.1rem}}.gifts-section{margin-bottom:2.5rem}.gifts-section h2{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.5rem;font-weight:700;letter-spacing:-.5px}@media (min-width: 768px){.gifts-section{margin-bottom:3rem}.gifts-section h2{font-size:1.75rem;margin-bottom:2rem}}.gifts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.gift-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1)}@media (min-width: 768px){.gifts-grid{gap:1.25rem}.gift-card{padding:1.25rem}}.gift-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-color);transform:translateY(-2px)}.gift-card.reserved{opacity:.85;background:var(--bg-secondary);border-color:#48bb784d}.gift-card h3{margin:0 0 .625rem;color:var(--text-primary);font-size:1.0625rem;font-weight:600;line-height:1.3}.gift-description{color:var(--text-secondary);margin-bottom:.75rem;font-size:.8125rem;line-height:1.5}@media (min-width: 768px){.gift-card h3{font-size:1.125rem;margin-bottom:.75rem}.gift-description{font-size:.875rem;margin-bottom:.875rem}}.gift-details{display:flex;justify-content:space-between;align-items:center;margin-bottom:.875rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:.75rem}.gift-price{font-weight:700;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1rem}.gift-link{color:var(--primary-color);text-decoration:none;font-size:.8125rem;font-weight:500;display:inline-flex;align-items:center;gap:.375rem;transition:all .2s ease}@media (min-width: 768px){.gift-price{font-size:1.125rem}.gift-link{font-size:.875rem}}.gift-link:hover{color:var(--secondary-color);text-decoration:underline}.reserve-form{display:flex;flex-direction:column;gap:.625rem}.reserve-form input,.reserve-form textarea{padding:.625rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.875rem;font-family:inherit;width:100%;box-sizing:border-box;transition:all .2s ease;background:var(--bg-primary);color:var(--text-primary)}@media (min-width: 768px){.reserve-form{gap:.75rem}.reserve-form input,.reserve-form textarea{padding:.75rem .875rem;font-size:.9375rem}}.reserve-form input:focus,.reserve-form textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.reserve-form input:disabled,.reserve-form textarea:disabled{background-color:var(--bg-tertiary);cursor:not-allowed;opacity:.7}.reserve-form textarea{resize:vertical;min-height:60px;line-height:1.5}.reserve-form .btn-reserve{padding:.75rem;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #48bb784d;width:100%;min-height:40px}@media (min-width: 768px){.reserve-form textarea{min-height:70px}.reserve-form .btn-reserve{padding:.875rem;font-size:.9375rem;min-height:44px}}.reserve-form .btn-reserve:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #48bb7866}.reserve-form .btn-reserve:active:not(:disabled){transform:translateY(0)}.reserve-form .btn-reserve:disabled{opacity:.6;cursor:not-allowed;transform:none}.reserved-info{margin-top:.75rem}.reserved-badge{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;padding:.375rem .875rem;border-radius:16px;font-size:.8125rem;font-weight:600;display:inline-block;box-shadow:0 2px 4px #48bb784d}@media (min-width: 768px){.reserved-badge{padding:.4375rem 1rem;font-size:.875rem}}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary);background:var(--bg-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.loading{text-align:center;padding:4rem 2rem;color:var(--text-secondary);font-size:1.1rem}.error-message{background:linear-gradient(135deg,#fee,#fdd);color:#c53030;padding:1.5rem;border-radius:var(--radius-sm);text-align:center;border:1px solid #feb2b2;box-shadow:var(--shadow-sm)}.promotion-banner{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:var(--radius-lg);padding:2rem;margin-bottom:3rem;box-shadow:0 4px 12px #667eea4d;color:#fff}.promotion-banner-bottom{margin-top:4rem;margin-bottom:2rem}.promotion-content{display:flex;align-items:center;gap:1.5rem;max-width:1000px;margin:0 auto;flex-wrap:wrap}.promotion-icon{font-size:3rem;flex-shrink:0}.promotion-text{flex:1;min-width:250px}.promotion-text h3{margin:0 0 .5rem;font-size:1.5rem;font-weight:700;color:#fff}.promotion-text p{margin:0;font-size:1rem;line-height:1.6;color:#fffffff2}.promotion-text strong{color:#fff;font-weight:700}.promotion-button{background:#fff;color:#667eea;padding:.875rem 2rem;border-radius:var(--radius-sm);text-decoration:none;font-weight:600;font-size:1rem;transition:all .2s ease;box-shadow:0 2px 8px #0003;white-space:nowrap;display:inline-block}.promotion-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d;color:#764ba2}@media (max-width: 768px){.promotion-content{flex-direction:column;text-align:center;gap:1rem}.promotion-icon{font-size:2.5rem}.promotion-text h3{font-size:1.25rem}.promotion-text p{font-size:.9rem}.promotion-button{width:100%;padding:1rem}.promotion-banner{padding:1.5rem}}.footer{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#e2e8f0;padding:3rem 2rem 1.5rem;margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}.footer-brand{max-width:300px}.footer-logo{height:48px;width:auto;margin-bottom:1rem}.footer-logo-link{display:inline-block;transition:opacity .2s ease;color:#fff}.footer-logo-link:hover{opacity:.8}.footer-tagline{color:#a0aec0;font-size:.95rem;line-height:1.6}.footer-section h4{color:#fff;font-size:1rem;font-weight:600;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section li{margin-bottom:.75rem}.footer-section a{color:#a0aec0;text-decoration:none;font-size:.95rem;transition:color .2s ease}.footer-section a:hover{color:#667eea}.footer-bottom{max-width:1200px;margin:2rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);text-align:center}.footer-bottom p{color:#718096;font-size:.875rem;margin:0}.footer-cookie-notice{margin-top:1rem;padding:1rem;background:#ffffff1a;border-radius:8px;text-align:center}.footer-cookie-notice p{color:#a0aec0;font-size:.9rem;margin-bottom:.75rem}.footer-cookie-btn{padding:.6rem 1.2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.footer-cookie-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}@media (max-width: 768px){.footer-content{grid-template-columns:1fr 1fr;gap:2rem 1rem}.footer-brand{grid-column:1 / -1;max-width:none;text-align:center}.footer-logo{margin:0 auto 1rem;display:block}.footer-section{text-align:center}}@media (max-width: 480px){.footer{padding:2rem 1rem 1rem}.footer-content{grid-template-columns:1fr;gap:1.5rem}}.floating-chat-widget{position:fixed;bottom:20px;right:20px;z-index:999;font-family:inherit}.floating-chat-toggle{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;font-size:24px;cursor:pointer;box-shadow:0 4px 15px #667eea66;transition:all .3s ease;display:flex;align-items:center;justify-content:center;position:relative}.floating-chat-toggle:hover{transform:scale(1.1);box-shadow:0 6px 20px #667eea99}.chat-badge{position:absolute;top:-5px;right:-5px;background:#48bb78;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px;border:2px solid white}.floating-chat-container{width:380px;max-width:calc(100vw - 40px);height:600px;max-height:calc(100vh - 40px);background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease;box-sizing:border-box}.floating-chat-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.chat-header-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px}.chat-icon-small{font-size:18px}.chat-header-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.view-products-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.view-products-btn:hover{background:#ffffff4d}.chat-close-btn,.chat-clear-btn{background:transparent;border:none;color:#fff;font-size:20px;cursor:pointer;padding:6px;border-radius:4px;transition:background .2s ease;line-height:1;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-close-btn:hover,.chat-clear-btn:hover{background:#fff3}.chat-close-btn{font-size:24px;font-weight:300}.chat-cookie-banner{background:#fef3c7;border-bottom:1px solid #f59e0b;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;flex-shrink:0}.chat-cookie-banner p{margin:0;color:#92400e;flex:1}.cookie-accept-btn-small{background:#667eea;color:#fff;border:none;border-radius:4px;padding:4px 12px;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}.cookie-accept-btn-small:hover{background:#5568d3}.floating-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:#f7fafc;min-height:0;box-sizing:border-box}.chat-welcome{text-align:center;padding:20px;color:#4a5568}.chat-welcome p{margin:8px 0;font-size:13px;line-height:1.5}.chat-example{font-size:11px;color:#718096;font-style:italic;margin-top:12px!important;padding:8px;background:#edf2f7;border-radius:6px}.chat-message{display:flex;flex-direction:column;gap:4px;max-width:85%}.chat-message.chat-user{align-self:flex-end}.chat-message.chat-assistant{align-self:flex-start}.chat-message-role{font-size:10px;font-weight:600;color:#718096;margin-bottom:2px}.chat-message-content{padding:8px 12px;border-radius:12px;font-size:13px;line-height:1.5;word-wrap:break-word}.chat-message.chat-user .chat-message-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom-right-radius:4px}.chat-message.chat-assistant .chat-message-content{background:#fff;color:#2d3748;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.keyword-suggestions{margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}.keyword-suggestions-title{margin:0 0 8px;font-size:11px;font-weight:600;color:#718096}.keyword-links{display:flex;flex-wrap:wrap;gap:6px}.keyword-link{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.keyword-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66;background:linear-gradient(135deg,#5568d3,#6a3d8f)}.floating-chat-input{padding:12px;background:#fff;border-top:1px solid #e2e8f0;display:flex;gap:8px;align-items:flex-end;flex-shrink:0}.chat-input-field{flex:1;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-family:inherit;resize:none;min-height:40px;max-height:100px}.chat-input-field:focus{outline:none;border-color:#667eea}.chat-input-field:disabled{background:#f7fafc;cursor:not-allowed}.chat-send-btn{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;font-size:18px;cursor:pointer;transition:all .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.chat-send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.floating-chat-widget{bottom:20px;right:20px;left:auto;top:auto;position:fixed}.floating-chat-container{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;position:fixed;top:0;left:0;right:0;bottom:0;margin:0;padding:0;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column}.floating-chat-toggle{width:56px;height:56px;font-size:22px;bottom:20px;right:20px;position:fixed;margin:0;box-shadow:0 4px 15px #667eea66;max-width:calc(100vw - 40px);max-height:calc(100vh - 40px)}.floating-chat-widget.with-cookie-banner,.floating-chat-widget.with-cookie-banner .floating-chat-toggle{bottom:140px}.floating-chat-header{padding:10px 12px}.chat-header-title{font-size:13px}.chat-header-title span:last-child{display:none}.chat-header-actions{gap:4px}.view-products-btn{font-size:10px;padding:3px 6px}.chat-close-btn,.chat-clear-btn{font-size:20px;padding:6px;min-width:32px;min-height:32px}.floating-chat-messages{padding:12px;gap:10px;min-height:0;flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.chat-message{max-width:90%}.chat-message-content{font-size:12px;padding:6px 10px}.floating-chat-input{padding:10px;gap:6px;flex-shrink:0;position:sticky;bottom:0;z-index:10;background:#fff;border-top:1px solid #e2e8f0;box-sizing:border-box;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.chat-input-field{font-size:16px;padding:12px;min-height:48px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;width:100%;box-sizing:border-box}.chat-send-btn{width:44px;height:44px;min-width:44px;min-height:44px}.keyword-link{font-size:10px;padding:5px 10px}}.layout{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.navbar{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 3px #00000014;padding:.5rem 0;border-bottom:1px solid rgba(0,0,0,.05);position:sticky;top:0;z-index:100}@media (min-width: 768px){.navbar{padding:.75rem 0}.navbar-content{flex-direction:row;align-items:center;gap:2rem}.navbar-top{flex:1;display:flex;justify-content:space-between;align-items:center}.navbar-center-text{flex:1;text-align:center;font-size:1.1rem;padding-top:0;border-top:none;width:auto}.navbar-actions{gap:1.5rem}}.navbar-content{max-width:1400px;margin:0 auto;padding:0 1rem;display:flex;flex-direction:column;gap:.5rem}@media (min-width: 768px){.navbar-content{padding:0 2.5rem;gap:.75rem}}.navbar-top{display:flex;justify-content:space-between;align-items:center;gap:.375rem;width:100%}@media (min-width: 768px){.navbar-top{gap:1rem}}.navbar-center-text{text-align:center;font-size:.75rem;font-weight:500;color:#fff;opacity:.95;padding-top:.4rem;border-top:1px solid rgba(255,255,255,.2);width:100%;line-height:1.3;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media (min-width: 768px){.navbar-center-text{font-size:.9rem;padding-top:.5rem}}.navbar-logo-container{display:flex;align-items:center;cursor:pointer;transition:opacity .2s ease;color:#fff}.navbar-logo-container:hover{opacity:.85}.navbar-logo-img{height:36px;width:auto;display:block}@media (min-width: 768px){.navbar-logo-img{height:48px}}.navbar-logo{display:none}.navbar-actions{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap;justify-content:flex-end}@media (min-width: 768px){.navbar-actions{gap:1rem}}.navbar-user{color:#fff;font-size:.75rem;font-weight:500;display:none}@media (min-width: 768px){.navbar-user{font-size:.95rem;display:inline}}.navbar-link{color:#fff;text-decoration:none;font-size:.8rem;font-weight:500;padding:.5rem .75rem;border-radius:6px;transition:all .2s ease;white-space:nowrap;min-height:36px;display:inline-flex;align-items:center;justify-content:center}@media (min-width: 768px){.navbar-link{font-size:.95rem;padding:.5rem 1rem;min-height:auto}}.navbar-link:hover{background:#ffffff1a}.btn-logout{padding:.5rem .75rem;font-size:.8rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease;box-shadow:0 2px 4px #667eea4d;white-space:nowrap;min-height:36px;min-width:80px;display:inline-flex;align-items:center;justify-content:center}@media (min-width: 768px){.btn-logout{padding:.625rem 1.25rem;font-size:.9rem;min-height:auto;min-width:auto}}.btn-logout:hover{background:#ffffff4d;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn-logout:active{transform:translateY(0)}.main-content{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:1rem}@media (min-width: 768px){.main-content{padding:3rem 2.5rem}}.product-tags-container{width:100%;margin:2rem 0}.tags-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.tags-header h3{margin:0;font-size:1.5rem;color:#333}.tag-type-toggle{display:flex;gap:.5rem;background:#f5f5f5;border-radius:8px;padding:4px}.tag-type-toggle button{padding:.5rem 1rem;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:.9rem;color:#666;transition:all .2s}.tag-type-toggle button:hover{background:#e0e0e0}.tag-type-toggle button.active{background:#007bff;color:#fff}.tags-loading,.tags-empty{text-align:center;padding:2rem;color:#666}.tag-search{margin-bottom:1rem}.tag-search input{width:100%;max-width:260px;padding:.4rem .7rem;border-radius:6px;border:1px solid #ced4da;font-size:.9rem}.tags-grid{display:flex;flex-wrap:wrap;gap:.75rem}.product-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f8f9fa;border:1px solid #dee2e6;border-radius:20px;cursor:pointer;transition:all .2s;font-size:.9rem;color:#333}.product-tag:hover{background:#007bff;color:#fff;border-color:#007bff;transform:translateY(-2px);box-shadow:0 2px 8px #007bff4d}.tag-name{font-weight:500}.tag-count{font-size:.85rem;opacity:.8}.product-tag:hover .tag-count{opacity:1}@media (max-width: 768px){.tags-header{flex-direction:column;align-items:flex-start}.tags-header h3{font-size:1.25rem}.tag-type-toggle{width:100%;justify-content:center}.tags-grid{gap:.5rem}.product-tag{padding:.4rem .8rem;font-size:.85rem}}.ideas-page{min-height:calc(100vh - 200px);display:flex;flex-direction:column}.ideas-content{flex:1;max-width:1200px;margin:0 auto;padding:1.5rem 2rem;width:100%;box-sizing:border-box}@media (max-width: 768px){.ideas-content{padding:.5rem}}.ai-section{width:100%;margin-bottom:3rem}@media (max-width: 768px){.ai-section{margin-bottom:2rem}}.ai-widget{max-width:800px;margin:0 auto;background:linear-gradient(135deg,#f0f4ff,#f5f0ff);border-radius:12px;border:2px solid rgba(102,126,234,.2);padding:1.5rem;box-shadow:0 4px 12px #667eea1a}@media (max-width: 768px){.ai-widget{padding:1rem}}.ai-widget-header{text-align:center;margin-bottom:1.25rem}.ai-widget-header h2{font-size:1.35rem;color:#2d3748;margin:0 0 .5rem;font-weight:700}.ai-widget-subtitle{font-size:.9rem;color:#4a5568;line-height:1.5;margin:0}.ai-widget-subtitle strong{color:#667eea;font-weight:600}.ai-beta-notice{display:inline-block;background:linear-gradient(135deg,#fff3cd,#ffeaa7);color:#856404;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:500;margin-top:.75rem;border:1px solid #ffc107;box-shadow:0 2px 4px #ffc10733}@media (max-width: 768px){.ai-beta-notice{font-size:.8rem;padding:.4rem .8rem;margin-top:.5rem}}.ai-chat-history{max-height:400px;overflow-y:auto;margin-bottom:1rem;padding:1rem;background:#fff;border-radius:8px;border:1px solid #e2e8f0}.ai-chat-message{margin-bottom:1rem;padding:.75rem;border-radius:8px}.ai-chat-message:last-child{margin-bottom:0}.ai-chat-user{background:#e3f2fd;margin-left:20%;border-left:3px solid #2196f3}.ai-chat-assistant{background:#f5f5f5;margin-right:20%;border-left:3px solid #667eea}.ai-chat-role{font-weight:600;font-size:.85rem;margin-bottom:.5rem;color:#4a5568}.ai-chat-content{color:#2d3748;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}@media (max-width: 768px){.ai-chat-history{max-height:300px;padding:.75rem}.ai-chat-user{margin-left:10%}.ai-chat-assistant{margin-right:10%}}.ai-widget-input{margin-bottom:.75rem}.ai-input-actions{display:flex;gap:.5rem;align-items:center}.ai-clear-chat-button{padding:.75rem 1rem;background:#f7fafc;color:#718096;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.ai-clear-chat-button:hover{background:#edf2f7;border-color:#cbd5e0;color:#4a5568}@media (max-width: 768px){.ai-input-actions{flex-direction:column}.ai-clear-chat-button{width:100%}}.ai-debug-panel{margin-top:1rem;border:1px solid #e2e8f0;border-radius:8px;background:#f7fafc;overflow:hidden}.ai-debug-toggle{width:100%;padding:.75rem 1rem;background:#edf2f7;border:none;border-bottom:1px solid #e2e8f0;text-align:left;font-size:.9rem;font-weight:600;color:#4a5568;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background .2s ease}.ai-debug-toggle:hover{background:#e2e8f0}.ai-provider-badge{font-size:.85rem;font-weight:500;color:#667eea;margin-left:.5rem}.ai-errors-badge{font-size:.85rem;font-weight:500;color:#e53e3e;margin-left:.5rem}.ai-debug-content{padding:1rem;background:#fff}.ai-debug-section{margin-bottom:1rem}.ai-debug-section:last-child{margin-bottom:0}.ai-debug-section strong{display:block;margin-bottom:.5rem;color:#2d3748;font-size:.9rem}.ai-provider-info{padding:.5rem;background:#f0f4ff;border-left:3px solid #667eea;border-radius:4px;color:#4a5568;font-size:.9rem}.ai-json-display{background:#1a202c;color:#e2e8f0;padding:1rem;border-radius:6px;font-size:.85rem;font-family:Courier New,monospace;overflow-x:auto;max-height:400px;overflow-y:auto;margin:.5rem 0;line-height:1.5}.ai-json-stats{margin-top:.5rem;padding:.5rem;background:#f0f4ff;border-radius:4px;font-size:.85rem;color:#4a5568}.ai-errors-list{margin-top:.5rem}.ai-error-item{display:flex;align-items:flex-start;padding:.75rem;background:#fee;border-left:3px solid #e53e3e;border-radius:4px;margin-bottom:.5rem;font-size:.85rem}.ai-error-item:last-child{margin-bottom:0}.ai-error-icon{margin-right:.5rem;flex-shrink:0}.ai-error-text{color:#c53030;word-break:break-word}@media (max-width: 768px){.ai-debug-content{padding:.75rem}.ai-json-display{font-size:.75rem;padding:.75rem;max-height:300px}}.ai-widget-hint{text-align:center;font-size:.85rem;color:#718096;margin:.75rem 0 0;font-style:italic}@media (min-width: 768px){.ai-widget{padding:2rem}.ai-widget-header h2{font-size:1.5rem}.ai-widget-subtitle{font-size:1rem}}.ai-description-input{width:100%;padding:1rem 1.125rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;min-height:120px;margin-bottom:.75rem;box-sizing:border-box;background:#fff}@media (min-width: 768px){.ai-description-input{padding:.875rem;font-size:.95rem;min-height:90px}}.ai-description-input:focus{outline:none;border-color:#667eea}.ai-generate-button{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;min-height:44px}@media (min-width: 768px){.ai-generate-button{padding:.875rem 1.5rem}}.ai-generate-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.ai-generate-button:disabled{opacity:.6;cursor:not-allowed}.ai-error-message{margin-top:1rem;padding:1rem;background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33}.ai-alternatives{margin-top:1rem;padding-top:1rem;border-top:1px solid #fcc}.ai-alternatives p{margin-bottom:.5rem;color:#333}.ai-alternatives ul{list-style:none;padding:0;margin:0}.ai-alternatives li{margin-bottom:.5rem}.alternative-prompt-btn{background:#fff;border:2px solid #ccc;border-radius:8px;padding:.875rem 1rem;cursor:pointer;text-align:left;width:100%;transition:all .2s;color:#333;font-size:.95rem;min-height:44px;box-sizing:border-box}@media (min-width: 768px){.alternative-prompt-btn{padding:.5rem 1rem;border-width:1px;font-size:inherit}}.alternative-prompt-btn:hover{background:#f0f0f0;border-color:#999}.ai-error-message{background:#fed7d7;color:#c53030;padding:1rem;border-radius:8px;margin-bottom:2rem;text-align:center}.suggestions-list{margin-top:2rem}.suggestions-list h2{font-size:1.75rem;color:#2d3748;margin-bottom:1.5rem;text-align:center}.suggestions-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:1.5rem}@media (min-width: 768px){.suggestions-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}}.suggestion-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 2px 8px #0000000d}.suggestion-card:hover{transform:translateY(-3px);box-shadow:0 4px 15px #0000001a}.suggestion-image-container{width:100%;height:200px;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;background:#f7fafc;border-radius:8px;overflow:hidden}.suggestion-image{max-width:100%;max-height:100%;object-fit:contain}.suggestion-content{flex:1;display:flex;flex-direction:column}.suggestion-name{font-size:1.2rem;font-weight:600;color:#2d3748;margin:0 0 .5rem}.suggestion-description{font-size:.95rem;color:#4a5568;line-height:1.5;margin-bottom:1rem;flex:1;max-height:150px;overflow:hidden;text-overflow:ellipsis}.suggestion-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.suggestion-price{font-size:1.25rem;font-weight:700;color:#667eea}.suggestion-store{font-size:.9rem;color:#718096;background:#edf2f7;padding:.25rem .75rem;border-radius:4px}.suggestion-link{display:inline-block;text-align:center;padding:.875rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;border-radius:6px;font-weight:500;font-size:.95rem;transition:transform .2s ease,box-shadow .2s ease;margin-top:auto;min-height:44px;width:100%;box-sizing:border-box}@media (min-width: 768px){.suggestion-link{padding:.75rem 1.5rem;width:auto;display:inline-block}}.suggestion-link:hover{transform:translateY(-1px);box-shadow:0 4px 10px #667eea4d}.ai-empty-state{text-align:center;padding:3rem 2rem;color:#718096;font-size:1.1rem}.cookie-required-banner{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:8px;padding:1rem;margin-bottom:1.25rem}.cookie-required-content{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}@media (max-width: 768px){.cookie-required-content{align-items:stretch}.cookie-accept-btn{width:100%}}.cookie-required-content p{margin:0;color:#92400e;font-size:.9rem;line-height:1.5}.cookie-required-content strong{color:#78350f;font-size:.95rem}.cookie-accept-btn{padding:.625rem 1.25rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #667eea4d;white-space:nowrap}.cookie-accept-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.categories-section{width:100%}.ideas-back-link{display:inline-flex;align-items:center;gap:.5rem;color:#667eea;text-decoration:none;font-weight:500;margin-bottom:2rem}.ideas-back-link:hover{text-decoration:underline}.ideas-section{margin-bottom:3rem}.ideas-section h2{font-size:1.5rem;color:#1a202c;margin-bottom:1.5rem}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.category-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 15px #00000014;transition:transform .2s ease,box-shadow .2s ease}.category-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001f}.category-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #f0f0f0}.category-emoji{font-size:1.75rem}.category-header h3{margin:0;font-size:1.2rem;color:#2d3748}.category-ideas{list-style:none;padding:0;margin:0}.category-ideas li{padding:.5rem 0;color:#4a5568;font-size:.95rem;border-bottom:1px solid #f7fafc}.category-ideas li:last-child{border-bottom:none}.category-ideas li:before{content:"→";margin-right:.5rem;color:#667eea}.loading-products{text-align:center;padding:2rem;color:#718096;font-size:1.1rem}.category-products{display:flex;flex-direction:column;gap:1rem}.product-item{display:flex;gap:1rem;padding:1rem;background:#f7fafc;border-radius:8px;transition:background .2s ease}.product-item:hover{background:#edf2f7}.product-thumb{width:80px;height:80px;object-fit:contain;border-radius:6px;background:#fff;padding:.25rem;border:1px solid #e2e8f0}.product-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.product-info h4{margin:0;font-size:.95rem;color:#2d3748;line-height:1.4}.product-price{color:#667eea;font-weight:600;font-size:.9rem}.product-link{color:#667eea;text-decoration:none;font-size:.85rem;font-weight:500;transition:color .2s ease}.product-link:hover{color:#764ba2;text-decoration:underline}.occasions-grid{display:flex;flex-wrap:wrap;gap:1rem}.occasion-tag{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#f7fafc,#edf2f7);padding:.75rem 1.25rem;border-radius:50px;font-size:.95rem;color:#2d3748;font-weight:500;transition:all .2s ease;border:none;cursor:pointer;font-family:inherit}.occasion-tag:focus{outline:2px solid #667eea;outline-offset:2px}.occasion-tag:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.cta-section{background:linear-gradient(135deg,#f0f4ff,#f5f0ff);padding:2rem;border-radius:16px;text-align:center}.cta-section h2{margin-top:0}.cta-section p{color:#4a5568;max-width:600px;margin:0 auto 1.5rem;line-height:1.6}.cta-button{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 2rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:1rem;transition:transform .2s ease,box-shadow .2s ease}.cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.tips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.tip-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 10px #0000000f;border-left:4px solid #667eea}.tip-card h4{margin:0 0 .75rem;color:#2d3748;font-size:1.1rem}.tip-card p{margin:0;color:#718096;font-size:.95rem;line-height:1.5}.idea-clickable{cursor:pointer;transition:all .2s ease}.idea-clickable:hover{color:#667eea;transform:translate(5px);font-weight:500}.category-explore-btn{width:100%;margin-top:1rem;padding:.875rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;min-height:44px;box-sizing:border-box}@media (min-width: 768px){.category-explore-btn{padding:.75rem 1rem;font-size:inherit}}.category-explore-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.products-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:2rem;overflow-y:auto}.products-modal{background:#fff;border-radius:16px;max-width:1200px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.products-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid #f0f0f0}.products-modal-header h2{margin:0;font-size:1.5rem;color:#2d3748}.modal-close-btn{background:none;border:none;font-size:2rem;color:#718096;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal-close-btn:hover{background:#f7fafc;color:#2d3748}.products-modal-content{padding:2rem;overflow-y:auto;flex:1}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}@media (min-width: 768px){.products-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}}.product-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column}.product-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#667eea;transform:translateY(-2px)}.product-image-container{width:100%;height:100px;background:#f7fafc;display:flex;align-items:center;justify-content:center;overflow:hidden}@media (min-width: 768px){.product-image-container{height:120px}}.product-image{max-width:100%;max-height:100%;object-fit:contain}.product-card-content{padding:.5rem;display:flex;flex-direction:column;flex:1}.product-card-name{margin:0 0 .25rem;font-size:.8125rem;font-weight:600;color:#2d3748;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card-description{margin:0 0 .375rem;font-size:.6875rem;color:#718096;line-height:1.4;flex:1}@media (min-width: 768px){.product-card-content{padding:.625rem}.product-card-name{font-size:.875rem;margin-bottom:.375rem}.product-card-description{font-size:.75rem;margin-bottom:.5rem}}.product-card-meta{display:flex;gap:.25rem;flex-wrap:wrap;margin-bottom:.375rem}.product-card-price{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.125rem .4375rem;border-radius:6px;font-size:.75rem;font-weight:600}.product-card-store{background:#f7fafc;color:#4a5568;padding:.125rem .4375rem;border-radius:6px;font-size:.6875rem;font-weight:500}.product-card-link{display:inline-block;color:#667eea;text-decoration:none;font-weight:500;font-size:.75rem;transition:color .2s ease;margin-top:auto}@media (min-width: 768px){.product-card-meta{gap:.375rem;margin-bottom:.5rem}.product-card-price{padding:.1875rem .5rem;font-size:.8125rem}.product-card-store{padding:.1875rem .5rem;font-size:.75rem}.product-card-link{font-size:.8125rem}}.product-card-link:hover{color:#764ba2;text-decoration:underline}.no-products{text-align:center;padding:3rem;color:#718096;font-size:1.1rem}@media (max-width: 768px){.ideas-header{padding:2rem 1rem}.ideas-header h1{font-size:1.75rem}.ideas-content{padding:.5rem}.categories-grid{grid-template-columns:1fr}.category-card{padding:1rem}.tips-grid{grid-template-columns:1fr}.cta-section{padding:1.5rem .75rem}.products-modal{max-width:100%;max-height:100vh;border-radius:0}.products-modal-header{padding:1rem 1.5rem}.products-modal-content{padding:1rem}.products-grid{grid-template-columns:1fr}}.add-to-list-button{margin-top:.5rem;padding:.625rem 1rem;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;border-radius:6px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;box-sizing:border-box;min-height:36px}@media (min-width: 768px){.add-to-list-button{font-size:.875rem;padding:.5rem .875rem;width:auto;min-height:32px}}.add-to-list-button:hover{background:linear-gradient(135deg,#38a169,#2f855a);transform:translateY(-1px);box-shadow:0 2px 8px #38a1694d}.add-to-list-button:active{transform:translateY(0)}.list-selection-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1001;padding:1rem}.list-selection-modal{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.list-selection-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:2px solid #f0f0f0}.list-selection-modal-header h3{margin:0;font-size:1.25rem;color:#2d3748;font-weight:600}.list-selection-modal-content{padding:1.5rem;overflow-y:auto;flex:1}.no-lists-message{text-align:center;padding:2rem 1rem;color:#718096}.no-lists-message p{margin:0 0 1rem;font-size:1rem}.create-list-link{display:inline-block;color:#667eea;text-decoration:none;font-weight:600;font-size:.95rem;transition:color .2s ease}.create-list-link:hover{color:#764ba2;text-decoration:underline}.lists-selection-list{display:flex;flex-direction:column;gap:.75rem}.list-selection-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%;box-sizing:border-box}.list-selection-item:hover:not(:disabled){background:#edf2f7;border-color:#667eea;transform:translate(4px)}.list-selection-item:disabled{opacity:.6;cursor:not-allowed}.list-selection-item-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.list-selection-item-name{font-size:1rem;font-weight:600;color:#2d3748}.list-selection-item-description{font-size:.875rem;color:#718096;line-height:1.4}.list-selection-item-count{font-size:.8125rem;color:#a0aec0;font-weight:500}.adding-spinner{font-size:1.25rem;animation:spin 1s linear infinite}@media (max-width: 768px){.list-selection-modal{max-width:100%;max-height:90vh;border-radius:12px 12px 0 0}.list-selection-modal-header{padding:1rem 1.25rem}.list-selection-modal-header h3{font-size:1.1rem}.list-selection-modal-content{padding:1rem}.list-selection-item{padding:.875rem}.list-selection-item-name{font-size:.95rem}}.filters-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.filters-header h2{margin:0;font-size:1.25rem;color:#2d3748}.toggle-filters-btn{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;cursor:pointer;transition:all .2s ease;color:#4a5568}.toggle-filters-btn:hover{background:#edf2f7;border-color:#cbd5e0}.filters-panel{border-top:1px solid #e2e8f0;padding-top:1rem}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.875rem;font-weight:600;color:#4a5568}.filter-input,.filter-select{padding:.625rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;font-family:inherit;transition:border-color .2s ease}.filter-input:focus,.filter-select:focus{outline:none;border-color:#667eea}.filter-actions{display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.apply-filters-btn,.clear-filters-btn{padding:.75rem 1.5rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.apply-filters-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.apply-filters-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.clear-filters-btn{background:#f7fafc;color:#4a5568;border:1px solid #e2e8f0}.clear-filters-btn:hover{background:#edf2f7;border-color:#cbd5e0}.filtered-results-header{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.filtered-results-header p{margin:0;font-size:.875rem;color:#718096;font-weight:500}.filtered-products-section{margin-bottom:3rem}.filtered-products-section h2{font-size:1.5rem;color:#2d3748;margin-bottom:1.5rem}@media (max-width: 768px){.filters-section{padding:1rem}.filter-row{grid-template-columns:1fr}.filter-actions{flex-direction:column}.apply-filters-btn,.clear-filters-btn{width:100%}}.sql-query-display{margin-top:1rem;padding:1rem;background:#f9fafb;border:1px solid #e0e0e0;border-radius:8px}.sql-query-display details{cursor:pointer}.sql-query-display summary{font-weight:600;color:#333;padding:.5rem;-webkit-user-select:none;user-select:none}.sql-query-display summary:hover{background:#f0f0f0;border-radius:4px}.sql-query-code{margin-top:.5rem;padding:1rem;background:#1e1e1e;color:#d4d4d4;border-radius:6px;overflow-x:auto;font-family:Courier New,monospace;font-size:.85rem;line-height:1.5;white-space:pre-wrap;word-break:break-all}.sql-query-code::-webkit-scrollbar{height:8px}.sql-query-code::-webkit-scrollbar-track{background:#2d2d2d;border-radius:4px}.sql-query-code::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.sql-query-code::-webkit-scrollbar-thumb:hover{background:#777}.tag-products-page{max-width:1200px;margin:0 auto;padding:2rem 1rem}.tag-products-header{margin-bottom:2rem}.back-button{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:.5rem 1rem;cursor:pointer;font-size:.9rem;color:#333;margin-bottom:1rem;transition:all .2s}.back-button:hover{background:#e9ecef;border-color:#adb5bd}.tag-products-header h1{font-size:2rem;color:#333;margin:.5rem 0}.products-count{color:#666;font-size:1rem;margin:.5rem 0}.error-message{background:#f8d7da;color:#721c24;padding:1rem;border-radius:8px;margin-bottom:1rem;border:1px solid #f5c6cb}.loading-container{text-align:center;padding:3rem}.loading-spinner{border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.no-products{text-align:center;padding:3rem;color:#666}.no-products button{margin-top:1rem;padding:.75rem 1.5rem;background:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:background .2s}.no-products button:hover{background:#0056b3}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}.product-card{background:#fff;border:1px solid #dee2e6;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s;display:flex;flex-direction:column}.product-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0000001a;border-color:#007bff}.product-image-container{width:100%;height:200px;overflow:hidden;background:#f8f9fa;display:flex;align-items:center;justify-content:center}.product-image{width:100%;height:100%;object-fit:cover}.product-card-content{padding:1rem;display:flex;flex-direction:column;flex-grow:1}.product-name{font-size:1rem;font-weight:600;color:#333;margin:0 0 .5rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-description{font-size:.85rem;color:#666;margin:0 0 1rem;line-height:1.4;flex-grow:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.product-footer{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.product-price{font-size:1.1rem;font-weight:700;color:#007bff}.product-old-price{font-size:.9rem;color:#999;text-decoration:line-through}.product-store{font-size:.75rem;color:#666;background:#f8f9fa;padding:.25rem .5rem;border-radius:4px}.product-link-btn{width:100%;padding:.75rem;background:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s}.product-link-btn:hover{background:#0056b3}.load-more-container{text-align:center;margin:2rem 0 1rem}.load-more-button{padding:.75rem 1.5rem;background:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:background .2s}.load-more-button:hover{background:#0056b3}.load-more-info{margin-top:.5rem;font-size:.85rem;color:#666}@media (max-width: 768px){.tag-products-page{padding:1rem}.tag-products-header h1{font-size:1.5rem}.products-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.product-image-container{height:150px}.product-name{font-size:.9rem}.product-description{font-size:.8rem}}.home-page{min-height:100vh;display:flex;flex-direction:column}.home-hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:3rem 2rem 2rem;text-align:center}.home-logo-link{text-decoration:none;color:inherit;display:block}.home-logo-link:hover{opacity:.9}.home-logo img{width:120px;height:120px;margin-bottom:1rem}.home-tagline{font-size:1.25rem;opacity:.95;margin-top:.5rem}.home-services{max-width:1200px;margin:2rem auto;padding:0 2rem}.home-services h2{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:#2d3748}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:3rem}.service-card{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 4px 20px #0000001a;transition:transform .3s ease,box-shadow .3s ease;border:2px solid transparent}.service-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #00000026}.service-public{border-color:#667eea}.service-private{border-color:#48bb78}.service-icon{font-size:4rem;text-align:center;margin-bottom:1rem}.service-card h3{font-size:1.75rem;margin-bottom:1rem;text-align:center;color:#2d3748}.service-description{font-size:1.1rem;line-height:1.6;color:#4a5568;margin-bottom:1.5rem;text-align:center}.service-features{list-style:none;padding:0;margin:1.5rem 0}.service-features li{padding:.75rem 0;border-bottom:1px solid #e2e8f0;color:#4a5568;font-size:1rem}.service-features li:last-child{border-bottom:none}.service-button{display:block;text-align:center;padding:1rem 2rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:1.1rem;margin-top:1.5rem;transition:all .3s ease}.service-button-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.service-button-primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.service-button-secondary{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.service-button-secondary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #48bb7866}.home-cta{background:#f7fafc;padding:4rem 2rem;text-align:center;margin-top:4rem}.home-cta h3{font-size:2rem;margin-bottom:1rem;color:#2d3748}.home-cta p{font-size:1.2rem;color:#4a5568;margin-bottom:2rem}.home-cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-large{padding:1rem 2.5rem;font-size:1.1rem}@media (max-width: 1024px){.services-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media (max-width: 768px){.services-grid{grid-template-columns:1fr;gap:1.5rem}.home-hero{padding:2rem 1rem}.home-logo h1{font-size:2rem}.service-card{padding:1.5rem}.service-button{padding:1rem 1.5rem;font-size:1rem;min-height:44px}.home-services{padding:0 1rem}.home-services h2{font-size:1.75rem;margin-bottom:2rem}}.admin-feeds{max-width:1400px;margin:0 auto;padding:1rem}@media (min-width: 768px){.admin-feeds{padding:2rem}}.admin-feeds-page{max-width:100%;margin:0;padding:.5rem;width:100%;box-sizing:border-box}@media (min-width: 768px){.admin-feeds-page{padding:1rem;max-width:1400px;margin:0 auto}}.admin-feeds-content{width:100%;box-sizing:border-box}.admin-feeds-header{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #e2e8f0}.admin-feeds-header h1{margin:0 0 .5rem;color:#1a1a1a;font-size:1.25rem}@media (min-width: 768px){.admin-feeds-header h1{font-size:1.75rem;margin-bottom:.75rem}}.admin-feeds-header p{margin:0;font-size:.875rem;color:#6c757d}@media (min-width: 768px){.admin-feeds-header p{font-size:1rem}}.admin-header-top{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}@media (min-width: 768px){.admin-header-top{flex-direction:row;justify-content:space-between;align-items:center}}.total-products-badge{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.5rem 1rem;border-radius:8px;font-weight:600;box-shadow:0 2px 8px #667eea4d;width:100%;justify-content:center}@media (min-width: 768px){.total-products-badge{padding:.75rem 1.5rem;width:auto;justify-content:flex-start}}.total-products-label{font-size:.95rem;opacity:.95}.total-products-value{font-size:1.25rem;font-weight:700}.admin-actions{display:flex;gap:.5rem;flex-wrap:wrap;width:100%}@media (min-width: 768px){.admin-actions{gap:1rem;width:auto}}.btn{padding:.875rem 1rem;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;flex:1;min-width:120px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}@media (min-width: 768px){.btn{padding:.75rem 1.5rem;font-size:1rem;flex:none;min-width:auto;min-height:auto}}.btn-danger{background:#dc3545;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:44px}.btn-danger:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 4px 8px #dc35454d}.error-message{background:#f8d7da;color:#721c24;padding:1rem;border-radius:6px;margin-bottom:1rem}.loading{text-align:center;padding:3rem;color:#6c757d}.feeds-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;margin:0}.feeds-table-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;margin:0;width:100%}.feeds-table{width:100%;border-collapse:collapse;min-width:1000px}.admin-products-table{min-width:2000px}.admin-products-table .product-title-cell{overflow:hidden;text-overflow:ellipsis;word-break:break-word;vertical-align:top;white-space:normal;line-height:1.4;max-height:2.8em;display:table-cell}.description-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;word-break:break-word;font-size:.75rem;color:#343a40;vertical-align:top;white-space:normal}.other-data-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;font-size:.8em;color:#6c757d;vertical-align:top;white-space:normal}.admin-products-table .other-data-cell{overflow:hidden;text-overflow:ellipsis;word-break:break-word;vertical-align:top;white-space:normal;line-height:1.4;max-height:2.8em;display:table-cell}.feeds-table{table-layout:auto;border-collapse:separate;border-spacing:0}.feeds-table th,.feeds-table td{display:table-cell;border:1px solid #dee2e6}.feeds-table td,.feeds-table th{vertical-align:top}.feeds-table thead{background:#f8f9fa}.feeds-table th{padding:.5rem .375rem;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;font-size:.75rem;white-space:nowrap}.feeds-table td{padding:.5rem .375rem;border-bottom:1px solid #dee2e6;font-size:.75rem;word-break:break-word;vertical-align:top}.feeds-table th{position:relative}.column-filter{width:100%;padding:.25rem;font-size:.7rem;border:1px solid #ced4da;border-radius:3px;margin-top:.25rem;box-sizing:border-box;background:#fff}.column-filter:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.column-filter::placeholder{color:#adb5bd;font-size:.65rem}.column-filter-multiselect{min-height:60px;max-height:100px;overflow-y:auto;font-size:.7rem;padding:.25rem}.column-filter-multiselect option{padding:.2rem .4rem;cursor:pointer}.column-filter-multiselect option:checked{background-color:#007bff;color:#fff}.filter-clear-btn{background:#dc3545;color:#fff;border:none;border-radius:3px;padding:.1rem .3rem;font-size:.7rem;cursor:pointer;margin-left:.25rem;vertical-align:middle}.filter-clear-btn:hover{background:#c82333}.feeds-table th.filter-header>div{display:flex;align-items:center;justify-content:space-between}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-header:hover{background-color:#e9ecef}.sort-icon{margin-left:.25rem;font-size:.8rem;color:#007bff;font-weight:700}.sortable-header:hover .sort-icon{color:#0056b3}.feeds-table th.filter-header{padding-bottom:.5rem;padding-top:.5rem}.feeds-table th.filter-header>div:first-child{font-weight:600;margin-bottom:.25rem;font-size:.75rem}@media (max-width: 767px){.column-filter{padding:.15rem;font-size:.6rem;margin-top:.15rem}.feeds-table th.filter-header{padding-bottom:.35rem;padding-top:.35rem}.feeds-table th.filter-header>div:first-child{font-size:.65rem;margin-bottom:.15rem}.column-filter::placeholder{font-size:.55rem}}@media (max-width: 767px){.feeds-table th,.feeds-table td{padding:.375rem .25rem;font-size:.65rem;line-height:1.2;max-height:2.4em;overflow:hidden}.feeds-table th:nth-child(1),.feeds-table td:nth-child(1){min-width:40px;max-width:50px}.feeds-table th:nth-child(2),.feeds-table td:nth-child(2){min-width:50px;max-width:60px}.feeds-table th:nth-child(3),.feeds-table td:nth-child(3){min-width:150px;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-products-table .product-title-cell{min-width:140px;max-width:180px;overflow:hidden;text-overflow:ellipsis;word-break:break-word;vertical-align:top;white-space:normal;line-height:1.4;max-height:2.8em;display:table-cell;padding:.375rem .25rem}.feeds-table th:nth-child(4),.feeds-table td:nth-child(4){min-width:60px;max-width:80px}.feeds-table th:nth-child(5),.feeds-table td:nth-child(5){min-width:50px;max-width:70px}.feeds-table th:nth-child(6),.feeds-table td:nth-child(6),.feeds-table th:nth-child(7),.feeds-table td:nth-child(7){min-width:60px;max-width:70px;white-space:nowrap}.feeds-table th:nth-child(8),.feeds-table td:nth-child(8){min-width:120px;max-width:150px;white-space:nowrap}.feeds-table td:nth-child(8) .action-buttons{flex-wrap:nowrap;gap:.15rem}.feeds-table th:nth-child(9),.feeds-table td:nth-child(9){min-width:30px;max-width:40px;text-align:center}.feeds-table th:nth-child(10),.feeds-table td:nth-child(10),.feeds-table th:nth-child(11),.feeds-table td:nth-child(11){min-width:50px;max-width:60px;font-size:.6rem}.feeds-table th:nth-child(12),.feeds-table td:nth-child(12),.feeds-table th:nth-child(13),.feeds-table td:nth-child(13){min-width:30px;max-width:40px;text-align:center}.feeds-table th:nth-child(14),.feeds-table td:nth-child(14),.other-data-cell{min-width:80px;max-width:120px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.admin-products-table th:nth-child(14),.admin-products-table td:nth-child(14),.admin-products-table th:nth-child(15),.admin-products-table td:nth-child(15){min-width:30px;max-width:40px;text-align:center;white-space:nowrap;padding:.375rem .25rem}.admin-products-table th:nth-child(14) .column-filter,.admin-products-table th:nth-child(15) .column-filter{padding:.15rem;font-size:.6rem;margin-top:.15rem;width:100%;box-sizing:border-box}}@media (min-width: 768px){.feeds-table th,.feeds-table td{padding:.75rem;font-size:.875rem}.admin-products-table th:nth-child(3),.admin-products-table td:nth-child(3){min-width:300px}.admin-products-table th:nth-child(4),.admin-products-table td:nth-child(4){min-width:300px}.admin-products-table th:nth-child(5),.admin-products-table td:nth-child(5){min-width:120px}.admin-products-table th:nth-child(6),.admin-products-table td:nth-child(6){min-width:120px}}@media (min-width: 1024px){.feeds-table th,.feeds-table td{padding:1rem;font-size:1rem}}.feeds-table tr:hover{background:#f8f9fa}.feeds-table tr.inactive{opacity:.6}.feed-url{color:#007bff;text-decoration:none;word-break:break-word;overflow-wrap:break-word;max-width:100%;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-url:hover{text-decoration:underline}.badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.badge-success{background:#d4edda;color:#155724}.badge-error{background:#f8d7da;color:#721c24}.badge-warning{background:#fff3cd;color:#856404}.badge-inactive{background:#e2e3e5;color:#383d41}.badge-progress{background:#cce5ff;color:#004085}.badge-pending{background:#f8f9fa;color:#6c757d}.indexed-full{color:#10b981;font-weight:600}.indexed-partial{color:#f59e0b;font-weight:500}.indexed-percentage{font-size:.85em;color:#6b7280;font-weight:400}.action-buttons{display:flex;gap:.25rem;flex-wrap:nowrap;align-items:center;justify-content:flex-start;white-space:nowrap}@media (min-width: 768px){.action-buttons{gap:.5rem}}.btn-icon{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.5rem;border-radius:8px;transition:background .2s;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}@media (min-width: 768px){.btn-icon{padding:.25rem .5rem;min-width:auto;min-height:auto}}.btn-icon:hover{background:#f8f9fa}.btn-icon.btn-danger:hover{background:#f8d7da}.empty-state{text-align:center;padding:3rem;color:#6c757d}.modal-content{background:#fff;padding:0;border-radius:8px;max-width:600px;width:90%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;position:relative}.modal-content h2{margin:0;padding:2rem 2rem 1.5rem;flex-shrink:0;border-bottom:1px solid #dee2e6}.modal-content form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;box-sizing:border-box}.modal-form-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:1.5rem 2rem;min-height:0;box-sizing:border-box}.modal-content form>.form-group{margin-bottom:1.5rem}.feeds-filters{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap;align-items:flex-end}@media (min-width: 768px){.feeds-filters{gap:1rem;margin-bottom:1.5rem}}.feeds-filters .form-group{margin-bottom:0;flex:1 1 auto;min-width:150px}@media (max-width: 767px){.feeds-filters .form-group{min-width:120px;flex:1 1 45%}}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#495057;font-size:.875rem}@media (min-width: 768px){.form-group label{font-size:1rem}}.form-group input,.form-group select{width:100%;padding:1rem 1.125rem;border:2px solid #ced4da;border-radius:8px;font-size:1rem;min-height:44px;box-sizing:border-box}@media (min-width: 768px){.form-group input,.form-group select{padding:.75rem;border-width:1px;min-height:auto}}.form-group input:disabled{background:#e9ecef;cursor:not-allowed}.form-group input[type=checkbox]{width:auto;margin-right:.5rem}.form-actions{display:flex;gap:.5rem;justify-content:space-between;align-items:center;margin-top:auto;padding:1rem;border-top:1px solid #dee2e6;flex-shrink:0;background:#fff;box-sizing:border-box;width:100%;max-width:100%;overflow:hidden;min-width:0}.form-actions .btn{flex:none;min-width:40px;width:40px;height:40px;min-height:40px;max-height:40px;padding:0;font-size:1.1rem;display:flex;align-items:center;justify-content:center;white-space:nowrap;flex-shrink:0;box-sizing:border-box;line-height:1;margin:0;border:none}.form-actions-right{display:flex;gap:.5rem;margin-left:auto;flex-shrink:0;min-width:0;align-items:center}.modal-content .form-actions .btn-danger,.modal-content .form-actions .btn-primary,.modal-content .form-actions .btn-secondary{flex-shrink:0;white-space:nowrap;flex:none;min-width:40px;width:40px;height:40px;min-height:40px;max-height:40px;padding:0;display:flex;align-items:center;justify-content:center}@media (max-width: 768px){.modal-content{max-height:95vh;width:95%}.modal-content h2{padding:1.5rem 1.5rem 1rem}.modal-form-content{padding:1rem 1.5rem}.form-actions{flex-direction:column;align-items:stretch;gap:.75rem;padding:1rem 1.5rem;width:100%;max-width:100%;box-sizing:border-box}.form-actions-right{margin-left:0;flex-direction:column;width:100%;gap:.75rem}.modal-content .form-actions .btn,.modal-content .form-actions-right .btn{width:100%;min-height:44px;box-sizing:border-box;flex-shrink:0}.modal-content .form-actions .btn-danger{order:-1;width:100%}}.products-modal{max-width:95vw;width:95vw;max-height:95vh;padding:0;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding:1.5rem 1.5rem 1rem;border-bottom:2px solid #dee2e6;flex-shrink:0;background:#fff;position:sticky;top:0;z-index:20;gap:1rem;flex-wrap:wrap}.modal-header>div{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.modal-header .btn-danger{white-space:nowrap;padding:.5rem .75rem;font-size:.875rem;min-width:auto;flex-shrink:0;line-height:1.2}@media (max-width: 768px){.modal-header{flex-direction:column;align-items:flex-start}.modal-header>div{width:100%;justify-content:space-between}.modal-header .btn-danger{flex:1;min-width:0;font-size:.8rem;padding:.5rem}.modal-header h2{width:100%;margin-bottom:.5rem}}@media (min-width: 768px){.modal-header{padding:1.5rem 2rem 1rem}}.modal-header h2{margin:0;font-size:1.25rem}@media (min-width: 768px){.modal-header h2{font-size:1.5rem}}.products-modal-content-wrapper{flex:1;overflow-y:auto;padding:1.5rem;min-height:0}@media (min-width: 768px){.products-modal-content-wrapper{padding:1.5rem 2rem}}.products-search-form{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.products-search-input{flex:1;min-width:200px;padding:1rem 1.125rem;border:2px solid #ced4da;border-radius:8px;font-size:1rem;min-height:44px;box-sizing:border-box}@media (min-width: 768px){.products-search-input{padding:.75rem;border-width:1px;min-height:auto}}.products-table-container{max-height:calc(95vh - 250px);overflow-y:auto;border:1px solid #dee2e6;border-radius:8px;margin-bottom:1rem;-webkit-overflow-scrolling:touch}@media (min-width: 768px){.products-table-container{max-height:60vh}}.products-table{width:100%;border-collapse:collapse;font-size:.875rem}.products-table thead{position:sticky;top:0;background:#f8f9fa;z-index:10}.products-table th{padding:.75rem;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;white-space:nowrap}.products-table td{padding:.75rem;border-bottom:1px solid #dee2e6;vertical-align:top}.products-table tr:hover{background:#f8f9fa}.description-cell{max-width:250px;word-wrap:break-word}.admin-products-table .description-cell{overflow:hidden;text-overflow:ellipsis;word-break:break-word;vertical-align:top;white-space:normal;line-height:1.4;max-height:2.8em;display:table-cell}.url-cell{text-align:center;width:60px}.url-cell a{color:#007bff;text-decoration:none;font-size:1.5rem;display:inline-block;transition:transform .2s}.url-cell a:hover{transform:scale(1.2);text-decoration:none}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #dee2e6}.pagination-info{font-weight:500;color:#495057}.pagination button:disabled{opacity:.5;cursor:not-allowed}.admin-users{max-width:1600px;margin:0 auto;padding:1rem}@media (min-width: 768px){.admin-users{padding:2rem}}.admin-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.admin-header h1{margin:0;color:#1a1a1a;font-size:1.5rem}@media (min-width: 768px){.admin-header h1{font-size:2rem}}.users-section,.lists-section,.gifts-section{margin-bottom:3rem;background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.users-section h2,.lists-section h2,.gifts-section h2{margin:0 0 1.5rem;color:#1a1a1a;font-size:1.25rem;display:flex;align-items:center}@media (min-width: 768px){.users-section h2,.lists-section h2,.gifts-section h2{font-size:1.5rem}}.gifts-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.gifts-info{margin-top:1rem;color:#4a5568;font-size:.9rem}.gifts-info p{margin:.5rem 0}.users-table-container,.lists-table-container,.gifts-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.users-table,.lists-table,.gifts-table{width:100%;border-collapse:collapse;font-size:.9rem}@media (min-width: 768px){.users-table,.lists-table,.gifts-table{font-size:1rem}}.users-table thead,.lists-table thead,.gifts-table thead{background:#f7fafc;border-bottom:2px solid #e2e8f0}.users-table th,.lists-table th,.gifts-table th{padding:1rem .75rem;text-align:left;font-weight:600;color:#2d3748;white-space:nowrap}.users-table td,.lists-table td,.gifts-table td{padding:.875rem .75rem;border-bottom:1px solid #e2e8f0;vertical-align:top}.users-table tbody tr:hover,.lists-table tbody tr:hover,.gifts-table tbody tr:hover{background:#f7fafc}.users-table tbody tr.selected,.lists-table tbody tr.selected,.gifts-table tbody tr.selected{background:#e6f3ff}.gifts-table tbody tr.reserved{background:#48bb781a}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600}.status-badge.active{background:#c6f6d5;color:#22543d}.status-badge.inactive{background:#fed7d7;color:#742a2a}.admin-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;background:#667eea;color:#fff}.btn{padding:.5rem 1rem;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:36px}.btn-sm{padding:.375rem .75rem;font-size:.8125rem;min-height:32px}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#545b62}.gift-link,.email-link{color:#007bff;text-decoration:none;font-weight:500}.gift-link:hover,.email-link:hover{text-decoration:underline}.message-cell{max-width:300px;word-break:break-word;white-space:normal}.loading{text-align:center;padding:2rem;color:#4a5568}.error-message{background:#fed7d7;color:#742a2a;padding:1rem;border-radius:8px;margin-bottom:1rem}.empty-state{text-align:center;padding:2rem;color:#718096}@media (max-width: 768px){.admin-users,.users-section,.lists-section,.gifts-section{padding:1rem}.users-table,.lists-table,.gifts-table{font-size:.8rem}.users-table th,.lists-table th,.gifts-table th,.users-table td,.lists-table td,.gifts-table td{padding:.5rem .375rem}.message-cell{max-width:200px;font-size:.75rem}.btn-sm{padding:.25rem .5rem;font-size:.75rem;min-height:28px}}.secret-santa-page{max-width:1200px;margin:0 auto;padding:2rem 1rem}.secret-santa-dashboard{margin-bottom:3rem;padding:2rem;background:#f9fafb;border-radius:12px}.secret-santa-dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.secret-santa-dashboard-header h2{font-size:1.75rem;margin:0;color:#333}.secret-santa-events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.secret-santa-event-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s;border:1px solid #e0e0e0}.secret-santa-event-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:#d32f2f}.secret-santa-event-card h3{font-size:1.2rem;margin:0;color:#333;font-weight:600;flex:1}.event-status-badge.pending{background:#fff3cd;color:#856404}.event-details{margin:1rem 0}.event-card-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.event-card-actions button{flex:1;min-width:120px}.btn-icon-danger{background:transparent;border:1px solid #dc3545;color:#dc3545;padding:.5rem;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .2s;min-width:44px;min-height:44px}.btn-icon-danger:hover{background:#dc3545;color:#fff}.error-message{background:linear-gradient(135deg,#fee,#fdd);color:#c53030;padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.5rem;border:1px solid #feb2b2;font-size:.95rem}.loading{text-align:center;padding:2rem;color:#666}.empty-state{text-align:center;padding:3rem 2rem;color:#666;background:#fff;border-radius:8px}.empty-state p{margin:.5rem 0;font-size:1.1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:#fff;border-radius:12px;padding:2rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-header h2{margin:0;font-size:1.5rem;color:#333}.modal-close:hover{background:#f5f5f5;color:#333}.participants-list ul{list-style:none;padding:0;margin:0}.participant-item{padding:1rem;background:#f9fafb;border-radius:8px;margin-bottom:.5rem;display:flex;flex-direction:column;gap:.25rem}.participant-item strong{color:#333;font-size:1rem}.participant-email,.participant-phone{color:#666;font-size:.9rem}.assignments-modal{max-width:800px}.assignment-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e0e0e0;gap:1rem;flex-wrap:wrap}.btn-resend{background:#4285f4;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.secret-santa-user-lists{margin-bottom:3rem;padding:2rem;background:#f9fafb;border-radius:12px}.secret-santa-user-lists h2{font-size:1.75rem;margin-bottom:1.5rem;color:#333;text-align:center}.secret-santa-lists-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-bottom:1.5rem}.secret-santa-list-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:transform .2s,box-shadow .2s;border:1px solid #e0e0e0}.secret-santa-list-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:#d32f2f}.secret-santa-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:.75rem;gap:.5rem}.secret-santa-list-card h3{font-size:1.2rem;margin:0;color:#333;font-weight:600;flex:1}.event-status-badge{background:#d4edda;color:#155724;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;white-space:nowrap;flex-shrink:0}.secret-santa-list-card .list-meta{color:#666;font-size:.9rem;margin:.5rem 0 0}.secret-santa-view-all-lists{display:block;margin:0 auto;padding:.75rem 1.5rem;background:#d32f2f;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.secret-santa-view-all-lists:hover{transform:translateY(-2px);box-shadow:0 4px 12px #d32f2f4d}.secret-santa-hero{text-align:center;padding:4rem 2rem;background:linear-gradient(135deg,#d32f2f,#c62828);color:#fff;border-radius:16px;margin-bottom:4rem}.secret-santa-hero h1{font-size:3rem;margin-bottom:1rem;font-weight:700}.hero-subtitle{font-size:1.5rem;margin-bottom:1rem;opacity:.95}.hero-description{font-size:1.1rem;margin-bottom:2rem;opacity:.9;max-width:600px;margin-left:auto;margin-right:auto}.hero-stats{margin-bottom:2rem;font-size:1rem;opacity:.85}.hero-cta{background:#fff;color:#d32f2f;border:none;padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s}.hero-cta:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0003}.secret-santa-features{margin-bottom:4rem}.secret-santa-features h2{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:#333}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.feature-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;text-align:center;transition:transform .2s,box-shadow .2s}.feature-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{font-size:1.5rem;margin-bottom:1rem;color:#333}.feature-card p{color:#666;line-height:1.6}.secret-santa-how-it-works{margin-bottom:4rem;padding:3rem 2rem;background:#f9fafb;border-radius:16px}.secret-santa-how-it-works h2{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:#333}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.step{text-align:center;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.step-number{width:60px;height:60px;background:linear-gradient(135deg,#d32f2f,#c62828);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin:0 auto 1.5rem}.step h3{font-size:1.3rem;margin-bottom:1rem;color:#333}.step p{color:#666;line-height:1.6}.secret-santa-faq{margin-bottom:4rem}.secret-santa-faq h2{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:#333}.faq-list{max-width:800px;margin:0 auto}.faq-item{background:#fff;border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 8px #0000001a;overflow:hidden}.faq-question{width:100%;padding:1.5rem;background:#fff;border:none;text-align:left;font-size:1.1rem;font-weight:600;color:#333;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s}.faq-question:hover{background:#f9fafb}.faq-toggle{font-size:1.5rem;color:#d32f2f;font-weight:300}.faq-answer{padding:0 1.5rem 1.5rem;color:#666;line-height:1.6}.secret-santa-share{text-align:center;padding:3rem 2rem;margin-bottom:2rem;background:#f9fafb;border-radius:16px}.secret-santa-share h2{font-size:2rem;margin-bottom:.5rem;color:#333}.secret-santa-share p{color:#666;margin-bottom:2rem}.share-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.share-button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.share-button.whatsapp{background:#25d366;color:#fff}.share-button.facebook{background:#1877f2;color:#fff}.share-button.email{background:#4285f4;color:#fff}.share-button.copy{background:#6c757d;color:#fff}.share-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.secret-santa-cta{text-align:center;padding:4rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:16px}.secret-santa-cta h2{font-size:2.5rem;margin-bottom:1rem}.secret-santa-cta p{font-size:1.2rem;margin-bottom:2rem;opacity:.95}.cta-button{background:#fff;color:#667eea;border:none;padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s}.cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0003}@media (max-width: 768px){.secret-santa-hero h1{font-size:2rem}.hero-subtitle{font-size:1.2rem}.hero-description{font-size:1rem}.secret-santa-features h2,.secret-santa-how-it-works h2,.secret-santa-faq h2,.secret-santa-cta h2{font-size:2rem}.features-grid,.steps{grid-template-columns:1fr}}.create-page{max-width:900px;margin:0 auto;padding:2rem 1rem}.wizard-container{background:#fff;border-radius:16px;box-shadow:0 4px 16px #0000001a;overflow:hidden}.wizard-header{background:linear-gradient(135deg,#d32f2f,#c62828);color:#fff;padding:2rem;text-align:center}.wizard-header h1{margin-bottom:1.5rem;font-size:2rem}.progress-bar{width:100%;height:8px;background:#ffffff4d;border-radius:4px;margin-bottom:1.5rem;overflow:hidden}.progress-fill{height:100%;background:#fff;transition:width .3s}.step-indicators{display:flex;justify-content:space-between;font-size:.9rem;opacity:.9}.step-indicators span{flex:1;padding:.5rem}.step-indicators span.active{font-weight:600;opacity:1}.wizard-content{padding:3rem 2rem}.error-message{background:#fee;color:#c33;padding:1rem;border-radius:8px;margin-bottom:1.5rem;border:1px solid #fcc}.step-content h2{font-size:2rem;margin-bottom:2rem;color:#333}.step-description{color:#666;margin-bottom:2rem;line-height:1.6}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#d32f2f}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.checkbox-group label{display:flex;align-items:center;gap:.5rem;font-weight:400}.checkbox-group input[type=checkbox]{width:auto}.step-button{background:linear-gradient(135deg,#d32f2f,#c62828);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.step-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.step-button:disabled{opacity:.6;cursor:not-allowed}.step-button.secondary{background:#f9fafb;color:#333;border:2px solid #e0e0e0}.step-button.secondary:hover:not(:disabled){background:#f0f0f0}.step-actions{display:flex;gap:1rem;justify-content:space-between;margin-top:2rem}.add-participant-form,.add-exclusion-form{background:#f9fafb;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.add-button{background:#667eea;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s}.add-button:hover:not(:disabled){transform:translateY(-2px)}.add-button:disabled{opacity:.6;cursor:not-allowed}.participants-list,.exclusions-list{margin-bottom:2rem}.participants-list h3,.exclusions-list h3{font-size:1.3rem;margin-bottom:1rem;color:#333}.participant-item,.exclusion-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:.5rem}.participant-email{color:#666;font-size:.9rem;margin-left:1rem}.delete-button{background:#fee;color:#c33;border:1px solid #fcc;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem}.delete-button:hover:not(:disabled){background:#fdd}.delete-button:disabled{opacity:.6;cursor:not-allowed}.review-section{background:#f9fafb;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem}.review-section h3{font-size:1.2rem;margin-bottom:1rem;color:#333}.review-section ul{list-style:none;padding:0}.review-section li{padding:.5rem 0;border-bottom:1px solid #e0e0e0}.review-section li:last-child{border-bottom:none}.send-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:2rem 0}.send-button{padding:1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.send-button.email{background:#4285f4;color:#fff}.send-button.secondary{background:#6c757d;color:#fff}.send-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.send-button:disabled{opacity:.6;cursor:not-allowed}.send-note{color:#666;font-size:.9rem;text-align:center;margin-top:1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.assignments-modal{max-width:800px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:12px;padding:2rem;margin:1rem}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:1.5rem}.modal-close{background:none;border:none;font-size:2rem;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-close:hover{background:#f0f0f0;color:#333}.assignments-list{display:flex;flex-direction:column;gap:1rem}.assignment-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f9f9f9;border-radius:8px;border:1px solid #e0e0e0;gap:1rem}.assignment-info{display:flex;align-items:center;gap:.5rem;flex:1}.assignment-arrow{color:#666;font-weight:600}.assignment-meta{display:flex;align-items:center}.viewed-badge{background:#d4edda;color:#155724;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.not-viewed-badge{background:#fff3cd;color:#856404;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.btn-resend{background:#4285f4;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s}.btn-resend:hover{background:#357ae8}@media (max-width: 768px){.assignment-item{flex-direction:column;align-items:flex-start}.assignment-info{width:100%}}@media (max-width: 768px){.wizard-content{padding:2rem 1rem}.step-indicators{font-size:.75rem}.step-indicators span{padding:.25rem}.form-row{grid-template-columns:1fr}.step-actions{flex-direction:column}.step-button{width:100%}.send-options{grid-template-columns:1fr}}.participant-page{max-width:800px;margin:0 auto;padding:2rem 1rem}.loading,.error{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.error h2{color:#d32f2f;margin-bottom:1rem}.error p{color:#666;margin-bottom:.5rem}.assignment-container{background:#fff;border-radius:16px;box-shadow:0 4px 16px #0000001a;overflow:hidden}.assignment-header{background:linear-gradient(135deg,#d32f2f,#c62828);color:#fff;padding:3rem 2rem;text-align:center}.assignment-header h1{font-size:2.5rem;margin-bottom:.5rem}.subtitle{font-size:1.2rem;opacity:.95}.assignment-content{padding:3rem 2rem}.assignment-box{text-align:center;padding:2rem;background:#f9fafb;border-radius:12px;margin-bottom:2rem}.assignment-label{font-size:1.1rem;color:#666;margin-bottom:1rem}.assignment-name{font-size:2.5rem;color:#d32f2f;font-weight:700;margin:0}.assignment-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem;flex-wrap:wrap}.action-button{padding:1rem 2rem;border-radius:8px;text-decoration:none;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-block}.action-button.primary{background:linear-gradient(135deg,#d32f2f,#c62828);color:#fff}.action-button.secondary{background:#f9fafb;color:#333;border:2px solid #e0e0e0}.action-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.assignment-info{text-align:center;padding:1rem;background:#fff3cd;border-radius:8px;color:#856404}.questions-section{padding:2rem;background:#f9fafb;border-top:1px solid #e0e0e0}.questions-section h3{font-size:1.5rem;margin-bottom:.5rem;color:#333}.questions-description{color:#666;margin-bottom:1.5rem}.question-form{margin-bottom:2rem}.question-form textarea{width:100%;padding:1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;margin-bottom:1rem}.question-form textarea:focus{outline:none;border-color:#d32f2f}.submit-question-button{background:linear-gradient(135deg,#d32f2f,#c62828);color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.submit-question-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.submit-question-button:disabled{opacity:.6;cursor:not-allowed}.questions-list{margin-top:2rem}.questions-list h4{font-size:1.2rem;margin-bottom:1rem;color:#333}.question-item{background:#fff;padding:1.5rem;border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 4px #0000000d}.question-question{margin-bottom:1rem;color:#333}.question-answer{padding-top:1rem;border-top:1px solid #e0e0e0;color:#666}.question-pending{padding-top:1rem;border-top:1px solid #e0e0e0;color:#999;font-style:italic}@media (max-width: 768px){.assignment-header h1,.assignment-name{font-size:2rem}.assignment-actions{flex-direction:column}.action-button{width:100%;text-align:center}}.legal-page{min-height:100vh;display:flex;flex-direction:column}.legal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:3rem 2rem;text-align:center}.legal-header h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.legal-header p{font-size:1rem;opacity:.9;margin:0}.legal-content{flex:1;max-width:800px;margin:0 auto;padding:3rem 2rem;line-height:1.8;color:#333}.legal-content h2{color:#1a202c;font-size:1.5rem;margin:2rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #667eea}.legal-content h3{color:#2d3748;font-size:1.25rem;margin:1.5rem 0 .75rem}.legal-content p{margin-bottom:1rem;color:#4a5568}.legal-content ul,.legal-content ol{margin:1rem 0;padding-left:1.5rem}.legal-content li{margin-bottom:.5rem;color:#4a5568}.legal-content a{color:#667eea;text-decoration:none}.legal-content a:hover{text-decoration:underline}.legal-content .last-updated{font-style:italic;color:#718096;margin-top:3rem;padding-top:1rem;border-top:1px solid #e2e8f0}.legal-back-link{display:inline-flex;align-items:center;gap:.5rem;color:#667eea;text-decoration:none;font-weight:500;margin-bottom:2rem}.legal-back-link:hover{text-decoration:underline}@media (max-width: 768px){.legal-header{padding:2rem 1rem}.legal-header h1{font-size:1.75rem}.legal-content{padding:2rem 1rem}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;padding:1.5rem 2rem;box-shadow:0 -4px 20px #0000004d;z-index:1000;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cookie-banner-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.cookie-banner-text{flex:1;min-width:300px}.cookie-banner-text p{margin:0;font-size:.95rem;line-height:1.6;color:#e2e8f0}.cookie-banner-text strong{color:#fff;font-size:1.05rem}.cookie-link{color:#667eea;text-decoration:underline;transition:color .2s ease}.cookie-link:hover{color:#764ba2}.cookie-banner-actions{display:flex;gap:1rem;flex-shrink:0}.cookie-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:relative;z-index:1001;pointer-events:auto}.cookie-btn-accept{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea4d}.cookie-btn-accept:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.cookie-btn-decline{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.cookie-btn-decline:hover{background:#ffffff26}@media (max-width: 768px){.cookie-banner{padding:1.25rem 1.5rem;z-index:10000}.cookie-banner-content{flex-direction:column;align-items:stretch;gap:1rem}.cookie-banner-actions{width:100%;justify-content:stretch;display:flex;gap:.75rem}.cookie-btn{flex:1;min-height:48px;font-size:1rem;padding:.875rem 1.25rem;z-index:10001;pointer-events:auto}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--primary-color: #667eea;--primary-dark: #5568d3;--secondary-color: #764ba2;--text-primary: #1a202c;--text-secondary: #4a5568;--text-muted: #718096;--bg-primary: #ffffff;--bg-secondary: #f7fafc;--bg-tertiary: #edf2f7;--border-color: #e2e8f0;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .1);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-secondary);color:var(--text-primary);line-height:1.6;font-size:16px}code{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}
