/* Shared filter dimensions. This sheet is intentionally loaded after module styles. */
:root{--filter-height:44px;--filter-gap:16px;--filter-label-size:13px;--filter-text-size:14px}
/* Generic forms have two columns; filter forms must use the entire card. */
:is(#content,#modalbody) form:has(> .module-filter-grid){display:block;grid-template-columns:none;width:100%;max-width:none;margin:0}
:is(#content,#modalbody) form:has(> .module-filter-grid)>.module-filter-grid{width:100%;grid-column:1/-1}
:is(#content,#modalbody) .card:has(>form>.module-filter-grid){padding:24px}
:is(#content,#modalbody) .card:has(>.sales-filter-top),:is(#content,#modalbody) .card:has(>form.admin-filter){padding:24px}
:is(#content,#modalbody) .card:has(>.sales-filter-top)>h2{margin:0 0 16px}
:is(#content,#modalbody) :is(.sales-filter-top,.sales-filter-extra,.cash-filters,.v-filters,.module-filter-grid,.admin-filter,.history-filters,.toolbar,.range-controls,.mgr-filters,.sales-filter-top + .draft-grid){min-width:0;max-width:100%;gap:var(--filter-gap);align-items:end}
:is(#content,#modalbody) :is(.sales-filter-top,.sales-filter-extra,.cash-filters,.v-filters,.module-filter-grid,.admin-filter,.history-filters,.toolbar,.range-controls,.mgr-filters,.sales-filter-top + .draft-grid) > *{min-width:0;max-width:100%}
:is(#content,#modalbody) :is(.sales-filter-top,.sales-filter-extra,.cash-filters,.v-filters,.module-filter-grid,.admin-filter,.history-filters,.toolbar,.range-controls,.mgr-filters,.sales-filter-top + .draft-grid) label{display:flex;flex-direction:column;align-items:stretch;grid-column:auto;gap:8px;margin:0;min-width:0;font-size:var(--filter-label-size);font-weight:600;line-height:20px;color:#4b5563}
:is(#content,#modalbody) :is(.sales-filter-top,.sales-filter-extra,.cash-filters,.v-filters,.module-filter-grid,.admin-filter,.history-filters,.toolbar,.range-controls,.mgr-filters,.sales-filter-top + .draft-grid) :is(input:not([type=checkbox]):not([type=radio]),select){display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;height:var(--filter-height);min-height:var(--filter-height);padding:11px 12px;font-size:var(--filter-text-size);font-weight:400;line-height:20px;border:1px solid #dfe2e7;border-radius:8px;background-color:#fff;color:var(--dark)}
:is(#content,#modalbody) :is(.sales-filter-top,.sales-filter-extra,.cash-filters,.v-filters,.module-filter-grid,.admin-filter,.history-filters,.toolbar,.range-controls,.mgr-filters,.sales-filter-top + .draft-grid) select{padding-right:36px}
:is(#content,#modalbody) :is(.sales-filter-top,.sales-filter-extra,.cash-filters,.v-filters,.module-filter-grid,.admin-filter,.history-filters,.toolbar,.range-controls,.mgr-filters,.sales-filter-top + .draft-grid) input[data-app-date]{padding-right:38px;font-variant-numeric:tabular-nums}
:is(#content,#modalbody) :is(.sales-filter-top,.sales-filter-extra,.cash-filters,.v-filters,.module-filter-grid,.admin-filter,.history-filters,.toolbar,.range-controls,.mgr-filters,.sales-filter-top + .draft-grid) :is(.primary,.secondary){height:var(--filter-height);min-height:var(--filter-height);width:auto;max-width:100%;padding:10px 16px;font-size:var(--filter-text-size);line-height:22px;white-space:nowrap;align-self:end}
:is(#content,#modalbody) :is(.module-filter-grid,.sales-filter-extra,.sales-filter-top + .draft-grid){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:var(--filter-gap)}
:is(#content,#modalbody) .module-filter-grid>.v-unit{align-self:end;min-height:44px;font-size:14px;line-height:20px;padding:0}
:is(#content,#modalbody) .module-filter-grid>.v-unit small{display:block;font-size:12px;line-height:18px;margin-top:4px}
:is(#content,#modalbody) .module-filter-grid>button{justify-self:start;min-width:140px}
:is(#content,#modalbody) :is(.sales-filter-top,.cash-filters){display:flex;flex-wrap:wrap;align-items:end;margin-top:0}
:is(#content,#modalbody) :is(.sales-filter-top,.cash-filters)>label{flex:1 1 210px}
:is(#content,#modalbody) .sales-filter-top>label:first-child{flex:2 1 280px;grid-column:auto}
:is(#content,#modalbody) :is(.sales-filter-top,.cash-filters)>button{flex:0 0 auto}
:is(#content,#modalbody) .sales-filter-extra{padding-top:18px;margin-top:18px}
:is(#content,#modalbody) .sales-filter-top + .draft-grid{padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}
:is(#content,#modalbody) .admin-filter{display:flex;flex-wrap:wrap;width:100%;max-width:none;margin:0;gap:16px}
:is(#content,#modalbody) .admin-filter>label:first-child{flex:2 1 280px;max-width:none}
:is(#content,#modalbody) .admin-filter>label{flex:1 1 210px}
:is(#content,#modalbody) .admin-filter>button{flex:0 0 auto}
:is(#content,#modalbody) .v-filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:16px;padding:24px}
:is(#content,#modalbody) .v-filters>div:first-child{grid-column:auto}
:is(#content,#modalbody) .v-filters .filter-label,:is(#content,#modalbody) .mgr-filters .filter-label{font-size:13px;line-height:20px;margin-bottom:8px}
:is(#content,#modalbody) .mgr-filters{padding:24px;gap:16px}
:is(#content,#modalbody) .mgr-filters summary{height:44px;font-size:14px;padding:11px 12px;line-height:20px}
:is(#content,#modalbody) .mgr-filters .units-list{top:50px}
:is(#content,#modalbody) .mgr-filters>.range-controls{grid-template-columns:repeat(2,minmax(210px,1fr)) max-content}
:is(#content,#modalbody) .range-controls{gap:16px}
:is(#content,#modalbody) .history-filters,:is(#content,#modalbody) .toolbar{display:flex;flex-wrap:wrap;gap:16px}
:is(#content,#modalbody) .history-filters>select{flex:1 1 210px}
:is(#content,#modalbody) .toolbar>input{flex:1 1 280px}
:is(#content,#modalbody) .period-panel .period-tabs{gap:10px;flex-wrap:wrap}
:is(#content,#modalbody) .period-panel .period-tabs button{min-height:44px;padding:10px 16px;font-size:14px;line-height:22px;white-space:nowrap}
:is(#content,#modalbody) .module-filter-grid .check-label{flex-direction:row;align-items:center;gap:10px;min-height:44px;font-weight:400}
#unit{min-height:44px;font-size:14px}
@media(max-width:700px){
 :is(#content,#modalbody) :is(.module-filter-grid,.sales-filter-extra,.sales-filter-top + .draft-grid,.v-filters){grid-template-columns:repeat(2,minmax(0,1fr))}
 :is(#content,#modalbody) .mgr-filters>.range-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
 :is(#content,#modalbody) .mgr-filters>.range-controls>button{grid-column:1/-1;justify-self:start}
 :is(#content,#modalbody) .card:has(>form>.module-filter-grid),:is(#content,#modalbody) .card:has(>.sales-filter-top),:is(#content,#modalbody) .card:has(>form.admin-filter),:is(#content,#modalbody) .v-filters,:is(#content,#modalbody) .mgr-filters{padding:18px}
 :is(#content,#modalbody) .module-filter-grid>button{min-width:0;justify-self:stretch}
}
@media(max-width:480px){
 :is(#content,#modalbody) :is(.module-filter-grid,.sales-filter-extra,.sales-filter-top + .draft-grid,.v-filters){grid-template-columns:minmax(0,1fr)}
 :is(#content,#modalbody) :is(.sales-filter-top,.cash-filters)>label,:is(#content,#modalbody) .sales-filter-top>label:first-child,:is(#content,#modalbody) .admin-filter>label{flex-basis:100%}
 :is(#content,#modalbody) .mgr-filters>.range-controls{grid-template-columns:minmax(0,1fr)}
}

:is(#content,#modalbody) :is(.sales-filter-top,.sales-filter-extra,.cash-filters,.v-filters,.module-filter-grid,.admin-filter,.history-filters,.toolbar,.range-controls,.mgr-filters) label:has(>input[type=checkbox]),:is(#content,#modalbody) :is(.sales-filter-top,.sales-filter-extra,.cash-filters,.v-filters,.module-filter-grid,.admin-filter,.history-filters,.toolbar,.range-controls,.mgr-filters) label:has(>input[type=radio]){flex-direction:row;align-items:center;gap:10px;font-weight:400}
