/* =========================================
   GAME LIBRARY MANAGER PRO v2 — style.css
   ========================================= */

@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500;600;700&family=Exo+2:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

:root {
  --bg:        #080c14;
  --bg2:       #0d1424;
  --surface:   #111827;
  --surface2:  #162032;
  --surface3:  #1d2a40;
  --border:    rgba(56, 189, 248, 0.12);
  --border2:   rgba(56, 189, 248, 0.25);
  --cyan:      #38bdf8;
  --cyan-dim:  rgba(56,189,248,0.15);
  --purple:    #818cf8;
  --gold:      #fbbf24;
  --green:     #34d399;
  --red:       #f87171;
  --text:      #e2e8f0;
  --text-muted:#64748b;
  --grad:      linear-gradient(135deg, #38bdf8 0%, #818cf8 100%);
  --grad-warm: linear-gradient(135deg, #fbbf24 0%, #f87171 100%);
  --glow:      0 0 24px rgba(56,189,248,0.25);
  --r:         10px;
  --font:      'Exo 2', sans-serif;
  --font-d:    'Rajdhani', sans-serif;
}

.glm-wrap *, .glm-wrap *::before, .glm-wrap *::after { box-sizing:border-box; margin:0; padding:0; }

.glm-wrap {
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
  padding: 28px 18px 60px;
  background-image:
    radial-gradient(ellipse 80% 40% at 15% 60%, rgba(129,140,248,.06) 0%, transparent 60%),
    radial-gradient(ellipse 60% 40% at 85% 20%, rgba(56,189,248,.07) 0%, transparent 50%);
}

/* ---- HERO ---- */
.glm-hero {
  text-align: center;
  padding: 36px 20px 28px;
}
.glm-hero-icon {
  font-size: 3rem;
  display: block;
  margin-bottom: 12px;
  animation: float 3s ease-in-out infinite;
  filter: drop-shadow(0 0 18px rgba(56,189,248,.6));
}
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }

.glm-title {
  font-family: var(--font-d);
  font-size: 2.4rem;
  font-weight: 700;
  background: var(--grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.glm-subtitle { color: var(--text-muted); font-size:.9rem; margin-top:6px; letter-spacing:1px; }

/* ---- MESSAGE ---- */
.glm-message {
  max-width:740px; margin:0 auto 20px;
  padding:13px 20px; border-radius:var(--r);
  font-weight:600; text-align:center; font-size:.92rem;
}
.glm-message.success { background:rgba(52,211,153,.12); border:1px solid var(--green); color:var(--green); }
.glm-message.error   { background:rgba(248,113,113,.12); border:1px solid var(--red); color:var(--red); }

/* ============================================
   ADD FORM
============================================ */
.glm-form {
  max-width:820px; margin:0 auto;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:16px;
  padding:34px 32px;
  box-shadow:0 20px 60px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.04);
}
.glm-form-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:20px; margin-bottom:26px;
}
.glm-field { display:flex; flex-direction:column; gap:8px; }
.glm-field-full { grid-column:1/-1; }

.glm-field label {
  font-size:.75rem; font-weight:600;
  text-transform:uppercase; letter-spacing:1.5px;
  color:var(--text-muted);
}
.req { color:var(--cyan); }

.glm-field input,
.glm-field select {
  background:var(--surface2);
  border:1px solid var(--border);
  border-radius:8px;
  color:var(--text);
  font-family:var(--font);
  font-size:.93rem;
  padding:11px 14px;
  transition:border-color .2s,box-shadow .2s;
  outline:none; width:100%;
}
.glm-field input::placeholder { color:#334155; }
.glm-field input:focus,
.glm-field select:focus {
  border-color:var(--cyan);
  box-shadow:0 0 0 3px rgba(56,189,248,.1);
}
.glm-field select option { background:var(--surface2); }
.glm-field select:disabled { opacity:.45; cursor:not-allowed; }

/* Info box (VRAM / CPU gen display) */
.glm-info-box {
  background:var(--surface3);
  border:1px solid var(--border2);
  border-radius:8px;
  padding:10px 14px;
  font-size:.88rem;
  color:var(--cyan);
  font-weight:600;
}

/* Star rating */
.glm-star-rating { display:flex; gap:5px; font-size:1.6rem; cursor:pointer; }
.glm-star-rating span { color:#1e293b; transition:color .15s,transform .15s; }
.glm-star-rating span.active { color:var(--gold); transform:scale(1.15); }

/* Submit */
.glm-btn-submit {
  display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%; padding:15px;
  background:var(--grad); border:none; border-radius:var(--r);
  color:#fff; font-family:var(--font-d);
  font-size:1.08rem; font-weight:700;
  letter-spacing:2px; text-transform:uppercase;
  cursor:pointer; transition:transform .25s,box-shadow .25s;
  box-shadow:0 4px 20px rgba(56,189,248,.2);
}
.glm-btn-submit:hover { transform:translateY(-2px); box-shadow:0 8px 28px rgba(56,189,248,.35); }
.glm-btn-submit .btn-icon { font-size:1.2rem; }

/* ============================================
   STORAGE DASHBOARD
============================================ */
.glm-storage-dashboard {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:16px;
  padding:26px 30px;
  margin-bottom:22px;
  box-shadow:0 10px 40px rgba(0,0,0,.4);
  position:relative; overflow:hidden;
}
.glm-storage-dashboard::before {
  content:''; position:absolute; top:0;left:0;right:0;
  height:3px; background:var(--grad);
}

.glm-dashboard-header {
  display:flex; align-items:center; gap:16px;
  margin-bottom:22px; flex-wrap:wrap;
}
.glm-hdd-icon { font-size:2.2rem; filter:drop-shadow(0 0 14px rgba(56,189,248,.5)); }
.glm-dashboard-header .glm-title { font-size:1.6rem; text-align:left; }

.glm-game-count-badge {
  margin-left:auto;
  background:var(--grad);
  border-radius:50px; padding:8px 18px;
  text-align:center; min-width:72px;
}
.glm-game-count-badge span { display:block; font-family:var(--font-d); font-size:1.7rem; font-weight:700; line-height:1; }
.glm-game-count-badge small { font-size:.65rem; text-transform:uppercase; letter-spacing:1px; opacity:.85; }

/* Drive buttons */
.glm-drive-label { font-size:.73rem; text-transform:uppercase; letter-spacing:1.5px; color:var(--text-muted); margin-bottom:10px; }
.glm-drive-buttons {
  display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px;
}
.glm-drive-btn {
  padding:8px 18px;
  background:var(--surface2); border:1px solid var(--border);
  border-radius:50px; color:var(--text-muted);
  font-family:var(--font-d); font-size:.88rem; font-weight:600;
  letter-spacing:.5px; cursor:pointer; transition:all .2s;
  white-space:nowrap;
}
.glm-drive-btn:hover { border-color:var(--cyan); color:var(--cyan); }
.glm-drive-btn.active {
  background:var(--grad); border-color:transparent;
  color:#fff; box-shadow:var(--glow);
}

/* Storage bar */
.glm-storage-bar {
  width:100%; height:26px;
  background:var(--surface2);
  border-radius:50px; overflow:hidden;
  border:1px solid var(--border); margin-bottom:12px;
}
.glm-storage-used {
  height:100%; border-radius:50px;
  background:var(--grad);
  transition:width .7s cubic-bezier(.4,0,.2,1);
  display:flex; align-items:center; min-width:0;
  position:relative;
}
.glm-storage-used.warning { background:var(--grad-warm); }

.glm-bar-label {
  position:absolute; right:10px;
  font-size:.68rem; font-weight:700;
  white-space:nowrap; letter-spacing:.5px;
}

.glm-storage-stats {
  display:flex; gap:20px; flex-wrap:wrap;
  font-size:.83rem; color:var(--text-muted);
  margin-bottom:4px;
}
.glm-storage-stats strong { color:var(--text); }

/* Selected tray */
.glm-selected-tray {
  margin-top:18px; padding:14px 18px;
  background:rgba(56,189,248,.04);
  border:1px dashed rgba(56,189,248,.25);
  border-radius:var(--r);
}
.glm-tray-header {
  display:flex; justify-content:space-between;
  align-items:center; margin-bottom:10px;
}
.glm-tray-header h4 { font-size:.78rem; text-transform:uppercase; letter-spacing:1px; color:var(--cyan); }
.glm-tray-clear {
  background:none; border:1px solid var(--border);
  border-radius:4px; color:var(--text-muted);
  font-size:.72rem; padding:3px 10px; cursor:pointer;
}
.glm-tray-clear:hover { border-color:var(--red); color:var(--red); }

#glm-tray-items { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:10px; }
.glm-tray-tag {
  background:var(--surface2); border:1px solid var(--border);
  border-radius:50px; padding:3px 11px;
  font-size:.75rem; color:var(--text);
}
.glm-tray-total {
  display:flex; gap:20px;
  font-size:.82rem; color:var(--text-muted);
  border-top:1px solid var(--border); padding-top:9px;
}
.glm-tray-total strong { color:var(--cyan); }

/* ============================================
   FILTER PANEL
============================================ */
.glm-filter-panel {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:16px;
  padding:22px 26px;
  margin-bottom:22px;
}
.glm-filter-header {
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:18px;
}
.glm-filter-title {
  font-family:var(--font-d); font-size:1rem;
  font-weight:700; text-transform:uppercase; letter-spacing:1.5px;
  color:var(--cyan);
}
.glm-filter-reset {
  background:none; border:1px solid var(--border);
  border-radius:6px; padding:5px 14px;
  color:var(--text-muted); font-size:.78rem;
  cursor:pointer; transition:all .2s;
}
.glm-filter-reset:hover { border-color:var(--red); color:var(--red); }

.glm-filter-grid {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr));
  gap:14px;
}
.glm-filter-group { display:flex; flex-direction:column; gap:7px; }
.glm-filter-group-full { grid-column:1/-1; }
.glm-filter-group label { font-size:.71rem; text-transform:uppercase; letter-spacing:1.3px; color:var(--text-muted); font-weight:600; }

.glm-filter-input,
.glm-filter-select {
  background:var(--surface2);
  border:1px solid var(--border);
  border-radius:8px;
  color:var(--text); font-family:var(--font);
  font-size:.88rem; padding:10px 13px;
  outline:none; width:100%;
  transition:border-color .2s;
}
.glm-filter-input::placeholder { color:#334155; }
.glm-filter-input:focus,
.glm-filter-select:focus { border-color:var(--cyan); }
.glm-filter-select option,
.glm-filter-select optgroup { background:var(--surface2); }

/* Active filter tags */
.glm-active-filters {
  display:flex; align-items:center; gap:8px;
  margin-top:14px; flex-wrap:wrap; padding-top:14px;
  border-top:1px solid var(--border);
}
.glm-active-label { font-size:.7rem; text-transform:uppercase; letter-spacing:1px; color:var(--text-muted); }

.glm-filter-tag {
  display:inline-flex; align-items:center; gap:6px;
  background:var(--cyan-dim); border:1px solid rgba(56,189,248,.3);
  border-radius:50px; padding:3px 12px;
  font-size:.75rem; color:var(--cyan);
}
.glm-filter-tag button {
  background:none; border:none;
  color:var(--cyan); cursor:pointer;
  font-size:.8rem; padding:0; line-height:1;
}

.glm-results-bar {
  margin-top:12px;
  font-size:.82rem; color:var(--text-muted);
}
.glm-results-bar strong { color:var(--text); }

/* ============================================
   GAME GRID & CARDS
============================================ */
.glm-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(255px,1fr));
  gap:18px;
}

.glm-empty, .glm-no-results {
  text-align:center; padding:56px 20px;
  color:var(--text-muted);
  grid-column:1/-1;
}
.glm-empty-icon { font-size:3rem; margin-bottom:14px; display:block; }
.glm-empty a, .glm-btn-small {
  color:var(--cyan); text-decoration:none;
  background:var(--cyan-dim); border:1px solid rgba(56,189,248,.3);
  border-radius:6px; padding:8px 18px; font-size:.85rem;
  cursor:pointer; margin-top:12px; display:inline-block;
}

/* Card */
.glm-card {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r); overflow:hidden;
  transition:transform .25s,border-color .25s,box-shadow .25s;
  cursor:pointer; position:relative;
}
.glm-card:hover {
  transform:translateY(-4px);
  border-color:rgba(56,189,248,.35);
  box-shadow:0 14px 40px rgba(0,0,0,.45), 0 0 0 1px rgba(56,189,248,.08);
}
.glm-card.selected {
  border-color:var(--cyan);
  box-shadow:0 0 0 2px rgba(56,189,248,.25), 0 8px 30px rgba(0,0,0,.3);
}
.glm-card.hidden { display:none !important; }

/* Card image */
.glm-card-img {
  position:relative; height:152px;
  background:var(--surface2); overflow:hidden;
}
.glm-card-img img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .4s;
}
.glm-card:hover .glm-card-img img { transform:scale(1.05); }
.glm-card-placeholder {
  display:flex; align-items:center; justify-content:center;
  height:100%; font-size:3rem; opacity:.2;
}

.glm-genre-badge {
  position:absolute; top:8px; left:8px;
  background:rgba(56,189,248,.18);
  backdrop-filter:blur(8px);
  border:1px solid rgba(56,189,248,.28);
  border-radius:50px; padding:2px 9px;
  font-size:.66rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.8px; color:var(--cyan);
}

.glm-delete-btn {
  position:absolute; top:8px; right:8px;
  width:26px; height:26px;
  background:rgba(248,113,113,.15);
  backdrop-filter:blur(6px);
  border:1px solid rgba(248,113,113,.28);
  border-radius:50%; color:var(--red); font-size:.72rem;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity .2s,background .2s; z-index:10;
}
.glm-card:hover .glm-delete-btn { opacity:1; }
.glm-delete-btn:hover { background:rgba(248,113,113,.35); }

.glm-select-overlay {
  position:absolute; bottom:8px; right:8px;
  display:flex; align-items:center; gap:5px;
  opacity:0; transition:opacity .2s;
}
.glm-card:hover .glm-select-overlay,
.glm-card.selected .glm-select-overlay { opacity:1; }
.glm-select-overlay input[type=checkbox] {
  width:16px; height:16px; accent-color:var(--cyan); cursor:pointer;
}
.glm-select-overlay label {
  font-size:.65rem; color:#fff; cursor:pointer; font-weight:700;
  text-transform:uppercase; letter-spacing:.8px;
  background:rgba(0,0,0,.55); padding:2px 6px; border-radius:4px;
}

/* Card body */
.glm-card-body { padding:14px 16px; }
.glm-card-title {
  font-family:var(--font-d); font-size:1.05rem; font-weight:600;
  letter-spacing:.5px; margin-bottom:6px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.glm-card-stars { font-size:.85rem; color:var(--gold); margin-bottom:8px; letter-spacing:1px; }

.glm-card-specs { margin-bottom:10px; }
.spec-row {
  display:flex; align-items:flex-start; gap:6px;
  font-size:.77rem; color:var(--text-muted);
  padding:3px 0; border-bottom:1px solid rgba(255,255,255,.03);
}
.spec-row:last-child { border-bottom:none; }
.spec-row.spec-full { }
.spec-icon { font-size:.8rem; min-width:16px; }
.spec-val { color:var(--text); line-height:1.3; }
.spec-sub { color:var(--text-muted); font-style:normal; font-size:.72rem; }

.glm-card-price {
  font-family:var(--font-d); font-size:1.05rem; font-weight:700;
  color:var(--gold);
  border-top:1px solid var(--border); padding-top:9px;
}
.free-tag { color:var(--green); font-size:.78rem; font-weight:700; letter-spacing:1px; }

/* ============================================
   RESPONSIVE
============================================ */
@media (max-width:900px) {
  .glm-filter-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px) {
  .glm-form { padding:20px 14px; }
  .glm-form-grid { grid-template-columns:1fr; }
  .glm-field-full { grid-column:1; }
  .glm-filter-grid { grid-template-columns:1fr; }
  .glm-title { font-size:1.7rem; }
  .glm-grid { grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); }
  .glm-storage-dashboard { padding:18px 14px; }
  .glm-dashboard-header { flex-direction:column; align-items:flex-start; }
  .glm-game-count-badge { margin-left:0; }
  .glm-drive-btn { padding:6px 12px; font-size:.78rem; }
}

/* ============================================
   v3 NEW STYLES
============================================ */

/* --- LOGIN BOX --- */
.glm-login-wrap {
  display:flex; justify-content:center; padding:40px 16px;
}
.glm-login-box {
  background:var(--surface); border:1px solid var(--border2);
  border-radius:var(--r); padding:40px 36px;
  max-width:420px; width:100%; text-align:center;
  box-shadow:var(--glow);
}
.glm-login-icon { font-size:2.8rem; margin-bottom:14px; }
.glm-login-box h2 { font-family:var(--font-d); font-size:1.6rem; color:var(--cyan); margin-bottom:6px; }
.glm-login-box p  { color:var(--text-muted); font-size:.9rem; margin-bottom:20px; }
.glm-login-error  { background:rgba(248,113,113,.12); border:1px solid rgba(248,113,113,.35);
  color:#f87171; padding:10px 14px; border-radius:6px; font-size:.88rem; margin-bottom:16px; }
.glm-login-form { text-align:left; }
.glm-login-field { margin-bottom:14px; }
.glm-login-field label { display:block; font-size:.82rem; color:var(--text-muted); margin-bottom:5px; font-weight:600; letter-spacing:.5px; }
.glm-login-field input {
  width:100%; padding:11px 14px;
  background:var(--surface2); border:1px solid var(--border);
  border-radius:8px; color:var(--text); font-size:.95rem;
  transition:border-color .2s;
}
.glm-login-field input:focus { outline:none; border-color:var(--cyan); }

/* --- ADMIN BAR --- */
.glm-admin-bar {
  display:flex; justify-content:space-between; align-items:center;
  background:rgba(52,211,153,.08); border:1px solid rgba(52,211,153,.25);
  border-radius:var(--r); padding:10px 18px; margin-bottom:22px;
  font-size:.88rem; color:var(--green);
}
.glm-logout-btn {
  background:rgba(248,113,113,.12); border:1px solid rgba(248,113,113,.3);
  color:#f87171; padding:5px 14px; border-radius:6px; cursor:pointer;
  font-size:.82rem; text-decoration:none; transition:background .2s;
}
.glm-logout-btn:hover { background:rgba(248,113,113,.22); }

/* --- REQUIREMENT LEVEL TOGGLE --- */
.glm-req-toggle {
  display:flex; gap:8px; flex-wrap:wrap;
}
.glm-req-btn {
  padding:8px 18px;
  background:var(--surface2); border:1px solid var(--border);
  border-radius:8px; color:var(--text-muted); cursor:pointer;
  font-size:.85rem; font-weight:600; transition:all .2s;
}
.glm-req-btn:hover { border-color:var(--cyan); color:var(--cyan); }
.glm-req-btn.active { background:var(--cyan-dim); border-color:var(--cyan); color:var(--cyan); }

/* --- REQ BLOCKS --- */
.glm-field.glm-field-full.glm-section-title { grid-column:1/-1; }
.glm-field.glm-field-full.glm-section-title h3 {
  font-family:var(--font-d); font-size:1.15rem; color:var(--cyan);
  border-bottom:1px solid var(--border); padding-bottom:8px; margin-top:12px;
}
.glm-section-sub {
  grid-column:1/-1; font-size:.78rem; font-weight:700;
  color:var(--purple); text-transform:uppercase; letter-spacing:.8px;
  padding:6px 0 2px; border-bottom:1px dashed rgba(129,140,248,.2);
}
.glm-req-block {
  grid-column:1/-1;
  border:1px solid var(--border2);
  border-radius:var(--r); overflow:hidden; margin-bottom:6px;
}
.glm-req-block-header {
  padding:10px 16px; font-family:var(--font-d);
  font-size:.95rem; font-weight:700; letter-spacing:.5px;
}
.glm-req-block-header.low  { background:rgba(251,191,36,.08); color:var(--gold); border-bottom:1px solid rgba(251,191,36,.2); }
.glm-req-block-header.high { background:rgba(56,189,248,.07); color:var(--cyan); border-bottom:1px solid var(--border); }
.glm-req-inner {
  padding:16px; display:grid;
  grid-template-columns:1fr 1fr; gap:14px;
  background:var(--surface);
}

/* --- DUAL INPUT (dropdown + manual) --- */
.glm-dual-input {
  display:flex; gap:8px; flex-direction:column;
}
.glm-dual-input select,
.glm-dual-input input[type="text"] {
  width:100%; padding:10px 12px;
  background:var(--surface2); border:1px solid var(--border);
  border-radius:8px; color:var(--text); font-size:.88rem;
  transition:border-color .2s;
}
.glm-dual-input input[type="text"]::placeholder { color:var(--text-muted); font-style:italic; font-size:.82rem; }
.glm-dual-input select:focus,
.glm-dual-input input[type="text"]:focus { outline:none; border-color:var(--cyan); }

/* --- PRICE INPUT WITH RS: PREFIX --- */
.glm-price-input-wrap {
  display:flex; align-items:center;
  background:var(--surface2); border:1px solid var(--border);
  border-radius:8px; overflow:hidden; transition:border-color .2s;
}
.glm-price-input-wrap:focus-within { border-color:var(--cyan); }
.glm-price-prefix {
  padding:0 12px; color:var(--gold); font-weight:700;
  font-size:.9rem; white-space:nowrap; border-right:1px solid var(--border);
  background:rgba(251,191,36,.07);
}
.glm-price-field {
  flex:1; padding:10px 12px;
  background:transparent; border:none;
  color:var(--text); font-size:.9rem; outline:none;
}

/* --- FILTER MODE ROW (select + mode dropdown) --- */
.glm-filter-mode-row {
  display:flex; gap:6px; align-items:center;
}
.glm-filter-mode-row .glm-filter-select { flex:1; min-width:0; }
.glm-filter-mode-select {
  flex-shrink:0; width:auto; min-width:120px;
  padding:8px 10px;
  background:var(--surface2); border:1px solid var(--border2);
  color:var(--cyan); font-size:.76rem; font-weight:600;
  border-radius:8px; cursor:pointer; outline:none;
  transition:border-color .2s;
}
.glm-filter-mode-select:focus { border-color:var(--cyan); }

/* --- TRAY EXPORT BUTTON --- */
.glm-tray-actions { display:flex; gap:8px; align-items:center; }
.glm-tray-export {
  background:rgba(52,211,153,.12); border:1px solid rgba(52,211,153,.3);
  color:var(--green); padding:5px 14px; border-radius:6px;
  cursor:pointer; font-size:.82rem; font-weight:600;
  transition:background .2s; white-space:nowrap;
}
.glm-tray-export:hover { background:rgba(52,211,153,.22); }

/* --- SPEC ALT (secondary GPU/CPU label) --- */
.spec-alt {
  color:var(--text-muted); font-size:.75rem;
  display:inline-block; margin-top:2px;
}

/* --- ALIGNMENT FIX: GPU Model label width --- */
.glm-filter-group label {
  display:block; white-space:nowrap; overflow:hidden;
  text-overflow:ellipsis; max-width:100%;
}
.glm-filter-grid {
  align-items:start;
}
.glm-filter-group {
  display:flex; flex-direction:column; gap:7px;
  min-width:0;
}

@media (max-width:640px) {
  .glm-req-inner { grid-template-columns:1fr; }
  .glm-filter-mode-row { flex-direction:column; align-items:stretch; }
  .glm-filter-mode-select { width:100%; }
}
