.combo{position:relative}
.combo input{padding-right:28px;width:100%}
.combo-arrow{position:absolute;top:0;right:0;height:36px;width:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--ink3)}
.combo-arrow:hover{color:var(--p)}
.combo-arrow svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.combo-panel{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--white);border:1.5px solid var(--border);border-radius:var(--r);box-shadow:var(--sh2);max-height:220px;overflow-y:auto;z-index:60;display:none}
.combo-panel.open{display:block}
.combo-opt{padding:7px 10px;font-size:12px;color:var(--ink2);cursor:pointer}
.combo-opt:hover{background:var(--p3);color:var(--p)}
.combo-empty,.combo-hint{padding:8px 10px;font-size:10.5px;color:var(--ink4);font-style:italic;line-height:1.4}
.combo-hint{border-top:1px solid var(--border)}
/* Campos con lista bloqueada (lugar/servicio/vehículo/facturado): sugerencias
   "¿quisiste decir…?" y aviso de bloqueo cuando el valor no existe todavía. */
.combo-sugerido-title{padding:7px 10px 3px;font-size:9.5px;font-weight:700;color:var(--p);text-transform:uppercase;letter-spacing:.4px}
.combo-opt-sugerido{background:var(--p4);font-weight:600}
.combo-opt-sugerido:hover{background:var(--p3)}
.combo-bloqueado{padding:8px 10px;font-size:10.5px;color:var(--red);font-weight:600;line-height:1.4;border-top:1px solid var(--border)}
.combo-sep{border-top:1px solid var(--border);margin:2px 0}
/* Alta rápida de un valor nuevo (solo administrador/desarrollador, ver
   catalogo.js) — se ve como una acción clara, no como una opción más. */
.combo-crear{padding:8px 10px;font-size:11px;font-weight:700;color:var(--green);cursor:pointer;border-top:1px solid var(--border)}
.combo-crear:hover{background:var(--greenbg)}
