.gcdf-control { display: inline-flex; align-items: center; gap: 8px; margin: 0 8px 0 0; vertical-align: top; }
.gcdf-control > label { font-weight: 600; }
.gcdf-control select { min-width: 270px; }
.gcdf-control [hidden] { display: none !important; }
.gcdf-combo { display: inline-block; position: relative; width: 300px; }
.gcdf-combo input { margin: 0; width: 100%; padding-right: 32px; min-height: 30px; }
.gcdf-toggle { position: absolute; right: 1px; top: 1px; bottom: 1px; width: 29px; border: 0; border-radius: 0 3px 3px 0; color: #50575e; background: transparent; cursor: pointer; }
.gcdf-toggle:focus-visible { outline: 2px solid #2271b1; }
#gcdf-options { position: absolute; top: calc(100% + 4px); left: 0; right: 0; max-height: 290px; overflow-y: auto; margin: 0; padding: 4px 0; background: #fff; border: 1px solid #8c8f94; border-radius: 4px; box-shadow: 0 3px 8px #0002; z-index: 10000; }
#gcdf-options li { margin: 0; padding: 9px 12px; white-space: normal; line-height: 1.4; cursor: pointer; }
#gcdf-options li[aria-selected="true"] { font-weight: 600; }
#gcdf-options li:hover, #gcdf-options li.gcdf-active { background: #2271b1; color: #fff; }
#gcdf-options li.gcdf-empty { color: #646970; cursor: default; background: #fff; }

.gcdf-form { display:grid !important; grid-template-columns:1fr 1fr 1.35fr .7fr; row-gap:12px; overflow:visible; }
.gcdf-form > div { width:auto; min-width:0; }
.gcdf-form .gcdf-control { display:block; margin:0; }
.gcdf-form .gcdf-combo { display:block; width:100%; height:100%; }
.gcdf-form .gcdf-combo input { height:100%; min-height:48px; padding:12px 36px 12px 16px; border:1px solid #ced4da; border-radius:6px; color:#212529; background:#fff; font:inherit; text-overflow:ellipsis; }
.gcdf-form .gcdf-toggle { width:34px; color:#333; }
.gcdf-form #gcdf-options { color:#212529; list-style:none; text-align:left; font-size:16px; }
.gcdf-form #gcdf-options li:hover, .gcdf-form #gcdf-options li.gcdf-active { background:#61428b; }
.gcdf-form input:focus-visible { outline:3px solid #c8a7f3; outline-offset:2px; }
.gcdf-form .screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.gcdf-status { font-size:15px; margin:0 0 16px; }
@media(max-width:991px) { .gcdf-form { grid-template-columns:1fr 1fr; } }
@media(max-width:575px) { .gcdf-form { grid-template-columns:1fr; } }
