/* GUARDER OS v4.2.1 — Compact UI
   Rule: desktop filter/search controls stay on one line whenever practical.
   Data tables and actual work content keep readable spacing. */
:root{--guarder-compact-control:36px;--guarder-compact-gap:8px}

/* OS-wide compact rule for search/filter control areas */
.panel.compact{padding:8px 10px!important}
.toolbar{gap:var(--guarder-compact-gap);margin-bottom:10px}
.toolbar input,.toolbar select{min-height:var(--guarder-compact-control)!important;padding:7px 10px!important}

/* Field/helper integrated pages: keep search conditions in one desktop row */
.field-v40-toolbar{
  display:flex!important;
  align-items:center!important;
  gap:var(--guarder-compact-gap)!important;
  flex-wrap:nowrap!important;
  margin-bottom:10px!important;
  min-width:0
}
.field-v40-toolbar>input,.field-v40-toolbar>select{
  width:auto!important;
  min-width:0!important;
  height:var(--guarder-compact-control)!important;
  min-height:var(--guarder-compact-control)!important;
  padding:7px 10px!important;
  margin:0!important
}
.field-v40-toolbar>input[type="text"],
.field-v40-toolbar>input:not([type]),
.field-v40-toolbar>input[placeholder]{flex:1 1 300px!important;min-width:180px!important}
.field-v40-toolbar>input[type="month"]{flex:0 0 168px!important;width:168px!important}
.field-v40-toolbar>select{flex:0 1 190px!important;min-width:132px!important;max-width:230px!important}
.field-v40-toolbar>.spacer{flex:1 1 12px!important;min-width:0}
.field-v40-toolbar>.tag,.field-v40-toolbar>button{flex:0 0 auto;white-space:nowrap}

/* Member/PDF toolbars already use grids; make them slimmer without changing function */
.v41-member-toolbar,.v41-pdf-toolbar{padding:8px 10px!important;gap:8px!important;margin-bottom:9px!important}
.v41-member-toolbar input,.v41-member-toolbar select,.v41-pdf-toolbar select{
  height:var(--guarder-compact-control)!important;
  min-height:var(--guarder-compact-control)!important;
  padding:7px 10px!important
}

/* Worker master filter: same compact desktop rhythm */
.field-v40-worker-filter{gap:8px!important;margin-bottom:10px!important;padding:8px 10px!important}
.field-v40-worker-filter input,.field-v40-worker-filter select{
  min-height:var(--guarder-compact-control)!important;
  height:var(--guarder-compact-control)!important;
  padding:7px 10px!important
}

/* Reduce decorative vertical whitespace, not actual table/data density */
.page-heading.field-v40-heading{margin-bottom:12px!important}
.field-v40-heading .muted{margin-top:4px;margin-bottom:0}
.field-v40-kpis{gap:9px!important;margin-bottom:11px!important}
.field-v40-kpi{padding:10px 12px!important;border-radius:12px!important}
.field-v40-kpi b{margin-top:4px!important;font-size:20px!important}
.field-v40-kpi em{margin-top:2px!important}
.field-v40-settlement-summary{gap:8px!important;margin-bottom:10px!important}
.field-v40-settlement-summary article{padding:9px 11px!important}
.field-v40-settlement-summary b{margin-top:3px!important;font-size:16px!important}
.field-v40-tax-grid{gap:8px!important;margin-bottom:10px!important}
.field-v40-tax-grid article{padding:9px 11px!important}
.field-v40-tax-grid b{margin-top:3px!important;font-size:16px!important}
.field-v40-tabs{margin-bottom:10px!important}
.field-v40-tabs button{padding:7px 11px!important;min-height:34px!important}

/* History: filter stays slim and rows use the available screen area */
#changetrack>.panel:not(.compact){padding:10px 14px!important}
.field-v40-history-row{padding:8px 4px!important}

/* v4.2 legal hub follows the same compact filter rule */
.legal-v42-hub{padding:11px 12px 10px!important;margin-bottom:11px!important}
.legal-v42-head{margin-bottom:8px!important}
.legal-v42-toolbar{gap:7px!important;margin-bottom:8px!important}
.legal-v42-toolbar input,.legal-v42-toolbar select{height:34px!important;min-height:34px!important}

/* Desktop: one line is the default. Mid-size screens may wrap cleanly. */
@media(max-width:1180px){
  .field-v40-toolbar{flex-wrap:wrap!important}
  .field-v40-toolbar>input[type="text"],.field-v40-toolbar>input:not([type]),.field-v40-toolbar>input[placeholder]{flex:1 1 260px!important}
  .field-v40-toolbar>.spacer{display:none}
}
@media(max-width:760px){
  .panel.compact{padding:9px!important}
  .field-v40-toolbar{display:grid!important;grid-template-columns:1fr!important}
  .field-v40-toolbar>input,.field-v40-toolbar>select,.field-v40-toolbar>input[type="month"]{width:100%!important;max-width:none!important;min-width:0!important;flex:none!important}
  .field-v40-toolbar>.spacer{display:none!important}
  .field-v40-toolbar>.tag,.field-v40-toolbar>button{justify-self:stretch;text-align:center}
}
