/**
 * TeamFilterSelector - Shared component styles
 * Prefix: tfs-*
 */

.tfs-container {
    font-family: var(--ff-manrope, 'Manrope', sans-serif);
    font-size: 14px;
}

/* Filter Row */
.tfs-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 12px;
}

.tfs-input {
    padding: 6px 10px;
    border: 1px solid var(--cadet-blue-crayola_a20, #ddd);
    border-radius: var(--radius-6, 4px);
    font-size: 13px;
    font-family: inherit;
}

.tfs-input:focus {
    outline: none;
    border-color: var(--cinnamon-satin, #c7687f);
}

.tfs-input-text {
    flex: 1;
    min-width: 120px;
    max-width: 200px;
}

/* The name box when it is the ONLY filter (filterFields={['name']}): it is the
   page's whole search affordance, so it takes the full row rather than the
   narrow share it gets when it sits beside club/age/gender. */
.tfs-input-search {
    max-width: none;
    min-width: 0;
}

.tfs-input-age {
    width: 80px;
}

.tfs-select {
    padding: 6px 10px;
    border: 1px solid var(--cadet-blue-crayola_a20, #ddd);
    border-radius: var(--radius-6, 4px);
    font-size: 13px;
    font-family: inherit;
    background: var(--white, #fff);
    cursor: pointer;
}

.tfs-select:focus {
    outline: none;
    border-color: var(--cinnamon-satin, #c7687f);
}

.tfs-btn {
    padding: 6px 12px;
    border: 1px solid var(--cadet-blue-crayola_a20, #ddd);
    border-radius: var(--radius-6, 4px);
    background: var(--white, #fff);
    cursor: pointer;
    font-size: 13px;
    font-family: inherit;
    transition: var(--transition-1, 0.25s ease);
}

.tfs-btn:hover {
    background: var(--cultured, #f5f6f8);
}

.tfs-btn-clear {
    color: var(--black-coral, #666);
}

/* List Header */
.tfs-list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--cadet-blue-crayola_a20, #eee);
}

.tfs-count {
    font-size: 13px;
    color: var(--black-coral, #666);
}

.tfs-actions {
    display: flex;
    gap: 12px;
}

.tfs-btn-link {
    background: none;
    border: none;
    color: var(--cinnamon-satin, #c7687f);
    cursor: pointer;
    font-size: 13px;
    font-family: inherit;
    padding: 0;
    text-decoration: underline;
}

.tfs-btn-link:hover {
    color: var(--charcoal, #3d4554);
}

/* Scrollable List */
.tfs-list {
    overflow-y: auto;
    border: 1px solid var(--cadet-blue-crayola_a20, #eee);
    border-radius: var(--radius-6, 4px);
}

.tfs-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-bottom: 1px solid var(--cultured, #f0f0f0);
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.tfs-row:last-child {
    border-bottom: none;
}

.tfs-row:hover {
    background-color: var(--cultured, #f8f9fa);
}

.tfs-row-selected {
    background-color: var(--status-info-light, #e3f2fd);
}

.tfs-row-selected:hover {
    background-color: #d1e9fc;
}

.tfs-checkbox {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    cursor: pointer;
}

.tfs-item-name {
    flex: 1;
    font-weight: 500;
    color: var(--charcoal, #333);
}

.tfs-item-club {
    font-size: 12px;
    color: var(--black-coral, #666);
    flex-shrink: 0;
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tfs-item-meta {
    font-size: 12px;
    color: var(--black-coral, #666);
}

.tfs-badge {
    background-color: var(--status-info-light, #e3f2fd);
    color: var(--status-info, #1976d2);
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
    flex-shrink: 0;
}

/* Loading and Empty States */
.tfs-loading {
    padding: 20px;
    text-align: center;
    color: var(--black-coral, #666);
}

.tfs-empty {
    padding: 20px;
    text-align: center;
    color: var(--black-coral, #999);
    font-style: italic;
}
