.ts-control{border:1px solid #d0d0d0;border-radius:3px;box-shadow:inset 0 1px 1px rgba(0,0,0,.1);box-sizing:border-box;display:flex;flex-wrap:wrap;overflow:hidden;padding:8px;position:relative;width:100%;z-index:1}.ts-wrapper.multi.has-items .ts-control{padding:5px 8px 2px}.full .ts-control{background-color:#fff}.disabled .ts-control,.disabled .ts-control *{cursor:default!important}.focus .ts-control{box-shadow:inset 0 1px 2px rgba(0,0,0,.15)}.ts-control>*{display:inline-block;vertical-align:initial}.ts-wrapper.multi .ts-control>div{background:#1da7ee;border:1px solid #0073bb;color:#fff;cursor:pointer;margin:0 3px 3px 0;padding:2px 6px}.ts-wrapper.multi .ts-control>div.active{background:#92c836;border:1px solid #00578d;color:#fff}.ts-wrapper.multi.disabled .ts-control>div,.ts-wrapper.multi.disabled .ts-control>div.active{background:#d2d2d2;border:1px solid #aaa;color:#fff}.ts-control>input{background:none!important;border:0!important;box-shadow:none!important;display:inline-block!important;flex:1 1 auto;line-height:inherit!important;margin:0!important;max-height:none!important;max-width:100%!important;min-height:0!important;min-width:7rem;padding:0!important;text-indent:0!important;-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.ts-control>input::-ms-clear{display:none}.ts-control>input:focus{outline:none!important}.has-items .ts-control>input{margin:0 4px!important}.ts-control.rtl{text-align:right}.ts-control.rtl.single .ts-control:after{left:15px;right:auto}.ts-control.rtl .ts-control>input{margin:0 4px 0 -2px!important}.disabled .ts-control{background-color:#fafafa;opacity:.5}.input-hidden .ts-control>input{left:-10000px;opacity:0;position:absolute}.ts-dropdown{background:#fff;border:1px solid #d0d0d0;border-radius:0 0 3px 3px;border-top:0;box-shadow:0 1px 3px rgba(0,0,0,.1);box-sizing:border-box;left:0;margin:.25rem 0 0;position:absolute;top:100%;width:100%;z-index:10}.ts-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.ts-dropdown [data-selectable] .highlight{background:rgba(125,168,208,.2);border-radius:1px}.ts-dropdown .create,.ts-dropdown .no-results,.ts-dropdown .optgroup-header,.ts-dropdown .option{padding:5px 8px}.ts-dropdown .option,.ts-dropdown [data-disabled],.ts-dropdown [data-disabled] [data-selectable].option{cursor:inherit;opacity:.5}.ts-dropdown [data-selectable].option{cursor:pointer;opacity:1}.ts-dropdown .optgroup:first-child .optgroup-header{border-top:0}.ts-dropdown .optgroup-header{background:#fff;color:#303030;cursor:default}.ts-dropdown .active{background-color:#f5fafd;color:#495c68}.ts-dropdown .active.create{color:#495c68}.ts-dropdown .create{color:rgba(48,48,48,.5)}.ts-dropdown .spinner{display:inline-block;height:30px;margin:5px 8px;width:30px}.ts-dropdown .spinner:after{animation:lds-dual-ring 1.2s linear infinite;border-color:#d0d0d0 transparent;border-radius:50%;border-style:solid;border-width:5px;content:" ";display:block;height:24px;margin:3px;width:24px}@keyframes lds-dual-ring{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ts-dropdown-content{max-height:200px;overflow:hidden auto;scroll-behavior:smooth}.ts-wrapper.plugin-drag_drop .ts-dragging{color:transparent!important}.ts-wrapper.plugin-drag_drop .ts-dragging>*{visibility:hidden!important}.plugin-checkbox_options:not(.rtl) .option input{margin-right:.5rem}.plugin-checkbox_options.rtl .option input{margin-left:.5rem}.plugin-clear_button{--ts-pr-clear-button:1em}.plugin-clear_button .clear-button{background:transparent!important;cursor:pointer;margin-right:0!important;opacity:0;position:absolute;right:2px;top:50%;transform:translateY(-50%);transition:opacity .5s}.plugin-clear_button.form-select .clear-button,.plugin-clear_button.single .clear-button{right:max(var(--ts-pr-caret),8px)}.plugin-clear_button.focus.has-items .clear-button,.plugin-clear_button:not(.disabled):hover.has-items .clear-button{opacity:1}.ts-wrapper .dropdown-header{background:color-mix(#fff,#d0d0d0,85%);border-bottom:1px solid #d0d0d0;border-radius:3px 3px 0 0;padding:10px 8px;position:relative}.ts-wrapper .dropdown-header-close{color:#303030;font-size:20px!important;line-height:20px;margin-top:-12px;opacity:.4;position:absolute;right:8px;top:50%}.ts-wrapper .dropdown-header-close:hover{color:#000}.plugin-dropdown_input.focus.dropdown-active .ts-control{border:1px solid #d0d0d0;box-shadow:none}.plugin-dropdown_input .dropdown-input{background:transparent;border:solid #d0d0d0;border-width:0 0 1px;box-shadow:inset 0 1px 1px rgba(0,0,0,.1);display:block;padding:8px;width:100%}.plugin-dropdown_input .items-placeholder{border:0!important;box-shadow:none!important;width:100%}.plugin-dropdown_input.dropdown-active .items-placeholder,.plugin-dropdown_input.has-items .items-placeholder{display:none!important}.ts-wrapper.plugin-input_autogrow.has-items .ts-control>input{min-width:0}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input{flex:none;min-width:4px}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::-ms-input-placeholder{color:transparent}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::placeholder{color:transparent}.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content{display:flex}.ts-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0;flex-basis:0;flex-grow:1;min-width:0}.ts-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0}.ts-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.ts-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0}.ts-wrapper.plugin-remove_button .item{align-items:center;display:inline-flex}.ts-wrapper.plugin-remove_button .item .remove{border-radius:0 2px 2px 0;box-sizing:border-box;color:inherit;display:inline-block;padding:0 6px;text-decoration:none;vertical-align:middle}.ts-wrapper.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,.05)}.ts-wrapper.plugin-remove_button.disabled .item .remove:hover{background:none}.ts-wrapper.plugin-remove_button .remove-single{font-size:23px;position:absolute;right:0;top:0}.ts-wrapper.plugin-remove_button:not(.rtl) .item{padding-right:0!important}.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove{border-left:1px solid #0073bb;margin-left:6px}.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove{border-left-color:#00578d}.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove{border-left-color:#aaa}.ts-wrapper.plugin-remove_button.rtl .item{padding-left:0!important}.ts-wrapper.plugin-remove_button.rtl .item .remove{border-right:1px solid #0073bb;margin-right:6px}.ts-wrapper.plugin-remove_button.rtl .item.active .remove{border-right-color:#00578d}.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove{border-right-color:#aaa}:root{--ts-pr-clear-button:0px;--ts-pr-caret:0px;--ts-pr-min:.75rem}.ts-wrapper.single .ts-control,.ts-wrapper.single .ts-control input{cursor:pointer}.ts-control:not(.rtl){padding-right:max(var(--ts-pr-min),var(--ts-pr-clear-button) + var(--ts-pr-caret))!important}.ts-control.rtl{padding-left:max(var(--ts-pr-min),var(--ts-pr-clear-button) + var(--ts-pr-caret))!important}.ts-wrapper{position:relative}.ts-control,.ts-control input,.ts-dropdown{color:#303030;font-family:inherit;font-size:13px;line-height:18px}.ts-control,.ts-wrapper.single.input-active .ts-control{background:#fff;cursor:text}.ts-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.ts-wrapper.single .ts-control{--ts-pr-caret:2rem}.ts-wrapper.single .ts-control:after{border-color:grey transparent transparent;border-style:solid;border-width:5px 5px 0;content:" ";display:block;height:0;margin-top:-3px;position:absolute;top:50%;width:0}.ts-wrapper.single .ts-control:not(.rtl):after{right:15px}.ts-wrapper.single .ts-control.rtl:after{left:15px}.ts-wrapper.single.dropdown-active .ts-control:after{border-color:transparent transparent grey;border-width:0 5px 5px;margin-top:-4px}.ts-wrapper.single.input-active .ts-control,.ts-wrapper.single.input-active .ts-control input{cursor:text}.ts-wrapper{display:flex;min-height:36px}.ts-wrapper.multi.has-items .ts-control{padding-left:5px;--ts-pr-min:$padding-x}.ts-wrapper.multi .ts-control [data-value]{background-color:color-mix(#1da7ee,#178ee9,60%);background-image:linear-gradient(180deg,#1da7ee,#178ee9);background-repeat:repeat-x;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 1px hsla(0,0%,100%,.03);text-shadow:0 1px 0 rgba(0,51,83,.3)}.ts-wrapper.multi .ts-control [data-value].active{background-color:color-mix(#008fd8,#0075cf,60%);background-image:linear-gradient(180deg,#008fd8,#0075cf);background-repeat:repeat-x}.ts-wrapper.multi.disabled .ts-control [data-value]{background:none;box-shadow:none;color:#999;text-shadow:none}.ts-wrapper.multi.disabled .ts-control [data-value],.ts-wrapper.multi.disabled .ts-control [data-value] .remove{border-color:#e6e6e6}.ts-wrapper.multi.disabled .ts-control [data-value] .remove{background:none}.ts-wrapper.single .ts-control{background-color:color-mix(#fefefe,#f2f2f2,60%);background-image:linear-gradient(180deg,#fefefe,#f2f2f2);background-repeat:repeat-x;box-shadow:0 1px 0 rgba(0,0,0,.05),inset 0 1px 0 hsla(0,0%,100%,.8)}.ts-dropdown.single,.ts-wrapper.single .ts-control{border-color:#b8b8b8}.dropdown-active .ts-control{border-radius:3px 3px 0 0}.ts-dropdown .optgroup-header{font-size:.85em;font-weight:700;padding-top:7px}.ts-dropdown .optgroup{border-top:1px solid #f0f0f0}.ts-dropdown .optgroup:first-child{border-top:0}
/*# sourceMappingURL=tom-select.default.min.css.map */
/* === Tailwind 寄せオーバーライド(iopms 用) ===
   通常の <input class="border w-full px-2 py-1"> と同じ
   外寸 / padding / line-height に揃える。
   Tom Select デフォルトの padding:8px / min-height:36px / flex 折返 は
   「飛び出して見える」 元凶なので、 単一 select 用に上書きする。
   multi (タグ入力) は引き続き wrap 動作を保つ。 */

.ts-wrapper {
  /* デフォは display:flex; min-height:36px。 単一ではこれが通常 input より
     高くなる原因。 block + min-height:0 で他の input と同じ占有面に。
     さらに、 Tom Select は 元 <select> の class (border / w-full / px-2 / py-1) を
     wrapper にコピーするため、 ここで Tailwind 由来の余白 / 枠を完全に殺す。
     高さ・枠線・余白は内側の .ts-control 側に一本化する。 */
  display: block;
  min-height: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  line-height: 1.25rem;
  font-size: 0.75rem; /* daisyUI input-sm と統一 */
  vertical-align: middle;
}

.ts-wrapper.single .ts-control,
.ts-wrapper.single.input-active .ts-control,
.ts-wrapper .ts-control {
  background: #fff !important;
  background-image: none !important;
  border: 1px solid #cbd5e1 !important; /* slate-300 */
  border-radius: var(--radius-field, 0.375rem); /* daisyUI input(rounded-md)と揃える */
  box-shadow: none !important;
  /* py-1 px-2 = 0.25rem 0.5rem。 但し右端は caret 用に確保 (--ts-pr-caret)。 */
  padding: 0.25rem 0.5rem !important;
  /* form_input_class の h-8 (32px = 2rem) と揃える ─
     検索フォームで text/date/number/select/combobox が同じ高さで並ぶ前提。 */
  min-height: 2rem;
  box-sizing: border-box;
  font-size: 0.75rem; /* daisyUI input-sm と統一 */
  font-family: inherit;
  color: inherit;
  line-height: 1.25rem;
  align-items: center;
}

/* 単一 select の入力欄: 1 行内で完結させ、 通常 input と同じ高さ。
   ts-control 内部の <input> はデフォルトで height/padding/margin が
   勝手に効くので 0 に潰して line-height だけ揃える。 */
.ts-wrapper.single .ts-control > input,
.ts-wrapper .ts-control > input {
  font-size: 0.75rem !important; /* daisyUI input-sm と統一 */
  line-height: 1.25rem !important;
  height: 1.25rem !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}

/* 単一 select の選択済アイテム表示 (.item) も同じ line-height で。 */
.ts-wrapper.single .ts-control .item {
  line-height: 1.25rem;
  padding: 0 !important;
  margin: 0 !important;
}

/* caret (▼) 用の右パディング: 標準 select と同等の幅にする。 */
.ts-wrapper.single .ts-control {
  --ts-pr-caret: 1.5rem;
}

/* フォーカス時: Tailwind の focus:ring 風 */
.ts-wrapper.focus .ts-control,
.ts-wrapper.dropdown-active .ts-control {
  border-color: #2563eb !important; /* blue-600 */
  box-shadow: 0 0 0 1px #2563eb !important;
  /* ドロップダウン展開時は上だけ丸め、下の .ts-dropdown と繋げる */
  border-radius: var(--radius-field, 0.375rem) var(--radius-field, 0.375rem) 0 0;
}

/* dropdown パネル */
.ts-dropdown {
  background: #fff;
  border: 1px solid #cbd5e1; /* slate-300 */
  /* 展開パネルは下だけ丸め、上の .ts-control(展開時 上だけ丸)と繋げる */
  border-radius: 0 0 var(--radius-field, 0.375rem) var(--radius-field, 0.375rem);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  font-size: 0.75rem; /* daisyUI input-sm と統一 */
  margin-top: 0;
}

/* ハイライト中の option */
.ts-dropdown .active {
  background-color: #dbeafe !important; /* blue-100 */
  color: #0f172a; /* slate-900 */
}

/* dropdown 内 option / header */
.ts-dropdown .option,
.ts-dropdown .optgroup-header,
.ts-dropdown .no-results {
  padding: 0.375rem 0.5rem;
}

/* required 属性が付いた select の表現を保つ(単に妨げないように) */
.ts-wrapper.required .ts-control { border-color: #cbd5e1 !important; }

/* 明細行など .border w-full px-1 py-0.5 (FORM_INPUT_COMPACT_CLASS) と
   並ぶ場面で密度を合わせるためのバリアント。 用途があれば <select> に
   .ts-compact data 属性で適用。 現状未使用だが将来用に予約。 */
.ts-compact + .ts-wrapper .ts-control {
  padding: 0.125rem 0.25rem !important;
  min-height: 1.5rem; /* FORM_INPUT_COMPACT_CLASS の h-6 (24px) と揃える */
}
.ts-compact + .ts-wrapper .ts-control > input {
  height: 1rem !important;
  line-height: 1rem !important;
}

/* ── dropdown の Z 軸(重なり)修正 ──────────────────────────────
   .ts-wrapper には Tom Select が元 <select> の class をコピーするため
   daisyUI の .input / .select が付く。 daisyUI 5 は
   .input:focus-within { isolation: isolate } を持つので、 combobox を
   開く(= 内部 input に focus)と wrapper が z-index:auto の
   スタッキングコンテキストになり、 中の .ts-dropdown { z-index:10 } が
   閉じ込められて、 後続フィールドの .ts-control { z-index:1 }(vendor)より
   背面に描画されてしまう。 開いている間は wrapper ごと前面へ持ち上げる。 */
.ts-wrapper.dropdown-active {
  z-index: 30;
}
