/* CODE.NTT v1922 — shared compact search/filter presentation.
   Reference: module_submission_stats / quizsubmissionstats.
   Presentation only: never owns form action/name/id/value or search semantics. */
:root{
  --ntt-search-bg:var(--site-soft,#f8fafc);
  --ntt-search-card:var(--site-card,#fff);
  --ntt-search-border:var(--site-border,#d7dee8);
  --ntt-search-text:var(--site-text,#1f2937);
  --ntt-search-muted:var(--site-muted,#607086);
}

/* Shared shell for dynamically recognized modern search/filter forms. */
form.ntt-search-compact-v1922:not(.ntt-search-legacy-v1922):not(.ntt-substats-filter){
  width:100%;max-width:none;min-width:0;box-sizing:border-box;
  margin:8px 0 12px;padding:10px 12px;
  border:1px solid var(--ntt-search-border);border-radius:12px;
  background:var(--ntt-search-bg);color:var(--ntt-search-text);
}
form.ntt-search-compact-v1922 input[type="text"],
form.ntt-search-compact-v1922 input[type="search"],
form.ntt-search-compact-v1922 input[type="email"],
form.ntt-search-compact-v1922 input[type="tel"],
form.ntt-search-compact-v1922 input[type="number"],
form.ntt-search-compact-v1922 input[type="date"],
form.ntt-search-compact-v1922 input[type="datetime-local"],
form.ntt-search-compact-v1922 input[type="time"],
form.ntt-search-compact-v1922 select{
  box-sizing:border-box;max-width:100%;height:36px!important;min-height:36px;
  border:1px solid var(--ntt-search-border)!important;border-radius:7px!important;
  background:var(--ntt-search-card)!important;color:var(--ntt-search-text)!important;
  padding:6px 9px!important;box-shadow:none!important;font-weight:400;
}
form.ntt-search-compact-v1922 textarea{
  box-sizing:border-box;max-width:100%;border:1px solid var(--ntt-search-border)!important;
  border-radius:7px!important;background:var(--ntt-search-card)!important;
  color:var(--ntt-search-text)!important;padding:7px 9px!important;box-shadow:none!important;
}
form.ntt-search-compact-v1922 label{color:var(--ntt-search-text)}
form.ntt-search-compact-v1922 .help-block,
form.ntt-search-compact-v1922 small,
form.ntt-search-compact-v1922 .text-muted{color:var(--ntt-search-muted)!important}

/* Simple one-line / wrap filters become the same compact toolbar family as submission stats. */
form.ntt-search-inline-v1922{display:flex!important;flex-wrap:wrap;align-items:flex-end;gap:8px 10px}
form.ntt-search-inline-v1922>input:not([type="hidden"]){flex:1 1 230px;min-width:170px;width:auto!important}
form.ntt-search-inline-v1922>select{flex:0 1 190px;min-width:130px;width:auto!important}
form.ntt-search-inline-v1922>.btn,
form.ntt-search-inline-v1922>button,
form.ntt-search-inline-v1922>input[type="submit"]{flex:0 0 auto;margin:0!important;min-height:34px}
form.ntt-search-inline-v1922>a.btn{margin:0!important;align-self:center}

/* Legacy search panels: preserve mySH()/is-open behavior, but replace the tall row-by-row
   table with responsive filter cards. This is the largest cross-module height reduction. */
form.ntt-search-legacy-v1922{width:100%;max-width:none;min-width:0;margin:0}
form.ntt-search-legacy-v1922 #myTK.panel{
  width:100%;max-width:none;min-width:0;margin:8px 0 12px!important;
  border:1px solid var(--ntt-search-border)!important;border-radius:12px!important;
  background:var(--ntt-search-bg)!important;color:var(--ntt-search-text)!important;
  box-shadow:none!important;overflow:hidden;
}
form.ntt-search-legacy-v1922 #myTK>.panel-heading{
  min-height:0;padding:7px 11px!important;border:0!important;border-bottom:1px solid var(--ntt-search-border)!important;
  background:transparent!important;color:var(--ntt-search-text)!important;
}
form.ntt-search-legacy-v1922 #myTK>.panel-heading .panel-title,
form.ntt-search-legacy-v1922 #myTK .panel-title{
  margin:0!important;font-size:13px!important;line-height:1.35!important;font-weight:700!important;color:var(--ntt-search-text)!important;
}
form.ntt-search-legacy-v1922 #myTK>.list-group,
form.ntt-search-legacy-v1922 #myTK>.list-group.scrolllist{
  margin:0!important;border:0!important;border-radius:0!important;max-height:none!important;height:auto!important;overflow:visible!important;background:transparent!important;
}
form.ntt-search-legacy-v1922 #myTK .panel-body{padding:10px 12px!important;background:transparent!important;color:inherit!important}
form.ntt-search-legacy-v1922 #myTK .table-responsive{margin:0!important;border:0!important;overflow:visible!important}
form.ntt-search-legacy-v1922 #myTK #data-search{min-width:0;width:100%}
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px 12px;
  width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;border:0!important;border-collapse:separate!important;background:transparent!important;
}
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922>tbody{display:contents!important}
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922 tr.ntt-search-row-v1922{
  display:grid!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;align-content:start;
}
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922 tr.ntt-search-row-3-v1922{
  grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label option" "control control";gap:4px 8px;
}
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922 tr.ntt-search-row-2-v1922{
  grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label option";gap:4px 8px;align-items:end;
}
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922 tr.ntt-search-row-1-v1922{grid-template-columns:minmax(0,1fr)}
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922 tr.ntt-search-row-v1922>td{
  display:block!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;
  padding:0!important;border:0!important;background:transparent!important;color:inherit!important;vertical-align:top!important;
}
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922 tr.ntt-search-row-3-v1922>td:first-child{
  grid-area:label;font-size:12px;line-height:1.35;font-weight:600;color:var(--ntt-search-text);
}
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922 tr.ntt-search-row-3-v1922>td:nth-child(2){
  grid-area:option;display:flex!important;align-items:center!important;justify-content:flex-end;gap:4px;font-size:12px;line-height:1.25;white-space:nowrap;color:var(--ntt-search-muted)!important;
}
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922 tr.ntt-search-row-3-v1922>td:nth-child(3){grid-area:control}
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922 tr.ntt-search-row-2-v1922>td:first-child{grid-area:label;font-size:12px;line-height:1.35;font-weight:600}
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922 tr.ntt-search-row-2-v1922>td:nth-child(2){grid-area:option;min-width:0}
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922 input.form-control,
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922 input[type="text"],
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922 input[type="search"],
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922 input[type="date"],
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922 input[type="datetime-local"],
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922 select{
  width:100%!important;max-width:100%!important;min-width:0!important;height:36px!important;margin:0!important;
}
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922 input[type="checkbox"],
form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922 input[type="radio"]{width:auto!important;height:auto!important;min-height:0;margin:0 0 0 3px!important;padding:0!important}
form.ntt-search-legacy-v1922 #myTK .ntt-search-control-line{display:grid!important;grid-template-columns:minmax(105px,.62fr) minmax(0,1fr);gap:6px;width:100%;align-items:center}
form.ntt-search-legacy-v1922 #myTK .ntt-search-control-line>select,
form.ntt-search-legacy-v1922 #myTK .ntt-search-control-line>input{width:100%!important;min-width:0!important;margin:0!important}

/* Secondary option panels inside search (problem types, AND/OR, scopes) stay compact. */
form.ntt-search-legacy-v1922 #myTK #data-search~.panel,
form.ntt-search-legacy-v1922 #myTK #data-search .panel{
  margin:10px 0 0!important;border:1px solid var(--ntt-search-border)!important;border-radius:9px!important;box-shadow:none!important;background:var(--ntt-search-card)!important;color:inherit!important;
}
form.ntt-search-legacy-v1922 #myTK #data-search~.panel>.panel-heading,
form.ntt-search-legacy-v1922 #myTK #data-search .panel>.panel-heading{
  padding:7px 10px!important;background:transparent!important;border-bottom:1px solid var(--ntt-search-border)!important;color:inherit!important;
}
form.ntt-search-legacy-v1922 .cb-inline{display:inline-flex!important;align-items:center;gap:4px;margin:3px 8px 3px 0!important;padding:3px 6px;border:1px solid var(--ntt-search-border);border-radius:7px;background:var(--ntt-search-card)}
form.ntt-search-legacy-v1922>p[align="center"],form.ntt-search-legacy-v1922 p.ntt-search-actions-v1922{
  display:flex!important;justify-content:flex-start!important;align-items:center;gap:7px;flex-wrap:wrap;margin:8px 0 0!important;text-align:left!important;
}
form.ntt-search-legacy-v1922>p[align="center"] .btn,form.ntt-search-legacy-v1922 p.ntt-search-actions-v1922 .btn{margin:0!important}

button.ntt-search-toggle-v1922,.ntt-search-toggle-v1922{
  margin:5px 0!important;padding:6px 10px!important;min-height:32px;border:1px solid var(--ntt-search-border)!important;border-radius:8px!important;
  background:var(--ntt-search-card)!important;color:var(--ntt-search-text)!important;font-size:13px!important;font-weight:600;box-shadow:none!important;
}
button.ntt-search-toggle-v1922:hover,.ntt-search-toggle-v1922:hover{background:var(--ntt-search-bg)!important}

/* Structured filters keep their module layout, but share the same compact surface/control rhythm. */
form.ntt-search-structured-v1922:not(.ntt-substats-filter){padding:10px 12px!important}
form.ntt-search-structured-v1922 label{font-size:12px;font-weight:600;margin-bottom:3px}
form.ntt-search-structured-v1922 .btn{min-height:34px}

/* Never shrink or box the reference filter itself; it remains the visual baseline. */
form.ntt-substats-filter.ntt-search-compact-v1922{box-sizing:border-box}

/* Dark-mode contract: explicit enough to beat legacy panel-primary / table inline colors. */
body[data-site-theme="dark"] form.ntt-search-compact-v1922:not(.ntt-substats-filter):not(.ntt-search-legacy-v1922),
body.dark-mode form.ntt-search-compact-v1922:not(.ntt-substats-filter):not(.ntt-search-legacy-v1922),
body.dark form.ntt-search-compact-v1922:not(.ntt-substats-filter):not(.ntt-search-legacy-v1922),
body[data-site-theme="dark"] form.ntt-search-legacy-v1922 #myTK.panel,
body.dark-mode form.ntt-search-legacy-v1922 #myTK.panel,
body.dark form.ntt-search-legacy-v1922 #myTK.panel{
  --ntt-search-bg:#172033;--ntt-search-card:#0f172a;--ntt-search-border:#334155;--ntt-search-text:#e5edf8;--ntt-search-muted:#c7d4e4;
  background:#172033!important;border-color:#334155!important;color:#e5edf8!important;
}
body[data-site-theme="dark"] form.ntt-search-compact-v1922 input:not([type="checkbox"]):not([type="radio"]),
body[data-site-theme="dark"] form.ntt-search-compact-v1922 select,
body[data-site-theme="dark"] form.ntt-search-compact-v1922 textarea,
body.dark-mode form.ntt-search-compact-v1922 input:not([type="checkbox"]):not([type="radio"]),
body.dark-mode form.ntt-search-compact-v1922 select,
body.dark-mode form.ntt-search-compact-v1922 textarea,
body.dark form.ntt-search-compact-v1922 input:not([type="checkbox"]):not([type="radio"]),
body.dark form.ntt-search-compact-v1922 select,
body.dark form.ntt-search-compact-v1922 textarea{
  background:#0f172a!important;border-color:#475569!important;color:#f8fafc!important;
}
body[data-site-theme="dark"] button.ntt-search-toggle-v1922,
body.dark-mode button.ntt-search-toggle-v1922,
body.dark button.ntt-search-toggle-v1922{background:#172033!important;border-color:#475569!important;color:#f8fafc!important}

@media (max-width:767px){
  form.ntt-search-compact-v1922:not(.ntt-substats-filter):not(.ntt-search-legacy-v1922){padding:9px 10px}
  form.ntt-search-inline-v1922{display:grid!important;grid-template-columns:minmax(0,1fr);gap:7px}
  form.ntt-search-inline-v1922>input:not([type="hidden"]),form.ntt-search-inline-v1922>select{width:100%!important;min-width:0!important;max-width:none!important}
  form.ntt-search-legacy-v1922 #myTK .panel-body{padding:9px 10px!important}
  form.ntt-search-legacy-v1922 #myTK #data-search>table.ntt-search-grid-table-v1922{grid-template-columns:minmax(0,1fr);gap:8px}
  form.ntt-search-legacy-v1922 #myTK .ntt-search-control-line{grid-template-columns:minmax(0,1fr)}
  form.ntt-search-legacy-v1922 .cb-inline{margin-right:4px!important}
}
