/* Selected labels and picker candidates use the same native Semi Tag. */
.eva-label-picker,.eva-label-form{width:300px;max-width:calc(100vw - 40px);box-sizing:border-box}
.eva-label-picker{padding:8px}
.eva-label-picker__toolbar{display:flex;align-items:center;gap:8px;padding-bottom:8px}
.eva-label-picker__toolbar .eva-task-picker-search{flex:1;min-width:0;padding:0;margin:0;border-bottom:0}
.eva-label-picker__head{overflow:hidden;scrollbar-gutter:stable;display:grid;grid-template-columns:minmax(0,1fr) 60px 14px;column-gap:12px;padding:4px 8px;color:var(--semi-color-text-2)}
.eva-label-picker__head>span:nth-child(2){text-align:right}
.eva-label-picker__list{max-height:288px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.eva-label-picker__row.semi-button{display:flex;width:100%;height:auto;min-height:36px;padding:8px;text-align:left}
.eva-label-picker__row .semi-button-content{display:grid;width:100%;min-width:0;grid-template-columns:minmax(0,1fr) 60px 14px;column-gap:12px;align-items:center}
.eva-label-picker__row.semi-button:hover,.eva-label-picker__row.semi-button[data-active=true]{background:color-mix(in srgb,var(--semi-color-fill-0) 50%,transparent)}
.eva-label-picker__name{display:flex;align-items:center;min-width:0}
.eva-label-picker__name .semi-tag{min-width:0;max-width:100%}
.eva-label-picker__count{text-align:right;font-variant-numeric:tabular-nums;color:var(--semi-color-text-3)}
.eva-label-picker__empty{padding:24px 8px;text-align:center;color:var(--semi-color-text-2)}
.eva-label-picker__error{padding:8px;color:var(--semi-color-danger);overflow-wrap:anywhere}
.eva-label-form{padding:16px}.eva-label-form__title{margin-bottom:12px}
.eva-label-palette.semi-radioGroup{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px}
.eva-label-palette .semi-radio{margin:0;padding:2px;border-radius:6px;min-width:0}
.eva-label-palette .semi-radio-content{margin:0}.eva-label-palette .semi-radio-addon{margin:0}
.eva-label-swatch{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--semi-color-bg-0)}
.eva-label-field{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;max-width:100%}
.eva-label-field__chip.semi-tag{min-width:0;max-width:100%}
/* Two independent actions preserve keyboard edit/remove and async failure state.
   The enclosing native Tag supplies all typography, spacing, shape and color. */
.eva-label-field__edit,.eva-label-field__remove{appearance:none;border:0;background:transparent;color:inherit;font:inherit;line-height:inherit;padding:0;margin:0;cursor:pointer;min-width:0;height:100%}
.eva-label-field__edit{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eva-label-field__remove{display:flex;align-items:center;justify-content:center;flex-shrink:0}
.eva-label-field__edit:hover,.eva-label-field__remove:hover{background:var(--semi-color-fill-0)}
.eva-label-field__edit:focus-visible,.eva-label-field__remove:focus-visible{outline:2px solid var(--eva-action-primary);outline-offset:-2px}
.eva-label-field__edit:disabled,.eva-label-field__remove:disabled{cursor:default;opacity:.5}
.eva-label-field__trigger.semi-button{height:30px;max-width:100%;padding:0 6px}
.eva-label-field--compact{width:100%;flex-wrap:nowrap}.eva-label-field--compact .eva-label-field__trigger{width:100%;justify-content:flex-start}
.eva-label-field--compact .semi-button-content{max-width:100%;min-width:0}
.eva-label-field__summary{display:flex;align-items:center;gap:6px;min-width:0;max-width:100%}

.eva-label-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Filled Lucide circle: one shared accent marker for every task-label entry. */
.eva-task-label-dot svg{fill:currentColor;stroke:none}

/* Semi pureCard keeps native radio keyboard behavior; the swatch check alone
   expresses selection. A circular ring is reserved for keyboard focus. */
.eva-label-palette .semi-radio-cardRadioGroup{width:26px;height:26px;box-sizing:border-box;border:0;border-radius:50%;background:transparent;box-shadow:none;outline:none;display:flex;align-items:center;justify-content:center}
.eva-label-palette .semi-radio-cardRadioGroup:hover,.eva-label-palette .semi-radio-cardRadioGroup:active{border:0;box-shadow:none;background:var(--semi-color-fill-0)}
.eva-label-palette .semi-radio:has(input:focus-visible){outline:2px solid var(--eva-action-primary);outline-offset:2px}

/* Measure the name itself, excluding the dot and any independent remove action. */
.eva-task-label-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eva-task-label-name:focus-visible{outline:2px solid var(--eva-action-primary);outline-offset:-2px}
/* The public Eva Popover owns its surface, arrow, typography and inner padding. */
.eva-task-label-overflow__tags{display:flex;flex-wrap:wrap;gap:8px;max-width:min(320px,calc(100vw - 64px))}
.eva-task-label-tag--wrap.semi-tag{max-width:100%;white-space:normal;flex:none}
.eva-task-label-tag--wrap .semi-tag-content,.eva-task-label-tag--wrap .eva-task-label-name{white-space:normal;overflow-wrap:anywhere;text-overflow:clip}
