/* AquaFlow Enterprise: shared presentation contract for all three entrypoints.
 * Workflow geometry and permission visibility remain owned by their modules.
 * Change tokens here rather than adding per-release visual overrides.
 */
:root {
  --af-primary: #0878ef;
  --af-ink: #16324d;
  --af-muted: #536b82;
  --af-canvas: #f1f6fb;
  --af-surface: #fff;
  --af-soft: #edf6ff;
  --af-border: #d4e2ee;
  --af-radius: 14px;
  --af-shadow: 0 4px 16px #16324d08;
}
body.af-enterprise {
  background: var(--af-canvas);
  color: var(--af-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;
  line-height: 1.5;
}
body.af-enterprise :is(button, input, select, textarea) { font-family: inherit; }
body.af-enterprise :is(.header, .assistant-header) {
  border-bottom: 1px solid var(--af-border);
  padding-block: 12px;
  gap: 12px;
  margin-bottom: 14px;
}
body.af-enterprise :is(.brand h1, .assistant-brand h1, .login-brand h1) {
  font-size: clamp(18px, 2.4vw, 24px);
  letter-spacing: -.025em;
  line-height: 1.25;
}
body.af-enterprise :is(.logo, .assistant-logo) {
  background: var(--af-primary);
  border-radius: 12px;
  box-shadow: none;
}
body.af-enterprise :is(.page-head, .section-head, .assistant-section-head) {
  gap: 12px;
  flex-wrap: wrap;
}
body.af-enterprise :is(.page-head h2, .section-head h2, .quick h2) {
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: -.02em;
}
body.af-enterprise :is(.toolbar, .quick, .month-panel, .report-strip,
 .entry, .customer-card, .debtor, .payroll-card, .daily-card, .person-card,
 .finance-card, .summary, .permission-guide, .assistant-today-work,
 .assistant-week-payroll, .login-card) {
  border-color: var(--af-border);
  border-radius: var(--af-radius);
  box-shadow: var(--af-shadow);
}
body.af-enterprise :is(.toolbar, .quick, .month-panel) {
  background: var(--af-surface);
  padding: 12px 14px;
  gap: 12px;
  flex-wrap: wrap;
}
body.af-enterprise :is(.summary, .finance-card) {
  min-height: 106px;
  padding: 14px;
}
body.af-enterprise :is(.entry, .customer-card, .debtor, .person-card, .payroll-card, .daily-card) {
  padding: 12px 14px;
  background: var(--af-surface);
}
body.af-enterprise :is(.entry h3, .customer-card h3) { font-size: 16px; }
body.af-enterprise :is(.summary strong, .finance-card strong) {
  font-size: clamp(20px, 2.3vw, 26px);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
body.af-enterprise :is(.muted, .entry-date, .helper-note, .field-hint) {
  color: var(--af-muted);
  font-size: 12px;
  line-height: 1.5;
}
body.af-enterprise .btn {
  min-height: 44px;
  border-radius: 11px;
  font-size: 14px;
  line-height: 1.35;
  white-space: normal;
}
body.af-enterprise .btn.primary { background: var(--af-primary); color: #fff; }
body.af-enterprise .btn.secondary {
  border-color: var(--af-border);
  background: var(--af-surface);
  color: var(--af-ink);
}
body.af-enterprise .management-command :is(strong, small) {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
@media (min-width: 981px) and (max-width: 1399px) {
  body.af-enterprise .management-command-center {
    grid-template-columns: 170px minmax(0, 1fr);
  }
  body.af-enterprise .management-attention-cta { grid-column: 1 / -1; }
}
body.af-enterprise :is(input, select, textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]) {
  font-size: 16px;
  min-height: 44px;
  border-color: var(--af-border);
  border-radius: 11px;
  max-width: 100%;
}
body.af-enterprise :is(button, a, input, select, textarea, summary):focus-visible {
  outline: 3px solid #75baff;
  outline-offset: 2px;
}
body.af-enterprise :is(.tab, .account-button) { border-radius: 11px; }
body.af-enterprise .tab.active { background: var(--af-soft); color: var(--af-primary); }
body.af-enterprise .dialog-head { background: var(--af-surface); }
body.af-enterprise .dialog-head h2 { font-size: 21px; line-height: 1.3; }
body.af-enterprise .dialog-actions { background: var(--af-surface); border-color: var(--af-border); }
body.af-enterprise :is(.dialog-actions .btn, .icon-btn) { min-height: 44px; }
body.af-enterprise .icon-btn { min-width: 44px; }
body.af-enterprise table { font-variant-numeric: tabular-nums; }
body.af-enterprise :is(th, td) { line-height: 1.5; }
body.af-enterprise .login-card { padding: 28px; }
@media (max-width: 760px) {
  body.af-enterprise :is(.toolbar, .quick, .month-panel) { padding: 12px; }
  body.af-enterprise :is(.page-head h2, .section-head h2) { font-size: 19px; }
  body.af-enterprise :is(.entry, .customer-card, .debtor) { padding: 12px; }
  body.af-enterprise .account-button { min-height: 44px; }
  body.af-enterprise .entry-top { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  body.af-enterprise *, body.af-enterprise *::before, body.af-enterprise *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}


/* AquaFlow v4.06.1.41 — Receipt True Fullscreen
 * Mobile receipt workflow is a real edge-to-edge screen. Header and action dock
 * never scroll; only the middle receipt content scrolls. This block lives in
 * enterprise-system.css because it is loaded last and therefore also defeats
 * older card-dialog geometry still present in legacy bundles. */
#receipt-dialog .receipt-dialog-scroll {
  display: grid;
  gap: 14px;
  min-width: 0;
}

@media (max-width: 1024px) {
  html:has(#receipt-dialog[open]),
  body:has(#receipt-dialog[open]) {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  body.af-enterprise #receipt-dialog.receipt-enterprise-dialog[open],
  #receipt-dialog.receipt-enterprise-dialog[open] {
    position: fixed !important;
    inset: 0 !important;
    inset-block: 0 !important;
    inset-inline: 0 !important;
    box-sizing: border-box !important;
    inline-size: 100vw !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-inline-size: none !important;
    max-width: none !important;
    block-size: 100dvh !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-block-size: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  body.af-enterprise #receipt-dialog #receipt-form,
  #receipt-dialog #receipt-form {
    position: relative !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    inline-size: 100% !important;
    width: 100% !important;
    block-size: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  body.af-enterprise #receipt-dialog .dialog-head,
  #receipt-dialog .dialog-head {
    position: relative !important;
    inset: auto !important;
    z-index: 3 !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: calc(15px + env(safe-area-inset-top)) 16px 14px !important;
    border-bottom: 1px solid #dbe7f1 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgba(26,66,100,.035) !important;
  }

  body.af-enterprise #receipt-dialog .receipt-dialog-scroll,
  #receipt-dialog .receipt-dialog-scroll {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    min-width: 0 !important;
    display: grid !important;
    align-content: start !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 14px 16px 18px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    background: #fff !important;
    scrollbar-gutter: stable !important;
  }

  body.af-enterprise #receipt-dialog .workflow-fixed-actions,
  #receipt-dialog .workflow-fixed-actions {
    position: relative !important;
    inset: auto !important;
    z-index: 4 !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1.45fr) !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 11px 16px calc(11px + env(safe-area-inset-bottom)) !important;
    border-top: 1px solid #d7e5f0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: 0 -10px 26px rgba(17,54,84,.08) !important;
  }

  body.af-enterprise #receipt-dialog .workflow-fixed-actions .btn,
  #receipt-dialog .workflow-fixed-actions .btn {
    width: 100% !important;
    min-width: 0 !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding-inline: 10px !important;
    border-radius: 16px !important;
    white-space: normal !important;
    line-height: 1.15 !important;
  }
}

@supports not (height: 100dvh) {
  @media (max-width: 1024px) {
    body.af-enterprise #receipt-dialog.receipt-enterprise-dialog[open],
    #receipt-dialog.receipt-enterprise-dialog[open] {
      height: 100vh !important;
      min-height: 100vh !important;
    }
  }
}
