/* ClinicOS responsive consistency layer
   Layout and density only. Typography is owned by typography.css. */

/* Shared control bars: visible controls, predictable wrapping. */
#page-daysheet .exec-control-bar,
#page-inventory .exec-control-bar,
#page-labcases .exec-control-bar,
#page-preauth .exec-control-bar,
#page-insurance-recon .hist-filters,
#page-cash-recon .exec-control-bar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-end !important;
  gap: 10px !important;
  padding: 12px !important;
  border: 1px solid var(--silver) !important;
  border-radius: 16px !important;
  background: var(--bg2) !important;
  box-shadow: var(--shadow-soft) !important;
}

#page-inventory .exec-control-bar > select,
#page-insurance-recon .hist-filters > select,
#page-insurance-recon .hist-filters > input,
#page-cash-recon .exec-control-bar > select,
#page-cash-recon .exec-control-bar > input {
  flex: 1 1 165px !important;
  width: auto !important;
  min-width: 165px !important;
  max-width: 260px;
}

#page-inventory .exec-control-bar > .btn,
#page-insurance-recon .hist-filters > .btn,
#page-cash-recon .exec-control-bar > .btn {
  flex: 0 0 auto;
  min-height: 40px;
}

/* 1. Day Sheet: compact entry surface without covering controls. */
#page-daysheet .ds-page-intro { margin-bottom: 10px !important; }
#page-daysheet .ds-header { gap: 8px !important; padding: 10px !important; margin-bottom: 10px !important; }
#page-daysheet .patient-block { margin-bottom: 12px !important; }
#page-daysheet .patient-header-row { padding: 12px !important; gap: 10px !important; }
#page-daysheet .proc-body { gap: 8px !important; }
#page-daysheet .ds-proc-modern { padding: 11px !important; border-radius: 15px !important; }
#page-daysheet .ds-proc-grid { gap: 8px !important; }
#page-daysheet .ds-insurance-row { margin-top: 9px !important; padding: 10px !important; gap: 10px !important; }
#page-daysheet .ds-insurance-cards { gap: 8px !important; }
#page-daysheet .ins-card-slot { min-height: 0 !important; padding: 9px !important; }
#page-daysheet .ds-adjustment-row { margin-top: 9px !important; padding-top: 9px !important; gap: 8px !important; }
#page-daysheet .ds-totals { gap: 8px !important; }
#page-daysheet .ds-totals .ds-total-item { min-height: 86px !important; padding: 13px !important; }

/* 2. CRM: stable master/detail workspace and compact worklists. */
#page-crm .crm-head { margin-bottom: 12px !important; }
#page-crm .crm-privacy { margin-bottom: 10px !important; padding: 10px 12px !important; }
#page-crm .crm-view-switch { margin-bottom: 10px !important; }
#page-crm .crm-layout { grid-template-columns: minmax(280px, 340px) minmax(0, 1fr) !important; gap: 12px !important; align-items: start; }
#page-crm .crm-list-pane,
#page-crm .crm-workspace { min-width: 0; border-radius: 18px !important; }
#page-crm .crm-search { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 8px !important; padding: 12px !important; }
#page-crm .crm-patient-list { max-height: min(68vh, 720px); overflow-y: auto; }
#page-crm .crm-patient-row { min-height: 64px !important; padding: 10px 12px !important; }
#page-crm .crm-profile-head { padding: 14px 16px !important; gap: 12px !important; }
#page-crm .crm-tabs { overflow-x: auto; flex-wrap: nowrap !important; scrollbar-width: none; }
#page-crm .crm-overview-grid { gap: 10px !important; margin-bottom: 10px !important; }
#page-crm .crm-panel { padding: 14px !important; border-radius: 16px !important; }
#page-crm .crm-call-summary { gap: 8px !important; margin-bottom: 10px !important; }
#page-crm .crm-call-summary button { min-height: 78px !important; padding: 12px !important; }
#page-crm .crm-call-panel { border-radius: 17px !important; overflow: hidden; }
#page-crm .crm-call-row { padding: 11px 12px !important; gap: 10px !important; }
#page-crm .crm-row-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px !important; }

/* 3. Inventory: reduce hero/KPI height and keep every action reachable. */
#page-inventory .inventory-hero { margin-bottom: 14px; padding-top: 2px; }
#page-inventory .inventory-health-strip { gap: 9px; margin-bottom: 14px; }
#page-inventory .inventory-health-strip button { min-height: 104px; padding: 14px 16px; border-radius: 16px; }
#page-inventory .inventory-tabs { gap: 4px; padding: 4px; margin-bottom: 13px; border-radius: 14px; }
#page-inventory .inventory-tabs .inv-tab { padding: 9px 12px; }
#page-inventory .exec-control-bar { margin-bottom: 10px !important; }
#page-inventory .card { overflow: hidden; }
#page-inventory .card > div[style*="overflow-x"] { scrollbar-gutter: stable; }
#page-inventory .inventory-section-head { margin-bottom: 12px; }
#page-inventory .inventory-local-notice { margin-bottom: 10px; padding: 11px 13px; }

/* 4. Lab Cases and Pre-Authorizations. */
#page-labcases .lc-page-intro { margin-bottom: 12px; }
#page-labcases .exec-control-bar { display: grid !important; grid-template-columns: repeat(3, minmax(150px, 1fr)) auto !important; padding: 10px !important; }
#page-labcases .lc-list-card { padding: 6px !important; border-radius: 17px !important; }
#page-labcases .lc-table tbody { gap: 5px; }
#page-labcases .lc-case-card { min-height: 66px; padding: 9px 10px; gap: 10px; border-radius: 13px; }
#page-labcases .lc-case-icon { width: 34px; height: 34px; flex-basis: 34px; }
#page-labcases .lc-case-actions { flex-wrap: wrap; }

#page-preauth .preauth-shell { max-width: 1260px; margin: 0 auto; }
#page-preauth .preauth-hero { margin-bottom: 12px !important; }
#page-preauth .preauth-hero .card-body { padding: 16px !important; }
#page-preauth #preauth-summary { gap: 9px !important; margin-bottom: 11px !important; }
#page-preauth #preauth-summary > * { min-height: 100px !important; padding: 14px !important; }
#page-preauth .card { overflow: hidden; }
#page-preauth #preauth-list { padding: 0 10px 10px !important; }
#page-preauth #preauth-editor .card-body { padding: 15px !important; }

/* 5. Cash management, insurance reconciliation, and reports. */
#page-cash-control > .card { margin-bottom: 12px !important; overflow: hidden; }
#page-cash-control .card-head { flex-wrap: wrap; gap: 8px; }
#page-cash-control .kpi-grid { gap: 9px; }
#page-cash-control .kpi-grid > * { min-height: 100px !important; }
#page-cash-control [style*="grid-template-columns"] { max-width: 100%; }
#page-cash-control .card > [style*="display:grid"] { overflow-x: auto; }

#page-cash-recon .card { overflow: hidden; }
#page-cash-recon #cr3-form .card-body { gap: 10px !important; padding: 15px !important; }

#page-insurance-recon .hist-filters { margin-bottom: 12px !important; }
#page-insurance-recon #ic-count { margin-left: auto; }
#page-insurance-recon #ic-summary { gap: 9px !important; margin-bottom: 11px !important; }
#page-insurance-recon #ic-summary > * { min-height: 96px !important; padding: 13px !important; }
#page-insurance-recon > .card { overflow-x: auto; }
#page-insurance-recon .ic-row { min-width: 1020px; }

/* 6. Administration pages: compact summaries and stable directories. */
#page-offices .admin-page-head,
#page-procedures .admin-page-head,
#page-insurers .admin-page-head,
#page-users .admin-page-head,
#page-permissions .admin-page-head { margin-bottom: 16px; }

#page-offices .admin-summary-grid,
#page-procedures .admin-summary-grid,
#page-insurers .admin-summary-grid { gap: 9px; margin-bottom: 11px; }

#page-offices .admin-summary-card,
#page-procedures .admin-summary-card,
#page-insurers .admin-summary-card { min-height: 94px; padding: 14px 16px; }

#page-offices .admin-list-toolbar,
#page-procedures .admin-list-toolbar,
#page-insurers .admin-list-toolbar,
#page-users .admin-list-toolbar { min-height: 62px; padding: 11px 14px; }

#page-offices .admin-list-card,
#page-procedures .admin-list-card,
#page-insurers .admin-list-card,
#page-users .admin-list-card,
#page-permissions .admin-control-card { border-radius: 16px; }

#page-users #user-edit-panel .card-body { gap: 10px !important; padding: 15px !important; }
#page-permissions .admin-control-card { padding: 14px 16px; margin-bottom: 12px; }
#page-permissions #perm-panel .card { margin-bottom: 8px !important; }

@media (max-width: 1100px) {
  #page-daysheet .ds-proc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  #page-daysheet .ds-proc-name { grid-column: 1 / -1; }
  #page-daysheet .ds-proc-remove { grid-column: 3; justify-self: end; }
  #page-crm .crm-layout { grid-template-columns: 300px minmax(0, 1fr) !important; }
  #page-labcases .lc-case-card { grid-template-columns: 1.1fr .8fr 1fr auto; }
  #page-insurance-recon .hist-filters > * { flex: 1 1 170px !important; max-width: none; }
}

@media (max-width: 820px) {
  #page-crm .crm-layout { grid-template-columns: 1fr !important; }
  #page-crm .crm-patient-list { max-height: 260px; }
  #page-labcases .exec-control-bar { grid-template-columns: 1fr 1fr !important; }
  #page-labcases #lc-count { grid-column: 1 / -1; justify-self: end; }
  #page-cash-recon #cr3-form .card-body { grid-template-columns: 1fr 1fr !important; }
  #page-offices .admin-summary-grid,
  #page-procedures .admin-summary-grid,
  #page-insurers .admin-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  #page-daysheet .ds-proc-grid,
  #page-daysheet .ds-adjustment-row,
  #page-daysheet #exp-rows tr { grid-template-columns: 1fr !important; }
  #page-daysheet .ds-proc-remove { grid-column: 1; justify-self: end; }
  #page-inventory .inventory-health-strip { grid-template-columns: 1fr 1fr; }
  #page-inventory .inventory-health-strip button { min-height: 94px; padding: 12px; }
  #page-labcases .exec-control-bar { grid-template-columns: 1fr !important; }
  #page-labcases .lc-case-card { grid-template-columns: 1fr auto; }
  #page-cash-recon #cr3-form .card-body { grid-template-columns: 1fr !important; }
  #page-offices .admin-summary-grid,
  #page-procedures .admin-summary-grid,
  #page-insurers .admin-summary-grid { grid-template-columns: 1fr; }
}
