/* Shared filter geometry for Operations and Client Portal. */
:root{--filter-control-height:46px;--filter-gap:12px}

.filter-bar,
.workflow-invoice-filters,
.client-classification-toolbar{
  align-items:end;
  gap:var(--filter-gap);
}

.filter-bar{
  grid-template-columns:minmax(250px,1.45fr) minmax(185px,.72fr);
}

#view-proposals .filter-bar,
#view-contracts .filter-bar{
  grid-template-columns:minmax(250px,1.35fr) minmax(180px,.72fr) repeat(2,minmax(170px,.68fr))!important;
}

.filter-bar>.search,
.filter-bar>.dashboard-select,
.filter-bar>.date-filter,
.workflow-invoice-filters>input,
.workflow-invoice-filters>.dashboard-select,
.client-classification-toolbar>.client-search,
.client-classification-toolbar>label,
.client-classification-toolbar>.ghost-btn{
  min-width:0;
  width:100%;
  margin:0;
}

.filter-bar>.search,
.filter-bar>.dashboard-select,
.filter-bar .document-date,
.workflow-invoice-filters>input,
.workflow-invoice-filters>.dashboard-select,
.client-classification-toolbar input,
.client-classification-toolbar>.ghost-btn{
  box-sizing:border-box;
  height:var(--filter-control-height)!important;
  min-height:var(--filter-control-height)!important;
}

.filter-bar>.dashboard-select,
.workflow-invoice-filters>.dashboard-select{
  align-self:end;
}

.filter-bar .dashboard-select-trigger,
.workflow-invoice-filters .dashboard-select-trigger,
.client-classification-toolbar .dashboard-select-trigger{
  height:var(--filter-control-height);
  min-height:var(--filter-control-height);
}

.filter-bar .date-filter{
  grid-template-rows:15px var(--filter-control-height);
  gap:6px;
}

.filter-bar .date-filter>span{
  display:flex;
  align-items:center;
  height:15px;
  line-height:15px;
}

.workflow-invoice-filters{
  grid-template-columns:minmax(250px,1fr) minmax(190px,230px);
}

.client-classification-toolbar{
  grid-template-columns:minmax(280px,1fr) minmax(220px,.52fr) minmax(145px,auto);
}

@media(max-width:1100px){
  #view-proposals .filter-bar,
  #view-contracts .filter-bar{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .filter-bar{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  .filter-bar>.search{
    grid-column:1/-1!important;
  }
}

@media(max-width:800px){
  .client-classification-toolbar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .client-classification-toolbar>.client-search{
    grid-column:1/-1;
  }
}

@media(max-width:680px){
  .filter-bar,
  #view-proposals .filter-bar,
  #view-contracts .filter-bar,
  .workflow-invoice-filters,
  .client-classification-toolbar{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .filter-bar>.search,
  .client-classification-toolbar>.client-search{
    grid-column:auto!important;
  }
  .client-classification-toolbar>.ghost-btn{
    justify-content:center;
  }
}

.client-section-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.client-section-actions .primary-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:12px}@media(max-width:680px){.client-section-actions{display:grid;grid-template-columns:1fr;width:100%}.client-section-actions .primary-btn{width:100%}}
.calendar-filter-bar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(170px,.35fr) minmax(190px,.45fr) auto;align-items:end;gap:12px;margin-bottom:16px;padding:16px 18px;border:1px solid #d4e7eb;border-radius:18px;background:linear-gradient(135deg,#f7fcfd,#edf8fa)}.calendar-filter-bar label{display:grid;gap:6px}.calendar-filter-bar label>span{color:#39717b;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.calendar-filter-bar input,.calendar-filter-bar select{box-sizing:border-box;width:100%;min-height:44px;padding:0 14px;border:1px solid #c9dfe4;border-radius:13px;background:#fff;color:#173f50;font:600 11px inherit}.calendar-filter-bar input:focus,.calendar-filter-bar select:focus{outline:0;border-color:#42b8c5;box-shadow:0 0 0 3px rgba(35,182,196,.12)}.calendar-filter-bar .ghost-btn{min-height:44px}@media(max-width:850px){.calendar-filter-bar{grid-template-columns:1fr 1fr}.calendar-filter-search{grid-column:1/-1}}@media(max-width:560px){.calendar-filter-bar{grid-template-columns:1fr}.calendar-filter-search{grid-column:auto}.calendar-filter-bar .ghost-btn{width:100%}}
.calendar-view-switch{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:4px;border:1px solid #c9dfe4;border-radius:13px;background:#fff}.calendar-view-switch button{min-height:32px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:#51717c;font:800 10px inherit;cursor:pointer}.calendar-view-switch button:hover{background:#edf8fa}.calendar-view-switch button.active{background:linear-gradient(135deg,#0878ad,#20b8c5);color:#fff;box-shadow:0 5px 12px rgba(8,120,173,.2)}.calendar-panel[data-calendar-view="day"]>.calendar-weekdays{display:none}.calendar-panel[data-calendar-view="day"] .calendar-grid{grid-template-columns:1fr}.calendar-panel[data-calendar-view="day"] .calendar-day{min-height:360px}.calendar-panel[data-calendar-view="week"] .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-panel[data-calendar-view="week"] .calendar-day{min-height:220px}@media(max-width:720px){.calendar-view-switch{order:5;width:100%;margin:5px 0 0}.calendar-view-switch button{flex:1}.calendar-panel[data-calendar-view="week"]>.calendar-weekdays{display:none}.calendar-panel[data-calendar-view="week"] .calendar-grid{grid-template-columns:1fr}.calendar-panel[data-calendar-view="week"] .calendar-day{min-height:82px}}
