 /* ── Prefetch wrapper ── */
 .pf-wrap {
     position: relative;
 }

 /* Clear-search button inside input */
 .pf-wrap .pf-clear {
     position: absolute;
     right: 8px;
     top: 50%;
     transform: translateY(-50%);
     cursor: pointer;
     color: #999;
     font-size: 14px;
     display: none;
     z-index: 5;
     background: none;
     border: none;
     padding: 0 2px;
     line-height: 1;
 }

 .pf-wrap .pf-clear.visible {
     display: block;
 }

 .pf-wrap .pf-clear:hover {
     color: #e74c3c;
 }

 /* Dropdown list */
 .pf-dropdown {
     position: absolute;
     z-index: 1055;
     background: #fff;
     border: 1px solid #ced4da;
     border-radius: 4px;
     width: 100%;
     max-height: 240px;
     overflow-y: auto;
     box-shadow: 0 4px 12px rgba(0, 0, 0, .15);
     display: none;
 }

 .pf-dropdown.open {
     display: block;
 }

 .pf-dropdown .pf-item {
     padding: 7px 12px;
     cursor: pointer;
     font-size: 13px;
     border-bottom: 1px solid #f0f0f0;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
 }

 .pf-dropdown .pf-item:last-child {
     border-bottom: none;
 }

 .pf-dropdown .pf-item:hover,
 .pf-dropdown .pf-item.pf-active {
     background: #e9f0ff;
     color: #1a56db;
 }

 /* Status messages inside dropdown */
 .pf-dropdown .pf-msg {
     padding: 8px 12px;
     font-size: 12px;
     color: #888;
     font-style: italic;
 }

 .pf-dropdown .pf-msg.pf-error {
     color: #e74c3c;
 }

 /* Hidden selected-value display badge */
 .pf-selected-badge {
     display: inline-block;
     background: #e9f0ff;
     border: 1px solid #b3c6ff;
     border-radius: 3px;
     padding: 2px 8px;
     font-size: 12px;
     color: #1a56db;
     margin-top: 3px;
 }

 /* Table item prefetch — compact */
 .pf-table-dropdown {
     min-width: 260px;
     max-height: 180px;
 }

 /* ── Dark mode adaptation (AdminLTE body.dark-mode) ── */
 body.dark-mode .pf-dropdown {
     background: #1e2330;
     border-color: #3a4055;
     box-shadow: 0 4px 12px rgba(0, 0, 0, .5);
 }

 body.dark-mode .pf-dropdown .pf-item {
     color: #cdd3e0;
     border-bottom-color: #2a3045;
 }

 body.dark-mode .pf-dropdown .pf-item:hover,
 body.dark-mode .pf-dropdown .pf-item.pf-active {
     background: #2a3a5c;
     color: #7aadff;
 }

 body.dark-mode .pf-dropdown .pf-msg {
     color: #7a8499;
 }

 body.dark-mode .pf-dropdown .pf-msg.pf-error {
     color: #ff6b6b;
 }

 body.dark-mode .pf-selected-badge {
     background: #2a3a5c;
     border-color: #3a5080;
     color: #7aadff;
 }

 body.dark-mode .pf-wrap .pf-clear {
     color: #7a8499;
 }

 body.dark-mode .pf-wrap .pf-clear:hover {
     color: #ff6b6b;
 }

 body.dark-mode .pf-dropdown .pf-item mark {
     background: #5a4a00 !important;
     color: #ffe066;
 }