.root { position: relative; display: flex; flex-direction: column; gap: 8px; min-width: 0; } .label { font-size: 12px; font-weight: 400; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-soft); } .optional { font-style: normal; font-weight: 400; letter-spacing: 0.08em; text-transform: none; color: var(--color-body); } .control { position: relative; display: flex; align-items: center; } .control input { width: 100%; min-height: 42px; border: 1px solid #f0f0f0; border-radius: 5px; background: #fff; padding: 10px 36px 10px 12px; font: inherit; font-size: 14px; font-weight: 400; color: var(--color-black); outline: none; } .control input:focus { border-color: var(--color-black); } .caret { position: absolute; inset-inline-end: 10px; width: 18px; height: 18px; border: none; background: transparent; cursor: pointer; } .caret::before { content: ""; display: block; width: 7px; height: 7px; margin: 4px auto 0; border-inline-end: 1.5px solid var(--color-soft); border-bottom: 1.5px solid var(--color-soft); transform: rotate(45deg); transition: transform 0.15s ease; } .caretOpen::before { margin-top: 8px; transform: rotate(225deg); } .dropdown { position: absolute; z-index: 30; top: calc(100% + 4px); inset-inline: 0; max-height: 300px; overflow: auto; border: 1px solid #ececec; border-radius: 5px; background: #fff; box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08); } .list, .branch { list-style: none; margin: 0; padding: 0; } .list { padding: 6px 0; } .branch { margin-left: 16px; padding-left: 12px; border-left: 1px solid #e4e4e4; } .node { margin: 0; } .row { display: flex; align-items: center; gap: 4px; min-height: 36px; margin: 2px 6px; border-radius: 4px; } .rowActive { background: #f5f5f5; } .expand, .expandSpacer { flex: 0 0 20px; width: 20px; height: 20px; } .expand { display: inline-grid; place-items: center; border: 1px solid #e4e4e4; border-radius: 3px; background: #fff; color: var(--color-soft); font-size: 13px; font-weight: 400; line-height: 1; cursor: pointer; } .expand:hover, .expand:focus-visible { border-color: var(--color-black); color: var(--color-black); } .expandOpen { color: var(--color-muted); } .leafMark { position: relative; } .leafMark::before { content: ""; position: absolute; left: 0; top: 50%; width: 10px; height: 1px; background: #e4e4e4; } .option { flex: 1; min-width: 0; border: none; background: transparent; padding: 6px 8px 6px 2px; text-align: start; font: inherit; font-size: 13px; font-weight: 400; color: var(--color-muted); cursor: pointer; } .option:hover, .option:focus-visible { color: var(--color-black); } .optionLabel { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .clearOption { display: block; width: calc(100% - 12px); margin: 6px 6px 0; padding: 8px 10px; border: none; border-radius: 4px; background: transparent; text-align: start; font: inherit; font-size: 13px; font-weight: 400; color: var(--color-soft); cursor: pointer; } .clearOption:hover, .clearOption:focus-visible { background: #f7f7f7; color: var(--color-black); } .empty { margin: 0; padding: 16px 14px; font-size: 13px; font-weight: 400; color: var(--color-body); }