:root{--bg-primary: #0f1419;--bg-secondary: #1a1f2e;--bg-tertiary: #242b3d;--bg-hover: #2d3548;--text-primary: #f5f7fa;--text-secondary: #b8c1cc;--text-tertiary: #8b95a5;--border-color: #374151;--accent-primary: #8b9eff;--accent-hover: #a5b4ff;--accent-dark: #6b7fd7;--card-bg: #1a1f2e;--modal-bg: #0f1419;--input-bg: #242b3d;--error-bg: #3f1f1f;--error-text: #ff6b6b;--success-bg: #1f3f2f;--success-text: #51cf66}@media (prefers-color-scheme: light){:root{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e9ecef;--bg-hover: #dee2e6;--text-primary: #212529;--text-secondary: #495057;--text-tertiary: #6c757d;--border-color: #dee2e6;--accent-primary: #667eea;--accent-hover: #5568d3;--accent-dark: #4c51bf;--card-bg: #ffffff;--modal-bg: #ffffff;--input-bg: #f8f9fa;--error-bg: #fff5f5;--error-text: #e53e3e;--success-bg: #f0fff4;--success-text: #38a169}}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{background:var(--bg-primary);border-radius:16px;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));box-shadow:0 20px 60px #0009;color:var(--text-primary);line-height:1.6;letter-spacing:.01em;min-height:100vh;box-sizing:border-box}header{margin-bottom:40px;padding-top:max(20px,env(safe-area-inset-top));position:sticky;top:0;z-index:200;background:var(--bg-primary);border-bottom:1px solid transparent;transition:border-bottom-color .2s ease,box-shadow .2s ease}header.scrolled{border-bottom-color:var(--border-color);box-shadow:0 2px 8px #0000001a}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.header-content>div:first-child{text-align:left}header h1{font-size:2.5rem;color:#a5b4ff;margin-bottom:8px;display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:-.02em}.app-logo{width:45px;height:45px;object-fit:contain;flex-shrink:0}header p{color:var(--text-secondary);font-size:1.1rem;line-height:1.5;font-weight:400;margin-bottom:20px}.header-user{display:flex;align-items:center;gap:12px}.header-user span{color:#e4e6eb;font-weight:600}.connections-btn{padding:8px 16px;background:#8b9eff;color:#0f1419;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s}.connections-btn:hover{background:#a5b4ff}.logout-btn{padding:8px 16px;background:#1f2937;color:#e4e6eb;border:1px solid #374151;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#374151;border-color:#4b5563}.profile-menu{position:relative}.hamburger-button{background:none;border:none;cursor:pointer;padding:8px;display:flex;flex-direction:column;gap:4px;border-radius:6px;transition:background-color .2s ease;-webkit-tap-highlight-color:transparent;position:relative}.hamburger-button:hover{background:var(--bg-hover)}.notification-badge{position:absolute;top:2px;right:2px;background:#ef4444;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;box-shadow:0 2px 4px #0003;animation:pulse 2s infinite;z-index:10;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:2px solid white;-webkit-transform:translateZ(0);transform:translateZ(0);pointer-events:none}@keyframes pulse{0%,to{transform:scale(1) translateZ(0)}50%{transform:scale(1.1) translateZ(0)}}@-webkit-keyframes pulse{0%,to{-webkit-transform:scale(1) translateZ(0);transform:scale(1) translateZ(0)}50%{-webkit-transform:scale(1.1) translateZ(0);transform:scale(1.1) translateZ(0)}}.hamburger-line{width:24px;height:3px;background:var(--text-primary);border-radius:2px;transition:all .2s ease}.profile-dropdown{position:absolute!important;top:100%!important;right:0!important;margin-top:8px!important;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #0000004d;min-width:220px;z-index:999999!important;overflow:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.profile-menu{position:relative;z-index:999999!important}@media (max-width: 768px){.profile-menu{position:relative;z-index:999999!important}.profile-dropdown{position:absolute!important;top:100%!important;right:0!important;left:auto!important;margin-top:8px!important;min-width:200px;max-width:calc(100vw - 40px);z-index:999999!important;transform:translateZ(0);-webkit-transform:translateZ(0)}}@supports (-webkit-touch-callout: none){.profile-menu{position:relative;z-index:999999!important}.profile-dropdown{position:absolute!important;top:100%!important;right:0!important;left:auto!important;margin-top:8px!important;width:auto!important;min-width:220px!important;max-width:calc(100vw - 40px)!important;border-radius:12px;box-shadow:0 8px 32px #0000004d;z-index:999999!important;-webkit-transform:translate3d(0,0,0);transform:translateZ(0);-webkit-perspective:1000;perspective:1000}.modal-overlay{padding:env(safe-area-inset-top,40px) env(safe-area-inset-right,20px) env(safe-area-inset-bottom,40px) env(safe-area-inset-left,20px)}.modal{max-height:calc(100vh - env(safe-area-inset-top,40px) - env(safe-area-inset-bottom,40px) - 80px);margin:20px 0;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}.hamburger-button{padding:12px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.hamburger-line{width:28px;height:4px}}@media (max-width: 480px){.profile-menu{position:relative;z-index:999999!important}.profile-dropdown{position:absolute!important;top:100%!important;right:0!important;left:auto!important;margin-top:8px!important;min-width:200px;max-width:calc(100vw - 40px);width:auto;border-radius:12px;box-shadow:0 8px 32px #0000004d;z-index:999999!important}.hamburger-button{padding:12px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.hamburger-line{width:28px;height:4px}}@media (max-width: 375px){.header-content{flex-direction:row;justify-content:space-between;align-items:center;gap:8px}.header-content>div:first-child{flex:1;min-width:0}.profile-menu{flex-shrink:0;margin-left:8px;z-index:999999!important}.profile-dropdown{right:10px;left:10px;width:calc(100vw - 20px);bottom:env(safe-area-inset-bottom,10px);z-index:999999!important}header h1{font-size:1.3rem;margin-bottom:4px}header p{font-size:.8rem;line-height:1.3}}.content-search-results{max-height:300px;overflow-y:auto;border:1px solid var(--border-color);border-radius:8px;margin-top:8px;background:var(--card-bg)}.content-result-item{display:flex;align-items:center;gap:12px;padding:12px;cursor:pointer;border-bottom:1px solid var(--border-color);transition:background-color .2s ease}.content-result-item:hover{background:var(--bg-hover)}.content-result-item:last-child{border-bottom:none}.content-result-item.selected{background:var(--accent-primary);color:#fff}.content-result-item.selected .content-result-category{color:#fffc}.content-result-thumbnail{width:50px;height:75px;object-fit:cover;border-radius:4px;flex-shrink:0;background:var(--bg-tertiary)}.content-result-info{flex:1;min-width:0}.content-result-title{font-weight:600;font-size:.95rem;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-result-category{font-size:.85rem;color:var(--accent-primary);font-weight:500;margin-bottom:2px}.content-result-notes{font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-content-display{margin:16px 0;padding:16px;border:2px solid var(--accent-primary);border-radius:8px;background:var(--bg-secondary)}.selected-content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.selected-content-header h4{margin:0;color:var(--accent-primary);font-size:1rem}.selected-content-header button{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;padding:4px 8px;font-size:.8rem;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.selected-content-header button:hover{background:var(--bg-hover);color:var(--text-primary)}.selected-content-card{display:flex;gap:12px;align-items:flex-start}.selected-content-thumbnail{width:60px;height:90px;object-fit:cover;border-radius:6px;flex-shrink:0;background:var(--bg-tertiary)}.selected-content-info{flex:1;min-width:0}.selected-content-title{font-weight:600;font-size:1.1rem;margin-bottom:6px;color:var(--text-primary)}.selected-content-category{font-size:.9rem;color:var(--accent-primary);font-weight:500;margin-bottom:8px}.selected-content-notes{font-size:.85rem;color:var(--text-secondary);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}@media (max-width: 768px){.content-search-results{max-height:250px}.content-result-item{padding:10px;gap:10px}.content-result-thumbnail{width:40px;height:60px}.selected-content-display{padding:12px}.selected-content-card{gap:10px}.selected-content-thumbnail{width:50px;height:75px}.selected-content-title{font-size:1rem}}.profile-header{padding:16px;background:var(--bg-tertiary)}.profile-info{text-align:left}.profile-name{font-weight:600;color:var(--text-primary);font-size:1rem;margin-bottom:4px}.profile-email{color:var(--text-secondary);font-size:.875rem}.profile-divider{height:1px;background:var(--border-color);margin:0}.profile-menu-item{width:100%;padding:12px 16px;background:none;border:none;text-align:left;color:var(--text-primary);cursor:pointer;transition:background-color .2s ease;font-size:.95rem;display:flex;align-items:center;gap:8px;position:relative}.profile-menu-item:hover{background:var(--bg-hover)}.profile-menu-item.logout{color:var(--error-text)}.profile-menu-item.logout:hover{background:var(--error-bg)}.menu-badge{margin-left:auto;background:#ef4444;color:#fff;border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:700;min-width:20px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid rgba(255,255,255,.2);-webkit-transform:translateZ(0);transform:translateZ(0);flex-shrink:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.invitations-list{display:flex;flex-direction:column;gap:16px;max-height:500px;overflow-y:auto;padding:4px}.invitation-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;transition:all .2s ease}.invitation-card:hover{border-color:var(--accent-primary);box-shadow:0 4px 12px #0000001a}.invitation-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;flex-shrink:0}.invitation-info{flex:1;min-width:0}.invitation-info h4{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0 0 4px}.invitation-email{color:var(--text-secondary);font-size:.9rem;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invitation-date{color:var(--text-tertiary);font-size:.85rem;margin:0}.invitation-actions{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.accept-btn{padding:8px 16px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.accept-btn:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}.decline-btn{padding:8px 16px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.decline-btn:hover{background:var(--error-bg);color:var(--error-text);border-color:var(--error-text)}@media (max-width: 768px){.invitation-card{flex-direction:column;align-items:flex-start;gap:12px}.invitation-actions{flex-direction:row;width:100%}.accept-btn,.decline-btn{flex:1}}.tabs{display:flex;gap:8px;margin-bottom:0;border-bottom:2px solid #374151;position:sticky;top:120px;z-index:180;background:var(--bg-primary)}.tab{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;font-size:1rem;color:#9ca3af;font-weight:600;color:#666;cursor:pointer;transition:all .2s;margin-bottom:-2px;position:relative;display:flex;align-items:center;gap:6px}.tab:hover{color:#667eea}.tab.active{color:#667eea;border-bottom-color:#667eea}.new-badge{display:inline-flex;align-items:center;justify-content:center;background:#ef4444;color:#fff;font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:10px;min-width:18px;height:18px;line-height:1}.controls{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap;align-items:center;position:sticky;top:165px;z-index:150;background:var(--bg-primary);padding:12px 0;-webkit-position:sticky;-webkit-transform:translateZ(0);transform:translateZ(0)}.show-hidden-toggle{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f5f5f5;border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.9rem}.show-hidden-toggle input[type=checkbox]{cursor:pointer;width:18px;height:18px}.show-hidden-toggle:hover{background:#e8e8e8}.search{flex:1;min-width:200px;padding:8px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.search:focus{outline:none;border-color:#667eea}select{padding:8px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer}.add-btn{padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.add-btn:hover{background:#5568d3}.form{background:#f8f9fa;padding:24px;border-radius:12px;margin-bottom:24px;display:flex;flex-direction:column;gap:12px}.form input,.form select,.form textarea{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit}.form textarea{min-height:80px;resize:vertical}.form button{padding:12px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer}.form button:hover{background:#059669}.recommendations{display:grid;grid-template-columns:1fr!important;gap:20px}@media (min-width: 769px){.recommendations{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important}}.card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:20px;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px}.card h3{color:#1f2937;font-size:1.25rem;flex:1}.delete-btn{background:#ef4444;color:#fff;border:none;border-radius:50%;width:28px;height:28px;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.delete-btn:hover{background:#dc2626}.badge{display:inline-block;padding:4px 12px;background:#667eea;color:#fff;border-radius:12px;font-size:.85rem;font-weight:600;margin-bottom:12px}.recommended-by{color:#666;margin-bottom:8px}.recommended-by strong{color:#1f2937}.notes{color:#666;font-size:.95rem;line-height:1.5;margin-top:8px;padding-top:8px;border-top:1px solid #e0e0e0}.empty{text-align:center;color:#999;padding:60px 20px;font-size:1.1rem}.browse-view{display:flex;flex-direction:column;gap:32px}.discover-view{display:flex;flex-direction:column;gap:32px;-webkit-overflow-scrolling:touch}.category-section h2{color:#1f2937;font-size:1.5rem;margin-top:0!important;margin-bottom:4px!important;padding-bottom:2px!important;border-bottom:2px solid #667eea}.thumbnail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;align-items:stretch;width:100%;-webkit-overflow-scrolling:touch;will-change:transform;contain:layout style paint}.thumbnail-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;overflow:hidden;transition:transform .15s ease-out,box-shadow .15s ease-out;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform;display:flex;flex-direction:column;height:100%}.thumbnail-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.thumbnail-image{width:100%;aspect-ratio:2/3;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;overflow:hidden}.thumbnail-image img{width:100%;height:100%;object-fit:cover}.thumbnail-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.placeholder-icon{font-size:4rem}.thumbnail-like-section{padding:12px 16px;background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;align-items:center;justify-content:space-between;gap:8px}.thumbnail-like-btn{display:flex;align-items:center;gap:6px;background:#fff;border:2px solid #e0e0e0;border-radius:20px;padding:6px 12px;cursor:pointer;transition:all .2s;font-size:.9rem}.thumbnail-like-btn:hover{border-color:#667eea;transform:scale(1.05)}.thumbnail-like-btn.liked{background:#ef44441a;border-color:#ef4444}.thumbnail-like-btn .heart-icon{font-size:1rem;line-height:1}.thumbnail-like-btn .like-count{font-weight:600;color:#1f2937;line-height:1}.thumbnail-like-btn.liked .like-count{color:#ef4444}.liked-by-names{font-size:.75rem;color:#667eea;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.thumbnail-content{padding:10px;display:flex;font-size:.85rem;flex-direction:column;flex-grow:1}.thumbnail-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:8px}.thumbnail-card h4{color:#1f2937;font-size:1rem;flex:1;margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}.hide-btn-small{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;width:28px;height:28px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0;transition:all .2s;opacity:.7}.hide-btn-small:hover{background:var(--bg-hover);border-color:var(--accent-primary);opacity:1;transform:scale(1.1)}.thumbnail-by{color:#667eea;font-size:.85rem;font-weight:600;margin-bottom:6px}.thumbnail-notes{color:#666;font-size:.85rem;line-height:1.4;margin-top:6px;margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.thumbnail-author{color:#888;font-size:.9rem;font-style:italic;margin-top:4px;margin-bottom:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thumbnail-category{background:var(--accent-primary);color:#fff;padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600;display:inline-block;margin-top:6px;margin-bottom:6px}.recommend-btn{width:100%;padding:8px 6px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:.7rem;font-weight:600;cursor:pointer;transition:background .2s;margin-top:auto;text-align:center;line-height:1.2;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:3px}.recommend-btn:before{content:"👍";font-size:.65rem}.recommend-btn:hover{background:#059669}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:env(safe-area-inset-top,20px) env(safe-area-inset-right,20px) env(safe-area-inset-bottom,20px) env(safe-area-inset-left,20px)}.modal{background:#fff;border-radius:16px;position:relative;padding:32px;max-width:500px;width:90%;max-height:calc(100vh - 120px);overflow-y:auto;margin:20px;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.modal-close-x{position:absolute;top:12px;right:12px;background:var(--card-bg);border:2px solid var(--border-color);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;z-index:10;color:var(--text-primary);transition:all .2s;box-shadow:0 2px 8px #00000026}.modal-close-x:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);transform:scale(1.05)}.modal-close-bottom{width:100%;padding:12px 24px;background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color);border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:8px}.modal-close-bottom:hover{background:var(--bg-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.modal h3{color:#1f2937;font-size:1.5rem;margin-bottom:8px}.modal-subtitle{color:#666;margin-bottom:20px}.recipient-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;max-height:400px;overflow-y:auto;padding:4px}.recipient-item{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:10px;cursor:pointer;transition:all .2s ease}.recipient-item:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);transform:translate(4px)}.recipient-item input[type=checkbox]{width:22px;height:22px;cursor:pointer;accent-color:var(--accent-primary);flex-shrink:0}.recipient-item input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.recipient-item span{font-size:1.1rem;color:var(--text-primary);font-weight:600;letter-spacing:.01em;line-height:1.4}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.send-btn{padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.send-btn:hover{background:#5568d3}.recommend-from-details-btn{width:100%;padding:14px 24px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.recommend-from-details-btn:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.profile-view{display:flex;flex-direction:column;gap:32px}.profile-section h2{color:#1f2937;font-size:1.5rem;margin-bottom:20px}.profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px;border-radius:12px;text-align:center}.stat-card.clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.stat-card.clickable:hover{transform:translateY(-4px);box-shadow:0 8px 24px #667eea66}.stat-number{font-size:2.5rem;font-weight:700;margin-bottom:8px}.stat-label{font-size:.9rem;opacity:.9}.connections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.connections-list{display:flex;flex-direction:column;gap:12px}.connection-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;transition:all .2s ease}.connection-item:hover{border-color:var(--accent-primary);box-shadow:0 4px 12px #0000001a}.connection-details{flex:1;display:flex;flex-direction:column;gap:4px}.connection-name{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.connection-stats{font-size:.9rem;color:var(--text-secondary)}.connection-actions{display:flex;gap:8px}.disconnect-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:all .2s ease}.disconnect-btn:hover{background:var(--error-bg);color:var(--error-text);border-color:var(--error-text)}.connection-card{display:flex;align-items:center;gap:16px;padding:16px;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;transition:transform .2s,box-shadow .2s}.connection-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.connection-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;flex-shrink:0}.connection-info h4{color:#1f2937;font-size:1rem;margin-bottom:4px}.connection-info p{color:#666;font-size:.85rem}.love-count{color:#667eea;font-size:.85rem;font-weight:600;margin:8px 0}.profile-likes{margin:8px 0}.like-count-btn{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:6px;padding:6px 12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;color:#1f2937}.like-count-btn:hover{background:#fff;border-color:#667eea;transform:scale(1.05)}.heart-btn{position:absolute;top:8px;right:8px;background:#fffffff2;border:none;border-radius:20px;padding:6px 12px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:4px;box-shadow:0 2px 8px #0003;transition:transform .2s,background .2s;z-index:10}.heart-btn:hover{transform:scale(1.1);background:#fff}.heart-btn:active{transform:scale(.95)}.heart-btn.liked{background:#ef4444f2;color:#fff}.liked-by-tooltip{position:absolute;bottom:100%;right:8px;background:#000000e6;color:#fff;padding:6px 10px;border-radius:6px;font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;margin-bottom:4px;z-index:20}.thumbnail-image:hover .liked-by-tooltip{opacity:1}.liked-by-list{color:#667eea;font-size:.8rem;margin-top:4px;font-style:italic}.shared-with-list{color:#10b981;font-size:.9rem;margin-top:4px;font-style:italic}.like-count-btn.liked{background:#ef44441a;border-color:#ef4444;color:#ef4444}.services{margin-top:12px;padding-top:12px;border-top:1px solid #e0e0e0}.services-label{font-size:.75rem;color:#999;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:6px}.service-badges{display:flex;flex-wrap:wrap;gap:8px}.service-badge{display:inline-block;padding:6px 12px;background:#f0f0f0;color:#555;border-radius:6px;font-size:.75rem;font-weight:600;border:1px solid #ddd;text-decoration:none;transition:all .2s}.service-badge.clickable{cursor:pointer;background:#667eea;color:#fff;border-color:#667eea}.service-badge.clickable:hover{background:#5568d3;border-color:#5568d3;transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.service-badge.clickable:active{transform:translateY(0)}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{background:#fff;border-radius:16px;padding:48px;max-width:450px;width:100%;box-shadow:0 20px 60px #0000004d;text-align:center}.login-card h1{font-size:3rem;color:#667eea;margin-bottom:12px;display:flex;align-items:center;justify-content:center;gap:16px}.login-card .app-logo{width:70px;height:70px;object-fit:contain;flex-shrink:0}.login-subtitle{color:#666;font-size:1.2rem;margin-bottom:32px}.login-form{margin-bottom:24px}.login-input{width:100%;padding:16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1.1rem;margin-bottom:16px;transition:border-color .2s}.login-btn{width:100%;padding:16px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .2s}.login-divider{margin:24px 0;text-align:center;position:relative}.social-login{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.social-btn{width:100%;padding:14px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-weight:600;cursor:not-allowed;background:#f8f9fa;color:#999;display:flex;align-items:center;justify-content:center;gap:8px;opacity:.6}.login-note{color:#999;font-size:.85rem;font-style:italic}.invite-btn{padding:12px 24px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;margin-bottom:20px}.invite-btn:hover{background:#059669}.connections-modal-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:24px;max-height:400px;overflow-y:auto}.connection-modal-card{display:flex;align-items:center;gap:16px;padding:16px;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;transition:transform .2s,box-shadow .2s;position:relative}.connection-modal-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.disconnect-btn{position:absolute;top:8px;right:8px;background:#f44;color:#fff;border:none;border-radius:50%;width:28px;height:28px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;padding:0;line-height:1}.disconnect-btn:hover{background:#c00;transform:scale(1.1)}.details-modal{max-width:600px}.details-modal-header{display:flex;gap:20px;margin-bottom:24px;align-items:flex-start}.details-thumbnail{width:150px;height:225px;object-fit:cover;border-radius:8px;flex-shrink:0}.details-thumbnail-placeholder{width:150px;height:225px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.details-placeholder-icon{font-size:4rem}.details-header-info{flex:1}.details-header-info h3{margin:0 0 12px;color:#1f2937;font-size:1.5rem}.details-recommender{color:#667eea;font-weight:600;margin-top:8px}.details-author{color:#888;font-style:italic;font-size:1rem;margin-top:8px}.details-section{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e0e0e0}.details-section:last-of-type{border-bottom:none}.details-section h4{color:#1f2937;font-size:1.1rem;margin-bottom:12px}.details-section p{color:#666;line-height:1.6;margin:0}.thumbnail-image,.thumbnail-content{cursor:pointer}.login-screen{display:flex;justify-content:center;align-items:center;min-height:80vh}.login-card{background:#fff;border-radius:16px;padding:48px;box-shadow:0 20px 60px #0000004d;max-width:450px;width:100%}.login-card h1{font-size:2.5rem;color:#667eea;margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:12px}.login-subtitle{text-align:center;color:#666;font-size:1.1rem;margin-bottom:32px}.login-form{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.login-input{padding:14px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s}.login-input:focus{outline:none;border-color:#667eea}.error-message{background:#fee;color:#c33;padding:12px;border-radius:6px;font-size:.9rem;text-align:center}.login-btn{padding:14px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .2s}.login-btn:hover:not(:disabled){background:#5568d3}.login-btn:disabled{opacity:.6;cursor:not-allowed}.toggle-auth-btn{width:100%;padding:12px;background:none;color:#667eea;border:none;font-size:.95rem;cursor:pointer;text-decoration:underline;margin-bottom:20px}.toggle-auth-btn:hover{color:#5568d3}.login-divider{text-align:center;margin:24px 0;position:relative}.login-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e0e0e0}.login-divider span{background:#fff;padding:0 16px;color:#999;font-size:.9rem;position:relative;z-index:1}.social-login{display:flex;flex-direction:column;gap:12px}.social-btn{padding:12px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;font-size:1rem;cursor:not-allowed;display:flex;align-items:center;justify-content:center;gap:8px;opacity:.6}.login-note{margin-top:24px;text-align:center;color:#999;font-size:.85rem}.deals-view{padding:0;-webkit-overflow-scrolling:touch}.deals-header{text-align:center;margin-bottom:48px;padding:32px 24px;background:linear-gradient(135deg,#8b9eff,#6b7fd7);background:linear-gradient(135deg,var(--accent-primary, #8b9eff) 0%,var(--accent-dark, #6b7fd7) 100%);border-radius:20px;color:#fff;box-shadow:0 8px 32px #667eea4d;position:sticky;top:165px;z-index:140;-webkit-position:sticky;-webkit-transform:translateZ(0);transform:translateZ(0)}.deals-header h2{font-size:2.5rem;margin:0 0 12px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.2)}.deals-subtitle{font-size:1.2rem;margin:0;opacity:.95;font-weight:400;line-height:1.5}.deals-updated{font-size:.9rem;color:#fffc;margin-top:8px}.refresh-deals-btn{margin-top:16px;padding:8px 16px;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.refresh-deals-btn:hover:not(:disabled){background:#ffffff4d;border-color:#ffffff80}.refresh-deals-btn:disabled{opacity:.6;cursor:not-allowed}.deals-loading,.deals-error{text-align:center;padding:40px;color:var(--text-secondary)}.retry-btn{margin-top:16px;padding:8px 16px;background:var(--accent-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.retry-btn:hover{background:var(--accent-hover)}.deals-container{display:flex;flex-direction:column;gap:56px}.deals-category{background:#1a1f2e;background:var(--card-bg, #1a1f2e);border-radius:20px;padding:40px;box-shadow:0 8px 32px #0000001a;border:1px solid #374151;border:1px solid var(--border-color, #374151);transition:transform .3s ease,box-shadow .3s ease}.deals-category:hover{transform:translateY(-4px);box-shadow:0 16px 48px #00000026}.deals-category-title{font-size:1.8rem;color:#f5f7fa;color:var(--text-primary, #f5f7fa);margin:0 0 32px;font-weight:700;text-align:center;padding-bottom:16px;border-bottom:3px solid #8b9eff;border-bottom:3px solid var(--accent-primary, #8b9eff);position:relative}.deals-category-title:after{content:"";position:absolute;bottom:-3px;left:50%;transform:translate(-50%);width:60px;height:3px;background:#a5b4ff;background:var(--accent-hover, #a5b4ff);border-radius:2px}.deals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;align-items:stretch}.deal-card{background:#242b3d;background:var(--bg-secondary, #242b3d);border:2px solid #374151;border:2px solid var(--border-color, #374151);border-radius:16px;overflow:hidden;transition:all .3s ease;position:relative;box-shadow:0 4px 16px #00000014}.deal-card:hover{transform:translateY(-8px);box-shadow:0 16px 40px #00000026;border-color:#8b9eff;border-color:var(--accent-primary, #8b9eff)}.deal-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#8b9eff,#a5b4ff);background:linear-gradient(90deg,var(--accent-primary, #8b9eff),var(--accent-hover, #a5b4ff))}.deal-content{padding:32px 24px;display:flex;flex-direction:column;height:100%}.deal-title{font-size:1.4rem;font-weight:700;color:#f5f7fa;color:var(--text-primary, #f5f7fa);margin:0 0 12px;line-height:1.3}.deal-description{color:#b8c1cc;color:var(--text-secondary, #b8c1cc);font-size:1rem;margin:0 0 24px;line-height:1.5;flex-grow:1}.deal-pricing{display:flex;align-items:center;gap:12px;margin-bottom:24px;flex-wrap:wrap}.deal-price{font-size:1.5rem;font-weight:700;color:#8b9eff;color:var(--accent-primary, #8b9eff)}.deal-original{font-size:1rem;color:#8b95a5;color:var(--text-tertiary, #8b95a5);text-decoration:line-through;opacity:.8}.deal-discount{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #10b9814d}.deal-button{width:100%;padding:16px 24px;background:linear-gradient(135deg,#8b9eff,#6b7fd7);background:linear-gradient(135deg,var(--accent-primary, #8b9eff),var(--accent-dark, #6b7fd7));color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 16px #667eea4d}.deal-button:hover{background:linear-gradient(135deg,#a5b4ff,#8b9eff);background:linear-gradient(135deg,var(--accent-hover, #a5b4ff),var(--accent-primary, #8b9eff));transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.deal-button:active{transform:translateY(0)}@media (max-width: 768px){.deals-header{padding:24px 16px;margin-bottom:32px;top:145px}.deals-header h2{font-size:2rem}.deals-subtitle{font-size:1rem}.deals-container{gap:32px}.deals-category{padding:24px 16px}.deals-category-title{font-size:1.5rem;margin-bottom:24px}.deals-grid{grid-template-columns:1fr;gap:16px}.deal-content{padding:24px 16px}.deal-title{font-size:1.2rem}.deal-pricing{gap:8px}.deal-price{font-size:1.3rem}}.invite-form{margin:24px 0}.invite-email-input{width:100%;padding:14px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s;box-sizing:border-box}.invite-email-input:focus{outline:none;border-color:#667eea}.invite-note{margin-top:12px;color:#666;font-size:.9rem;line-height:1.5}.invite-btn{padding:12px 20px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;margin-top:12px}.invite-btn:hover{background:#5568d3}.invite-options{margin:20px 0}.invite-option-section{padding:20px;background:var(--bg-secondary);border-radius:12px;margin-bottom:16px}.invite-option-section h4{margin:0 0 12px;color:var(--text-primary);font-size:1rem;font-weight:600}.invite-divider{text-align:center;margin:16px 0;position:relative}.invite-divider:before,.invite-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--border-color)}.invite-divider:before{left:0}.invite-divider:after{right:0}.invite-divider span{color:var(--text-tertiary);font-size:.85rem;font-weight:600;padding:0 12px;background:var(--modal-bg)}.share-btn,.copy-btn{padding:12px 20px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.share-btn{background:#10b981;color:#fff}.share-btn:hover{background:#059669}.copy-btn{background:var(--bg-tertiary);color:var(--text-primary);border:2px solid var(--border-color)}.copy-btn:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.contact-modal{max-width:600px}.contact-form{margin-top:20px}.form-group label{display:block;margin-bottom:8px;color:var(--text-primary);font-weight:600;font-size:.95rem}.contact-input,.contact-select,.contact-textarea{width:100%;padding:12px 16px;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:inherit;background:var(--bg-primary)!important;color:var(--text-primary)!important;transition:border-color .2s;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-text-fill-color:var(--text-primary)!important}.contact-input:focus,.contact-select:focus,.contact-textarea:focus{outline:none;border-color:var(--accent-primary);background:var(--bg-primary)!important;color:var(--text-primary)!important;-webkit-text-fill-color:var(--text-primary)!important}.contact-input::placeholder,.contact-textarea::placeholder{color:var(--text-tertiary)!important;opacity:1}.contact-textarea{resize:vertical;min-height:120px}.contact-success{text-align:center;padding:40px 20px}.success-icon{font-size:4rem;margin-bottom:16px}.contact-success p{font-size:1.1rem;color:var(--text-primary);font-weight:600}.cancel-btn{padding:12px 24px;background:#e5e7eb;color:#1f2937;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.cancel-btn:hover{background:#d1d5db}@media (max-width: 768px){.app{padding:20px;border-radius:0;min-height:100vh}header h1{font-size:1.8rem}.app-logo{width:35px;height:35px}header p{font-size:.95rem}.header-content{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:16px}.header-content>div:first-child{flex:1;min-width:0}.profile-menu{flex-shrink:0}.connections-btn,.logout-btn{padding:8px 12px;font-size:.85rem}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.tabs::-webkit-scrollbar{display:none}.tab{padding:10px 16px;font-size:.9rem;white-space:nowrap}.search-bar{flex-direction:column;gap:12px}.search-bar input{width:100%}.category-filters{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:8px}.category-filters::-webkit-scrollbar{display:none}.category-filter{padding:8px 14px;font-size:.85rem;white-space:nowrap}.recommendations{grid-template-columns:1fr;gap:16px}.thumbnail-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px}.connections-grid{grid-template-columns:repeat(2,1fr);gap:12px}.connections-modal-grid{grid-template-columns:1fr;gap:12px}.thumbnail-card{font-size:.9rem}.thumbnail-card h4{font-size:.95rem}.connection-card{padding:12px}.connection-avatar{width:40px;height:40px;font-size:1.2rem}.modal{width:95%;max-width:95%;max-height:calc(100vh - 60px);overflow-y:auto;padding:20px;margin:10px}.modal h3{font-size:1.3rem}.details-modal{width:95%;max-width:95%}.details-modal-content{flex-direction:column}.details-modal-image{width:100%;max-width:100%;margin-bottom:20px}.details-modal-info{width:100%}.profile-stats{flex-direction:column;gap:12px}.stat-card{width:100%}.recommend-btn,.send-btn,.cancel-btn{padding:10px 16px;font-size:.9rem}.modal-actions{flex-direction:column;gap:10px}.modal-actions button{width:100%}.login-input,.invite-email-input{font-size:16px}.recipient-list{max-height:40vh}.recipient-item{padding:12px;font-size:.95rem}.heart-btn{width:32px;height:32px;font-size:1rem}.category-section h3{font-size:1.2rem}.empty{font-size:.95rem;padding:30px 20px}}@media (max-width: 480px){.app{padding:16px}header{margin-bottom:24px}header h1{font-size:1.5rem}.app-logo{width:30px;height:30px}header p{font-size:.85rem}.tab{padding:8px 12px;font-size:.85rem}.thumbnail-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px}.connections-grid{grid-template-columns:1fr}.thumbnail-card{padding:12px}.thumbnail-image{height:200px}.modal{padding:16px;border-radius:12px}.modal h3{font-size:1.2rem}.login-card{padding:32px 24px}.login-card h1{font-size:2rem}.profile-section{padding:16px}.profile-section h2{font-size:1.3rem}.invite-btn{width:100%;text-align:center}.connection-modal-card{padding:12px}.connection-avatar{width:36px;height:36px;font-size:1.1rem}.details-modal-header h3{font-size:1.3rem}.details-modal-meta{flex-direction:column;align-items:flex-start;gap:8px}.badge{font-size:.75rem;padding:4px 10px}.like-count-btn{font-size:.85rem;padding:6px 12px}}@media (max-width: 360px){.app{padding:12px}header h1{font-size:1.3rem}.tab{padding:8px 10px;font-size:.8rem}.thumbnail-image{height:180px}.modal{padding:12px}.login-card{padding:24px 16px}}@media (max-width: 768px) and (orientation: landscape){.modal{max-height:85vh}.thumbnail-grid{grid-template-columns:repeat(2,1fr)!important;gap:14px}}@media (hover: none) and (pointer: coarse){button{min-height:44px;min-width:44px}.tab{min-height:44px}.category-filter{min-height:40px}.thumbnail-card:hover{transform:none}.tab:hover{background:none}button:active{transform:scale(.95)}.thumbnail-card:active{transform:scale(.98)}}@supports (padding: max(0px)){.app{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(16px,env(safe-area-inset-bottom))}.modal{padding-bottom:max(20px,env(safe-area-inset-bottom))}}@media (hover: none){.tab,.category-filter,button{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}}@media (max-width: 768px){*{-webkit-overflow-scrolling:touch}.modal{overscroll-behavior:contain}}.card,.thumbnail-card,.connection-card,.connection-modal-card,.profile-section{background:var(--card-bg);border-color:var(--border-color);color:var(--text-primary)}.form,.thumbnail-like-section,.recipient-item,.stat-card,.details-modal-content{background:var(--bg-secondary);border-color:var(--border-color)}.modal,.details-modal,.login-card{background:var(--modal-bg);color:var(--text-primary);border:1px solid var(--border-color)}input,textarea,select,.search-bar input,.login-input,.invite-email-input{background:var(--input-bg);color:var(--text-primary);border-color:var(--border-color)}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}input:focus,textarea:focus{border-color:var(--accent-primary);background:var(--bg-tertiary)}.tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.recommend-btn,.send-btn,.invite-btn{background:var(--accent-primary);color:var(--bg-primary)}.recommend-btn:hover,.send-btn:hover,.invite-btn:hover{background:var(--accent-hover)}.cancel-btn{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.cancel-btn:hover{background:var(--bg-tertiary)}.heart-btn,.like-count-btn{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.heart-btn:hover,.like-count-btn:hover{background:var(--bg-tertiary);border-color:var(--accent-primary)}.heart-btn.liked{background:var(--error-bg);border-color:var(--error-text)}.like-count-btn.liked{background:var(--error-bg);border-color:var(--error-text);color:var(--error-text)}.badge,.category-filter{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-color)}.category-filter.active{background:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary)}.service-badge{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-color)}.service-badge.clickable{background:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary)}.service-badge.clickable:hover{background:var(--accent-hover)}h2,h3,h4{color:var(--text-primary)}p,span,label{color:var(--text-secondary)}.empty{color:var(--text-tertiary)}.thumbnail-placeholder,.details-thumbnail-placeholder{background:var(--bg-tertiary);border-color:var(--border-color)}.login-divider:before{background:var(--border-color)}.login-divider span{background:var(--modal-bg);color:var(--text-tertiary)}.error-message{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-text)}.social-btn{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-tertiary)}.toggle-auth-btn{color:var(--accent-primary)}.toggle-auth-btn:hover{color:var(--accent-hover)}.details-modal-header h3{color:var(--text-primary)}.details-recommender{color:var(--text-secondary)}.details-section h4{color:var(--text-primary)}.liked-by-list{color:var(--text-tertiary)}.stat-number{color:var(--accent-primary)}.stat-label{color:var(--text-secondary)}.connection-info h4{color:var(--text-primary)}.connection-info p{color:var(--text-secondary)}.connection-avatar{background:var(--accent-primary);color:var(--bg-primary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--bg-hover)}::selection{background:var(--accent-primary);color:var(--bg-primary)}::-moz-selection{background:var(--accent-primary);color:var(--bg-primary)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;line-height:1.3;letter-spacing:-.01em}h2{font-size:2rem;margin-bottom:20px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;padding-bottom:12px;border-bottom:2px solid var(--border-color)}h3{font-size:1.65rem;margin-bottom:16px;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}h4{font-size:1.35rem;margin-bottom:12px;color:var(--text-primary);font-weight:700;letter-spacing:-.01em}p{color:var(--text-secondary);line-height:1.7;font-size:1rem;margin-bottom:12px}strong,b{color:var(--text-primary);font-weight:600}a{color:var(--accent-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-hover)}label{color:var(--text-secondary);font-weight:500;font-size:.95rem;line-height:1.5}.thumbnail-card h4,.connection-card h4,.card h3{color:var(--text-primary);font-size:1.1rem;font-weight:600;line-height:1.4;margin-bottom:8px}.modal-subtitle,.login-subtitle{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-bottom:20px}.badge{font-size:.8rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}button{font-weight:600;letter-spacing:.01em}input,textarea,select{font-size:1rem;line-height:1.5;color:var(--text-primary)}input::placeholder,textarea::placeholder{color:var(--text-tertiary);opacity:.8}.tab{font-weight:500;letter-spacing:.01em}.tab.active{font-weight:600}.empty{color:var(--text-secondary);font-size:1.05rem;line-height:1.6}.stat-number{font-size:2.5rem;font-weight:700;line-height:1;color:var(--accent-primary)}.stat-label{font-size:.95rem;color:var(--text-secondary);font-weight:500;margin-top:8px}.rec-notes,.thumbnail-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.details-recommender{color:var(--text-secondary);font-size:1rem;font-weight:500}.details-author{color:var(--text-secondary);font-size:1rem;font-style:italic}.details-section p{color:var(--text-secondary);line-height:1.7}.liked-by-list{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.connection-info p{color:var(--text-secondary);font-size:.9rem;line-height:1.4}.error-message{color:#ffb3b3;font-weight:500;line-height:1.5}.category-filter{font-size:.9rem;font-weight:500;letter-spacing:.01em}.service-badge{font-size:.85rem;font-weight:600;letter-spacing:.02em}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}input:focus,textarea:focus,button:focus,select:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.thumbnail-content,.connection-info,.profile-section{font-size:.95rem}.thumbnail-card,.card,.modal,.profile-section{color:var(--text-primary)}.thumbnail-card p,.card p,.profile-section p{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.profile-section h2{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:24px;padding-bottom:12px;border-bottom:3px solid var(--accent-primary);letter-spacing:-.02em;display:flex;align-items:center;gap:10px}.category-section h2,.category-section h3{font-size:1.85rem;font-weight:700;color:var(--text-primary);margin-bottom:24px;margin-top:40px;padding-bottom:14px;border-bottom:3px solid var(--accent-primary);letter-spacing:-.02em;text-transform:capitalize;position:relative}.category-section:first-child h2,.category-section:first-child h3{margin-top:0}.category-section h2:after,.category-section h3:after{content:"";position:absolute;bottom:-3px;left:0;width:80px;height:3px;background:linear-gradient(90deg,var(--accent-hover),transparent)}.modal h3,.details-modal h3{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:16px;letter-spacing:-.02em}.details-section h4{font-size:1.2rem;font-weight:700;color:var(--accent-primary);margin-bottom:12px;margin-top:24px;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem}.profile-section{margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid var(--border-color)}.profile-section:last-child{border-bottom:none}.category-section{margin-bottom:3px!important;margin-top:0!important;scroll-margin-top:20px}.category-section:last-child{margin-bottom:2px!important}.details-section{margin-top:28px;padding-top:20px;border-top:1px solid var(--border-color)}.details-section:first-child{border-top:none;margin-top:0;padding-top:0}.profile-section h2:before,.category-section h3:before{font-size:1.3em;margin-right:4px}h2,h3{text-shadow:0 0 20px rgba(139,158,255,.1)}@media (max-width: 768px){h2{font-size:1.65rem}h3{font-size:1.4rem}h4{font-size:1.15rem}.profile-section h2{font-size:1.65rem}.category-section h2,.category-section h3{font-size:1.5rem;margin-top:0!important;margin-bottom:5px!important}.modal h3{font-size:1.5rem}}@media (max-width: 480px){h2{font-size:1.5rem}h3{font-size:1.3rem}h4{font-size:1.1rem}.profile-section h2{font-size:1.5rem;margin-bottom:20px}.category-section h2,.category-section h3{font-size:1.35rem;margin-top:28px;margin-bottom:16px;padding-bottom:10px}.category-section h2:after,.category-section h3:after{width:60px}}.category-section h2{background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.9rem}.category-section+.category-section{margin-top:64px}.category-section h2:hover,.category-section h3:hover{transform:translate(4px);transition:transform .2s ease}.category-section h2{border-bottom-width:4px;padding-bottom:16px}.category-section{padding:24px;background:linear-gradient(135deg,rgba(139,158,255,.03) 0%,transparent 100%);border-radius:12px;margin-bottom:48px}@media (max-width: 768px){.category-section{padding:16px;margin-bottom:40px}.category-section+.category-section{margin-top:48px}.category-section h2{font-size:1.55rem;padding-bottom:3px}}@media (max-width: 480px){.category-section{padding:12px;margin-bottom:32px}.category-section+.category-section{margin-top:40px}.category-section h2{font-size:1.4rem;padding-bottom:2.5px;border-bottom-width:3px}}.recipient-item input[type=checkbox]:checked+span{color:var(--accent-primary)}.recipient-item:has(input[type=checkbox]:checked){background:var(--bg-tertiary);border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.recipient-item:before{content:"👤";font-size:1.3rem;opacity:.8;flex-shrink:0}.recipient-item:first-child{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-dark) 100%);border-color:var(--accent-primary);color:var(--bg-primary)}.recipient-item:first-child span{color:var(--bg-primary);font-weight:700}.recipient-item:first-child:before{content:"👥";filter:brightness(0) invert(1)}.recipient-item:first-child:hover{transform:translate(4px) scale(1.02);box-shadow:0 4px 12px #8b9eff4d}.recipient-list::-webkit-scrollbar{width:8px}.recipient-list::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.recipient-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.recipient-list::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.recipient-item{animation:slideIn .2s ease-out backwards}.recipient-item:nth-child(1){animation-delay:.05s}.recipient-item:nth-child(2){animation-delay:.1s}.recipient-item:nth-child(3){animation-delay:.15s}.recipient-item:nth-child(4){animation-delay:.2s}.recipient-item:nth-child(5){animation-delay:.25s}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){.recipient-item{padding:14px 16px}.recipient-item span{font-size:1.05rem}.recipient-item:before{font-size:1.2rem}}@media (max-width: 480px){.recipient-item{padding:12px 14px;gap:12px}.recipient-item span{font-size:1rem}.recipient-item:before{font-size:1.1rem}.recipient-list{max-height:50vh}}.camera-btn{padding:10px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:20px;transition:all .3s ease;box-shadow:0 2px 8px #667eea4d}.camera-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.camera-btn:active{transform:translateY(0)}.camera-modal{max-width:600px;width:90%}.camera-container{width:100%;min-height:300px;background:#000;border-radius:8px;overflow:hidden;margin:20px 0;display:flex;align-items:center;justify-content:center}.camera-preview{width:100%;height:auto;display:block}.captured-image-container{width:100%;position:relative}.captured-image{width:100%;height:auto;display:block}.recognition-result{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.95) 0%,rgba(0,0,0,.8) 70%,transparent 100%);padding:20px;color:#fff}.recognition-result h4{margin:0 0 10px;font-size:14px;color:#4ade80}.result-title{font-size:18px;font-weight:600;margin:5px 0;color:#fff}.result-description{font-size:14px;margin:10px 0 0;color:#ffffffe6;line-height:1.4}.recognition-result .badge{display:inline-block;margin:5px 0}@media (max-width: 768px){.camera-modal{max-width:95%;max-height:90vh;overflow-y:auto}.camera-container{min-height:250px}.recognition-result{padding:15px}.result-title{font-size:16px}.result-description{font-size:13px}}.recommended-to{font-size:13px;color:#666;margin:8px 0 0;font-style:italic}.messages-view{padding:20px}.messages-container{display:grid;grid-template-columns:350px 1fr;gap:20px;max-width:1200px;margin:0 auto;height:calc(100vh - 200px)}.conversations-list{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a;overflow-y:auto}.conversations-list h2{margin:0 0 20px;font-size:20px}.conversation-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;cursor:pointer;transition:background .2s;position:relative;margin-bottom:8px}.conversation-item:hover{background:#f5f5f5}.conversation-item.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.conversation-avatar{width:45px;height:45px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;flex-shrink:0}.conversation-item.active .conversation-avatar{background:#fff;color:#667eea}.conversation-info{flex:1;min-width:0}.conversation-info h4{margin:0 0 4px;font-size:15px}.last-message{margin:0;font-size:13px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-item.active .last-message{color:#ffffffe6}.unread-count{background:#f44;color:#fff;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:600;min-width:20px;text-align:center}.unread-badge{background:#f44;color:#fff;border-radius:10px;padding:2px 6px;font-size:11px;font-weight:600;margin-left:6px;min-width:18px;text-align:center;display:inline-block}.start-conversation{margin-top:30px;padding-top:20px;border-top:1px solid #eee}.start-conversation h3{font-size:14px;color:#666;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.connection-btn{display:flex;align-items:center;gap:10px;padding:10px;background:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;transition:all .2s;font-size:14px;text-align:left}.connection-btn:hover{background:#f5f5f5;border-color:#667eea}.avatar-small{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.chat-window{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;height:100%}.chat-header{padding:20px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.chat-partner-info{display:flex;align-items:center;gap:12px}.chat-partner-info h3{margin:0;font-size:18px}.close-chat-btn{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-chat-btn:hover{background:#f5f5f5;color:#333}.messages-list{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.message{display:flex;max-width:70%}.message.sent{align-self:flex-end}.message.received{align-self:flex-start}.message-content{padding:12px 16px;border-radius:16px;position:relative}.message.sent .message-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom-right-radius:4px}.message.received .message-content{background:#f0f0f0;color:#333;border-bottom-left-radius:4px}.message-content p{margin:0 0 4px;word-wrap:break-word;color:inherit}.message-time{font-size:11px;opacity:.9;color:inherit}.message.sent .message-time{opacity:1;color:#fffffff2}.message-input-container{padding:20px;border-top:1px solid #eee;display:flex;gap:12px}.message-input{flex:1;padding:12px 16px;border:1px solid #ddd;border-radius:24px;font-size:14px;outline:none;transition:border-color .2s}.message-input:focus{border-color:#667eea}.send-btn{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:24px;cursor:pointer;font-weight:600;transition:transform .2s}.send-btn:hover{transform:translateY(-2px)}.comments-section{border-top:1px solid #eee;padding-top:20px;margin-top:20px}.comments-list{max-height:300px;overflow-y:auto;margin-bottom:16px}.empty-comments{text-align:center;color:#999;font-size:14px;padding:20px;font-style:italic}.comment{padding:12px;background:#f9f9f9;border-radius:8px;margin-bottom:12px}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.comment-author{font-weight:600;color:#667eea;font-size:14px}.comment-time{font-size:12px;color:#999}.comment-text{margin:0;font-size:14px;color:#333;line-height:1.5}.comment-input-container{display:flex;gap:12px;margin-top:16px}.comment-input{flex:1;padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.comment-input:focus{border-color:#667eea}.comment-btn{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:transform .2s}.comment-btn:hover{transform:translateY(-2px)}@media (max-width: 768px){.messages-container{grid-template-columns:1fr;height:auto}.conversations-list{max-height:400px}.chat-window{height:500px}.message{max-width:85%}}.message-section{margin:20px 0;padding-top:20px;border-top:1px solid #eee}.message-section label{display:block;font-weight:600;margin-bottom:8px;color:#333;font-size:14px}.recommend-message-input{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;min-height:80px;outline:none;transition:border-color .2s}.recommend-message-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.shared-with-info{font-size:.85rem;color:var(--text-secondary);margin-top:8px;padding:6px 10px;background:var(--bg-tertiary);border-radius:6px;border-left:3px solid var(--accent-primary)}@media (max-width: 768px){.controls{top:145px}}@media (max-width: 480px){.controls,.reviews-header,.deals-header{top:125px}}.controls .search{flex:1;min-width:200px;padding:10px 16px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem}.controls .search:focus{outline:none;border-color:var(--accent-primary)}.controls select{padding:10px 16px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;cursor:pointer}.controls select:focus{outline:none;border-color:var(--accent-primary)}.controls .add-btn,.controls .camera-btn{padding:10px 20px;background:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.controls .add-btn:hover,.controls .camera-btn:hover{background:var(--accent-hover)}.controls .camera-btn{font-size:1.2rem;padding:10px 16px}.browse-view,.discover-view{-webkit-overflow-scrolling:touch}.thumbnail-grid{overflow:visible;max-height:none}.profile-view,.messages-view{overflow-y:auto;max-height:calc(100vh - 300px)}.start-conversation{margin-top:30px;padding-top:20px;border-top:1px solid var(--border-color)}.start-conversation h3{font-size:1rem;color:var(--text-secondary);margin-bottom:12px;font-weight:600}.connections-list{display:flex;flex-direction:column;gap:8px}.connection-btn{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;cursor:pointer;transition:all .2s;text-align:left;width:100%}.connection-btn:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.avatar-small{width:32px;height:32px;border-radius:50%;background:var(--accent-primary);color:var(--bg-primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex-shrink:0}.section-title{font-size:.9rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin:20px 0 10px;font-weight:600}.empty-hint{text-align:center;color:var(--text-secondary);font-size:.95rem;margin-top:20px;padding:16px;background:var(--bg-tertiary);border-radius:8px}.success-message{background:var(--success-bg);color:var(--success-text);padding:12px;border-radius:6px;margin:10px 0;font-size:.95rem;border:1px solid var(--success-text)}.forgot-password-btn{background:none;border:none;color:var(--accent-primary);font-size:.9rem;cursor:pointer;padding:8px 0;margin-top:8px;text-decoration:underline;transition:color .2s}.forgot-password-btn:hover{color:var(--accent-hover)}@media (max-width: 768px){.app{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border-radius:0}header{margin-bottom:24px;padding-top:max(16px,env(safe-area-inset-top))}header h1{font-size:1.8rem}.app-logo{width:36px;height:36px}header p{font-size:.95rem}.header-content{gap:12px}.header-user{flex-wrap:wrap;gap:8px}}@media (max-width: 375px){.header-content{flex-direction:row;justify-content:space-between;align-items:center;gap:8px}.header-content>div:first-child{flex:1;min-width:0}.profile-menu{flex-shrink:0;margin-left:8px}header h1{font-size:1.5rem}.app-logo{width:32px;height:32px}header p{font-size:.9rem}}.verification-required{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;background:var(--bg-primary)}.verification-content{text-align:center;max-width:400px;width:100%;padding:40px 20px;background:var(--card-bg);border-radius:12px;border:1px solid var(--border-color);box-shadow:0 4px 20px #0000001a}.verification-content h2{color:var(--text-primary);margin-bottom:16px;font-size:24px;font-weight:600}.verification-content p{color:var(--text-secondary);margin-bottom:16px;line-height:1.5}.verification-content strong{color:var(--accent-primary)}.filter-dropdown{position:relative;display:inline-block}.filter-button{background:var(--accent-primary);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s ease;min-width:100px}.filter-button:hover{background:var(--accent-hover)}.filter-options{position:absolute;top:100%;left:0;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;margin-top:4px;overflow:hidden;min-width:100%;white-space:nowrap}.filter-option{padding:10px 16px;cursor:pointer;color:var(--text-primary);transition:background-color .2s ease;font-size:14px;white-space:nowrap}.filter-option:hover{background:var(--bg-hover)}.filter-option.selected{background:var(--accent-primary);color:#fff}.filter-option.selected:hover{background:var(--accent-hover)}.filter-option:last-child{border-bottom:none}.filter-button.genre-filter{background:var(--accent-dark);margin-left:8px}.filter-button.genre-filter:hover{background:var(--accent-primary)}.view-toggle{display:flex;border:2px solid var(--border-color);border-radius:6px;overflow:hidden}.view-toggle-btn{background:var(--bg-secondary);color:var(--text-secondary);border:none;padding:8px 12px;font-size:16px;cursor:pointer;transition:all .2s ease;border-right:1px solid var(--border-color)}.view-toggle-btn:last-child{border-right:none}.view-toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.view-toggle-btn.active{background:var(--accent-primary);color:#fff}.view-toggle-btn.active:hover{background:var(--accent-hover)}.recommendations-list{display:flex;flex-direction:column;gap:12px}.list-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s ease}.list-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--accent-primary)}.list-item-thumbnail{width:60px;height:90px;flex-shrink:0;border-radius:6px;overflow:hidden}.list-item-thumbnail img{width:100%;height:100%;object-fit:cover}.list-thumbnail-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-dark) 100%);display:flex;align-items:center;justify-content:center}.list-placeholder-icon{font-size:1.5rem;color:#fff}.list-item-content{flex:1;min-width:0}.list-item-header{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:4px}.list-item-title-row{display:flex;align-items:flex-start;justify-content:space-between;width:100%;gap:8px}.list-item-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.list-item-category{background:var(--accent-primary);color:#fff;padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600;display:inline-block;margin-bottom:6px}.list-item-recommender{color:var(--accent-primary);font-size:.9rem;font-weight:600;margin:0 0 4px}.recommender-count-link{color:var(--accent-primary);text-decoration:underline;cursor:pointer;font-weight:700;transition:color .2s ease}.recommender-count-link:hover{color:var(--accent-hover)}.list-item-notes{color:var(--text-secondary);font-size:.85rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item-actions{display:flex;flex-direction:column;gap:8px;align-items:center}.list-like-btn{background:var(--bg-secondary);color:var(--text-secondary);border:2px solid var(--border-color);border-radius:20px;padding:6px 12px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.list-like-btn:hover{border-color:var(--accent-primary);transform:scale(1.05)}.list-like-btn.liked{background:#ef44441a;border-color:#ef4444;color:#ef4444}.list-hide-btn{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;width:32px;height:32px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.list-hide-btn:hover{background:var(--bg-hover);border-color:var(--accent-primary);transform:scale(1.1)}@media (max-width: 768px){.list-item{padding:12px;gap:12px}.list-item-thumbnail{width:50px;height:75px}.list-item-header{gap:4px}.list-item-title{font-size:1rem}.list-item-category{padding:2px 8px;font-size:.7rem}.list-item-actions{flex-direction:row;gap:6px}.view-toggle-btn{padding:6px 10px;font-size:14px}}.polls-view{display:flex;flex-direction:column;gap:24px}.polls-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.polls-header h2{color:var(--text-primary);font-size:1.5rem;margin:0}.create-poll-btn{background:var(--accent-primary);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.create-poll-btn:hover{background:var(--accent-hover)}.polls-container{display:flex;flex-direction:column;gap:20px}.empty-polls{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-polls p{margin:8px 0}.polls-list{display:flex;flex-direction:column;gap:20px}.poll-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;padding:24px;transition:all .2s ease}.poll-card:hover{border-color:var(--accent-primary);box-shadow:0 4px 12px #0000001a}.content-poll{padding:20px}.poll-content-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.poll-content-info{display:flex;gap:16px;align-items:flex-start;flex:1}.poll-thumbnail{width:60px;height:90px;object-fit:cover;border-radius:6px;flex-shrink:0}.poll-thumbnail-placeholder{width:60px;height:90px;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-dark) 100%);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.poll-placeholder-icon{font-size:1.5rem;color:#fff}.poll-content-details{flex:1;min-width:0}.poll-content-title{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin:0 0 4px;line-height:1.3}.poll-content-category{background:var(--accent-primary);color:#fff;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.poll-content-notes{color:var(--text-secondary);font-size:.9rem;margin:8px 0 0;line-height:1.4}.poll-meta{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--text-secondary);text-align:right}.poll-creator{color:var(--accent-primary);font-weight:600}.poll-question{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:16px 0;text-align:center;padding:12px;background:var(--bg-secondary);border-radius:8px}.thumbs-voting{display:flex;gap:16px;justify-content:center;margin:20px 0}.thumbs-btn{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;padding:20px 24px;cursor:pointer;transition:all .2s ease;min-width:100px}.thumbs-btn:hover:not(.disabled){border-color:var(--accent-primary);background:var(--bg-hover);transform:translateY(-2px)}.thumbs-btn.voted{background:#667eea1a;border-color:var(--accent-primary)}.thumbs-btn.thumbs-up.voted{background:#22c55e1a;border-color:#22c55e}.thumbs-btn.thumbs-down.voted{background:#ef44441a;border-color:#ef4444}.thumbs-btn.disabled{cursor:not-allowed;opacity:.6}.thumbs-icon{font-size:2rem;line-height:1}.vote-count{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.vote-percentage{font-size:.9rem;color:var(--text-secondary);font-weight:500}.poll-results{padding-top:16px;border-top:1px solid var(--border-color);font-size:.9rem;color:var(--text-secondary);text-align:center}.total-votes{margin:0 0 4px;font-weight:600}.poll-recipients{margin:0;font-style:italic}.create-poll-modal{max-width:600px;width:90%}.poll-form{display:flex;flex-direction:column;gap:20px;margin:20px 0}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:var(--text-primary);font-size:.9rem}.poll-question-input,.poll-category-select,.poll-notes-input{padding:12px 16px;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;background:var(--input-bg);color:var(--text-primary);transition:border-color .2s}.poll-question-input:focus,.poll-category-select:focus,.poll-notes-input:focus{outline:none;border-color:var(--accent-primary)}.poll-category-select{cursor:pointer}.poll-preview{background:var(--bg-secondary);padding:16px;border-radius:8px;border:1px solid var(--border-color)}.poll-preview h4{margin:0 0 12px;color:var(--text-primary);font-size:.9rem}.preview-content{font-size:.9rem}.preview-category{color:var(--accent-primary);font-weight:600}.preview-notes{color:var(--text-secondary);margin:4px 0;font-style:italic}.preview-question{color:var(--text-primary);font-weight:600;margin:12px 0 8px;padding:8px;background:var(--bg-tertiary);border-radius:6px;text-align:center}.preview-thumbs{display:flex;gap:16px;justify-content:center;font-size:.85rem;color:var(--text-secondary)}.no-connections{color:var(--text-secondary);font-style:italic;margin:0;padding:16px;text-align:center;background:var(--bg-secondary);border-radius:8px}@media (max-width: 768px){.polls-header{flex-direction:column;gap:16px;align-items:stretch}.create-poll-btn{width:100%}.poll-card{padding:16px}.poll-content-header{flex-direction:column;gap:12px}.poll-content-info{gap:12px}.poll-thumbnail,.poll-thumbnail-placeholder{width:50px;height:75px}.poll-content-title{font-size:1.1rem}.poll-meta{flex-direction:row;justify-content:space-between;text-align:left}.thumbs-voting{gap:12px}.thumbs-btn{padding:16px 20px;min-width:80px}.thumbs-icon{font-size:1.5rem}.create-poll-modal{width:95%;max-height:90vh;overflow-y:auto}}.reviews-view{display:flex;flex-direction:column;gap:24px;-webkit-overflow-scrolling:touch}.reviews-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;position:sticky;top:165px;z-index:140;background:var(--bg-primary);padding:12px 0;-webkit-position:sticky;-webkit-transform:translateZ(0);transform:translateZ(0)}background: var(--bg-primary); padding: 12px 0; -webkit-position: sticky; -webkit-transform: translateZ(0); transform: translateZ(0); } .reviews-header h2{color:var(--text-primary);font-size:1.8rem;margin:0}.reviews-controls{display:flex;align-items:center;gap:16px}.create-review-btn{padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.create-review-btn:hover{background:#5568d3}.reviews-container{display:flex;flex-direction:column;gap:20px}.empty-reviews{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-reviews .empty{font-size:1.2rem;color:var(--text-tertiary);margin-bottom:12px}.reviews-list{display:flex;flex-direction:column;gap:20px}.review-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:24px;transition:box-shadow .2s}.review-card:hover{box-shadow:0 4px 12px #0000001a}.review-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:16px}.review-content-info h3{color:var(--text-primary);font-size:1.3rem;margin:0 0 8px}.review-category{color:var(--accent-primary);font-size:.9rem;font-weight:500}.review-meta{text-align:right;font-size:.9rem;color:var(--text-secondary)}.review-creator{display:block;margin-bottom:4px}.review-date{font-size:.8rem;color:var(--text-tertiary)}.review-status{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px;background:var(--bg-secondary);border-radius:8px}.status-badge{padding:6px 12px;border-radius:16px;font-size:.85rem;font-weight:600}.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.in-progress{background:#d1ecf1;color:#0c5460}.status-badge.completed{background:#d4edda;color:#155724}.review-count{font-size:.9rem;color:var(--text-secondary)}.existing-reviews{margin-bottom:20px}.review-item{background:var(--bg-tertiary);padding:16px;border-radius:8px;margin-bottom:12px}.review-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.reviewer-name{font-weight:600;color:var(--text-primary)}.rating{display:flex;gap:2px}.star{color:#ffc107;font-size:1.2rem}.review-text{color:var(--text-secondary);line-height:1.5;margin-top:8px}.review-form{background:var(--bg-secondary);padding:20px;border-radius:8px;margin-top:16px}.review-form h4{margin:0 0 16px;color:var(--text-primary)}.rating-input{display:flex;gap:8px;margin-bottom:16px;align-items:center}.rating-input label{color:var(--text-secondary);margin-right:8px}.star-rating{display:flex;gap:4px}.star-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#ddd;transition:color .2s}.star-button.active,.star-button:hover{color:#ffc107}.review-textarea{width:100%;min-height:100px;padding:12px;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-family:inherit;resize:vertical}.review-textarea:focus{outline:none;border-color:var(--accent-primary)}.submit-review-btn{background:var(--accent-primary);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:600;margin-top:12px;transition:background .2s}.submit-review-btn:hover{background:var(--accent-hover)}.review-content-info{display:flex;gap:12px;align-items:flex-start;flex:1}.review-thumbnail{flex-shrink:0}.review-thumbnail-img{width:60px;height:90px;object-fit:cover;border-radius:6px;background:var(--bg-tertiary)}.review-text-info{flex:1;min-width:0}.review-title{margin:0 0 4px;color:var(--text-primary);font-size:1.1rem;font-weight:600}.review-notes{margin:6px 0 0;color:var(--text-secondary);font-size:.85rem;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media (max-width: 768px){.review-thumbnail-img{width:50px;height:75px}.review-content-info{gap:10px}.review-title{font-size:1rem}.review-notes{font-size:.8rem;-webkit-line-clamp:1}}.star{font-size:1rem}.star.filled{color:#ffc107}.review-text{color:var(--text-secondary);line-height:1.5;margin:0}.review-form{background:var(--bg-secondary);padding:20px;border-radius:8px;border:2px dashed var(--border-color)}.review-form h4{color:var(--text-primary);margin:0 0 16px}.rating-input{display:flex;align-items:center;gap:8px;margin-bottom:16px}.star-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:4px;border-radius:4px;transition:background .2s}.star-btn:hover{background:var(--bg-hover)}.star-btn.selected{color:#ffc107}.review-textarea{width:100%;min-height:100px;padding:12px;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-family:inherit;resize:vertical;margin-bottom:16px}.review-textarea:focus{outline:none;border-color:#667eea}.submit-review-btn{padding:10px 20px;background:#10b981;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.submit-review-btn:hover{background:#059669}.create-review-modal{max-width:500px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary)}.review-title-input,.category-select{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:1rem}.review-title-input:focus,.category-select:focus{outline:none;border-color:#667eea}.recipient-list{max-height:200px;overflow-y:auto;border:1px solid var(--border-color);border-radius:6px;padding:12px;background:var(--input-bg)}.recipient-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border-color)}.recipient-item:last-child{border-bottom:none}.recipient-item input[type=checkbox]{width:18px;height:18px}.recipient-item label{color:var(--text-primary);cursor:pointer;margin:0}.no-connections{color:var(--text-secondary);font-style:italic;text-align:center;margin:0}@media (max-width: 768px){.reviews-header{flex-direction:column;gap:16px;top:145px}align-items: stretch}.reviews-controls,.review-header{flex-direction:column;gap:12px}.review-meta{text-align:left;display:flex;align-items:center;gap:12px}.review-status{flex-direction:column;gap:8px;align-items:stretch;text-align:center}} .verification-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.verification-modal{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.verification-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #eee;margin-bottom:24px}.verification-modal-header h2{margin:0;color:#333;font-size:24px;font-weight:600}.close-button{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-button:hover{background:#f5f5f5;color:#666}.verification-modal-content{padding:0 24px 24px}.verification-instruction{text-align:center;color:#666;margin:0 0 8px;font-size:16px}.verification-email{text-align:center;color:#007aff;font-weight:600;margin:0 0 32px;font-size:16px;word-break:break-all}.code-inputs{display:flex;justify-content:center;gap:12px;margin-bottom:24px}.code-input{width:48px;height:56px;border:2px solid #ddd;border-radius:12px;text-align:center;font-size:24px;font-weight:600;font-family:Courier New,monospace;transition:all .2s ease;background:#fff}.code-input:focus{outline:none;border-color:#007aff;box-shadow:0 0 0 3px #007aff1a}.code-input.error{border-color:#ff3b30;background:#fff5f5}.code-input.success{border-color:#34c759;background:#f0fff4}.code-input:disabled{background:#f8f9fa;color:#666}.verification-error{background:#fff5f5;color:#ff3b30;padding:12px 16px;border-radius:8px;text-align:center;margin-bottom:16px;font-size:14px;border:1px solid #FFE6E6}.verification-success{background:#f0fff4;color:#34c759;padding:12px 16px;border-radius:8px;text-align:center;margin-bottom:16px;font-size:14px;border:1px solid #D4F4DD;font-weight:500}.verification-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.verify-button{background:#007aff;color:#fff;border:none;padding:14px 24px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.verify-button:hover:not(:disabled){background:#0056cc;transform:translateY(-1px)}.verify-button:disabled{background:#ccc;cursor:not-allowed;transform:none}.resend-button{background:none;color:#007aff;border:2px solid #007AFF;padding:12px 24px;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.resend-button:hover:not(:disabled){background:#007aff;color:#fff}.resend-button:disabled{color:#ccc;border-color:#ccc;cursor:not-allowed}.verification-note{text-align:center;color:#999;font-size:12px;margin:0;line-height:1.4}@media (max-width: 480px){.verification-modal{margin:20px;max-width:none}.verification-modal-header{padding:20px 20px 0}.verification-modal-content{padding:0 20px 20px}.code-inputs{gap:8px}.code-input{width:40px;height:48px;font-size:20px}.verification-modal-header h2{font-size:20px}}@media (prefers-color-scheme: dark){.verification-modal{background:#2a2a2a;color:#fff}.verification-modal-header{border-bottom-color:#444}.verification-modal-header h2{color:#fff}.close-button{color:#ccc}.close-button:hover{background:#444;color:#fff}.code-input{background:#333;border-color:#555;color:#fff}.code-input:focus{border-color:#007aff;background:#333}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary, #1a1a1a);padding:20px;position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100vh!important;z-index:9999!important}.auth-card{background:var(--card-bg, #2a2a2a);border-radius:16px;padding:40px;width:100%;max-width:400px;box-shadow:0 4px 6px #0000001a;position:relative;z-index:10000}.auth-title{font-size:2rem;font-weight:700;color:var(--text-primary, #ffffff);margin:0 0 8px;text-align:center}.auth-subtitle{color:var(--text-secondary, #cccccc);text-align:center;margin:0 0 32px}.auth-tabs{display:flex;gap:8px;margin-bottom:24px;background:var(--bg-secondary);padding:4px;border-radius:8px}.auth-tab{flex:1;padding:12px;border:none;background:transparent;color:var(--text-secondary);font-size:1rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s}.auth-tab.active{background:var(--accent-primary);color:var(--bg-primary)}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-info{background:var(--bg-secondary);padding:12px;border-radius:8px;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.auth-input{padding:14px 16px;border:2px solid var(--border-color, #444444);border-radius:8px;font-size:1rem;background:var(--input-bg, #333333);color:var(--text-primary, #ffffff);transition:border-color .2s}.auth-input:focus{outline:none;border-color:var(--accent-primary)}.auth-input:disabled{opacity:.6;cursor:not-allowed}.auth-error{background:var(--error-bg);color:var(--error-text);padding:12px;border-radius:8px;font-size:.9rem}.auth-success{background:var(--success-bg);color:var(--success-text);padding:12px;border-radius:8px;font-size:.9rem;line-height:1.5}.auth-button{padding:14px;border:none;border-radius:8px;font-size:1rem;font-weight:600;background:var(--accent-primary, #007bff);color:var(--bg-primary, #ffffff);cursor:pointer;transition:background .2s}.auth-button:hover:not(:disabled){background:var(--accent-hover)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;margin-top:24px;color:var(--text-secondary);font-size:.9rem}.auth-link{background:none;border:none;color:var(--accent-primary);font-weight:600;cursor:pointer;padding:0;font-size:inherit}.auth-link:hover{text-decoration:underline}@media (max-width: 480px){.auth-card{padding:24px}.auth-title{font-size:1.75rem}}.contact-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px}.contact-container{background:#fff;border-radius:16px;padding:40px;max-width:600px;width:100%;box-shadow:0 10px 40px #0003}.contact-header{text-align:center;margin-bottom:32px}.contact-header h1{margin:0 0 12px;color:#333;font-size:2rem}.contact-header p{margin:0;color:#666;font-size:1rem;line-height:1.5}.contact-form-page{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;color:#333;font-weight:600;font-size:.95rem}.contact-input,.contact-select,.contact-textarea{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;background:#fff;color:#333;transition:border-color .2s;box-sizing:border-box}.contact-input:focus,.contact-select:focus,.contact-textarea:focus{outline:none;border-color:#667eea}.contact-textarea{resize:vertical;min-height:150px}.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.back-link{color:#667eea;text-decoration:none;font-weight:600;transition:color .2s}.back-link:hover{color:#5568d3}.submit-btn{padding:12px 32px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.submit-btn:hover:not(:disabled){background:#5568d3}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.contact-success-page{text-align:center;padding:40px 20px}.success-icon-large{font-size:5rem;margin-bottom:20px}.contact-success-page h2{margin:0 0 12px;color:#333;font-size:1.8rem}.contact-success-page p{margin:8px 0;color:#666;font-size:1.1rem}.redirect-note{color:#999;font-size:.9rem;margin-top:20px}.error-message{padding:12px 16px;background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:.95rem}@media (max-width: 768px){.contact-container{padding:24px}.contact-header h1{font-size:1.5rem}.form-actions{flex-direction:column;gap:12px}.submit-btn{width:100%}}.admin-login{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px}.login-container{background:#fff;border-radius:16px;padding:40px;max-width:400px;width:100%;box-shadow:0 10px 40px #0003;text-align:center}.login-container h1{margin:0 0 8px;color:#333}.login-container p{margin:0 0 24px;color:#666}.password-input{width:100%;padding:14px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;margin-bottom:16px;box-sizing:border-box}.password-input:focus{outline:none;border-color:#667eea}.login-btn{width:100%;padding:14px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.login-btn:hover{background:#5568d3}.admin-deals{min-height:100vh;background:#f5f5f5;padding:20px}.admin-header{background:#fff;padding:24px;border-radius:12px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a}.admin-header h1{margin:0 0 4px;color:#333}.admin-header p{margin:0;color:#666}.admin-actions{display:flex;gap:12px}.save-btn,.logout-btn{padding:12px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.save-btn{background:#10b981;color:#fff}.save-btn:hover:not(:disabled){background:#059669}.save-btn:disabled{opacity:.6;cursor:not-allowed}.logout-btn{background:#ef4444;color:#fff}.logout-btn:hover{background:#dc2626}.add-deal-section,.deals-list{background:#fff;padding:24px;border-radius:12px;margin-bottom:24px;box-shadow:0 2px 8px #0000001a}.add-deal-section h2,.deals-list h2{margin:0 0 20px;color:#333}.deal-form{display:flex;flex-direction:column;gap:12px}.deal-form input,.deal-form textarea,.deal-form select{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s}.deal-form input:focus,.deal-form textarea:focus,.deal-form select:focus{outline:none;border-color:#667eea}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.checkbox-label{display:flex;align-items:center;gap:8px;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:border-color .2s}.checkbox-label:hover{border-color:#667eea}.checkbox-label input[type=checkbox]{width:auto;margin:0;cursor:pointer}.add-btn,.update-btn{padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.add-btn:hover,.update-btn:hover{background:#5568d3}.deals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.deal-card{border:2px solid #e0e0e0;border-radius:12px;overflow:hidden;transition:all .2s}.deal-card:hover{border-color:#667eea;box-shadow:0 4px 12px #0000001a}.deal-image{width:100%;height:200px;object-fit:cover}.deal-content{padding:16px}.deal-content h3{margin:0 0 8px;color:#333;font-size:1.1rem}.deal-desc{margin:0 0 12px;color:#666;font-size:.9rem;line-height:1.4}.deal-pricing{display:flex;align-items:center;gap:8px;margin-bottom:12px}.price{font-size:1.3rem;font-weight:700;color:#10b981}.original-price{text-decoration:line-through;color:#999}.discount{background:#ef4444;color:#fff;padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:600}.deal-meta{display:flex;gap:8px;margin-bottom:12px}.category{background:#e0e0e0;padding:4px 12px;border-radius:12px;font-size:.85rem;color:#666}.featured-badge{background:#fbbf24;padding:4px 12px;border-radius:12px;font-size:.85rem;color:#78350f;font-weight:600}.deal-actions{display:flex;gap:8px}.edit-btn,.delete-btn{flex:1;padding:8px 16px;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.edit-btn{background:#667eea;color:#fff}.edit-btn:hover{background:#5568d3}.delete-btn{background:#fee;color:#ef4444}.delete-btn:hover{background:#ef4444;color:#fff}.no-deals{text-align:center;color:#999;padding:40px}.loading{text-align:center;padding:40px;color:#666}.error-message{padding:12px;background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;margin-top:12px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:#fff;border-radius:16px;padding:32px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.edit-modal h2{margin:0 0 20px}.modal-actions{display:flex;gap:12px;margin-top:20px}.cancel-btn{flex:1;padding:12px 24px;background:#e0e0e0;color:#333;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.cancel-btn:hover{background:#d0d0d0}@media (max-width: 768px){.admin-header{flex-direction:column;align-items:flex-start;gap:16px}.admin-actions{width:100%;flex-direction:column}.save-btn,.logout-btn{width:100%}.deals-grid{grid-template-columns:1fr}}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#1a1a2e,#16213e);min-height:100vh;padding:20px;overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{max-width:1200px;margin:0 auto}@media (max-width: 768px){body{padding:0;background:linear-gradient(135deg,#1a1a2e,#16213e);background-attachment:fixed}}@media (max-width: 768px){input,select,textarea{font-size:16px!important}}
