Spaces:
Running
Running
| /* ββββββββββββββββββββββββββββββββββββββββββββ | |
| Discover Page β Specific Styles | |
| ββββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* ββ Column Picker (shared with scanner via ListView) ββ */ | |
| .column-picker { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 4px; | |
| padding: 8px 12px; | |
| } | |
| .column-picker label { | |
| display: flex; | |
| align-items: center; | |
| gap: 6px; | |
| padding: 4px 10px; | |
| font-size: var(--font-xs); | |
| color: var(--text-secondary); | |
| cursor: pointer; | |
| border-radius: 4px; | |
| background: var(--surface); | |
| transition: | |
| background 0.15s, | |
| color 0.15s; | |
| user-select: none; | |
| } | |
| .column-picker label:hover { | |
| background: var(--surface-raised); | |
| color: var(--text); | |
| } | |
| .column-picker label:has(input:checked) { | |
| background: var(--primary); | |
| color: var(--bg); | |
| } | |
| .column-picker label.column-picker__disabled { | |
| opacity: 0.45; | |
| cursor: not-allowed; | |
| } | |
| .column-picker label.column-picker__disabled:hover { | |
| background: var(--surface); | |
| color: var(--text-secondary); | |
| } | |
| .column-picker input { | |
| display: none; | |
| } | |
| /* ββ Custom Filters ββ */ | |
| .custom-filters { | |
| padding: 8px 12px 4px; | |
| display: flex; | |
| flex-direction: column; | |
| gap: 6px; | |
| } | |
| .filter-row { | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| } | |
| .filter-row select, | |
| .filter-row input { | |
| background: var(--bg-input); | |
| border: 1px solid var(--border); | |
| border-radius: 4px; | |
| color: var(--text); | |
| padding: 4px 8px; | |
| font-size: var(--font-xs); | |
| height: 28px; | |
| } | |
| .filter-row select.filter-col { | |
| width: 140px; | |
| } | |
| .filter-row select.filter-op { | |
| width: 74px; | |
| } | |
| .filter-row input.filter-val { | |
| width: 150px; | |
| } | |
| .filter-remove { | |
| background: none; | |
| border: none; | |
| color: var(--text-muted); | |
| cursor: pointer; | |
| padding: 4px 6px; | |
| font-size: 14px; | |
| line-height: 1; | |
| } | |
| .filter-remove:hover { | |
| color: var(--danger); | |
| } | |
| .filter-row-empty { | |
| color: var(--text-muted); | |
| font-size: var(--font-xs); | |
| padding: 4px 0; | |
| } | |
| /* ββ Presets Panel ββ */ | |
| .presets-panel { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 2px; | |
| padding: 8px 12px; | |
| width: 100%; | |
| } | |
| .presets-section-title { | |
| font-size: var(--font-xs); | |
| color: var(--text-muted); | |
| font-weight: 600; | |
| text-transform: uppercase; | |
| letter-spacing: 0.05em; | |
| padding: 6px 0 4px; | |
| } | |
| .presets-section-title:first-child { | |
| padding-top: 0; | |
| } | |
| .preset-item { | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| padding: 5px 8px; | |
| border-radius: var(--radius-sm); | |
| font-size: var(--font-xs); | |
| color: var(--text-secondary); | |
| cursor: pointer; | |
| transition: background 0.15s; | |
| } | |
| .preset-item:hover { | |
| background: var(--surface-raised); | |
| color: var(--text); | |
| } | |
| .preset-item__name { | |
| flex: 1; | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| white-space: nowrap; | |
| } | |
| .preset-item__actions { | |
| display: flex; | |
| gap: 2px; | |
| flex-shrink: 0; | |
| } | |
| .preset-item__actions button { | |
| background: none; | |
| border: none; | |
| color: var(--text-muted); | |
| cursor: pointer; | |
| padding: 2px 5px; | |
| font-size: 11px; | |
| border-radius: var(--radius-sm); | |
| transition: all 0.15s; | |
| line-height: 1; | |
| } | |
| .preset-item__actions button:hover { | |
| color: var(--text); | |
| background: var(--surface); | |
| } | |
| .preset-item__actions .preset-action-danger:hover { | |
| color: var(--danger); | |
| } | |
| .preset-item__badge { | |
| font-size: 10px; | |
| color: var(--text-muted); | |
| padding: 1px 5px; | |
| border: 1px solid var(--border); | |
| border-radius: var(--radius-sm); | |
| flex-shrink: 0; | |
| } | |
| .preset-save-btn { | |
| margin-top: 6px; | |
| width: 100%; | |
| text-align: center; | |
| padding: 6px 12px; | |
| font-size: var(--font-xs); | |
| } | |
| /* ββββββββββββββββββββββββββββββββββββββββββββ | |
| Responsive β Discover | |
| ββββββββββββββββββββββββββββββββββββββββββββ */ | |
| @media (max-width: 768px) { | |
| .column-picker { | |
| padding: 6px 8px; | |
| gap: 4px; | |
| } | |
| .column-picker label { | |
| padding: 6px 8px; | |
| font-size: 11px; | |
| min-height: 36px; | |
| } | |
| .filter-row { | |
| flex-wrap: wrap; | |
| gap: 4px; | |
| } | |
| .filter-row select.filter-col, | |
| .filter-row select.filter-op, | |
| .filter-row input.filter-val { | |
| flex: 1 1 auto; | |
| width: auto; | |
| min-width: 60px; | |
| } | |
| .filter-row select, | |
| .filter-row input { | |
| height: 34px; | |
| } | |
| .preset-item { | |
| padding: 8px; | |
| min-height: 36px; | |
| } | |
| .preset-item__actions button { | |
| padding: 4px 8px; | |
| min-height: 32px; | |
| } | |
| .presets-panel { | |
| padding: 6px 8px; | |
| } | |
| } | |
| @media (max-width: 480px) { | |
| .column-picker { | |
| gap: 6px; | |
| } | |
| .column-picker label { | |
| flex: 1 1 calc(50% - 6px); | |
| justify-content: center; | |
| min-height: 44px; | |
| padding: 8px 6px; | |
| } | |
| .filter-row select, | |
| .filter-row input { | |
| height: 38px; | |
| font-size: var(--font-sm); | |
| } | |
| .preset-item { | |
| min-height: 44px; | |
| } | |
| .preset-save-btn { | |
| padding: 10px 12px; | |
| min-height: 44px; | |
| } | |
| } | |