/* CPool R16 — shared interface rules. Document canvases remain untouched. */
/* Important declarations in this named layer supersede legacy unlayered
   important rules without increasing selector specificity on every page. */
@layer cpool-uniformita {
:root {
  --cp-ui-text: #172238;
  --cp-ui-muted: #596579;
  --cp-ui-border: #dce2eb;
  --cp-ui-accent: #4c50d9;
  --cp-ui-control: 44px;
  --cp-ui-radius: 10px;
  --cp-ui-title: 28px;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield {
  color: var(--cp-ui-text);
  font-size: 16px;
  line-height: 1.5;
}
/* Identical heading geometry at each breakpoint; no absolute positioning. */
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
  :is(.cpool-v2-hero,.cpool-page-header,.cpool-support-hero,.cpool-v25-section-head) {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(0,40%) !important;
  align-items: start !important;
  gap: 24px !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
  min-height: 92px !important;
  width: 100% !important;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
  :is(.cpool-v2-hero,.cpool-page-header,.cpool-support-hero,.cpool-v25-section-head) > div {
  min-width: 0 !important;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
  :is(.cpool-v2-hero,.cpool-page-header,.cpool-support-hero,.cpool-v25-section-head,.cpool-settings-page-heading) h1 {
  font-size: var(--cp-ui-title) !important;
  line-height: 36px !important;
  font-weight: 600 !important;
  letter-spacing: -.02em !important;
  color: var(--cp-ui-text) !important;
  margin: 0 !important;
  overflow-wrap: anywhere;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
  :is(.cpool-v2-hero,.cpool-page-header,.cpool-support-hero,.cpool-v25-section-head) p {
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  color: var(--cp-ui-muted) !important;
  margin: 8px 0 0 !important;
  max-width: 65ch;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
  :is(.cpool-v2-hero,.cpool-page-header,.cpool-support-hero) > :is(.cpool-v2-actions,.cpool-page-actions) {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Shared controls. Do not target PDF fields, canvas text or editor handles. */
html body[data-cpool-ui="r16"] :is(.cpool-portal-auth-card,.cpool-public-card,.cpool-portal-welcome,.cpool-portal-page .cpool-v2-panel-head) h1,
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] :is(#cpool-main-yield,#cpool-editor-main)
  :is(.cpool-reading-heading,.cpool-editor-page-heading,.cpool-demo-launch-card-v40,.cpool-studio-registration-page) h1,
html body[data-cpool-ui="r16"][data-cpool-controller="cpool_studio_registrations"] #cpool-main-yield h1 {
  font-size: var(--cp-ui-title) !important;
  line-height: 1.285714 !important;
  font-weight: 600 !important;
  letter-spacing: -.02em !important;
  color: var(--cp-ui-text) !important;
}
html body[data-cpool-ui="r16"].cpool-portal-body :is(.cpool-portal-page,.cpool-portal-auth-card,.cpool-portal-comms) .btn,
html body[data-cpool-ui="r16"] .cpool-public-card .btn {
  min-height: 44px !important;
  height: auto !important;
  padding: 10px 16px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  line-height: 20px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  white-space: normal !important;
  box-shadow: none !important;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
  :is(.cpool-v2-hero,.cpool-v25-section-head,.cpool-page-header,.cpool-support-hero):has(.cpool-v2-back) h1 {
  font-size: var(--cp-ui-title) !important;
  line-height: 1.285714 !important;
  font-weight: 600 !important;
  letter-spacing: -.02em !important;
  margin: 0 !important;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
  :is(.cpool-v2-hero,.cpool-v25-section-head,.cpool-page-header,.cpool-support-hero):has(> h1) {
  display: block !important;
  min-height: 0 !important;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
  :is(.cpool-v2-hero,.cpool-v25-section-head,.cpool-page-header,.cpool-support-hero):has(.cpool-v2-back) p {
  font-size: 16px !important;
  line-height: 24px !important;
  margin: 8px 0 0 !important;
  color: var(--cp-ui-muted) !important;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action]
  :is(#cpool-main-yield,.cpool-portal-page,.cpool-public-card,.modal-box) :is(.btn,.base-button) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: var(--cp-ui-control) !important;
  height: auto !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 10px 16px !important;
  border-width: 1px !important;
  border-radius: var(--cp-ui-radius) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: normal !important;
  text-align: center !important;
  overflow-wrap: normal;
  word-break: normal;
  gap: 8px !important;
  box-shadow: none !important;
  vertical-align: middle;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
  :is(.cpool-v2-hero,.cpool-page-header,.cpool-form-actions) .btn { min-width: 112px; }
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield .btn-primary {
  background: var(--cp-ui-accent) !important;
  border-color: var(--cp-ui-accent) !important;
  color: #fff !important;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield .btn-primary:hover:not(:disabled) {
  background: #3e42bc !important;
  border-color: #3e42bc !important;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield .btn-outline:not(.btn-error) {
  background: #fff !important;
  border-color: #b8c2d1 !important;
  color: var(--cp-ui-text) !important;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield .btn:disabled {
  opacity: .5 !important;
  cursor: not-allowed;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
  :is(.btn,input,select,textarea,a):focus-visible {
  outline: 3px solid var(--cp-ui-accent) !important;
  outline-offset: 3px !important;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
  :is(.input,.select,.textarea) {
  box-sizing: border-box !important;
  min-height: 44px !important;
  max-width: 100% !important;
  min-width: 0 !important;
  border-radius: var(--cp-ui-radius) !important;
  font-size: 16px !important;
  line-height: 24px !important;
  border-color: var(--cp-ui-border) !important;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield :is(.input,.select) {
  height: 44px !important;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
  :is(.cpool-v2-panel-head,.cpool-v2-section-title) :is(h1,h2,h3) {
  font-size: 20px !important; line-height: 28px !important; font-weight: 600 !important;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
  :is(.cpool-v2-panel-head,.cpool-v2-section-title) p {
  font-size: 14px !important; line-height: 22px !important; color: var(--cp-ui-muted) !important;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
  :is(.cpool-v2-panel,.cpool-client-filter-panel,.cpool-document-filter-panel) {
  border-radius: 16px !important;
  border-color: var(--cp-ui-border) !important;
  box-shadow: 0 2px 8px rgb(23 34 56 / 3%) !important;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
  :is(.cpool-v2-list-row,.cpool-client-table) :is(small,.text-xs) {
  font-size: 14px !important;
  line-height: 20px !important;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield form.button_to {
  margin: 0 !important; max-width: 100%;
}
/* Filter actions always end the filter grid, at the right. */
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
  :is(.cpool-client-filter-actions,.cpool-document-filter-actions,.cpool-form-actions) {
  display: flex !important;
  grid-column: 1 / -1 !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  width: 100% !important;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
  :is(.cpool-client-filter-actions,.cpool-document-filter-actions) .btn { min-width: 112px; }
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
  :is(.cpool-client-filter-form,.cpool-document-filter-form,.cpool-task-filters) label {
  font-size: 14px !important; line-height: 20px !important; font-weight: 500 !important;
}
/* Preserve the DOM and keyboard order; no CSS order reversal. */
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield .cpool-file-preview-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: start;
  gap: 16px;
  padding-block: 12px;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield .cpool-file-preview-copy {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 22px;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield .cpool-file-preview-row > .btn {
  min-width: 112px !important;
}
html body[data-cpool-ui="r16"].cpool-editor-layout[data-cpool-controller][data-cpool-action]
  #cpool-editor-main .cpool-editor-page-heading h1 {
  font-size: var(--cp-ui-title) !important;
  line-height: 1.285714 !important;
  font-weight: 600 !important;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield table.table td:last-child:has(> .btn) {
  min-width: 104px !important;
  width: 104px;
}
html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield table.table td > .btn {
  min-width: 72px !important;
  padding-inline: 12px !important;
}
@media (max-width: 767px) {
  :root { --cp-ui-title: 24px; }
  html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield .cpool-file-preview-row {
    grid-template-columns: minmax(0,1fr);
  }
  html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield .cpool-file-preview-row > .btn {
    justify-self: end;
  }
  html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield > .cpool-clients-index-v10-3 {
    padding-top: 22px !important;
  }
  html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
    :is(.cpool-v2-hero,.cpool-page-header,.cpool-support-hero,.cpool-v25-section-head) {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 16px !important;
    min-height: 0 !important;
  }
  html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
    :is(.cpool-v2-hero,.cpool-page-header,.cpool-support-hero,.cpool-settings-page-heading) h1 {
    line-height: 32px !important;
  }
  html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
    :is(.cpool-v2-hero,.cpool-page-header,.cpool-support-hero) > :is(.cpool-v2-actions,.cpool-page-actions) {
    justify-content: flex-start !important;
  }
  html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
    :is(.cpool-v2-hero,.cpool-page-header) > .cpool-v2-actions > :is(a,button,form) {
    flex: 1 1 140px !important;
  }
  html body[data-cpool-ui="r16"][data-cpool-controller][data-cpool-action] #cpool-main-yield
    :is(.cpool-v2-hero,.cpool-page-header) > .cpool-v2-actions > form > .btn { width: 100% !important; }
}
@media (prefers-reduced-motion: reduce) {
  html body[data-cpool-ui="r16"][data-cpool-controller] #cpool-main-yield .btn { transition: none !important; }
}
}
