/*[file name]: matching-list.component.css [file content begin]*/ :host { display: block; min-height: 100vh; background: linear-gradient(135deg, #f8fafc 0%, #eef2f6 100%); font-family: "Poppins", sans-serif; margin: 0; color: #374151; } /* Loader */ .loader-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgb(28 28 28 / 32%); display: flex; justify-content: center; align-items: center; z-index: 2000; } .loader-container { text-align: center; background: transparent; padding: 50px; border-radius: 20px; } /* Header Bar */ .header-bar { display: flex; align-items: center; justify-content: space-between; background: #0D1B2A !important; /* Match app.component.css */ padding: 12px 30px; box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08); position: sticky; top: 82px; /* Adjusted for top navigation height */ z-index: 999; border-bottom: 1px solid rgba(255, 255, 255, 0.2); min-height: 60px; } .header-left { display: flex; align-items: center; gap: 30px; } .app-brand { display: flex; align-items: center; gap: 12px; } .app-title h2 { margin: 0; color: #3AB8A9; font-size: 20px; font-weight: 700; } /* Mode Toggle */ .mode-toggle { display: flex; background: rgba(255, 255, 255, 0.05); /* Dark theme background */ border-radius: 10px; padding: 4px; border: 1px solid #3AB8A9; } .mode-btn { padding: 8px 16px; border: none; background: transparent; border-radius: 8px; font-weight: 600; cursor: pointer; transition: all 0.3s ease; color: #ffffff; /* Light gray for inactive */ font-size: 12px; position: relative; } .mode-btn.active { background: #3AB8A9; color: #0D1B2A; box-shadow: 0 2px 8px rgba(58, 184, 169, 0.3); } .mode-btn:hover:not(.active) { background: rgba(58, 184, 169, 0.1); color: #3AB8A9 !important; } /* Header Right */ .header-right { display: flex; align-items: center; gap: 20px; } .search-box { position: relative; display: flex; align-items: center; } .search-box input { padding: 10px 40px 10px 15px; border-radius: 20px; border: 1px solid rgba(255, 255, 255, 0.2); background: rgba(255, 255, 255, 0.05); width: 260px; font-size: 14px; transition: all 0.3s ease; color: #e5e7eb; } .search-box input:focus { outline: none; border-color: #3AB8A9; box-shadow: 0 0 0 3px rgba(58, 184, 169, 0.1); background: rgba(255, 255, 255, 0.08); } .search-icon { position: absolute; right: 15px; color: #3AB8A9; } .like-section { position: relative; cursor: pointer; z-index: 1000; } .heart-container { display: flex; align-items: center; gap: 8px; padding: 10px 16px; background: rgba(255, 255, 255, 0.05); border-radius: 20px; transition: all 0.3s ease; color: #e5e7eb; border: 1px solid #3AB8A9; min-width: 80px; } .heart-container:hover { transform: translateY(-2px); border-color: #D4A755; background: rgba(212, 167, 85, 0.1); } .like-count { background: linear-gradient(135deg, #3AB8A9, #D4A755); color: white; border-radius: 50%; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: bold; } /* Liked Dropdown */ .liked-dropdown { display: none; position: absolute; top: calc(100% + 8px); right: 0; background: #0D1B2A !important; border-radius: 10px; padding: 0; /* min-width: 280px; */ /* max-width: 350px; */ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); z-index: 1001; border: 1px solid #3AB8A9; overflow: hidden; animation: _ngcontent-ng-c1053155578_slideDown 0.2s ease-out; padding: 1vw; width: 15vw; min-height: 10vw; max-height: 17vw; overflow-y: scroll; } .liked-dropdown.show { display: block; } @keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } /* Main Layout */ .main-layout { display: flex; gap: 0; min-height: calc(100vh - 142px); /* 82px + 60px */ position: relative; top: 0; /* Remove previous calculation */ } /* User Panel */ .user-panel { width: 300px; background: #1B2635 !important; /* Darker shade matching the theme */ padding: 25px 20px; display: flex; flex-direction: column; position: relative; overflow-y: auto; color: #e5e7eb !important; /* Light text for dark background */ border-right: 2px solid rgba(58, 184, 169, 0.5); /* Teal accent */ min-height: calc(100vh - 142px); box-shadow: 2px 0 10px rgba(0, 0, 0, 0.2); } .user-header { text-align: center; margin-bottom: 25px; } .user-photo { width: 100px; height: 100px; border-radius: 50%; object-fit: cover; border: 4px solid #f3f4f6; transition: all 0.3s ease; } .user-photo:hover { transform: scale(1.05); border-color: #3AB8A9; } .online-status { position: absolute; bottom: 8px; right: 4.5vw; width: 18px; height: 18px; border-radius: 50%; border: 3px solid white; background: #3AB8A9; } .user-name { font-size: 22px; font-weight: 700; margin: 0 0 8px 0; color: #3AB8A9 !important; /* Teal color for name */ } .user-city { color: #D4A755 !important; /* Gold accent */ margin: 0; font-size: 14px; } /* User Stats */ .user-stats { display: flex; gap: 15px; margin: 25px 0; padding: 20px; background: rgba(255, 255, 255, 0.05); /* Semi-transparent white */ border-radius: 12px; border: 1px solid rgba(58, 184, 169, 0.3); /* Teal border */ } .stat-item { text-align: center; transition: transform 0.3s ease; } .stat-item:hover { transform: translateY(-2px); } .stat-value { font-size: 24px; font-weight: 800; color: #D4A755 !important; /* Gold */ margin-bottom: 6px; } .stat-label { font-size: 11px; color: #3AB8A9 !important; /* Teal */ text-transform: uppercase; letter-spacing: 1px; font-weight: 600; } /* Profile Completion */ .profile-completion { margin: 20px 0; } .completion-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; font-size: 14px; color: #6b7280; } .completion-percent { font-weight: 700; color: #D4A755; font-size: 15px; } .progress-bar-user { width: 100%; height: 8px; border-radius: 10px; background: #f3f4f6; overflow: hidden; position: relative; } .progress-fill { height: 100%; background: linear-gradient(90deg, #3AB8A9, #D4A755); border-radius: 10px; transition: width 0.5s ease; position: relative; overflow: hidden; } /* Edit Button */ .edit-btn { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 20px; border: 1px solid #3AB8A9; background: rgba(58, 184, 169, 0.1); /* Transparent teal */ border-radius: 10px; color: #3AB8A9; font-weight: 600; cursor: pointer; transition: all 0.3s ease; margin-top: 10px; } .edit-btn:hover { border-color: #D4A755; background: rgba(212, 167, 85, 0.1); /* Transparent gold */ transform: translateY(-2px); color: #D4A755; } /* Matching Container */ .matching-container { flex: 1; padding: 25px; /*background: #0D1B2A !important;*/ /* Match main dark theme */ overflow-y: auto; height: calc(100vh - 142px); color: #e5e7eb; /* Light text */ } .matching-header { display: flex; flex-direction: column; gap: 20px; } .header-top-row { display: flex; justify-content: space-between; align-items: center; width: 100%; gap: 20px; } .range-filter { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; position: relative; bottom: 0.5vw; } .range-select, .filter-select { padding: 10px 16px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.2); background: rgba(255, 255, 255, 0.05); font-size: 14px; color: #000000; cursor: pointer; transition: all 0.3s ease; font-weight: 500; } .range-select:focus, .filter-select:focus { outline: none; border-color: #3AB8A9; box-shadow: 0 0 0 3px rgba(58, 184, 169, 0.1); background: rgba(255, 255, 255, 0.08); } .filter-select:not([value=""]) { border-color: #D4A755; background: rgba(212, 167, 85, 0.05); } /* Filter Group */ .filter-group { display: flex; gap: 12px; flex-wrap: wrap; flex: 1; } .filter-actions { display: flex; gap: 10px; align-items: center; } .filter-btn { display: flex; align-items: center; gap: 6px; padding: 10px 16px; border: none; border-radius: 8px; font-weight: 600; cursor: pointer; transition: all 0.3s ease; } .filter-btn.primary { background: linear-gradient(135deg, #3AB8A9, #5EC8BA); color: white; } .filter-btn.primary:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(58, 184, 169, 0.3); } .filter-btn.secondary { background: white; border: 1px solid #d1d5db; color: #6b7280; } .filter-btn.secondary:hover { border-color: #3AB8A9; color: #3AB8A9; transform: translateY(-2px); } /* Results Info */ .results-info { display: flex; align-items: center; gap: 20px; color: #3AB8A9; font-size: 14px; } .results-count { font-weight: 700; color: #D4A755; font-size: 15px; } .mode-indicator { display: flex; align-items: center; gap: 8px; padding: 8px 16px; background: #f9fafb; border-radius: 20px; font-size: 12px; font-weight: 600; border: 1px solid #3AB8A9; } .mode-dot { width: 8px; height: 8px; border-radius: 50%; animation: pulse 2s infinite; } .mode-dot.expectation { background: #3AB8A9; } .mode-dot.character { background: #D4A755; } .mode-dot.expectation-only { background: #5EC8BA; } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } /* Grid View */ .grid-view { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; min-height: 0; } /* Profile Card */ .profile-card { background: #00edd212 !important; /* Dark card background */ border-radius: 16px; overflow: hidden; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); transition: all 0.3s ease; cursor: pointer;/* border-color: #3AB8A9;*/ border: 2px solid #3AB8A9; } .profile-card:hover { transform: translateY(-5px); border-color: rgb(58 184 169 / 45%); box-shadow: rgb(0 0 0 / 69%) 0px 3px 8px; } .profile-card.high-match { border-color: #D4A755; } .card-header { padding: 20px 20px 15px; } .image-wrapper { position: relative; height: 120px; border-radius: 12px; overflow: hidden; margin-bottom: 15px; /* background: #f9fafb;*/ } .image-wrapper img { width: 100%; height: 100%; object-fit: contain; transition: transform 0.4s ease; } .profile-card:hover .image-wrapper img { transform: scale(1.05); } .online-dot { position: absolute; top: 10px; left: 10px; width: 12px; height: 12px; border-radius: 50%; background: #3AB8A9; border: 2px solid white; } .badge { position: absolute; top: 10px; right: 10px; background: linear-gradient(135deg, #3AB8A9, #D4A755); color: white; padding: 6px 12px; border-radius: 20px; font-size: 12px; font-weight: 700; } .profile-basic-info { text-align: center; } .profile-name { margin: 0 0 5px 0; font-size: 18px; font-weight: 700; color: #D4A755 !important; /* Gold */ } .profile-details { margin: 0 0 5px 0; color: #000000 !important; /* Light gray */ font-size: 14px; } .profession { margin: 0; color: #3AB8A9 !important; /* Teal */ font-weight: 600; font-size: 14px; } .compatibility-bar { padding: 0 20px 15px; } .progress-bar { height: 6px; background: #f3f4f6; border-radius: 3px; overflow: hidden; margin-bottom: 8px; } .progress-bar-inner { height: 100%; background: linear-gradient(90deg, #3AB8A9, #D4A755); border-radius: 3px; transition: width 0.5s ease; } .score-text { display: block; text-align: center; font-size: 12px; color: #3AB8A9; font-weight: 600; } .actions { display: flex; gap: 8px; padding: 0 20px 20px; } .action-btn { flex: 1; padding: 10px; border: 1px solid #e5e7eb; background: white; border-radius: 8px; cursor: pointer; transition: all 0.3s ease; font-size: 16px; color: #6b7280; } .action-btn:hover { transform: translateY(-2px); } .action-btn.like:hover, .action-btn.like.liked { background: rgba(212, 167, 85, 0.1); border-color: #D4A755; color: #D4A755; } .action-btn.chat:hover { background: rgba(58, 184, 169, 0.1); border-color: #3AB8A9; color: #3AB8A9; } .action-btn.view:hover { background: rgba(94, 200, 186, 0.1); border-color: #5EC8BA; color: #5EC8BA; } /* MODAL STYLES */ .modal { display: none; position: fixed; top: 2.5vw; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center; z-index: 1000; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); animation: modalFadeIn 0.4s cubic-bezier(0.16, 1, 0.3, 1); } @keyframes modalFadeIn { from { opacity: 0; backdrop-filter: blur(0); } to { opacity: 1; backdrop-filter: blur(4px); } } .modal.show { display: flex; } .modal-content { background: #1B2635 !important; /* Dark modal background */ border-radius: 24px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(58, 184, 169, 0.2); position: relative; overflow: hidden; width: 800px; max-width: 90vw; max-height: 85vh; display: flex; flex-direction: column; animation: cardSlideUp 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); border: 1px solid rgba(58, 184, 169, 0.3); } @keyframes cardSlideUp { from { opacity: 0; transform: translateY(30px) scale(0.98); } to { opacity: 1; transform: translateY(0) scale(1); } } /* MODAL HEADER */ .modal-header { position: relative; padding: 40px; background: linear-gradient(135deg, rgba(58, 184, 169, 0.1) 0%, rgba(58, 184, 169, 0.05) 100%); display: flex; align-items: flex-start; gap: 24px; border-bottom: 1px solid rgba(58, 184, 169, 0.2); } .modal-profile-img { width: 100px; height: 100px; border-radius: 20px; object-fit: cover; border: 4px solid white; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(58, 184, 169, 0.2); flex-shrink: 0; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .modal-profile-img:hover { transform: translateY(-2px); box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(58, 184, 169, 0.3); } .modal-profile-info { flex: 1; min-width: 0; } .modal-profile-info h2 { margin: 0 0 8px 0; font-size: 28px; font-weight: 700; color: #D4A755 !important; /* Gold */ line-height: 1.2; } .modal-subtitle { margin: 0 0 16px 0; color: #6b7280; font-size: 16px; font-weight: 500; display: flex; align-items: center; gap: 8px; } .match-score-large { display: inline-flex; align-items: center; gap: 8px; background: linear-gradient(135deg, #3AB8A9, #D4A755); color: white; padding: 8px 20px; border-radius: 20px; font-size: 15px; font-weight: 600; box-shadow: 0 4px 12px rgba(58, 184, 169, 0.25); } /* MODAL TABS */ .modal-tabs { display: flex; background: #f9fafb; border-bottom: 1px solid #e5e7eb; padding: 0 40px; margin: 0; position: sticky; top: 0; z-index: 10; } .tab-btn { flex: 1; padding: 20px 24px; border: none; background: transparent; font-weight: 500; cursor: pointer; transition: all 0.2s ease; color: #6b7280; font-size: 17px; display: flex; align-items: center; justify-content: center; gap: 10px; position: relative; border-bottom: 2px solid transparent; text-transform: uppercase; } .tab-btn.active { color: #3AB8A9; font-weight: 600; background: white; border-bottom-color: #3AB8A9; } .tab-btn:hover:not(.active) { color: #3AB8A9; background: rgba(58, 184, 169, 0.05); } /* MODAL BODY */ .modal-body { padding: 32px 40px; max-height: calc(85vh - 200px); overflow-y: auto; flex: 1; background: white; position: relative; } /* SECTION DESIGN */ .section { padding-bottom: 32px; margin-bottom: 32px; border-bottom: 1px solid #f3f4f6; } .section:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; } .section h4 { margin: 0 0 24px 0; color: #D4A755; font-size: 18px; font-weight: 600; display: flex; align-items: center; gap: 12px; padding-bottom: 12px; border-bottom: 2px solid rgba(212, 167, 85, 0.2); text-transform: uppercase; } /* DETAILS GRID */ .details-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; } .detail-item { padding: 16px; background: #f9fafb; border-radius: 12px; border: 1px solid rgba(58, 184, 169, 0.2); transition: all 0.2s ease; } .detail-item:hover { background: white; border-color: #D4A755; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); } .detail-label { display: block; font-size: 12px; font-weight: 800; color: #3AB8A9; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; } .detail-value { font-size: 15px; font-weight: 700; color: #374151; line-height: 1.4; } /* MODAL ACTIONS */ .modal-actions { display: flex; gap: 16px; padding: 24px 40px; background: white; border-top: 1px solid #e5e7eb; } .modal-btn { flex: 1; padding: 16px 24px; border: none; border-radius: 12px; font-weight: 600; cursor: pointer; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 15px; } .modal-btn.primary { background: linear-gradient(135deg, #3AB8A9, #5EC8BA); color: white; box-shadow: 0 4px 12px rgba(58, 184, 169, 0.25); } .modal-btn.primary:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(58, 184, 169, 0.35); } .modal-btn.secondary { background: white; border: 1.5px solid #e5e7eb; color: #4b5563; } .modal-btn.secondary:hover { border-color: #3AB8A9; color: #3AB8A9; background: rgba(58, 184, 169, 0.05); } .modal-btn.liked { background: linear-gradient(135deg, #D4A755, #E3B96C); color: white; } /* CLOSE BUTTON */ .close { position: absolute; right: 20px; top: 20px; width: 40px; height: 40px; border-radius: 50%; background: white; border: 1px solid #3AB8A9; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s ease; z-index: 100; color: #3AB8A9; font-size: 30px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); } .close:hover { background: #3AB8A9; border-color: #D4A755; color: white; transform: rotate(90deg); } /* COMPATIBILITY SECTION */ .compatibility-section { padding: 0; background: transparent; } /* COMPATIBILITY SECTION - ONLY VISIBLE IN COMPATIBILITY TAB */ .compatibility-section { display: none; padding: 0; background: transparent; border: none; margin: 0; } .tab-content.active .compatibility-section { display: block; } /* TAB CONTENT */ .tab-content { display: none; padding: 0; opacity: 0; transform: translateY(10px); transition: opacity 0.3s ease, transform 0.3s ease; height: 0; overflow: hidden; } .tab-content.active { display: block; opacity: 1; transform: translateY(0); height: auto; overflow: visible; animation: fadeInUp 0.4s cubic-bezier(0.16, 1, 0.3, 1); } @keyframes fadeInUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } /* COMPARISON TABLE STYLES */ .comparison-table { border-radius: 12px; overflow: hidden; margin-top: 16px; background: white; box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08); border: 1px solid rgba(58, 184, 169, 0.2); } .table-header { display: flex; background: linear-gradient(135deg, #3AB8A9, #5EC8BA); color: white; padding: 16px 20px; font-weight: 600; } .table-column { flex: 1; padding: 0 10px; } .table-header h6 { margin: 0; font-size: 14px; font-weight: 700; display: flex; align-items: center; gap: 8px; } .table-body { max-height: 400px; overflow-y: auto; } .table-row { display: flex; padding: 16px 20px; border-bottom: 1px solid #f3f4f6; transition: background-color 0.2s ease; padding-bottom: 9px; } .table-row:last-child { border-bottom: none; } .table-row:hover { background-color: #f9fafb; } .table-row.critical-row { background-color: #fef2f2; border-left: 4px solid #ef4444; } .table-row.critical-row:hover { background-color: #fee2e2; } /* Exact Matches Table Specific */ .exact-matches-table .table-header { background: linear-gradient(135deg, #3AB8A9, #D4A755); } .exact-matches-table .field-column { flex: 1.2; } .exact-matches-table .value-column { flex: 0.8; } .field-name { font-weight: 600; color: #D4A755; font-size: 14px; margin-bottom: 6px; text-transform: uppercase; } .field-description { font-size: 12px; color: #6b7280; font-style: italic; } .common-value { display: flex; flex-direction: column; gap: 6px; } .value-text { font-weight: 500; color: #374151; font-size: 14px; } .agreement-badge { display: inline-flex; align-items: center; gap: 4px; background: #3AB8A9; color: white; padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; width: fit-content; } /* Differences Table Specific */ .differences-table .table-header { background: linear-gradient(135deg, #3AB8A9, #5EC8BA); } .your-expectation-column, .their-profile-column { display: flex; flex-direction: column; } .expectation-value, .profile-value { font-weight: 500; color: #ef4444; font-size: 14px; padding: 8px 12px; background: #f9fafb; border-radius: 8px; border: 1px solid rgba(239, 68, 68, 0.2); } .critical-badge { display: inline-flex; align-items: center; gap: 4px; background: #ef4444; color: white; padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; width: fit-content; } /* No Data Section */ .no-data-section { text-align: center; padding: 40px 20px; color: #6b7280; } .no-data-icon { font-size: 48px; margin-bottom: 16px; opacity: 0.5; color: #3AB8A9; } .no-data { font-size: 14px; font-weight: 500; } /* Mutual Expectation Styling */ .mutual-expectation { display: flex; flex-direction: column; gap: 4px; margin-bottom: 8px; } .mutual-label { font-size: 12px; color: #6b7280; font-weight: 600; display: flex; align-items: center; gap: 4px; } .mutual-label::before { content: "🤝"; font-size: 14px; } /* TOGGLE BUTTONS FOR ALL MODES */ .analysis-toggle, .toggle-group { display: flex; gap: 8px; margin-bottom: 24px; background: #f9fafb; padding: 6px; border-radius: 12px; border: 1px solid rgba(58, 184, 169, 0.2); } .toggle-btn, .toggle-group-btn { flex: 1; padding: 12px 16px; border: 1.5px solid #e5e7eb; background: white; border-radius: 8px; cursor: pointer; font-weight: 500; transition: all 0.2s ease; color: #6b7280; font-size: 14px; display: flex; align-items: center; justify-content: center; gap: 8px; } .toggle-btn.active, .toggle-group-btn.active { border-color: #3AB8A9; background: rgba(58, 184, 169, 0.1); color: #3AB8A9; font-weight: 600; } .toggle-btn:hover:not(.active), .toggle-group-btn:hover:not(.active) { border-color: #3AB8A9; color: #3AB8A9; } .toggle-count { background: #f1f5f9; border-radius: 12px; padding: 2px 8px; font-size: 12px; font-weight: 700; color: #475569; margin-left: 6px; border: 1px solid #e2e8f0; } .toggle-group-btn.active .toggle-count { background: #3AB8A9; color: white; border-color: #3AB8A9; } /* CHARACTER ANALYSIS STYLES (Used in Character Mode and Combined Mode) */ .character-analysis-container { background: #f9fafb; border-radius: 16px; padding: 24px; border: 1px solid rgba(58, 184, 169, 0.2); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); } .character-tab-content { padding: 20px 0; } .character-analysis-header { display: flex; align-items: center; gap: 20px; margin-bottom: 30px; padding: 25px; background: linear-gradient(135deg, rgba(58, 184, 169, 0.1) 0%, rgba(58, 184, 169, 0.05) 100%); border-radius: 16px; border: 1px solid rgba(58, 184, 169, 0.2); } .character-header-icon { width: 60px; height: 60px; border-radius: 12px; background: linear-gradient(135deg, #3AB8A9, #D4A755); display: flex; align-items: center; justify-content: center; font-size: 28px; color: white; } .character-header-content h3 { margin: 0 0 8px 0; color: #D4A755; font-size: 22px; font-weight: 700; } .character-subtitle { margin: 0; color: #6b7280; font-size: 14px; font-weight: 500; } /* Character Insights Grid */ .character-insights-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 25px; margin-top: 20px; } .character-insight-card { background: white; border-radius: 16px; overflow: hidden; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); border: 1px solid rgba(58, 184, 169, 0.2); display: flex; flex-direction: column; height: 100%; } .character-insight-card:hover { transform: translateY(-5px); box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12); } /* Card Header */ .character-card-header { display: flex; align-items: center; padding: 20px 24px; border-bottom: 1px solid #f3f4f6; gap: 16px; } .character-card-icon { width: 48px; height: 48px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0; } .strength-card .character-card-icon { background: linear-gradient(135deg, rgba(58, 184, 169, 0.15), rgba(94, 200, 186, 0.1)); color: #3AB8A9; } .risk-card .character-card-icon { background: linear-gradient(135deg, rgba(239, 68, 68, 0.15), rgba(220, 38, 38, 0.1)); color: #ef4444; } .sacrifice-card .character-card-icon { background: linear-gradient(135deg, rgba(212, 167, 85, 0.15), rgba(227, 185, 108, 0.1)); color: #D4A755; } .character-card-title { flex: 1; } .character-card-title h4 { margin: 0 0 4px 0; color: #374151; font-size: 18px; font-weight: 700; } .card-subtitle { margin: 0; color: #6b7280; font-size: 12px; font-weight: 500; } .character-card-badge { background: #f9fafb; border-radius: 20px; padding: 6px 12px; border: 1px solid #e5e7eb; } .badge-count { font-weight: 700; font-size: 14px; color: #3AB8A9; } /* Card Body */ .character-card-body { padding: 20px 24px; flex: 1; } .character-insight-list { margin: 0; padding: 0; list-style: none; } .character-insight-item { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid #f3f4f6; } .character-insight-item:last-child { border-bottom: none; } .insight-number { width: 28px; height: 28px; border-radius: 8px; background: #f9fafb; border: 1px solid #e5e7eb; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; color: #D4A755; flex-shrink: 0; box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1); } .insight-content { flex: 1; } .insight-content p { margin: 0; color: #374151; font-size: 14px; line-height: 1.5; } /* Card Footer */ .character-card-footer { padding: 16px 24px; background: #f9fafb; border-top: 1px solid #e5e7eb; } .footer-tag { display: inline-block; padding: 6px 12px; background: white; border-radius: 20px; font-size: 12px; font-weight: 600; color: #3AB8A9; border: 1px solid #e5e7eb; } /* Card Specific Colors */ .strength-card { border-top: 4px solid #3AB8A9; } .risk-card { border-top: 4px solid #ef4444; } .sacrifice-card { border-top: 4px solid #D4A755; } /* No Character Data */ .no-character-data { text-align: center; padding: 60px 40px; background: #f9fafb; border-radius: 16px; border: 2px dashed rgba(58, 184, 169, 0.3); } .no-character-data .no-data-icon { font-size: 48px; margin-bottom: 20px; opacity: 0.5; color: #3AB8A9; } .no-character-data h4 { margin: 0 0 12px 0; color: #D4A755; font-size: 20px; font-weight: 600; } .no-character-data p { margin: 0; color: #6b7280; font-size: 15px; max-width: 400px; margin: 0 auto; } /* COMBINED MODE SPECIFIC STYLES */ .combined-analysis-container { display: flex; flex-direction: column; gap: 24px; margin-top: 20px; } /* Combined Mode Tabs Only - Premium Design */ .combined-mode-tabs { width: 100%; margin-bottom: 30px; } .combined-tabs-nav { display: flex; align-items: center; justify-content: center; gap: 20px; position: relative; } .combined-tab { padding: 14px 28px; border: none; background: transparent; border-radius: 12px; cursor: pointer; font-weight: 700; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); color: #6b7280; font-size: 15px; display: flex; align-items: center; gap: 10px; position: relative; min-width: 200px; justify-content: center; background: white; border: 2px solid #e5e7eb; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); } .combined-tab.active { background: linear-gradient(135deg, #3AB8A9, #D4A755); color: white; border-color: rgba(255, 255, 255, 0.2); box-shadow: 0 6px 20px rgba(58, 184, 169, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1) inset; transform: translateY(-2px); } .combined-tab.active .tab-icon { transform: scale(1.2); filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2)); } .combined-tab.active .tab-text { font-weight: 800; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .combined-tab:hover:not(.active) { background: white; color: #3AB8A9; border-color: rgba(58, 184, 169, 0.3); transform: translateY(-1px); box-shadow: 0 4px 15px rgba(58, 184, 169, 0.15); } .tab-icon { font-size: 18px; transition: transform 0.3s ease; } .tab-text { font-weight: 700; letter-spacing: 0.3px; } .tab-separator { display: flex; align-items: center; gap: 8px; padding: 0 5px; } .separator-line { width: 40px; height: 2px; background: linear-gradient(90deg, transparent, #e5e7eb, transparent); } .separator-plus { font-size: 20px; font-weight: 900; color: #D4A755; background: white; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 2px solid #D4A755; box-shadow: 0 4px 8px rgba(212, 167, 85, 0.2); } /* LOADING ANIMATIONS */ .loading-animation { display: flex; align-items: center; justify-content: center; min-height: 300px; width: 100%; grid-column: 1 / -1; position:relative; top:50%; } /* Elegant Dot Spinner */ .elegant-spinner { display: flex; flex-direction: column; align-items: center; gap: 25px; } .spinner-dots { display: flex; gap: 12px; } .spinner-dots .dot { width: 14px; height: 14px; border-radius: 50%; background: linear-gradient(135deg, #3AB8A9, #D4A755); animation: bounce 1.4s ease-in-out infinite; } .spinner-dots .dot:nth-child(1) { animation-delay: -0.32s; } .spinner-dots .dot:nth-child(2) { animation-delay: -0.16s; } .spinner-dots .dot:nth-child(3) { animation-delay: 0s; } .spinner-dots .dot:nth-child(4) { animation-delay: 0.16s; } @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } } .spinner-text { color: #D4A755; font-weight: 600; font-size: 16px; } /* SCROLLBAR STYLING */ .modal-body::-webkit-scrollbar { width: 6px; } .modal-body::-webkit-scrollbar-track { background: #f9fafb; border-radius: 3px; } .modal-body::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 3px; } .modal-body::-webkit-scrollbar-thumb:hover { background: #9ca3af; } /* ADDITIONAL MICRO-INTERACTIONS */ .detail-item { position: relative; overflow: hidden; } .detail-item::after { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background: linear-gradient(to bottom, #3AB8A9, #D4A755); transform: translateX(-100%); transition: transform 0.3s ease; } .detail-item:hover::after { transform: translateX(0); } /* SMOOTH TRANSITIONS */ .tab-btn, .modal-btn, .toggle-btn, .toggle-group-btn, .close { transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); } /* FOCUS STATES */ .tab-btn:focus-visible, .modal-btn:focus-visible, .toggle-btn:focus-visible, .toggle-group-btn:focus-visible { outline: 2px solid #3AB8A9; outline-offset: 2px; } /* RESPONSIVE IMPROVEMENTS */ @media (max-width: 768px) { .modal-content { width: 95vw; margin: 16px; border-radius: 20px; } .modal-header { flex-direction: column; text-align: center; padding: 32px 24px; gap: 20px; } .modal-profile-img { width: 90px; height: 90px; } .modal-profile-info h2 { font-size: 24px; } .modal-tabs { padding: 0 24px; } .tab-btn { padding: 16px 20px; font-size: 14px; } .modal-body { padding: 24px; } .details-grid { grid-template-columns: 1fr; gap: 12px; } .modal-actions { flex-direction: column; gap: 12px; padding: 20px 24px; } .section h4 { font-size: 16px; } .character-insights-grid { grid-template-columns: 1fr; gap: 20px; } .character-analysis-header { flex-direction: column; text-align: center; padding: 20px; } .character-header-icon { width: 50px; height: 50px; font-size: 24px; } .character-card-header { padding: 16px 20px; } .character-card-body { padding: 16px 20px; } .character-card-footer { padding: 12px 20px; } .combined-tabs-nav { flex-direction: column; gap: 10px; } .tab-separator { display: none; } .combined-tab { width: 100%; min-width: auto; } .toggle-group { flex-direction: column; width: 100%; } .toggle-group-btn { width: 100%; min-width: auto; } .analysis-toggle { flex-direction: column; } } @media (max-width: 480px) { .modal { backdrop-filter: blur(4px); } .modal-content { width: 100%; margin: 0; border-radius: 0; max-height: 100vh; } .modal-body { max-height: calc(100vh - 300px); } .modal-profile-img { width: 80px; height: 80px; } .modal-profile-info h2 { font-size: 22px; } .tab-btn { padding: 14px 16px; font-size: 13px; } .detail-item { padding: 14px; } .close { right: 16px; top: 16px; width: 36px; height: 36px; } .combined-tab { padding: 12px 16px; font-size: 14px; } .tab-icon { font-size: 16px; } } @media (max-width: 992px) { .combined-tabs-nav { gap: 15px; } .combined-tab { min-width: 180px; padding: 12px 24px; } } /* USER INFO SECTION STYLES */ .user-info-section { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: white; z-index: 100; border-radius: 24px; display: flex; flex-direction: column; overflow: hidden; } .user-info-header { display: flex; justify-content: space-between; align-items: center; padding: 20px 40px; background: linear-gradient(135deg, #3AB8A9, #5EC8BA); color: white; } .user-info-header h3 { margin: 0; font-size: 20px; font-weight: 700; } .close-user-info { background: transparent; border: none; color: white; font-size: 24px; cursor: pointer; transition: all 0.3s ease; } .close-user-info:hover { transform: scale(1.1); } .user-info-content { flex: 1; overflow-y: auto; padding: 30px 40px; } .scrollable-content { max-height: 100%; overflow-y: auto; } /* User Info Content Styles */ .user-basic-info { display: flex; align-items: center; gap: 20px; margin-bottom: 30px; padding: 20px; background: #f9fafb; border-radius: 12px; border: 1px solid rgba(58, 184, 169, 0.2); } .user-info-img { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; border: 3px solid #3AB8A9; } .user-info-details h4 { margin: 0 0 8px 0; color: #D4A755; font-size: 20px; } .user-info-details p { margin: 0 0 4px 0; color: #3AB8A9; } .matching-mode-info { margin-bottom: 30px; padding: 20px; background: #f9fafb; border-radius: 12px; border: 1px solid rgba(58, 184, 169, 0.2); } .matching-mode-info h5 { margin: 0 0 12px 0; color: #D4A755; font-size: 16px; } .mode-indicator { display: flex; align-items: center; gap: 10px; } /* EDIT MODAL STYLES */ .edit-modal { width: 400px; max-width: 90vw; } .modal-title { margin: 0 0 30px 0; color: #D4A755; font-size: 22px; font-weight: 700; text-align: center; } .form-group { margin-bottom: 20px; } .form-group label { display: block; margin-bottom: 8px; color: #3AB8A9; font-weight: 600; font-size: 14px; } .form-input { width: 100%; padding: 12px 16px; border-radius: 8px; border: 1px solid #d1d5db; background: white; color: #374151; font-size: 14px; transition: all 0.3s ease; } .form-input:focus { outline: none; border-color: #3AB8A9; box-shadow: 0 0 0 3px rgba(58, 184, 169, 0.1); } .form-actions { display: flex; gap: 12px; margin-top: 30px; } /* CHAT WINDOW STYLES */ .chat-window { position: fixed; bottom: 20px; right: 20px; width: 350px; height: 500px; background: white; border-radius: 16px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1); border: 1px solid #3AB8A9; display: none; flex-direction: column; z-index: 1000; overflow: hidden; } .chat-window.show { display: flex; } .chat-header { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; background: linear-gradient(135deg, #3AB8A9, #5EC8BA); color: white; } .chat-user-info { display: flex; align-items: center; gap: 12px; } .chat-user-img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; border: 2px solid white; } .chat-user-name { font-weight: 700; font-size: 14px; } .chat-user-status { font-size: 12px; opacity: 0.9; } .chat-close { background: transparent; border: none; color: white; font-size: 18px; cursor: pointer; transition: all 0.3s ease; } .chat-close:hover { transform: scale(1.1); } .chat-body { flex: 1; padding: 20px; overflow-y: auto; display: flex; flex-direction: column; gap: 12px; background: #f9fafb; } .chat-msg { max-width: 80%; padding: 12px 16px; border-radius: 16px; font-size: 14px; } .user-msg { align-self: flex-end; background: linear-gradient(135deg, #3AB8A9, #5EC8BA); color: white; border-bottom-right-radius: 4px; } .other-msg { align-self: flex-start; background: white; color: #374151; border-bottom-left-radius: 4px; border: 1px solid #e5e7eb; } .timestamp { font-size: 10px; margin-top: 4px; opacity: 0.7; } .typing-indicator { display: flex; align-items: center; gap: 8px; padding: 8px 16px; background: white; border-radius: 20px; width: fit-content; border: 1px solid #e5e7eb; } .typing-dots { display: flex; gap: 4px; } .typing-dots span { width: 6px; height: 6px; background: #3AB8A9; border-radius: 50%; animation: typing 1.4s ease-in-out infinite; } .typing-dots span:nth-child(2) { animation-delay: 0.2s; } .typing-dots span:nth-child(3) { animation-delay: 0.4s; } @keyframes typing { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } } .typing-text { font-size: 12px; color: #3AB8A9; } .chat-input { padding: 16px; background: white; border-top: 1px solid #e5e7eb; display: flex; gap: 12px; } .chat-input-field { flex: 1; padding: 12px 16px; border-radius: 20px; border: 1px solid #d1d5db; background: white; color: #374151; font-size: 14px; transition: all 0.3s ease; } .chat-input-field:focus { outline: none; border-color: #3AB8A9; } .send-btn { width: 44px; height: 44px; border-radius: 50%; border: none; background: linear-gradient(135deg, #3AB8A9, #5EC8BA); color: white; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s ease; } .send-btn:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(58, 184, 169, 0.3); } .send-icon { font-size: 18px; } /* PROFILE SCORE STYLES */ .profile-score { display: inline-flex; align-items: center; gap: 6px; background: #f9fafb; padding: 6px 12px; border-radius: 20px; font-size: 12px; font-weight: 600; color: #D4A755; border: 1px solid rgba(212, 167, 85, 0.3); } /* Additional scrollbar styling for chat */ .chat-body::-webkit-scrollbar { width: 4px; } .chat-body::-webkit-scrollbar-track { background: #f9fafb; } .chat-body::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 2px; } .chat-body::-webkit-scrollbar-thumb:hover { background: #9ca3af; } /* USER PROFILE MODAL STYLES */ .profile-modal { width: 700px; max-width: 90vw; } .user-photo-container { position: relative; } .profile-completion { font-size: 12px; color: #3AB8A9; margin-top: 4px; } /* Button styles for consistency */ .btn-icon { font-size: 16px; } .btn-text { font-weight: 600; } /* Filter specific styles */ .filter-select option { background: white; color: #374151; } /* Range specific styles */ .range-select option { background: white; color: #374151; } /* Ensure all buttons have consistent hover effects */ button:not(:disabled):hover { transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); } /* Disabled state styling */ button:disabled { opacity: 0.5; cursor: not-allowed; } /* Spinner dots specific styling */ .elegant-spinner .spinner-text { color: #D4A755 !important; } /* Liked profile items in dropdown */ .liked-profile-item { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-bottom: 1px solid #f3f4f6; } .liked-profile-item:last-child { border-bottom: none; } .liked-profile-img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; } .no-likes { text-align: center; padding: 24px 16px; color: #6b7280; font-style: italic; } .dropdown-header { padding: 16px; border-bottom: 1px solid #f3f4f6; } .dropdown-header h4 { margin: 0; color: #3AB8A9; font-size: 18px; font-weight: 600; text-transform: uppercase; } /*[file content end]*/ .main-container { position: relative; top: 5vw; } .liked-profile-item span { color: white; font-weight: bold; } .liked-dropdown.show ul { list-style: none; margin-top: 0; padding: 0; }