.tf-select { position: relative; width: 100%; }
.tf-select > select { display: none !important; }
.tf-select-trigger { width: 100%; min-height: 48px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface, var(--bg)); color: var(--text); font: inherit; text-align: left; }
.tf-select-trigger:hover { border-color: var(--orange); }
.tf-select-chevron { width: 16px; height: 16px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 2; color: var(--muted); transition: transform .15s ease; }
.tf-select-chevron.is-open { transform: rotate(180deg); }
.tf-select-options { position: absolute; z-index: 60; top: calc(100% + 6px); left: 0; right: 0; display: none; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--surface, var(--bg)); box-shadow: 0 12px 30px rgba(0,0,0,.22); }
.tf-select-options.is-open { display: block; }
.tf-select-option { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-top: 1px solid var(--line-soft, var(--line)); color: var(--text); cursor: pointer; }
.tf-select-option:first-child { border-top: 0; }
.tf-select-option:hover, .tf-select-option[aria-selected="true"] { background: var(--soft, var(--surface-2, var(--bg))); }
.tf-select-check { width: 16px; height: 16px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 2; color: var(--text); visibility: hidden; }
.tf-select-check.is-visible { visibility: visible; }
