/* _container_force.css — v4 (unify container sizing + alignment)
   Scope: generic .container wrappers only (Patients, Vitals, Admin, future pages)
   Goal: consistent max-width, center alignment, and inner padding
*/

:root{
  --container-max: 980px;   /* change this to resize all pages at once */
  --container-pad: 10px;    /* inner horizontal padding */
  --card-gap: 14px;
}

/* 1) All containers use the same width and centering */
.container{
  max-width: var(--container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-pad);
  padding-right: var(--container-pad);
  box-sizing: border-box;
}

/* 2) Provide a sensible default spacing between stacked cards/sections */
.container > .card{ margin-top: var(--card-gap); margin-bottom: var(--card-gap); }

/* 3) Mobile nicety */
@media (max-width: 620px){
  :root{ --container-pad: 12px; }
}

/* 4) Safety: if a page-level wrapper misses .container, force width on known ids */
#patientsPage:not(.container),
#vitalsPage:not(.container),
#adminPage:not(.container){
  max-width: var(--container-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--container-pad) !important;
  padding-right: var(--container-pad) !important;
  box-sizing: border-box !important;
}

/* 5) Admin catch-all: constrain any top-level siblings after the header */
.cm-admin > :not(.site-header):not(script):not(style):not(link):not(meta):not(title){
  max-width: var(--container-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  padding-left: var(--container-pad);
  padding-right: var(--container-pad);
}
