/* =============================== TEAM COMPARISON - STYLES Interactive scatter plot visualization =============================== */ /* =============================== ANALYSIS MODE TABS (Top Level) =============================== */ .analysis-mode-tabs-container { margin-bottom: 1rem; } .analysis-mode-tabs { display: flex; gap: 0; background: var(--gray-200); padding: 4px; border-radius: 10px; width: fit-content; } .analysis-mode-tab { padding: 0.75rem 1.5rem; background: transparent; border: none; border-radius: 8px; cursor: pointer; font-size: 0.9rem; font-weight: 600; color: var(--gray-600); transition: all 0.2s ease; } .analysis-mode-tab:hover { color: var(--gray-800); } .analysis-mode-tab.active { background: var(--white); color: var(--green-dark); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); } /* =============================== SET PIECE TYPE TABS =============================== */ .comparison-tabs-container { margin-bottom: 1.5rem; } .comparison-tabs { display: flex; gap: 0.5rem; background: var(--white); padding: 0.5rem; border-radius: 12px; box-shadow: var(--shadow-sm); } .comparison-tab { flex: 1; display: flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.875rem 1rem; background: transparent; border: none; border-radius: 8px; cursor: pointer; font-size: 0.9rem; font-weight: 500; color: var(--gray-500); transition: all 0.2s ease; } .comparison-tab:hover { background: var(--gray-100); color: var(--gray-700); } .comparison-tab.active { background: linear-gradient(135deg, var(--green-dark) 0%, var(--green-vibrant) 100%); color: white; box-shadow: 0 4px 12px rgba(72, 191, 95, 0.3); } .comparison-tab .tab-icon { font-size: 1.1rem; } /* =============================== CONFIG CARD =============================== */ .comparison-config-card { background: var(--white); border-radius: 16px; padding: 1.5rem; margin-bottom: 1.5rem; box-shadow: var(--shadow); } .comparison-config-header { margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--gray-200); } .comparison-config-title { font-size: 1.25rem; font-weight: 600; color: var(--gray-900); display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.25rem; } .comparison-config-title .icon { font-size: 1.3rem; } .comparison-config-subtitle { color: var(--gray-500); font-size: 0.875rem; } .comparison-config-grid { display: flex; flex-direction: column; gap: 1.25rem; } /* =============================== AXIS SELECTION =============================== */ .axis-selection-container { background: linear-gradient(135deg, rgba(72, 191, 95, 0.05) 0%, rgba(34, 139, 34, 0.05) 100%); border-radius: 12px; padding: 1.25rem; border: 1px solid rgba(72, 191, 95, 0.2); } .axis-selection { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; } .axis-group { display: flex; flex-direction: column; gap: 0.5rem; } .axis-label { font-size: 0.875rem; font-weight: 600; color: var(--gray-700); display: flex; align-items: center; gap: 0.5rem; } .axis-icon { font-size: 1.1rem; } .axis-select { padding: 0.75rem 1rem; font-size: 0.9rem; border: 2px solid var(--gray-200); border-radius: 8px; background: var(--white); color: var(--gray-900); cursor: pointer; transition: all 0.2s ease; } .axis-select:hover { border-color: var(--green-vibrant); } .axis-select:focus { outline: none; border-color: var(--green-vibrant); box-shadow: 0 0 0 3px rgba(72, 191, 95, 0.15); } .axis-select optgroup { font-weight: 600; color: var(--gray-900); } .axis-select option { padding: 0.5rem; } /* =============================== FILTERS ROW =============================== */ .comparison-filters-row { display: grid; grid-template-columns: 2fr repeat(5, 1fr); gap: 1rem; align-items: end; } .filter-group { display: flex; flex-direction: column; gap: 0.375rem; } .filter-group label { font-size: 0.8rem; font-weight: 500; color: var(--gray-600); } .filter-group select, .filter-group input[type="date"] { padding: 0.625rem 0.75rem; font-size: 0.875rem; border: 1px solid var(--gray-200); border-radius: 8px; background: var(--white); color: var(--gray-900); cursor: pointer; transition: all 0.2s ease; } .filter-group select:hover, .filter-group input[type="date"]:hover { border-color: var(--gray-300); } .filter-group select:focus, .filter-group input[type="date"]:focus { outline: none; border-color: var(--green-vibrant); box-shadow: 0 0 0 2px rgba(72, 191, 95, 0.1); } .filter-group-leagues { grid-column: span 1; } /* Multiselect Styling */ .multiselect-container { position: relative; } .multiselect-trigger { display: flex; align-items: center; justify-content: space-between; padding: 0.625rem 0.75rem; background: var(--white); border: 1px solid var(--gray-200); border-radius: 8px; cursor: pointer; font-size: 0.875rem; color: var(--gray-900); transition: all 0.2s ease; } .multiselect-trigger:hover { border-color: var(--gray-300); } .multiselect-arrow { font-size: 0.7rem; color: var(--gray-500); transition: transform 0.2s ease; } .multiselect-dropdown { position: absolute; top: calc(100% + 4px); left: 0; right: 0; background: var(--white); border: 1px solid var(--gray-200); border-radius: 8px; box-shadow: var(--shadow-lg); z-index: 50; max-height: 300px; overflow: hidden; display: none; } .multiselect-dropdown.show { display: block; } .multiselect-actions { display: flex; gap: 0.5rem; padding: 0.75rem; border-bottom: 1px solid var(--gray-200); background: var(--gray-50); } .multiselect-action-btn { flex: 1; padding: 0.375rem 0.5rem; font-size: 0.75rem; font-weight: 500; border: 1px solid var(--gray-300); border-radius: 6px; background: var(--white); color: var(--gray-700); cursor: pointer; transition: all 0.2s ease; } .multiselect-action-btn:hover { background: var(--green-vibrant); border-color: var(--green-vibrant); color: white; } .multiselect-list { max-height: 240px; overflow-y: auto; padding: 0.5rem; } .multiselect-item { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border-radius: 6px; cursor: pointer; font-size: 0.85rem; color: var(--gray-700); transition: background 0.15s ease; } .multiselect-item:hover { background: var(--gray-100); } .multiselect-item input[type="checkbox"] { accent-color: var(--green-vibrant); } .league-color-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; } /* =============================== MATCH STATES =============================== */ .comparison-match-states { display: flex; align-items: center; gap: 1rem; } .comparison-match-states > label { font-size: 0.8rem; font-weight: 500; color: var(--gray-600); } .checkbox-grid-inline { display: flex; gap: 1rem; } .checkbox-item-inline { display: flex; align-items: center; gap: 0.375rem; font-size: 0.85rem; color: var(--gray-700); cursor: pointer; } .checkbox-item-inline input[type="checkbox"] { accent-color: var(--green-vibrant); } /* =============================== ACTION BUTTONS =============================== */ .comparison-actions { display: flex; gap: 0.75rem; padding-top: 0.5rem; } .btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.75rem 1.25rem; font-size: 0.9rem; font-weight: 600; border: none; border-radius: 10px; cursor: pointer; transition: all 0.2s ease; } .btn-primary { background: linear-gradient(135deg, var(--green-dark) 0%, var(--green-vibrant) 100%); color: white; box-shadow: 0 4px 12px rgba(72, 191, 95, 0.3); } .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(72, 191, 95, 0.4); } .btn-primary:disabled { opacity: 0.7; cursor: not-allowed; transform: none; } .btn-lg { padding: 0.875rem 1.5rem; font-size: 0.95rem; } .btn-secondary { background: var(--gray-100); color: var(--gray-700); border: 1px solid var(--gray-200); } .btn-secondary:hover { background: var(--gray-200); } .btn-spinner { width: 16px; height: 16px; border: 2px solid rgba(255, 255, 255, 0.3); border-top-color: white; border-radius: 50%; animation: spin 0.8s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } /* =============================== LOADING STATE =============================== */ .comparison-loading { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 4rem 2rem; background: var(--white); border-radius: 16px; box-shadow: var(--shadow); } .loading-spinner { width: 48px; height: 48px; border: 4px solid var(--gray-200); border-top-color: var(--green-vibrant); border-radius: 50%; animation: spin 1s linear infinite; margin-bottom: 1rem; } .comparison-loading p { color: var(--gray-500); font-size: 0.95rem; } /* =============================== RESULTS SECTION =============================== */ .comparison-results { display: flex; flex-direction: column; gap: 1.5rem; } /* Summary Bar */ .comparison-summary-bar { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; background: var(--white); border-radius: 12px; padding: 1rem; box-shadow: var(--shadow-sm); } .summary-stat { display: flex; flex-direction: column; align-items: center; padding: 0.75rem; background: var(--gray-50); border-radius: 8px; } .summary-value { font-size: 1.5rem; font-weight: 700; color: var(--green-vibrant); font-family: 'Space Mono', monospace; } .summary-label { font-size: 0.75rem; color: var(--gray-500); text-align: center; margin-top: 0.25rem; } /* =============================== CHART CONTAINER =============================== */ .comparison-chart-container { background: var(--white); border-radius: 16px; padding: 1.5rem; box-shadow: var(--shadow); } .chart-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--gray-200); } .chart-title { font-size: 1.1rem; font-weight: 600; color: var(--gray-900); } .chart-controls { display: flex; gap: 1rem; } .chart-control { display: flex; align-items: center; gap: 0.375rem; font-size: 0.8rem; color: var(--gray-600); cursor: pointer; } .chart-control input[type="checkbox"] { accent-color: var(--green-vibrant); } .chart-wrapper { position: relative; height: 500px; margin-bottom: 1rem; } /* Chart Legend */ .chart-legend { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; padding: 1rem; background: var(--gray-50); border-radius: 10px; } .legend-item { display: flex; align-items: center; gap: 0.375rem; padding: 0.375rem 0.75rem; background: var(--white); border-radius: 20px; font-size: 0.8rem; color: var(--gray-700); cursor: pointer; transition: all 0.2s ease; border: 1px solid transparent; } .legend-item:hover { border-color: var(--gray-300); } .legend-item.hidden { opacity: 0.4; text-decoration: line-through; } .legend-color { width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0; } .legend-count { color: var(--gray-500); font-size: 0.75rem; } /* =============================== TABLE SECTION =============================== */ .comparison-table-section { background: var(--white); border-radius: 16px; padding: 1.5rem; box-shadow: var(--shadow); } .table-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; } .table-title { font-size: 1rem; font-weight: 600; color: var(--gray-900); } .table-search input { padding: 0.5rem 1rem; font-size: 0.875rem; border: 1px solid var(--gray-200); border-radius: 8px; background: var(--gray-50); width: 240px; transition: all 0.2s ease; } .table-search input:focus { outline: none; border-color: var(--green-vibrant); background: var(--white); } .table-wrapper { overflow-x: auto; border-radius: 10px; border: 1px solid var(--gray-200); } .comparison-table { width: 100%; border-collapse: collapse; font-size: 0.85rem; } .comparison-table th { padding: 0.875rem 0.75rem; text-align: left; background: var(--gray-50); color: var(--gray-600); font-weight: 600; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; cursor: pointer; white-space: nowrap; border-bottom: 1px solid var(--gray-200); transition: background 0.15s ease; } .comparison-table th:hover { background: var(--gray-100); } .comparison-table th.num { text-align: right; } .comparison-table td { padding: 0.75rem; border-bottom: 1px solid var(--gray-100); color: var(--gray-700); } .comparison-table td.num { text-align: right; font-family: 'Space Mono', monospace; font-size: 0.8rem; } .comparison-table td.highlight-goals { font-weight: 600; color: var(--green-vibrant); } .comparison-table tr { transition: background 0.15s ease; cursor: pointer; } .comparison-table tbody tr:hover { background: var(--green-glow); } .comparison-table tbody tr.highlighted { background: rgba(72, 191, 95, 0.15); box-shadow: inset 3px 0 0 var(--green-vibrant); } .team-cell { display: flex; align-items: center; gap: 0.5rem; } .team-color-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; } .team-name { font-weight: 500; color: var(--gray-900); } .league-cell { color: var(--gray-500); font-size: 0.8rem; } .empty-row { text-align: center; color: var(--gray-500); padding: 2rem !important; } /* =============================== PLACEHOLDER =============================== */ .comparison-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 4rem 2rem; background: var(--white); border-radius: 16px; box-shadow: var(--shadow); text-align: center; } .comparison-placeholder .placeholder-icon { font-size: 3.5rem; margin-bottom: 1rem; opacity: 0.8; } .comparison-placeholder .placeholder-title { font-size: 1.25rem; font-weight: 600; color: var(--gray-900); margin-bottom: 0.5rem; } .comparison-placeholder .placeholder-text { color: var(--gray-500); font-size: 0.9rem; max-width: 400px; line-height: 1.6; } /* =============================== RESPONSIVE =============================== */ @media (max-width: 1024px) { .comparison-filters-row { grid-template-columns: repeat(3, 1fr); } .axis-selection { grid-template-columns: 1fr; } .comparison-summary-bar { grid-template-columns: repeat(2, 1fr); } .chart-wrapper { height: 400px; } } @media (max-width: 768px) { .comparison-tabs { flex-wrap: wrap; } .comparison-tab { flex: 1 1 45%; } .comparison-filters-row { grid-template-columns: repeat(2, 1fr); } .chart-header { flex-direction: column; gap: 1rem; align-items: flex-start; } .chart-controls { flex-wrap: wrap; } .chart-wrapper { height: 350px; } .table-header { flex-direction: column; gap: 0.75rem; align-items: flex-start; } .table-search input { width: 100%; } } @media (max-width: 480px) { .comparison-filters-row { grid-template-columns: 1fr; } .comparison-summary-bar { grid-template-columns: 1fr 1fr; } .comparison-tab { flex: 1 1 100%; } .comparison-match-states { flex-direction: column; align-items: flex-start; } .checkbox-grid-inline { flex-wrap: wrap; } } /* =============================== SEQUENCE EXPLORER STYLES =============================== */ /* Config Card */ .sequence-config-card { background: var(--white); border-radius: 16px; padding: 1.5rem; margin-bottom: 1.5rem; box-shadow: var(--shadow); } .sequence-config-header { margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--gray-200); } .sequence-config-title { font-size: 1.25rem; font-weight: 600; color: var(--gray-900); display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.25rem; } .sequence-config-subtitle { color: var(--gray-500); font-size: 0.875rem; } .sequence-config-grid { display: flex; flex-direction: column; gap: 1.25rem; } .sequence-filters-row { display: grid; grid-template-columns: 1fr; gap: 1rem; } .sequence-filters-row .filter-select { padding: 0.75rem 1rem; font-size: 0.9rem; border: 2px solid var(--gray-200); border-radius: 8px; background: var(--white); cursor: pointer; } .sequence-filters-row .filter-select:focus { outline: none; border-color: var(--green-vibrant); } /* Effectiveness Filters */ .effectiveness-filters { background: linear-gradient(135deg, rgba(72, 191, 95, 0.05) 0%, rgba(34, 139, 34, 0.05) 100%); border-radius: 12px; padding: 1.25rem; border: 1px solid rgba(72, 191, 95, 0.2); } .filters-section-title { font-size: 0.9rem; font-weight: 600; color: var(--gray-700); margin-bottom: 1rem; } .effectiveness-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; align-items: end; } .filter-checkbox { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; font-size: 0.875rem; color: var(--gray-700); } .filter-checkbox input[type="checkbox"] { accent-color: var(--green-vibrant); width: 18px; height: 18px; } .filter-range { display: flex; flex-direction: column; gap: 0.375rem; } .filter-range label { font-size: 0.8rem; color: var(--gray-600); } .filter-range input[type="number"] { padding: 0.5rem 0.75rem; font-size: 0.875rem; border: 1px solid var(--gray-200); border-radius: 6px; width: 100%; } .filter-range input[type="number"]:focus { outline: none; border-color: var(--green-vibrant); } .sequence-actions { display: flex; gap: 0.75rem; padding-top: 0.5rem; } /* Summary Bar */ .sequence-summary-bar { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; background: var(--white); border-radius: 12px; padding: 1rem; box-shadow: var(--shadow-sm); margin-bottom: 1.5rem; } /* Zone Explorer */ .sequence-zone-explorer { background: var(--white); border-radius: 16px; padding: 1.5rem; box-shadow: var(--shadow); } .zone-explorer-header { margin-bottom: 1rem; } .zone-explorer-header h3 { font-size: 1.1rem; font-weight: 600; color: var(--gray-900); margin-bottom: 0.25rem; } .zone-explorer-subtitle { font-size: 0.85rem; color: var(--gray-500); } .zone-explorer-layout { display: grid; grid-template-columns: 2fr 1fr; gap: 1.5rem; } /* Pitch Container */ .zone-pitch-container { position: relative; background: #1a1a2e; border-radius: 12px; overflow: hidden; min-height: 600px; display: flex; align-items: center; justify-content: center; } .zone-pitch-img { max-width: 100%; max-height: 900px; width: 100%; object-fit: contain; cursor: pointer; transition: opacity 0.2s; } .zone-loading { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(26, 26, 46, 0.8); z-index: 10; } /* Controls Panel */ .zone-controls-panel { display: flex; flex-direction: column; gap: 1.25rem; } .zone-sequence-display h4, .zone-buttons-section h4 { font-size: 0.85rem; font-weight: 600; color: var(--gray-600); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.75rem; } .sequence-path { display: flex; flex-wrap: wrap; gap: 0.375rem; align-items: center; } .sequence-start-badge { background: linear-gradient(135deg, var(--green-dark) 0%, var(--green-vibrant) 100%); color: white; padding: 0.375rem 0.75rem; border-radius: 20px; font-size: 0.8rem; font-weight: 600; } .sequence-arrow { color: var(--gray-400); font-weight: 600; } .sequence-zone-badge { background: var(--gray-100); color: var(--gray-700); padding: 0.375rem 0.75rem; border-radius: 20px; font-size: 0.8rem; font-weight: 500; } /* Zone Stats */ .zone-stats-display { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; } .zone-stat { background: var(--gray-50); padding: 0.75rem; border-radius: 10px; text-align: center; } .zone-stat-value { display: block; font-size: 1.25rem; font-weight: 700; color: var(--green-vibrant); font-family: 'Space Mono', monospace; } .zone-stat-label { font-size: 0.7rem; color: var(--gray-500); text-transform: uppercase; letter-spacing: 0.05em; } .zone-stat-absorption { background: rgba(255, 107, 107, 0.1); } .zone-stat-absorption .zone-stat-value { color: #ff6b6b; } /* Zone Buttons */ .zone-buttons { display: flex; flex-direction: column; gap: 0.5rem; max-height: 250px; overflow-y: auto; } .zone-btn { display: flex; justify-content: space-between; align-items: center; padding: 0.625rem 1rem; background: rgba(72, 191, 95, 0.15); border: 1px solid rgba(72, 191, 95, 0.3); border-radius: 8px; cursor: pointer; transition: all 0.2s ease; } .zone-btn:hover { transform: translateX(4px); border-color: var(--green-vibrant); } .zone-btn-name { font-size: 0.85rem; font-weight: 500; color: var(--gray-800); } .zone-btn-prob { font-size: 0.8rem; font-weight: 600; color: var(--green-dark); font-family: 'Space Mono', monospace; } .no-zones-msg { color: var(--gray-500); font-size: 0.85rem; text-align: center; padding: 1rem; } .zone-reset-btn { margin-top: auto; } /* Placeholder */ .sequence-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 4rem 2rem; background: var(--white); border-radius: 16px; box-shadow: var(--shadow); text-align: center; } .sequence-placeholder .placeholder-icon { font-size: 3.5rem; margin-bottom: 1rem; opacity: 0.8; } .sequence-placeholder .placeholder-title { font-size: 1.25rem; font-weight: 600; color: var(--gray-900); margin-bottom: 0.5rem; } .sequence-placeholder .placeholder-text { color: var(--gray-500); font-size: 0.9rem; max-width: 400px; line-height: 1.6; } /* Responsive */ @media (max-width: 1024px) { .zone-explorer-layout { grid-template-columns: 1fr; } .effectiveness-grid { grid-template-columns: repeat(2, 1fr); } .sequence-summary-bar { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 768px) { .effectiveness-grid { grid-template-columns: 1fr; } } /* =============================== SEQUENCE TABLE STYLES =============================== */ .sequence-table-section { background: var(--white); border-radius: 16px; padding: 1.5rem; box-shadow: var(--shadow); margin-top: 1.5rem; } .sequence-table-section .table-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--gray-200); } .sequence-table-section .table-title { font-size: 1.1rem; font-weight: 600; color: var(--gray-900); } .sequence-table-section .table-search input { padding: 0.5rem 1rem; font-size: 0.875rem; border: 1px solid var(--gray-200); border-radius: 8px; background: var(--gray-50); width: 240px; transition: all 0.2s ease; } .sequence-table-section .table-search input:focus { outline: none; border-color: var(--green-vibrant); background: var(--white); } .sequence-table-section .table-wrapper { overflow-x: auto; border-radius: 10px; border: 1px solid var(--gray-200); margin-bottom: 1rem; } .sequence-table { width: 100%; border-collapse: collapse; font-size: 0.85rem; } .sequence-table th { padding: 0.875rem 0.75rem; text-align: left; background: var(--gray-50); color: var(--gray-600); font-weight: 600; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; cursor: pointer; white-space: nowrap; border-bottom: 1px solid var(--gray-200); transition: background 0.15s ease; } .sequence-table th:hover { background: var(--gray-100); } .sequence-table td { padding: 0.75rem; border-bottom: 1px solid var(--gray-100); color: var(--gray-700); } .sequence-table tbody tr { transition: background 0.15s ease; cursor: pointer; } .sequence-table tbody tr:hover { background: var(--green-glow); } .sequence-table-row { cursor: pointer; } .sequence-table-row:hover { background: rgba(72, 191, 95, 0.1); } .sequence-table td.empty-row { text-align: center; color: var(--gray-500); padding: 2rem !important; } .result-badge { display: inline-block; padding: 0.25rem 0.5rem; border-radius: 4px; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; } .result-badge.goal { background: rgba(72, 191, 95, 0.2); color: var(--green-dark); } .result-badge.shot { background: rgba(99, 102, 241, 0.2); color: #6366f1; } .result-badge.other { background: var(--gray-100); color: var(--gray-600); } .state-badge { display: inline-block; padding: 0.25rem 0.5rem; border-radius: 4px; font-size: 0.75rem; background: var(--gray-100); color: var(--gray-700); } .sequence-table-section .table-pagination { display: flex; justify-content: space-between; align-items: center; padding-top: 1rem; border-top: 1px solid var(--gray-200); } .pagination-btn { padding: 0.5rem 1rem; font-size: 0.875rem; font-weight: 500; border: 1px solid var(--gray-300); border-radius: 6px; background: var(--white); color: var(--gray-700); cursor: pointer; transition: all 0.2s ease; } .pagination-btn:hover:not(:disabled) { background: var(--green-vibrant); border-color: var(--green-vibrant); color: white; } .pagination-btn:disabled { opacity: 0.5; cursor: not-allowed; } .pagination-info { font-size: 0.875rem; color: var(--gray-600); } @media (max-width: 1024px) { .sequence-table-section .table-header { flex-direction: column; gap: 1rem; align-items: flex-start; } .sequence-table-section .table-search input { width: 100%; } }