.gv{max-width:1360px;margin:24px auto 40px;padding:0 16px;color:#e2e5e8}.gv-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.gv h1{font-size:24px;margin:0 0 7px}.gv p{margin:0;color:#a3a6ac;font-size:13px}.gv-header a{color:#efb45e}.gv button,.gv select,.gv input[type=search],.gv summary{font:inherit;color:inherit;border:0;border-radius:3px;background:#25272a;padding:8px 12px}.gv button{cursor:pointer;font-size:12px}.gv button:disabled{opacity:.4;cursor:default}.gv button:hover:not(:disabled){background:#303236}.gv :focus-visible{outline:2px solid #efb45e;outline-offset:2px}.gv-controls{background:#1b1d1f;border-radius:3px;padding:14px}.gv-controls nav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.gv button[aria-pressed=true]{background:#34302a;color:#efb45e}.gv #gv-search{width:100%;margin-bottom:12px}.gv-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.gv-filters>label{display:grid;gap:5px;font-size:12px;color:#a3a6ac;flex:1;min-width:120px}.gv select{appearance:none;padding-right:32px;background-image:url('/public/assets/img/fluent/chevron-down-20-regular.svg');background-repeat:no-repeat;background-position:right 8px center;background-size:16px}.gv-filters details{position:relative}.gv summary{cursor:pointer;font-size:12px}.gv-filters details>div{position:absolute;right:0;top:100%;z-index:5;background:#25272a;padding:12px;min-width:260px;border-radius:3px;box-shadow:0 8px 24px #0008}.gv #gv-column-options{display:grid;gap:8px;max-height:320px;overflow:auto;margin-top:10px;font-size:12px}.gv #gv-column-options label{display:flex;gap:8px}.gv input[type=checkbox]{accent-color:#efb45e}.gv-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 0;font-size:12px}.gv #gv-count{margin-right:auto;color:#a3a6ac}.gv .gv-note{font-size:12px;margin-bottom:10px}.gv-table-wrap{overflow:auto;max-height:65vh;background:#17191b;border-radius:3px;scrollbar-width:thin;scrollbar-color:#4b4f54 #191b1d}.gv table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px;white-space:nowrap}.gv th,.gv td{padding:9px 12px;text-align:right;border-bottom:1px solid #292b2e;font-variant-numeric:tabular-nums}.gv thead th{position:sticky;top:0;background:#25272a;z-index:2;font-weight:500}.gv thead th button{padding:0;display:inline-flex;gap:4px;align-items:center}.gv tbody th{min-width:225px;text-align:left;font-weight:500}.gv tbody tr:hover{background:#25272a}.gv tr.is-selected{background:#2c2821}.gv a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--grade,#e2e5e8)}.gv a img{width:36px;height:36px;object-fit:contain}.gv a small{display:block;color:#a3a6ac;font-size:10px;margin-top:4px}.gv .gv-best{color:#6acb8a;background:#233229}.gv .gv-sort{width:14px;height:14px;filter:invert(1)}.gv .gv-sort.up{transform:rotate(180deg)}.gv-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:12px;font-size:12px}.gv .gv-empty{text-align:center;padding:50px}.gv #gv-message{color:#efb45e;font-size:12px;margin:8px 0}.gv-pagination[hidden]{display:none}@media(max-width:700px){.gv{padding:0 12px}.gv-header{align-items:start}.gv h1{font-size:21px}.gv-filters>label{min-width:40%}.gv-table-wrap{max-height:65dvh}}

.gv select{background-image:none}.gv-filters>label{position:relative}.gv-filters>label::after{content:"";position:absolute;right:10px;bottom:10px;width:16px;height:16px;background:#a3a6ac;mask:url("/public/assets/img/fluent/chevron-down-20-regular.svg") center/contain no-repeat;pointer-events:none}

.gv summary{display:flex;align-items:center;gap:8px;list-style:none}.gv summary::-webkit-details-marker{display:none}.gv summary::after{content:"";width:16px;height:16px;background:currentColor;mask:url('/public/assets/img/fluent/chevron-down-20-regular.svg') center/contain no-repeat}.gv details[open]>summary::after{transform:rotate(180deg)}
.gv th:has(button[data-sort="name"]){text-align:left}

.gv tbody th{position:sticky;left:0;z-index:1;background:#17191b}.gv tbody tr:hover th{background:#25272a}.gv tbody tr.is-selected th{background:#2c2821}.gv thead th:has(button[data-sort="name"]){left:0;z-index:3}

/* Keep category shortcuts and search together above the detailed filters. */
.gv-controls{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;row-gap:12px;align-items:center}
.gv-controls nav{margin-bottom:0}
.gv #gv-search{min-width:0;margin-bottom:0}
.gv-filters{grid-column:1/-1}
@media(max-width:700px){.gv-controls{grid-template-columns:minmax(0,1fr)}.gv-filters{grid-column:1}}

/* Align result summary, explanation and selection actions in one compact row. */
.gv #gv-count{margin-right:0;white-space:nowrap}
.gv-actions .gv-note{flex:1;min-width:180px;margin:0 12px;font-size:12px}
.gv #gv-selected{margin-left:auto;white-space:nowrap}
.gv #gv-message:empty{display:none}
@media(max-width:700px){.gv-actions .gv-note{flex-basis:100%;order:1;margin:0}}

/* Give the heading and paginated list their own flat surfaces. */
.gv-header{padding:18px 20px;background:#1b1d1f;border-radius:3px;margin-bottom:14px}
.gv-list{background:#17191b;border-radius:3px;overflow:hidden}
.gv-list .gv-table-wrap{max-height:130vh;border-radius:0}
.gv-list .gv-pagination{margin:0;padding:12px 14px;background:#1b1d1f}
@media(max-width:700px){.gv-header{padding:16px}.gv-list .gv-table-wrap{max-height:130dvh}}
