/* [project]/src/app/globals.css [app-client] (css) */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-font-weight: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
      "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
      "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --container-xs: 20rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm--line-height: calc(1.25 / .875);
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl--line-height: calc(2 / 1.5);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --animate-spin: spin 1s linear infinite;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .fixed {
    position: fixed;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .mx-auto {
    margin-inline: auto;
  }

  .ms-2 {
    margin-inline-start: calc(var(--space-1) * 2);
  }

  .ms-4 {
    margin-inline-start: calc(var(--space-1) * 4);
  }

  .ms-auto {
    margin-inline-start: auto;
  }

  .mt-1 {
    margin-top: var(--space-1);
  }

  .mt-3 {
    margin-top: calc(var(--space-1) * 3);
  }

  .mb-3 {
    margin-bottom: calc(var(--space-1) * 3);
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .inline-flex {
    display: inline-flex;
  }

  .table {
    display: table;
  }

  .h-8 {
    height: calc(var(--space-1) * 8);
  }

  .min-h-11 {
    min-height: calc(var(--space-1) * 11);
  }

  .w-full {
    width: 100%;
  }

  .max-w-2xl {
    max-width: var(--container-2xl);
  }

  .max-w-3xl {
    max-width: var(--container-3xl);
  }

  .max-w-xl {
    max-width: var(--container-xl);
  }

  .max-w-xs {
    max-width: var(--container-xs);
  }

  .min-w-0 {
    min-width: 0;
  }

  .min-w-36 {
    min-width: calc(var(--space-1) * 36);
  }

  .min-w-40 {
    min-width: calc(var(--space-1) * 40);
  }

  .min-w-48 {
    min-width: calc(var(--space-1) * 48);
  }

  .min-w-60 {
    min-width: calc(var(--space-1) * 60);
  }

  .flex-1 {
    flex: 1;
  }

  .animate-pulse {
    animation: var(--animate-pulse);
  }

  .animate-spin {
    animation: var(--animate-spin);
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-center {
    align-items: center;
  }

  .items-end {
    align-items: flex-end;
  }

  .items-start {
    align-items: flex-start;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .gap-1\.5 {
    gap: calc(var(--space-1) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--space-1) * 2);
  }

  .gap-3 {
    gap: calc(var(--space-1) * 3);
  }

  .gap-4 {
    gap: calc(var(--space-1) * 4);
  }

  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(var(--space-1) * var(--tw-space-y-reverse));
    margin-block-end: calc(var(--space-1) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--space-1) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--space-1) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--space-1) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--space-1) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--space-1) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--space-1) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }

  .gap-x-6 {
    column-gap: calc(var(--space-1) * 6);
  }

  .gap-y-2 {
    row-gap: calc(var(--space-1) * 2);
  }

  .overflow-x-auto {
    overflow-x: auto;
  }

  .rounded {
    border-radius: .25rem;
  }

  .rounded-md {
    border-radius: var(--radius-md);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .border-\[var\(--accent-light\)\] {
    border-color: var(--accent-light);
  }

  .border-border {
    border-color: var(--border-subtle);
  }

  .border-danger {
    border-color: var(--danger);
  }

  .border-success {
    border-color: var(--success);
  }

  .border-warning {
    border-color: var(--warning);
  }

  .bg-\[var\(--danger-subtle\)\] {
    background-color: var(--danger-subtle);
  }

  .bg-\[var\(--info-subtle\)\] {
    background-color: var(--info-subtle);
  }

  .bg-\[var\(--success-subtle\)\] {
    background-color: var(--success-subtle);
  }

  .bg-\[var\(--warning-subtle\)\] {
    background-color: var(--warning-subtle);
  }

  .bg-border {
    background-color: var(--border-subtle);
  }

  .bg-primary {
    background-color: var(--primary);
  }

  .bg-surface {
    background-color: var(--surface);
  }

  .p-3 {
    padding: calc(var(--space-1) * 3);
  }

  .p-4 {
    padding: calc(var(--space-1) * 4);
  }

  .p-8 {
    padding: calc(var(--space-1) * 8);
  }

  .px-2 {
    padding-inline: calc(var(--space-1) * 2);
  }

  .px-4 {
    padding-inline: calc(var(--space-1) * 4);
  }

  .py-2 {
    padding-block: calc(var(--space-1) * 2);
  }

  .py-3 {
    padding-block: calc(var(--space-1) * 3);
  }

  .py-4 {
    padding-block: calc(var(--space-1) * 4);
  }

  .pt-2 {
    padding-top: calc(var(--space-1) * 2);
  }

  .pt-3 {
    padding-top: calc(var(--space-1) * 3);
  }

  .pt-4 {
    padding-top: calc(var(--space-1) * 4);
  }

  .text-end {
    text-align: end;
  }

  .text-2xl {
    font-size: var(--font-size-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }

  .text-lg {
    font-size: var(--font-size-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

  .text-sm {
    font-size: var(--font-size-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xl {
    font-size: var(--font-size-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }

  .text-xs {
    font-size: var(--font-size-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .break-words {
    overflow-wrap: break-word;
  }

  .break-all {
    word-break: break-all;
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .text-\[var\(--info\)\] {
    color: var(--info);
  }

  .text-danger {
    color: var(--danger);
  }

  .text-foreground {
    color: var(--text);
  }

  .text-muted {
    color: var(--text-muted);
  }

  .text-on-primary {
    color: var(--on-primary);
  }

  .text-primary {
    color: var(--primary);
  }

  .text-success {
    color: var(--success);
  }

  .text-warning {
    color: var(--warning);
  }

  .ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .underline {
    text-decoration-line: underline;
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }

  .disabled\:opacity-60:disabled {
    opacity: .6;
  }

  @media (prefers-reduced-motion: no-preference) {
    .motion-safe\:animate-spin {
      animation: var(--animate-spin);
    }
  }

  @media (min-width: 40rem) {
    .sm\:col-span-2 {
      grid-column: span 2 / span 2;
    }

    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (min-width: 64rem) {
    .lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
}

:root {
  --font-sans: "Barlow", Arial, sans-serif;
  --font-heading: "Barlow Condensed", "Arial Narrow", sans-serif;
  --font-size-xs: .75rem;
  --font-size-sm: .84375rem;
  --font-size-base: .875rem;
  --font-size-lg: 1.25rem;
  --font-size-xl: 1.5rem;
  --font-size-2xl: 1.875rem;
  --line-height: 1.5;
  --space-1: 3.4px;
  --space-2: 6.8px;
  --space-3: 10.2px;
  --space-4: 13.6px;
  --space-6: 20.4px;
  --space-8: 27.2px;
  --space-12: 3rem;
  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;
  --border-subtle: #cfd0d1;
  --border-strong: #7a7a7d;
  --shadow-1: 0 1px 3px #0f172a12;
  --shadow-2: 0 4px 12px #0f172a15;
  --bg: #f2f2f3;
  --surface: #e9e9ea;
  --text: #1d1f20;
  --text-muted: #5d5d60;
  --primary: #416180;
  --accent: #5980a6;
  --accent-light: #94bce3;
  --sidebar-bg: #1d2d3d;
  --sidebar-text: #dbe4ee;
  --on-primary: #fff;
  --focus-ring: #416180;
  --success: #276247;
  --success-subtle: #edf5ef;
  --warning: #854d0e;
  --warning-subtle: #fbf3dc;
  --danger: #991b1b;
  --danger-subtle: #fbeceb;
  --info: #2c455d;
  --info-subtle: #eef6ff;
  --control-height: 36px;
  --row-height: 44px;
  --layout-width: 100%;
  --sidebar-width: 232px;
  --sidebar-rail: 60px;
  --topbar-height: 52px;
  --page-padding-block: 20px;
  --page-padding-inline: 28px;
}

@font-face {
  font-family: Barlow;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/barlow-400.woff2") format("woff2");
}

@font-face {
  font-family: Barlow;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/barlow-500.woff2") format("woff2");
}

@font-face {
  font-family: Barlow;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/barlow-700.woff2") format("woff2");
}

@font-face {
  font-family: Barlow Condensed;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/barlow-condensed-400.woff2") format("woff2");
}

@font-face {
  font-family: Barlow Condensed;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/barlow-condensed-600.woff2") format("woff2");
}

body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-sans);
  font-size: var(--font-size-base);
  line-height: var(--line-height);
  -webkit-font-smoothing: antialiased;
  margin: 0;
}

h1, h2, h3, h4 {
  font-family: var(--font-heading);
  letter-spacing: -.015em;
  line-height: 1.15;
}

:focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 3px;
}

a {
  text-underline-offset: 3px;
}

button, input, select {
  min-block-size: var(--control-height);
}

button:not(:disabled), select:not(:disabled) {
  cursor: pointer;
}

::selection {
  background: var(--accent-light);
  color: var(--sidebar-bg);
}

.app-shell {
  min-height: 100svh;
  display: flex;
}

.app-sidebar {
  width: var(--sidebar-width);
  background: var(--sidebar-bg);
  height: 100svh;
  color: var(--sidebar-text);
  flex-direction: column;
  flex: none;
  align-self: flex-start;
  display: flex;
  position: sticky;
  top: 0;
}

.sidebar-brand {
  height: var(--topbar-height);
  font-family: var(--font-heading);
  color: #fff;
  border-bottom: 1px solid #ffffff14;
  flex: none;
  align-items: center;
  gap: 10px;
  padding: 0 15px;
  font-size: 19px;
  font-weight: 600;
  display: flex;
}

.brand-mark {
  color: #fff;
  background: #749dc4;
  flex: none;
  place-items: center;
  width: 28px;
  height: 28px;
  font-size: 17px;
  display: grid;
}

.sidebar-workspace {
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 12px 18px 0;
  font-size: 10.5px;
}

.app-sidebar nav {
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #ffffff40 transparent;
  flex: auto;
  min-height: 0;
  padding: 10px 8px;
  overflow-y: auto;
}

.app-sidebar nav::-webkit-scrollbar {
  width: 8px;
}

.app-sidebar nav::-webkit-scrollbar-thumb {
  background: #ffffff40;
}

.sidebar-link {
  color: var(--sidebar-text);
  min-height: 38px;
  background: none;
  align-items: center;
  gap: 11px;
  padding: 0 10px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  display: flex;
}

.sidebar-link:hover {
  background: #ffffff24;
}

.sidebar-toggle {
  text-align: start;
  border-top: 1px solid #ffffff14;
  align-items: center;
  gap: 10px;
  padding: 8px 18px;
  font-size: 13px;
  display: flex;
}

.sidebar-toggle:hover {
  background: #ffffff12;
}

.app-sidebar[data-expanded="false"] {
  width: var(--sidebar-rail);
}

.app-sidebar[data-expanded="false"] .rail-label {
  display: none;
}

.app-sidebar[data-expanded="false"] .sidebar-link {
  justify-content: center;
  padding: 0;
}

.app-workspace {
  flex: 1;
  min-width: 0;
}

.app-topbar {
  min-height: var(--topbar-height);
  border-bottom: 1px solid var(--border-subtle);
  border-top: 3px solid var(--accent);
  background: var(--bg);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 7px 16px 7px 12px;
  display: flex;
}

.company-context {
  align-items: center;
  gap: 9px;
  min-width: 0;
  display: flex;
}

.company-mark {
  background: var(--info);
  color: #fff;
  flex: none;
  place-items: center;
  width: 30px;
  height: 30px;
  display: grid;
}

.company-identity {
  flex-direction: column;
  min-width: 0;
  line-height: 1.15;
  display: flex;
}

.company-label {
  color: var(--text-muted);
  font-size: 11px;
}

.company-name {
  overflow-wrap: anywhere;
  font-size: 13px;
  font-weight: 500;
}

.session-context {
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.session-name {
  overflow-wrap: anywhere;
  font-size: 13px;
}

.session-context form {
  flex: none;
}

.app-main {
  padding: var(--page-padding-block) var(--page-padding-inline) 48px;
}

.page-header {
  margin-bottom: 18px;
}

.page-header h1 {
  overflow-wrap: anywhere;
  font-size: 30px;
  font-weight: 600;
}

.page-header p {
  color: var(--text-muted);
  margin-top: 4px;
  font-size: 13px;
}

.business-section {
  background: none;
  min-width: 0;
}

.section-heading {
  border-bottom: 1px solid var(--text);
  padding: 0 0 8px;
  font-size: 20px;
  font-weight: 600;
}

.section-decision {
  border: 1px solid var(--border-subtle);
  background: var(--bg);
  padding: 16px;
  position: relative;
}

.section-decision .section-heading {
  border-bottom: 0;
  font-size: 18px;
}

.registration-marks, .button-primary:not(.button-workflow):before {
  pointer-events: none;
  background: linear-gradient(var(--border-strong), var(--border-strong)) left 5px top /
      1px 11px no-repeat,
    linear-gradient(var(--border-strong), var(--border-strong)) left top 5px /
      11px 1px no-repeat,
    linear-gradient(var(--border-strong), var(--border-strong)) right 5px top /
      1px 11px no-repeat,
    linear-gradient(var(--border-strong), var(--border-strong)) right top 5px /
      11px 1px no-repeat,
    linear-gradient(var(--border-strong), var(--border-strong)) left 5px
      bottom / 1px 11px no-repeat,
    linear-gradient(var(--border-strong), var(--border-strong)) left bottom
      5px / 11px 1px no-repeat,
    linear-gradient(var(--border-strong), var(--border-strong)) right 5px
      bottom / 1px 11px no-repeat,
    linear-gradient(var(--border-strong), var(--border-strong)) right bottom
      5px / 11px 1px no-repeat;
  position: absolute;
  inset: -6px;
}

.ui-button {
  min-height: 38px;
  font-family: var(--font-sans);
  border-radius: 0;
  line-height: 1.2;
  transition: background-color .12s;
}

.button-primary {
  border: 1px solid var(--primary);
}

.button-primary:hover:not(:disabled) {
  background: var(--info);
}

.button-secondary:hover:not(:disabled) {
  background: var(--surface);
}

.form-control {
  min-height: 36px;
  font: inherit;
  color: var(--text);
  caret-color: var(--primary);
  background: var(--surface);
  border: 1px solid var(--border-strong);
  border-radius: 0;
  max-width: 100%;
  padding: 6px 10px;
  font-size: 14px;
}

.form-control:hover {
  border-color: var(--border-strong);
}

.form-control[aria-invalid="true"] {
  border-color: var(--danger);
}

.form-control:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.form-label {
  color: var(--text-muted);
  margin-bottom: 5px;
  font-size: 12px;
  font-weight: 500;
  display: block;
}

.status-badge {
  white-space: nowrap;
  border-radius: 0;
  min-height: 22px;
  padding-block: 2px;
  line-height: 1.2;
}

.data-table {
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
}

th, td {
  text-align: start;
  border-block-end: 1px solid var(--border-subtle);
  padding: 10px 12px;
}

.data-table thead th {
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 500;
}

.data-table tbody th {
  font-weight: 500;
}

.data-table tbody tr:hover {
  background: var(--info-subtle);
}

.data-table caption {
  text-align: start;
  font-family: var(--font-heading);
  padding: 10px 12px;
  font-size: 17px;
  font-weight: 600;
}

.data-table-scroll {
  max-width: 100%;
  position: relative;
}

.system-state {
  border: 1px solid var(--border-subtle);
  margin-block: 12px;
}

.system-state h3 {
  font-size: 18px;
}

.state-empty {
  text-align: center;
  padding: 32px 16px;
}

.state-loading {
  border-style: dashed;
}

.state-denied, .state-validation {
  background: var(--warning-subtle);
  border-color: var(--warning);
}

.state-unavailable {
  border: 1px dashed var(--border-strong);
  background: repeating-linear-gradient(135deg, #0000 0 7px, #1d1f200a 7px 8px);
}

.customer-identity {
  align-items: flex-start;
  gap: 16px;
  padding-block: 10px 18px;
  display: flex;
}

.entity-mark {
  border: 1px solid var(--text);
  width: 52px;
  height: 52px;
  font-family: var(--font-heading);
  flex: none;
  place-items: center;
  font-size: 22px;
  font-weight: 600;
  display: grid;
}

.customer-identity-content {
  flex: 1;
  min-width: 0;
}

.customer-identity h1, .customer-identity h2 {
  font-size: 30px;
}

.customer-overview-grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 340px);
  align-items: start;
  gap: 28px;
  display: grid;
}

.customer-operations {
  gap: 26px;
  min-width: 0;
  display: grid;
}

.credit-values {
  display: grid;
}

.credit-metric {
  border-bottom: 1px solid var(--border-subtle);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 6px 12px;
  padding-block: 7px;
  display: flex;
}

.credit-metric dt {
  color: var(--text-muted);
  font-size: 13px;
}

.credit-metric dd {
  overflow-wrap: anywhere;
  font-size: 14px;
  font-weight: 500;
}

.credit-metric[data-emphasis="true"] {
  order: -1;
  padding-block: 8px 14px;
  display: block;
}

.credit-metric[data-emphasis="true"] dd {
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 600;
  line-height: 1.15;
}

.credit-panel > div:first-child, .credit-panel > dl {
  padding-inline: 0;
}

.customer-entry {
  border-top: 1px solid var(--text);
  max-width: 640px;
}

.outlet-form .button-primary {
  min-height: 46px;
}

.outlet-form .button-workflow {
  color: var(--info);
  border: 1px dashed var(--primary);
  background: none;
}

.outlet-form .button-workflow:hover:not(:disabled) {
  background: var(--info-subtle);
}

.outlet-identity dl dd {
  overflow-wrap: anywhere;
}

.outlet-identity > p[role="status"] {
  border: 1px solid var(--border-subtle);
  background: var(--info-subtle);
  padding: 12px;
}

.skip {
  z-index: 20;
  background: var(--bg);
  padding: 1rem;
  position: absolute;
  inset-block-start: -10rem;
  inset-inline-start: 1rem;
}

.skip:focus {
  inset-block-start: 1rem;
}

@media (max-width: 1023px) {
  .app-sidebar[data-expanded="auto"] {
    width: var(--sidebar-rail);
  }

  .app-sidebar[data-expanded="auto"] .rail-label {
    display: none;
  }

  .app-sidebar[data-expanded="auto"] .sidebar-link {
    justify-content: center;
    padding: 0;
  }

  .customer-overview-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  .app-topbar {
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 12px;
  }

  .session-context {
    margin-inline-start: auto;
  }

  .app-main {
    padding: 16px 12px 32px;
  }

  .customer-identity {
    gap: 10px;
  }

  .entity-mark {
    width: 40px;
    height: 40px;
  }

  .customer-identity h1, .customer-identity h2 {
    font-size: 26px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, :before, :after {
    transition: none !important;
    animation: none !important;
  }
}

.breadcrumbs {
  color: var(--text-muted);
  margin-bottom: 10px;
  font-size: 12px;
}

.breadcrumbs ol {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.breadcrumbs li {
  overflow-wrap: anywhere;
  align-items: center;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.breadcrumbs a {
  align-items: center;
  min-height: 36px;
  text-decoration: underline;
  display: inline-flex;
}

.button-secondary {
  border-color: var(--border-strong);
}

.button-primary {
  position: relative;
}

.button-primary:not(.button-workflow):before {
  content: "";
}

.page-kicker {
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--text-muted);
  font-size: 11px;
}

.app-sidebar :focus-visible {
  outline-color: var(--accent-light);
}

.order-entry-form .button-primary {
  min-height: 46px;
}

.order-entry-form .data-table {
  min-width: 640px;
}

.order-entry-form input:not([type="hidden"]):not([type="date"]) {
  min-width: 120px;
}

.sidebar-link[data-active="true"] {
  color: #fff;
  box-shadow: inset 2px 0 var(--accent-light);
  background: #ffffff1a;
}

.topbar-start {
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.menu-button {
  place-items: center;
  width: 44px;
  height: 44px;
  display: none;
}

.sidebar-close {
  color: #fff;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-inline-start: auto;
  display: grid;
}

.sidebar-scrim {
  z-index: 29;
  background: #1d2d3d80;
  position: fixed;
  inset: 0;
}

.app-shell[data-switching] .app-sidebar nav {
  pointer-events: none;
  opacity: .6;
}

.company-selector {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
  position: relative;
}

.company-button {
  border: 1px solid var(--border-subtle);
  background: var(--surface);
  text-align: start;
  min-height: 40px;
  padding: 2px 8px 2px 2px;
}

.company-button[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .75;
}

.company-lock-reason {
  color: var(--text-muted);
  font-size: 12px;
}

.company-popover {
  z-index: 30;
  border: 1px solid var(--border-strong);
  background: var(--bg);
  min-width: 260px;
  max-width: 360px;
  box-shadow: var(--shadow-2);
  position: absolute;
  inset-block-start: calc(100% + 4px);
  inset-inline-start: 0;
}

.company-popover ul {
  max-height: 320px;
  padding: 4px;
  overflow: auto;
}

.company-popover li {
  cursor: pointer;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 6px 8px;
  display: flex;
}

.company-popover li[data-focused="true"], .company-popover li:hover {
  background: var(--info-subtle);
}

.company-option-label {
  overflow-wrap: anywhere;
  flex: 1;
}

.company-option-currency {
  color: var(--text-muted);
  font-size: 12px;
}

.company-find {
  width: calc(100% - 8px);
  margin: 4px;
}

.company-confirm {
  z-index: 31;
  border: 1px solid var(--border-strong);
  background: var(--bg);
  width: min(360px, 90vw);
  box-shadow: var(--shadow-2);
  padding: 16px;
  position: absolute;
  inset-block-start: calc(100% + 4px);
  inset-inline-start: 0;
}

.company-confirm h2 {
  font-size: 18px;
}

.spin {
  animation: 1s linear infinite spin;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.state-shell {
  background: var(--bg);
  min-height: 100svh;
}

.state-topbar {
  min-height: var(--topbar-height);
  background: var(--sidebar-bg);
  color: var(--sidebar-text);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 7px 16px;
  display: flex;
}

.state-topbar .session-name {
  color: #fff;
}

.state-brand {
  font-family: var(--font-heading);
  color: #fff;
  align-items: center;
  gap: 10px;
  font-size: 19px;
  font-weight: 600;
  display: flex;
}

.state-main {
  padding: 48px 16px;
}

.access-state {
  border: 1px solid var(--border-subtle);
  background: var(--surface);
  max-width: 560px;
  margin-inline: auto;
  padding: 24px;
}

.access-state h1 {
  margin-block: 8px;
  font-size: 24px;
}

.access-state p {
  margin-block: 8px;
}

.access-icon {
  color: var(--text-muted);
}

.access-unavailable {
  background-image: repeating-linear-gradient(135deg,
    transparent 0 12px,
    var(--border-subtle) 12px 13px);
}

.access-actions {
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
  display: flex;
}

.company-choice-list {
  gap: 8px;
  margin-top: 12px;
  display: grid;
}

.company-choice-list a {
  border: 1px solid var(--border-strong);
  background: var(--bg);
  min-height: 48px;
  color: var(--text);
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  text-decoration: none;
  display: flex;
}

.company-choice-label {
  flex: 1;
  font-weight: 600;
}

.company-choice-currency {
  color: var(--text-muted);
  font-size: 12px;
}

.access-inert {
  opacity: .55;
}

.area-list {
  gap: 8px;
  padding: 12px 16px;
  display: grid;
}

.area-list a {
  border: 1px solid var(--border-subtle);
  min-height: 48px;
  color: var(--text);
  align-items: flex-start;
  gap: 12px;
  padding: 10px 12px;
  text-decoration: none;
  display: flex;
}

.area-title {
  font-weight: 600;
  display: block;
}

.area-description {
  color: var(--text-muted);
  font-size: 13px;
  display: block;
}

.choice-list {
  gap: 8px;
  display: grid;
}

.choice-list li {
  border-bottom: 1px solid var(--border-subtle);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  display: flex;
}

.item-picker {
  position: relative;
}

.item-results {
  z-index: 25;
  border: 1px solid var(--border-strong);
  background: var(--bg);
  width: max(100%, 320px);
  box-shadow: var(--shadow-2);
  position: absolute;
  inset-inline-start: 0;
}

.item-results ul {
  max-height: 260px;
  overflow: auto;
}

.item-results li {
  cursor: pointer;
  padding: 6px 10px;
}

.item-results li[data-focused="true"], .item-results li:hover {
  background: var(--info-subtle);
}

.item-results-state {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  display: flex;
}

.item-picked {
  gap: 4px;
  display: grid;
}

.order-summary {
  gap: 6px;
  display: grid;
}

.order-summary div {
  justify-content: space-between;
  gap: 12px;
  display: flex;
}

.order-summary-tax {
  color: var(--text-muted);
  font-size: 13px;
}

.order-summary-total {
  border-top: 1px solid var(--border-strong);
  padding-top: 6px;
  font-weight: 600;
}

@media (max-width: 767px) {
  .menu-button {
    display: grid;
  }

  .app-sidebar {
    display: none;
  }

  .app-sidebar[data-drawer="true"] {
    z-index: 30;
    width: min(300px, 85vw);
    display: flex;
    position: fixed;
    inset-block: 0;
    inset-inline-start: 0;
  }

  .app-sidebar[data-drawer="true"] .rail-label {
    display: inline;
  }

  .app-sidebar[data-drawer="true"] .sidebar-link {
    justify-content: flex-start;
    min-height: 44px;
    padding: 0 10px;
  }

  .company-popover, .company-confirm {
    max-width: none;
    position: fixed;
    inset-block-start: 64px;
    inset-inline: 8px;
  }
}

.filter-bar {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.filter-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.filter-search {
  flex: 280px;
  max-width: 420px;
  display: block;
  position: relative;
}

.filter-search svg {
  inset-inline-start: 10px;
  color: var(--text-muted);
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.filter-search input {
  min-height: 38px;
  padding-inline-start: 34px;
}

.filter-spacer {
  flex: 1;
}

.filter-inline {
  color: var(--text-muted);
  white-space: nowrap;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  display: inline-flex;
}

.filter-inline select {
  width: auto;
}

.filter-summary {
  color: var(--text-muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  display: flex;
}

.filter-summary a {
  min-height: 28px;
  color: var(--primary);
  align-items: center;
  padding-inline: 8px;
  text-decoration: underline;
  display: inline-flex;
}

.seg {
  border: 1px solid var(--border-strong);
  min-width: 0;
  margin: 0;
  padding: 0;
  display: inline-flex;
  overflow: hidden;
}

.seg-opt {
  cursor: pointer;
  background: var(--bg);
  align-items: center;
  min-height: 38px;
  padding: 7px 12px;
  font-size: 13px;
  display: inline-flex;
  position: relative;
}

.seg-opt + .seg-opt {
  border-inline-start: 1px solid var(--border-subtle);
}

.seg-opt input {
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
  position: absolute;
}

.seg-opt:has(input:checked) {
  background: var(--accent);
  color: var(--on-primary);
}

.seg-opt:not(:has(input:checked)):hover {
  background: var(--info-subtle);
}

.seg-opt:has(input:focus-visible) {
  outline: 2px solid var(--focus-ring);
  outline-offset: -2px;
}

@media (max-width: 767px) {
  .filter-search {
    max-width: none;
  }

  .filter-spacer {
    display: none;
  }
}

.page-header-title {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  display: flex;
}

.approval-layout {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 430px);
  align-items: start;
  gap: 28px;
  display: grid;
}

.approval-main {
  flex-direction: column;
  gap: 24px;
  min-width: 0;
  display: flex;
}

.approval-aside {
  top: calc(var(--topbar-height) + 16px);
  flex-direction: column;
  gap: 12px;
  display: flex;
  position: sticky;
}

.approval-exception {
  border: 1px solid var(--warning);
  background: var(--warning-subtle);
  color: var(--text);
  border-inline-start-width: 4px;
  gap: 12px;
  padding: 14px 16px;
  display: flex;
}

.approval-exception svg {
  color: var(--warning);
  flex: none;
  margin-top: 2px;
}

.approval-exception h2 {
  font-size: 18px;
}

.approval-exception ul {
  margin-top: 6px;
  padding-inline-start: 18px;
  font-size: 13px;
  list-style: outside;
}

.approval-facts {
  border-top: 2px solid var(--text);
  border-inline-start: 1px solid var(--border-subtle);
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  display: grid;
}

.approval-fact {
  border-inline-end: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  min-width: 0;
  padding: 14px 16px;
}

.approval-fact dt {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 600;
}

.approval-fact dd {
  flex-direction: column;
  gap: 4px;
  margin-top: 6px;
  display: flex;
}

.approval-fact-value {
  overflow-wrap: anywhere;
  font-weight: 600;
}

.approval-fact-value a {
  color: var(--primary);
  text-decoration: underline;
}

.approval-fact-sub {
  color: var(--text-muted);
  font-size: 13px;
}

.approval-block {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.approval-block h2 {
  font-size: 22px;
}

.approval-block-head {
  border-bottom: 2px solid var(--text);
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px;
  padding-bottom: 8px;
  display: flex;
}

.approval-block-head span {
  color: var(--text-muted);
  font-size: 13px;
}

.approval-quote {
  border-inline-start: 3px solid var(--text);
  background: var(--surface);
  overflow-wrap: anywhere;
  margin: 0;
  padding: 14px 18px;
  font-size: 15px;
  line-height: 1.6;
}

.approval-quote footer {
  color: var(--text-muted);
  margin-top: 6px;
  font-size: 13px;
}

.approval-decision-note {
  border-inline-start-color: var(--border-strong);
}

.approval-col-sub {
  text-transform: none;
  letter-spacing: 0;
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 400;
  display: block;
}

.approval-now-col {
  background: var(--surface);
}

.approval-total-row th, .approval-total-row td {
  font-weight: 600;
}

.approval-excess {
  color: var(--danger);
  font-weight: 600;
}

.approval-same, .approval-diff {
  align-items: center;
  gap: 6px;
  font-weight: 600;
  display: inline-flex;
}

.approval-same {
  color: var(--success);
}

.approval-diff {
  color: var(--warning);
}

.approval-source {
  color: var(--text-muted);
  align-items: center;
  gap: 6px;
  font-size: 12px;
  display: flex;
}

.approval-decision {
  border: 1px solid var(--border-subtle);
  background: var(--bg);
  flex-direction: column;
  gap: 14px;
  padding: 20px;
  display: flex;
  position: relative;
}

.approval-decision-head {
  border-bottom: 1px solid var(--border-subtle);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-bottom: 12px;
  display: flex;
}

.approval-decision-head h2 {
  font-size: 22px;
}

.approval-chip {
  white-space: nowrap;
  border: 1px solid;
  align-items: center;
  gap: 6px;
  min-height: 26px;
  padding: 2px 10px;
  font-size: 13px;
  display: inline-flex;
}

.approval-chip-ok {
  color: var(--success);
  background: var(--success-subtle);
}

.approval-chip-warn {
  color: var(--warning);
  background: var(--warning-subtle);
}

.approval-excess-grid {
  border-bottom: 1px solid var(--border-subtle);
  grid-template-columns: 1fr 1fr;
  display: grid;
}

.approval-excess-grid > div {
  padding-bottom: 12px;
}

.approval-excess-grid > div + div {
  border-inline-start: 1px solid var(--border-subtle);
  padding-inline-start: 16px;
}

.approval-excess-grid dt {
  color: var(--text-muted);
  font-size: 13px;
}

.approval-excess-grid dd {
  font-family: var(--font-heading);
  margin-top: 4px;
  font-size: 26px;
  font-weight: 600;
}

.approval-choices, .approval-confirm-actions {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.approval-choices .ui-button, .approval-confirm-actions .ui-button {
  width: 100%;
  min-height: 48px;
}

.approval-approve {
  background: var(--accent);
  color: var(--on-primary);
  font-family: var(--font-heading);
  font-size: 17px;
}

.approval-locked {
  border: 1px dashed var(--border-strong);
  background: var(--surface);
  gap: 10px;
  padding: 12px;
  display: flex;
}

.approval-locked svg {
  flex: none;
  margin-top: 2px;
}

.approval-footnote {
  color: var(--text-muted);
  padding-inline: 4px;
  font-size: 12px;
}

@media (max-width: 1099px) {
  .approval-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .approval-aside {
    position: static;
  }
}

.row-link {
  position: relative;
}

.row-link:focus-within {
  outline: 2px solid var(--focus-ring);
  outline-offset: -2px;
}

.row-target {
  color: var(--text);
  font-weight: 600;
  text-decoration: none;
}

.row-target:after {
  content: "";
  position: absolute;
  inset: 0;
}

.row-target:hover, .row-target:focus-visible {
  outline: none;
  text-decoration: underline;
}

.row-sub {
  color: var(--text-muted);
  overflow-wrap: anywhere;
  font-size: 12px;
  font-weight: 400;
  display: block;
}

.table-pager {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  font-size: 13px;
  display: flex;
}

.table-pager-label {
  color: var(--text-muted);
}

.empty-state-rich {
  text-align: center;
  border-top: 1px solid var(--text);
  border-bottom: 1px solid var(--border-subtle);
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 40px 16px;
  display: flex;
}

.empty-state-rich svg {
  color: var(--text-muted);
}

.empty-state-rich h2 {
  font-size: 17px;
}

.empty-state-rich p {
  color: var(--text-muted);
  font-size: 13px;
}

.customer-header {
  border-bottom: 1px solid var(--border-subtle);
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 16px;
  padding-block: 6px 18px;
  display: flex;
}

.customer-header-main {
  flex-direction: column;
  flex: 320px;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.customer-header-main h1 {
  overflow-wrap: anywhere;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.1;
}

.customer-header-meta {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  display: flex;
}

.meta-label {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 600;
}

.meta-label:not(:first-child) {
  margin-inline-start: 8px;
}

.code-chip {
  border: 1px solid var(--border-strong);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
  padding: 2px 8px;
  font-size: 12px;
}

.customer-header-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.section-head {
  border-bottom: 1px solid var(--text);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 8px 16px;
  padding-bottom: 8px;
  display: flex;
}

.section-head .section-heading {
  border-bottom: 0;
  padding: 0;
}

.section-decision .section-head {
  border-bottom: 0;
}

.section-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.section-link {
  min-height: 44px;
  color: var(--primary);
  align-items: center;
  font-size: 13px;
  text-decoration: underline;
  display: inline-flex;
}

.customer-aside {
  top: calc(var(--topbar-height) + 16px);
  min-width: 0;
  position: sticky;
}

.attention-panel {
  border: 1px solid var(--warning);
  background: var(--warning-subtle);
  border-inline-start-width: 4px;
}

.attention-head {
  color: var(--warning);
  align-items: center;
  gap: 8px;
  padding: 12px 16px 4px;
  display: flex;
}

.attention-head h2 {
  color: var(--text);
  font-size: 18px;
}

.attention-panel ul {
  flex-direction: column;
  display: flex;
}

.attention-panel li {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px 16px;
  padding: 10px 16px;
  display: flex;
}

.attention-panel li + li {
  border-top: 1px solid var(--border-subtle);
}

.attention-panel li a {
  min-height: 44px;
  color: var(--primary);
  white-space: nowrap;
  align-items: center;
  font-size: 13px;
  font-weight: 600;
  text-decoration: underline;
  display: inline-flex;
}

.receivable-totals {
  border-bottom: 1px solid var(--border-subtle);
  flex-direction: column;
  gap: 6px;
  padding: 14px 0;
  display: flex;
}

.receivable-totals dl {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  display: grid;
}

.receivable-totals dt {
  color: var(--text-muted);
  font-size: 13px;
}

.receivable-totals dd {
  font-family: var(--font-heading);
  margin-top: 2px;
  font-size: 22px;
  font-weight: 600;
}

.receivable-totals-sub {
  font-family: var(--font-sans);
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 400;
  display: block;
}

@media (max-width: 1099px) {
  .customer-aside {
    position: static;
  }
}

.sidebar-divider {
  border-top: 1px solid var(--sidebar-text);
  margin-top: 8px;
  padding-top: 8px;
}

@supports (color: color-mix(in lab, red, red)) {
  .sidebar-divider {
    border-top: 1px solid color-mix(in srgb, var(--sidebar-text) 22%, transparent);
  }
}

.access-lanes {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.access-lanes h2 {
  border-bottom: 1px solid var(--text);
  padding-bottom: 8px;
  font-size: 20px;
}

.access-lanes ul {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  display: grid;
}

.access-lane {
  border: 1px solid var(--text);
  background: var(--bg);
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  padding: 12px 14px;
  display: flex;
}

.access-lane[data-on="false"] {
  border-style: dashed;
  border-color: var(--border-strong);
  background: none;
}

.access-lane-head {
  letter-spacing: .06em;
  text-transform: uppercase;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
}

.access-lane-value {
  overflow-wrap: anywhere;
  font-weight: 600;
}

.access-lane[data-on="false"] .access-lane-value {
  color: var(--text-muted);
}

.access-lane-note {
  color: var(--text-muted);
  font-size: 13px;
}

.admin-scope {
  gap: 12px;
  padding: 14px 0;
  display: flex;
}

.admin-scope svg {
  flex: none;
  margin-top: 2px;
}

.admin-subheading {
  padding-top: 6px;
  font-size: 15px;
  font-weight: 600;
}

.admin-company-list {
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px 0 14px;
  display: flex;
}

.admin-company-list li {
  border: 1px solid var(--border-strong);
  padding: 4px 10px;
  font-size: 13px;
}

.admin-company-list li[aria-current="true"] {
  border-color: var(--text);
  font-weight: 600;
}

.page-header-row {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px;
  display: flex;
}

.admin-command {
  flex-direction: column;
  gap: 12px;
  padding: 12px 0;
  display: flex;
}

.admin-command fieldset {
  border: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.admin-command textarea.form-control, .admin-scope-fields textarea.form-control {
  width: 100%;
  min-height: 64px;
  padding: 8px;
  font-family: inherit;
}

.admin-command-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.admin-command-done {
  border: 1px solid var(--success);
  background: var(--success-subtle);
  gap: 10px;
  padding: 12px;
  display: flex;
}

.admin-command-done svg {
  color: var(--success);
  flex: none;
  margin-top: 3px;
}

.admin-refusal {
  border: 1px solid var(--warning);
  background: var(--warning-subtle);
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  font-size: 13px;
  display: flex;
}

.admin-unknown {
  border: 1px solid var(--warning);
  background: var(--warning-subtle);
  border-inline-start-width: 4px;
  padding: 12px;
}

.button-danger {
  background: var(--bg);
  color: var(--danger);
  border: 1px solid var(--danger);
}

.admin-form-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  display: grid;
}

.admin-form-wide {
  grid-column: 1 / -1;
}

.admin-choice {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.admin-check {
  align-items: center;
  gap: 8px;
  min-height: 36px;
  font-size: 14px;
  display: inline-flex;
}

.admin-facts {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  padding: 12px 0;
  display: grid;
}

.admin-facts dt {
  color: var(--text-muted);
  font-size: 12px;
}

.admin-facts dd {
  overflow-wrap: anywhere;
  font-weight: 600;
}

.admin-self-note {
  border: 1px dashed var(--border-strong);
  align-items: center;
  gap: 8px;
  margin: 12px 0;
  padding: 10px 12px;
  font-size: 13px;
  display: flex;
}

.admin-lifecycle + .admin-lifecycle {
  border-top: 1px solid var(--border-subtle);
}

.admin-lanes {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  display: grid;
}

.admin-assignment {
  flex-direction: column;
  gap: 4px;
  padding-top: 8px;
  display: flex;
}

.admin-assignment + .admin-assignment {
  border-top: 1px solid var(--border-subtle);
}

.admin-scope-list {
  gap: 4px;
  font-size: 12px;
  display: grid;
}

.admin-scope-list dt {
  color: var(--text-muted);
}

.admin-scope-list dd {
  overflow-wrap: anywhere;
}

.admin-assign {
  border-top: 1px solid var(--border-subtle);
  margin-top: 16px;
  padding-top: 12px;
}

.admin-scope-fields {
  gap: 10px;
  display: grid;
}

.accept-page {
  background: var(--bg);
  place-items: center;
  min-height: 100svh;
  padding: 24px 16px;
  display: grid;
}

.accept-card {
  border: 1px solid var(--border-subtle);
  background: var(--surface);
  flex-direction: column;
  gap: 12px;
  width: min(440px, 100%);
  padding: 24px;
  display: flex;
}

.state-brand-text {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 600;
}

.admin-user-identity {
  align-items: center;
  gap: 10px;
  display: flex;
}

.admin-user-names {
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  display: flex;
}

.admin-avatar {
  background: var(--accent-light);
  flex: none;
  place-items: center;
  width: 30px;
  height: 30px;
  font-size: 11.5px;
  font-weight: 700;
  display: grid;
}

@supports (color: color-mix(in lab, red, red)) {
  .admin-avatar {
    background: color-mix(in srgb, var(--accent-light) 45%, transparent);
  }
}

.admin-avatar {
  color: var(--info);
  border: 1px solid var(--accent-light);
}

@supports (color: color-mix(in lab, red, red)) {
  .admin-avatar {
    border: 1px solid color-mix(in srgb, var(--accent-light) 45%, transparent);
  }
}

.admin-user-row[data-state="DISABLED"] .admin-avatar {
  color: var(--text-muted);
  border: 1px dashed var(--border-strong);
  background: none;
}

.admin-user-row[data-state="DISABLED"] .row-target {
  color: var(--text-muted);
}

.admin-user-row:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .admin-user-row:hover {
    background: color-mix(in srgb, var(--accent) 7%, transparent);
  }
}

.company-tags {
  flex-wrap: wrap;
  gap: 4px;
  display: flex;
}

.company-tag {
  letter-spacing: .07em;
  text-transform: uppercase;
  border: 1px solid var(--border-strong);
  color: var(--text);
  padding: 2px 5px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.1;
}

.company-tag[data-current] {
  background: var(--sidebar-bg);
  border-color: var(--sidebar-bg);
  color: #fff;
}

.admin-open-col {
  text-align: right;
  width: 32px;
  color: var(--text-muted);
}

.filter-clear {
  min-height: var(--control-height);
  color: var(--text);
  align-items: center;
  padding: 0 8px;
  font-size: 13px;
  text-decoration: underline;
  display: inline-flex;
}

.admin-load-error {
  border: 1px dashed var(--border-strong);
  background: repeating-linear-gradient(135deg, #0000 0 7px, #1d1f200d 7px 8px);
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px;
  margin-top: 12px;
  padding: 20px;
  display: flex;
}

.admin-load-error > div {
  flex: 300px;
}

.admin-load-error h2 {
  font-size: 14px;
  font-weight: 600;
}

.admin-load-error p {
  margin-top: 2px;
  font-size: 13px;
  line-height: 1.5;
}

.admin-picker {
  border-top: 1px solid var(--border-subtle);
  flex-direction: column;
  gap: 8px;
  padding: 12px 0;
  display: flex;
}

.admin-picker-search {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.admin-picker-search .filter-search {
  flex: 220px;
}

.admin-picker-results {
  border: 1px solid var(--border-subtle);
  flex-direction: column;
  gap: 2px;
  max-height: 260px;
  padding: 6px 10px;
  display: flex;
  overflow-y: auto;
}

.admin-picker-chips {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.admin-picker-chips li {
  background: var(--accent-light);
  align-items: center;
  gap: 4px;
  max-width: 100%;
  padding: 2px 4px 2px 8px;
  font-size: 13px;
  display: inline-flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .admin-picker-chips li {
    background: color-mix(in srgb, var(--accent-light) 30%, transparent);
  }
}

.admin-picker-chips li {
  border: 1px solid var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .admin-picker-chips li {
    border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent);
  }
}

.admin-picker-chips li {
  overflow-wrap: anywhere;
}

.admin-picker-chips button {
  min-width: 28px;
  min-height: 28px;
  color: var(--text);
  place-items: center;
  display: grid;
}

.admin-picker-chips button:focus-visible {
  outline: 2px solid var(--focus-ring);
}

.admin-private-link {
  border: 1px solid var(--warning);
  background: var(--warning-subtle);
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
  padding: 14px;
  display: flex;
}

.admin-private-link-title {
  align-items: center;
  gap: 6px;
  font-weight: 600;
  display: flex;
}

.admin-private-link-field {
  width: 100%;
  font-family: ui-monospace, Menlo, monospace;
  font-size: 12px;
}

.outlet-decisions {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  display: grid;
}

@media (max-width: 640px) {
  .admin-user-row td:nth-of-type(2) {
    display: none;
  }

  table:has(.admin-user-row) thead th:nth-of-type(3) {
    display: none;
  }

  .admin-user-row .row-sub {
    overflow-wrap: anywhere;
    word-break: normal;
  }
}

.admin-picker-search .filter-search input {
  width: 100%;
}

.admin-picker-search {
  max-width: 560px;
}

.admin-revoke {
  margin-top: 8px;
}

.admin-revoke > summary {
  cursor: pointer;
  min-height: 32px;
  color: var(--danger);
  align-items: center;
  font-size: 13px;
  text-decoration: underline;
  display: inline-flex;
}

.admin-revoke > summary:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}

.admin-revoke[open] > summary {
  margin-bottom: 6px;
}

.email-form {
  flex-direction: column;
  gap: 18px;
  padding-top: 12px;
  display: flex;
}

.email-group {
  border-bottom: 1px solid var(--border-subtle);
  flex-direction: column;
  gap: 10px;
  padding-bottom: 16px;
  display: flex;
}

.email-field {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.email-server-grid {
  grid-template-columns: minmax(0, 2fr) minmax(0, .7fr) minmax(0, 1.3fr);
  gap: 12px;
  display: grid;
}

@media (max-width: 720px) {
  .email-server-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.email-help {
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 400;
}

.email-secret-state {
  align-items: center;
  gap: 6px;
  min-height: 20px;
  font-size: 13px;
  display: flex;
}

.email-notice {
  border: 1px solid var(--info);
  background: var(--info-subtle);
  padding: 12px 14px;
  font-size: 13px;
}

.create-user {
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: start;
  gap: 24px;
  display: grid;
}

@media (max-width: 1099px) {
  .create-user {
    grid-template-columns: minmax(0, 1fr);
  }
}

.create-user-form {
  flex-direction: column;
  gap: 20px;
  display: flex;
}

.create-user-section {
  border-bottom: 1px solid var(--border-subtle);
  flex-direction: column;
  gap: 10px;
  padding-bottom: 18px;
  display: flex;
}

.create-user-section h2 {
  font-family: var(--font-heading);
  align-items: center;
  gap: 10px;
  font-size: 20px;
  font-weight: 600;
  display: flex;
}

.create-user-num {
  width: 24px;
  height: 24px;
  font-size: 13px;
  font-family: var(--font-sans);
  color: var(--on-primary);
  background: var(--primary);
  place-items: center;
  display: grid;
}

.create-user-lane {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-muted);
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  font-size: 11px;
  font-weight: 700;
  display: flex;
}

.create-user-cards {
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 8px;
  display: grid;
}

.create-user-card {
  border: 1px solid var(--border-subtle);
  background: var(--surface);
  cursor: pointer;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  display: flex;
}

.create-user-card:has(input:checked) {
  border-color: var(--primary);
  background: var(--accent-light);
}

@supports (color: color-mix(in lab, red, red)) {
  .create-user-card:has(input:checked) {
    background: color-mix(in srgb, var(--accent-light) 25%, var(--surface));
  }
}

.create-user-card:has(input:focus-visible) {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}

.create-user-card[data-disabled] {
  cursor: not-allowed;
  opacity: .7;
}

.create-user-card input {
  margin-top: 3px;
}

.create-user-errors ul {
  margin-top: 4px;
  padding-left: 18px;
  list-style: outside;
}

.create-user-preview {
  top: calc(var(--topbar-height) + 16px);
  border: 1px solid var(--text);
  background: var(--surface);
  flex-direction: column;
  gap: 10px;
  padding: 16px;
  display: flex;
  position: sticky;
}

.create-user-preview h2 {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 600;
}

.create-user-preview-facts {
  grid-template-columns: minmax(0, 1fr);
}

.create-user-preview-head {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 700;
}

.create-user-can, .create-user-cannot {
  flex-direction: column;
  gap: 4px;
  font-size: 13px;
  display: flex;
}

.create-user-can li:before {
  content: "✓ ";
  color: var(--success);
}

.create-user-cannot li:before {
  content: "– ";
  color: var(--text-muted);
}

@media (max-width: 1099px) {
  .create-user-preview {
    position: static;
  }
}

.create-user-result {
  flex-direction: column;
  gap: 14px;
  max-width: 760px;
  display: flex;
}

.create-user-steps {
  border-top: 1px solid var(--text);
  flex-direction: column;
  display: flex;
}

.create-user-steps li {
  border-bottom: 1px solid var(--border-subtle);
  gap: 10px;
  padding: 10px 4px;
  display: flex;
}

.create-user-steps li[data-status="applied"] .create-user-step-icon {
  color: var(--success);
}

.create-user-steps li[data-status="refused"] .create-user-step-icon {
  color: var(--danger);
}

.create-user-steps li[data-status="uncertain"] .create-user-step-icon {
  color: var(--warning);
}

.create-user-step-icon {
  color: var(--text-muted);
  padding-top: 2px;
}

.role-group th {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-muted);
  background: none;
  padding-top: 18px;
  font-size: 11px;
  font-weight: 700;
}

.role-tag {
  letter-spacing: .06em;
  text-transform: uppercase;
  border: 1px solid var(--border-strong);
  color: var(--text-muted);
  vertical-align: middle;
  padding: 1px 6px;
  font-size: 10px;
  font-weight: 700;
  display: inline-block;
}

.role-sensitive {
  border: 1px solid var(--warning);
  background: var(--warning-subtle);
  color: var(--warning);
  padding: 1px 6px;
  font-size: 11px;
  font-weight: 600;
  display: inline-block;
}

.role-note {
  color: var(--text-muted);
  align-items: center;
  gap: 6px;
  font-size: 13px;
  display: flex;
}

.role-meta {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  display: flex;
}

.role-layout {
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: start;
  gap: 24px;
  display: grid;
}

@media (max-width: 1099px) {
  .role-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

.role-chips {
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 8px;
  display: flex;
}

.role-chips li {
  border: 1px solid var(--primary);
  background: var(--accent-light);
  padding: 3px 10px;
  font-size: 13px;
}

@supports (color: color-mix(in lab, red, red)) {
  .role-chips li {
    background: color-mix(in srgb, var(--accent-light) 25%, transparent);
  }
}

.role-areas {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
  padding-top: 10px;
  display: grid;
}

.role-area h3 {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 700;
}

.role-area li, .role-not li, .role-restrictions li {
  align-items: flex-start;
  gap: 6px;
  padding: 3px 0;
  font-size: 13px;
  display: flex;
}

.role-area li svg {
  color: var(--success);
  flex: none;
  margin-top: 3px;
}

.role-not {
  padding-top: 8px;
}

.role-not li {
  color: var(--text-muted);
}

.role-not li svg, .role-restrictions li svg {
  flex: none;
  margin-top: 3px;
}

.role-aside {
  border: 1px solid var(--text);
  background: var(--surface);
  flex-direction: column;
  gap: 16px;
  padding: 16px;
  display: flex;
}

.role-aside h2 {
  font-family: var(--font-heading);
  margin-bottom: 6px;
  font-size: 18px;
  font-weight: 600;
}

.role-restrictions li svg {
  color: var(--danger);
}

.role-scope {
  flex-direction: column;
  gap: 6px;
  margin: 8px 0;
  font-size: 13px;
  display: flex;
}

.role-scope li {
  border: 1px solid var(--border-subtle);
  flex-direction: column;
  padding: 6px 8px;
  display: flex;
}

@media (max-width: 720px) {
  :is(table:has(.role-group) thead th:nth-of-type(2), table:has(.role-group) thead th:nth-of-type(3), table:has(.role-group) thead th:nth-of-type(5), table:has(.role-group) tbody td:first-of-type, table:has(.role-group) tbody td:nth-of-type(2), table:has(.role-group) tbody td:nth-of-type(4)) {
    display: none;
  }
}

.review-layout {
  grid-template-columns: 280px minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  display: grid;
}

@media (max-width: 899px) {
  .review-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

.review-questions {
  border-top: 1px solid var(--text);
  flex-direction: column;
  display: flex;
}

.review-questions a {
  min-height: 46px;
  color: var(--text);
  border-bottom: 1px solid var(--border-subtle);
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  font-size: 14px;
  text-decoration: none;
  display: flex;
}

.review-questions a > span:first-child {
  flex: 1;
}

.review-questions a:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .review-questions a:hover {
    background: color-mix(in srgb, var(--accent) 7%, transparent);
  }
}

.review-questions a[aria-current="page"] {
  background: var(--accent-light);
  font-weight: 600;
}

@supports (color: color-mix(in lab, red, red)) {
  .review-questions a[aria-current="page"] {
    background: color-mix(in srgb, var(--accent-light) 25%, transparent);
  }
}

.review-questions a[aria-current="page"] {
  box-shadow: inset 3px 0 0 var(--primary);
}

.review-questions a:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: -2px;
}

.review-count {
  text-align: center;
  border: 1px solid var(--border-strong);
  min-width: 26px;
  padding: 1px 6px;
  font-size: 12px;
  font-weight: 700;
}

.review-answer {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.review-answer-head {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.review-answer-head h2 {
  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 600;
}

.review-via {
  letter-spacing: .06em;
  text-transform: uppercase;
  border: 1px solid var(--border-strong);
  color: var(--text-muted);
  padding: 1px 5px;
  font-size: 10px;
  font-weight: 700;
  display: inline-block;
}

.order-entry-form {
  flex-direction: column;
  gap: 18px;
  display: flex;
}

.order-entry-fields {
  min-width: 0;
}

.order-context {
  border: 1px solid var(--border-subtle);
  background: var(--border-subtle);
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1px;
  display: grid;
}

.order-context-cell {
  background: var(--surface);
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  display: flex;
}

.order-context-wide {
  grid-column: span 2;
}

@media (max-width: 640px) {
  .order-context-wide {
    grid-column: auto;
  }
}

.order-context-label {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-muted);
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 600;
  display: flex;
}

.order-context-value {
  font-weight: 600;
}

.order-context-value a {
  color: var(--text);
}

.order-entry-layout {
  grid-template-columns: minmax(0, 1fr) 340px;
  align-items: start;
  gap: 24px;
  display: grid;
}

@media (max-width: 1099px) {
  .order-entry-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

.order-lines {
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.order-lines > fieldset {
  min-width: 0;
}

.order-lines-head {
  border-bottom: 1px solid var(--text);
  align-items: center;
  gap: 10px;
  padding-bottom: 6px;
  display: flex;
}

.order-lines-head h2 {
  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 600;
}

.order-lines td.num, .order-lines th.num {
  text-align: right;
  white-space: nowrap;
}

.order-qty input {
  max-width: 96px;
}

.order-pack {
  min-width: 156px;
}

.order-pack-select {
  width: 100%;
  max-width: 180px;
}

.order-inline-link {
  min-block-size: 0;
  color: var(--primary);
  text-underline-offset: 3px;
  font: inherit;
  background: none;
  border: 0;
  padding: 0;
  text-decoration: underline;
}

.order-lines-empty {
  color: var(--text-muted);
  border-bottom: 1px solid var(--border-subtle);
  padding: 18px 4px;
  font-size: 13px;
}

.order-add {
  align-items: flex-start;
  gap: 8px;
  padding: 10px 4px 4px;
  display: flex;
}

.order-add > svg {
  color: var(--text-muted);
  margin-top: 11px;
}

.order-add .item-picker {
  flex: 1;
}

.order-add-keys kbd, .order-kbd {
  border: 1px solid var(--border-strong);
  padding: 0 4px;
  font-family: ui-monospace, Menlo, monospace;
  font-size: 11px;
}

.order-pricing-note {
  color: var(--text-muted);
  align-items: center;
  gap: 6px;
  padding-top: 6px;
  font-size: 12px;
  display: flex;
}

.icon-button {
  min-width: 36px;
  min-height: 36px;
  color: var(--text-muted);
  place-items: center;
  display: grid;
}

.icon-button:hover {
  color: var(--danger);
}

.icon-button:focus-visible {
  outline: 2px solid var(--focus-ring);
}

.order-aside {
  top: calc(var(--topbar-height) + 16px);
  flex-direction: column;
  gap: 14px;
  display: flex;
  position: sticky;
}

@media (max-width: 1099px) {
  .order-aside {
    position: static;
  }
}

.order-blocked {
  border: 1px solid var(--danger);
  background: var(--danger-subtle);
  flex-direction: column;
  gap: 8px;
  padding: 14px;
  display: flex;
}

.order-blocked-kicker {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--danger);
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  display: flex;
}

.order-blocked h2 {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 600;
}

.order-blocked-options {
  flex-direction: column;
  gap: 10px;
  padding-top: 4px;
  display: flex;
}

.order-blocked-options li {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  display: flex;
}

.order-submit {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.order-submit-button {
  justify-content: center;
  gap: 8px;
  width: 100%;
}

.order-submit-button .order-kbd {
  opacity: .8;
  border-color: currentColor;
}

@media (max-width: 640px) {
  .order-add-keys, .order-kbd {
    display: none;
  }
}

.customer-tiles {
  border: 1px solid var(--border-subtle);
  background: var(--border-subtle);
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 1px;
  display: grid;
}

.customer-tile {
  height: 100%;
  color: var(--text);
  background: var(--surface);
  flex-direction: column;
  gap: 2px;
  padding: 12px 14px;
  text-decoration: none;
  display: flex;
}

a.customer-tile:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  a.customer-tile:hover {
    background: color-mix(in srgb, var(--accent) 7%, var(--surface));
  }
}

a.customer-tile:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: -2px;
}

.customer-tile-label {
  color: var(--text-muted);
  font-size: 12px;
}

.customer-tile-value {
  font-family: var(--font-heading);
  font-variant-numeric: tabular-nums;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.15;
}

.customer-tile-value[data-unavailable] {
  color: var(--text-muted);
}

.customer-tile-sub {
  color: var(--text-muted);
  font-size: 12px;
}

.customer-sections {
  border-bottom: 1px solid var(--border-subtle);
  gap: 4px;
  display: flex;
  overflow-x: auto;
}

.customer-sections a {
  white-space: nowrap;
  min-height: 40px;
  color: var(--text-muted);
  border-bottom: 2px solid #0000;
  align-items: center;
  margin-bottom: -1px;
  padding: 0 14px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
}

.customer-sections a:first-child {
  color: var(--text);
  border-bottom-color: var(--accent);
  font-weight: 600;
}

.customer-sections a:hover {
  color: var(--text);
}

.customer-sections a:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: -2px;
}

#customer-orders, #customer-receivables, #customer-outlets, #credit-position, #customer-top {
  scroll-margin-top: calc(var(--topbar-height) + 12px);
}

.account-list {
  flex-direction: column;
  padding-top: 8px;
  display: flex;
}

.account-list > div {
  border-bottom: 1px solid var(--border-subtle);
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  font-size: 13px;
  display: flex;
}

.account-list dt {
  color: var(--text-muted);
}

.account-list dd {
  text-align: right;
  overflow-wrap: anywhere;
  font-weight: 600;
}

.customer-aside {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.density-toggle .seg-opt {
  place-items: center;
  min-width: 36px;
  display: inline-grid;
}

.density-toggle .seg-opt[aria-checked="true"] {
  background: var(--primary);
  color: var(--on-primary);
}

#customer-list[data-density="compact"] tbody th, #customer-list[data-density="compact"] tbody td {
  padding-top: 4px;
  padding-bottom: 4px;
}

.new-customer-similar {
  border: 1px solid var(--info);
  background: var(--info-subtle);
  padding: 10px 12px;
}

.new-customer-similar ul {
  flex-wrap: wrap;
  gap: 4px 14px;
  padding: 4px 0;
  font-size: 13px;
  display: flex;
}

.lifecycle-head {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  display: flex;
}

.lifecycle-actions, .lifecycle-dialog-actions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.lifecycle-cancel-start {
  color: var(--danger);
}

.lifecycle-dialog {
  border: 1px solid var(--border-strong);
  background: var(--surface);
  gap: 12px;
  max-width: 480px;
  padding: 16px;
  display: grid;
}

.lifecycle-dialog h3 {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 600;
}

.lifecycle-refusal {
  border: 1px solid var(--danger);
  border-left-width: 4px;
  gap: 6px;
  padding: 12px;
  display: grid;
}

.lifecycle-refusal svg {
  vertical-align: -3px;
  color: var(--danger);
  display: inline;
}

.lifecycle-uncertain {
  border: 2px dashed var(--warning);
  gap: 6px;
  padding: 12px;
  display: grid;
}

.lifecycle-done, .lifecycle-note {
  border-left: 4px solid var(--primary);
  background: var(--bg);
  padding: 10px 12px;
}

.lifecycle-preview dl {
  gap: 12px;
  font-weight: 600;
  display: flex;
}

@media (max-width: 767px) {
  .lifecycle-dialog {
    max-width: none;
  }

  .lifecycle-dialog-actions > * {
    flex: 100%;
    min-block-size: 44px;
  }
}

.order-correction fieldset {
  min-width: 0;
}

.view-chips {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.view-chip {
  border: 1px solid var(--border-strong);
  background: var(--surface);
  min-block-size: 36px;
  color: var(--text);
  align-items: center;
  gap: 8px;
  padding: 4px 14px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
}

.view-chip[aria-current="page"] {
  background: var(--primary);
  border-color: var(--primary);
  color: var(--on-primary);
}

.view-chip-count {
  text-align: center;
  font-variant-numeric: tabular-nums;
  border: 1px solid;
  min-width: 22px;
  padding: 0 6px;
  font-size: 12px;
}

.overdue-head {
  color: var(--text-muted);
}

.overdue-summary {
  border-left: 4px solid var(--border-strong);
  background: var(--bg);
  padding: 10px 12px;
}

.overdue-summary-due {
  border-left-color: var(--warning);
  gap: 4px;
  display: grid;
}

.followup-line {
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  display: flex;
}

.followup-note {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  flex-basis: 100%;
  font-size: 14px;
}

.followup-history-title {
  font-family: var(--font-heading);
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: 600;
}

.followup-list {
  gap: 0;
  display: grid;
}

.followup-list > li {
  border-bottom: 1px solid var(--border-subtle);
  padding: 10px 0;
}

.followup-outcomes {
  border: 1px solid var(--border-strong);
  flex-wrap: wrap;
  display: inline-flex;
}

.followup-dialog fieldset {
  min-width: 0;
}

@media (max-width: 767px) {
  .followup-outcomes {
    grid-template-columns: 1fr 1fr;
    display: grid;
  }

  .followup-outcomes .seg-opt {
    justify-content: center;
    min-block-size: 44px;
  }
}

.home-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  display: grid;
}

.home-col {
  gap: 16px;
  min-width: 0;
  display: grid;
}

.home-needs, .home-rows {
  display: grid;
}

.home-need {
  border-bottom: 1px solid var(--border-subtle);
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  display: grid;
}

.home-need-icon {
  color: var(--text-muted);
}

.home-need-kind {
  color: var(--text-muted);
  font-size: 12px;
}

.home-need-main {
  overflow-wrap: anywhere;
  min-width: 0;
}

.home-rows > li {
  border-bottom: 1px solid var(--border-subtle);
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 12px;
  padding: 8px 0;
  display: grid;
}

.home-row-main {
  overflow-wrap: anywhere;
  font-weight: 600;
}

.home-row-figure {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.home-row-sub {
  color: var(--text-muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  display: flex;
}

.home-row-status {
  justify-self: end;
}

.home-band-unavailable {
  background: repeating-linear-gradient(135deg,
    var(--bg),
    var(--bg) 6px,
    var(--surface) 6px,
    var(--surface) 12px);
  border: 1px dashed var(--border-strong);
  padding: 8px 10px;
  font-size: 13px;
}

.home-start {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

@media (max-width: 1099px) {
  .home-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .home-need {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-need-icon {
    display: none;
  }

  .home-start {
    grid-template-columns: 1fr 1fr;
    display: grid;
  }

  .home-start > * {
    min-block-size: 48px;
  }
}

.record-picker {
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  display: flex;
  position: relative;
}

.record-picker-required {
  color: var(--danger);
}

.record-picker-badge {
  letter-spacing: .06em;
  text-transform: uppercase;
  border: 1px solid var(--border-strong);
  color: var(--primary);
  padding: 1px 5px;
  font-size: 10px;
  font-weight: 600;
}

.record-picker-field {
  width: 100%;
  background: var(--surface);
  border: 1px solid var(--border-strong);
  text-align: left;
  min-block-size: 44px;
  color: var(--text);
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  display: flex;
}

.record-picker-field:disabled {
  color: var(--text-muted);
  cursor: not-allowed;
}

.record-picker-value {
  flex-direction: column;
  flex: 1;
  min-width: 0;
  display: flex;
}

.record-picker-main {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
  display: block;
  overflow: hidden;
}

.record-picker-sub, .record-picker-placeholder {
  color: var(--text-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  display: block;
  overflow: hidden;
}

.record-picker-placeholder {
  font-size: 13.5px;
}

.record-picker-note {
  color: var(--text-muted);
  font-size: 12px;
}

.record-picker-note.warn {
  color: var(--danger);
}

.record-picker-pop {
  z-index: 30;
  background: var(--surface);
  border: 1px solid var(--text);
  flex-direction: column;
  width: max(100%, 320px);
  margin-top: 2px;
  display: flex;
  position: absolute;
  top: 100%;
  left: 0;
  box-shadow: 0 8px 24px #0000001f;
}

.record-picker-search {
  border-bottom: 1px solid var(--border-subtle);
  padding: 8px;
}

.record-picker-hint, .record-picker-empty, .record-picker-loading {
  color: var(--text-muted);
  padding: 10px 12px;
  font-size: 13px;
}

.record-picker-list {
  max-height: 300px;
  overflow: auto;
}

.record-picker-option {
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--border-subtle);
  text-align: left;
  min-block-size: 44px;
  color: var(--text);
  background: none;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  display: flex;
}

.record-picker-option:hover, .record-picker-option[aria-selected="true"] {
  background: var(--accent-light);
}

.record-picker-option > span:first-child {
  min-width: 0;
}

.record-picker-striped {
  border: 1px dashed var(--border-strong);
  background: repeating-linear-gradient(135deg,
    var(--bg),
    var(--bg) 6px,
    var(--surface) 6px,
    var(--surface) 12px);
  margin: 10px;
  padding: 10px 12px;
  font-size: 13px;
}

.record-picker-more {
  color: var(--text-muted);
  border-top: 1px solid var(--border-subtle);
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 12px;
  font-size: 12px;
  display: flex;
}

.order-warehouse-notice {
  border-left: 4px solid var(--primary);
  background: var(--bg);
  margin-top: 8px;
  padding: 10px 12px;
  font-size: 13px;
}

.order-fulfilled-from {
  color: var(--text-muted);
  margin-left: auto;
  font-size: 12px;
}

.order-line-discount {
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 400;
  display: block;
}

@media (max-width: 767px) {
  .record-picker-pop {
    width: auto;
    box-shadow: none;
    position: static;
  }

  .order-lines table thead {
    display: none;
  }

  .order-lines table, .order-lines table tbody, .order-entry-form .order-lines .data-table {
    width: 100%;
    min-width: 0;
    display: block;
  }

  .order-lines table tr {
    border-bottom: 1px solid var(--border-subtle);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 6px 10px;
    padding: 10px 0;
    display: grid;
  }

  .order-lines table td {
    border: 0;
    min-width: 0;
    padding: 0;
    display: block;
  }

  .order-lines table td:first-child {
    display: none;
  }

  .order-lines table td:nth-child(2) {
    grid-column: 1 / -1;
  }

  .order-lines table td.num {
    text-align: left;
  }

  .order-lines .order-pack select, .order-lines .order-qty input {
    min-block-size: 48px;
    width: 100%;
    max-width: none;
  }

  .order-lines table td, .order-lines table .order-pack, .order-lines table .min-w-48 {
    white-space: normal;
    min-width: 0;
  }

  .order-lines table td:nth-child(6) {
    text-align: right;
  }

  .order-lines table td:last-child {
    grid-column: 1 / -1;
  }
}

.buying-form-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px 16px;
  min-width: 0;
  display: grid;
}

.buying-context {
  border: 1px solid var(--border-subtle);
  background: var(--border-subtle);
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1px;
  min-width: 0;
  display: grid;
}

.buying-facts {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px 24px;
  display: grid;
}

.buying-facts dt, .buying-totals dt {
  color: var(--text-muted);
  font-size: 12px;
}

.buying-totals {
  gap: 4px;
  max-width: 360px;
  margin-left: auto;
  display: grid;
}

.buying-totals > div {
  font-variant-numeric: tabular-nums;
  justify-content: space-between;
  gap: 16px;
  display: flex;
}

.buying-totals > div.grand {
  border-top: 1px solid var(--border-subtle);
  padding-top: 4px;
  font-weight: 600;
}

.buying-links {
  display: grid;
}

.buying-links > li {
  border-bottom: 1px solid var(--border-subtle);
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  padding: 8px 0;
  display: flex;
}

.buying-batch {
  gap: 4px;
  min-width: 150px;
  display: grid;
}

.buying-fieldset {
  min-width: 0;
}

.buying-pay {
  max-width: 640px;
}

@media (max-width: 767px) {
  .buying-context, .buying-form-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.inv-page {
  min-width: 0;
}

.inv-basis {
  color: var(--text-muted);
  max-width: 72ch;
  font-size: 13px;
}

.inv-filters .filter-search {
  max-width: none;
}

.inv-chips {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  display: flex;
}

.inv-chip {
  border: 1px solid var(--primary);
  background: var(--accent-light);
  min-height: 32px;
  color: var(--text);
  overflow-wrap: anywhere;
  align-items: center;
  gap: 6px;
  padding: 0 8px 0 10px;
  font-size: 13px;
  text-decoration: none;
  display: inline-flex;
}

.inv-clear {
  margin-inline-start: 4px;
  font-size: 13px;
}

.inv-name {
  font-weight: 600;
  display: block;
}

.inv-code {
  color: var(--text-muted);
  overflow-wrap: anywhere;
  font-family: ui-monospace, Menlo, monospace;
  font-size: 11.5px;
  display: block;
}

.inv-ref .inv-code {
  display: inline;
}

.inv-qty {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  font-weight: 600;
}

.inv-qty-zero {
  color: var(--text-muted);
  font-weight: 400;
}

.inv-qty-neg {
  color: var(--danger);
}

.inv-change:not(.inv-qty-neg):not(.inv-qty-zero) {
  color: var(--success);
}

.inv-cards {
  border-top: 1px solid var(--text);
  display: none;
}

.inv-cards > li {
  border-bottom: 1px solid var(--border-subtle);
}

.inv-cards > li > a, .inv-cards > li > div {
  color: inherit;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  padding: 12px 0;
  text-decoration: none;
  display: flex;
}

.inv-cards small {
  color: var(--text-muted);
  overflow-wrap: anywhere;
  font-size: 12.5px;
}

.inv-card-top {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.inv-card-top .inv-name {
  overflow-wrap: anywhere;
  min-width: 0;
}

.inv-unavailable h3 {
  align-items: center;
  gap: 6px;
  display: flex;
}

@media (max-width: 767px) {
  .inv-table {
    display: none;
  }

  .inv-cards {
    display: block;
  }
}

.fin-segment {
  border: 1px solid var(--border-strong);
  display: inline-flex;
}

.fin-segment label {
  min-height: var(--control-height, 40px);
  cursor: pointer;
  border-inline-end: 1px solid var(--border-strong);
  align-items: center;
  padding: 0 14px;
  font-size: 13.5px;
  display: inline-flex;
}

.fin-segment label:last-of-type {
  border-inline-end: 0;
}

.fin-segment label.active {
  background: var(--primary);
  color: var(--on-primary);
}

.fin-segment label:has(input:checked) {
  background: var(--primary);
  color: var(--on-primary);
}

.fin-segment input {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.fin-segment label:focus-within {
  outline: 2px solid var(--focus-ring);
  outline-offset: -2px;
}

.fin-aging {
  white-space: nowrap;
  border: 1px solid var(--border-strong);
  color: var(--text);
  align-items: center;
  padding: 3px 7px;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.1;
  display: inline-flex;
}

.fin-aging-current {
  border-color: var(--success);
  color: var(--success);
}

.fin-aging-overdue {
  border-color: var(--danger);
  color: var(--danger);
  background: var(--warning-subtle);
}

.fin-aging-credit_balance {
  border-color: var(--info);
  color: var(--info);
}

.fin-aging-due_date_unavailable, .fin-aging-installment_schedule_not_evaluated {
  color: var(--text-muted);
  white-space: normal;
  border-style: dashed;
}

.fin-aging-settled {
  color: var(--text-muted);
}

.fin-amount {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.fin-amount-strong {
  font-weight: 700;
}

.fin-credit {
  color: var(--info);
}

.fin-party {
  color: inherit;
  font-weight: 600;
}

.fin-cards > li > div {
  gap: 6px;
}

.fin-card-action {
  justify-content: center;
  width: 100%;
  min-height: 44px;
}

.fin-pay, .fin-result {
  max-width: 720px;
}

.fin-after {
  border-top: 1px solid var(--border-subtle);
  padding-top: 10px;
}

@media (max-width: 767px) {
  .fin-filters .filter-row > * {
    flex: 100%;
  }

  .fin-segment {
    display: flex;
  }

  .fin-segment label {
    flex: 1;
    justify-content: center;
    min-height: 44px;
  }

  .fin-sticky {
    background: var(--bg);
    border-top: 1px solid var(--text);
    padding: 10px 0;
    position: sticky;
    bottom: 0;
  }

  .fin-sticky > * {
    width: 100%;
    min-height: 46px;
  }

  .fin-pay .lifecycle-dialog-actions > *, .fin-pay .lifecycle-uncertain > button {
    width: 100%;
  }
}

.fs-page {
  min-width: 0;
  max-width: 960px;
}

.fs-list {
  display: grid;
}

.fs-feature {
  border-bottom: 1px solid var(--border-subtle);
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  min-width: 0;
  padding: 14px 16px;
  display: flex;
}

.fs-main {
  flex: auto;
  gap: 6px;
  min-width: 0;
  display: grid;
}

.fs-title {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.fs-title h3 {
  overflow-wrap: anywhere;
  font-size: 15px;
  font-weight: 600;
}

.fs-badge {
  letter-spacing: .05em;
  text-transform: uppercase;
  border: 1px solid var(--border-strong);
  padding: 2px 6px;
  font-size: 11px;
  font-weight: 700;
}

.fs-core {
  border-color: var(--primary);
  color: var(--primary);
}

.fs-optional {
  border-color: var(--info);
  color: var(--info);
}

.fs-unavailable {
  color: var(--text-muted);
  border-style: dashed;
}

.fs-facts {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 6px 18px;
  display: grid;
}

.fs-facts dt {
  color: var(--text-muted);
  font-size: 12px;
}

.fs-facts dd {
  font-size: 13.5px;
}

.fs-on {
  color: var(--success);
  font-weight: 600;
}

.fs-off {
  color: var(--text-muted);
}

.fs-blocked {
  color: var(--text-muted);
  padding-inline-start: 18px;
  font-size: 12.5px;
  list-style: outside;
}

.fs-control {
  flex: none;
  justify-items: end;
  gap: 4px;
  display: grid;
}

.fs-switch {
  border: 1px solid var(--border-strong);
  background: var(--surface);
  cursor: pointer;
  width: 48px;
  height: 28px;
  position: relative;
}

.fs-switch span {
  background: var(--text-muted);
  width: 20px;
  height: 20px;
  transition: left .15s;
  position: absolute;
  top: 3px;
  left: 3px;
}

.fs-switch[aria-checked="true"] {
  background: var(--primary);
  border-color: var(--primary);
}

.fs-switch[aria-checked="true"] span {
  background: var(--on-primary);
  left: 23px;
}

.fs-switch:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.fs-result {
  color: var(--success);
  font-size: 13.5px;
  font-weight: 600;
}

@media (max-width: 767px) {
  .fs-feature {
    flex-direction: column;
  }

  .fs-control {
    justify-items: start;
  }

  .fs-switch {
    width: 56px;
    height: 32px;
  }

  .fs-switch span {
    width: 24px;
    height: 24px;
  }

  .fs-switch[aria-checked="true"] span {
    left: 27px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fs-switch span {
    transition: none;
  }
}

.fs-page textarea {
  box-sizing: border-box;
  width: 100%;
  margin-top: 4px;
  display: block;
}

.new-customer .create-user-num {
  width: auto;
  height: auto;
  color: var(--text-muted);
  background: none;
  font-size: 12px;
  font-weight: 400;
}

.new-customer .create-user-section h2 {
  flex-wrap: wrap;
  align-items: baseline;
}

.new-customer .seg {
  border: 1px solid var(--border-strong);
  width: auto;
  display: inline-flex;
}

.new-customer .seg-opt {
  min-height: calc(var(--field-height) - 2px);
  padding: 0 14px;
  font-size: 14px;
}

.nc-matches {
  border: 1px solid var(--warning);
  background: var(--warning-subtle);
  padding: 12px 14px;
}

.nc-matches ul {
  gap: 4px;
  margin: 8px 0 6px;
  display: grid;
}

.nc-matches li {
  flex-wrap: wrap;
  gap: 4px 10px;
  font-size: 13px;
  display: flex;
}

.nc-matches a {
  color: var(--text);
  text-decoration: underline;
}

.nc-code {
  color: var(--text-muted) !important;
}

.nc-picker {
  border: 1px solid var(--border-strong);
  background: var(--bg);
  text-align: start;
  width: 100%;
  min-height: 46px;
  font: inherit;
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 5px 12px;
  display: flex;
}

.nc-picker > span {
  gap: 1px;
  min-width: 0;
  display: grid;
}

.nc-picker strong {
  font-size: 14px;
  font-weight: 600;
}

.nc-picker small {
  color: var(--text-muted);
  font-size: 12px;
}

.nc-picker[aria-expanded="true"] {
  border-color: var(--primary);
  box-shadow: inset 0 0 0 1px var(--primary);
}

.nc-link, .nc-cancel {
  color: var(--primary);
  font: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  justify-self: start;
  padding: 0;
  font-size: 13px;
  text-decoration: underline;
}

.nc-add {
  min-height: 32px;
  color: var(--primary);
  font-family: var(--font-heading);
  cursor: pointer;
  background: none;
  border: 0;
  align-items: center;
  gap: 6px;
  margin-inline-start: auto;
  padding: 0;
  font-size: 15px;
  font-weight: 600;
  display: inline-flex;
}

.nc-add:hover {
  text-decoration: underline;
}

.nc-aside {
  gap: 0;
  padding: 0;
}

.nc-aside-part {
  gap: 8px;
  padding: 16px;
  display: grid;
}

.nc-aside-part + .nc-aside-part {
  border-top: 1px solid var(--border-subtle);
}

.nc-aside-part h2 {
  font-family: var(--font-heading);
  font-size: 17px;
  font-weight: 600;
}

.nc-bullets {
  gap: 4px;
  padding-inline-start: 18px;
  font-size: 13.5px;
  list-style: outside;
  display: grid;
}

.nc-aside-actions {
  justify-items: center;
}

.nc-aside-actions > button {
  justify-content: center;
  width: 100%;
  min-height: 44px;
}

.nc-cancel {
  font-family: var(--font-heading);
  justify-self: center;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

@media (max-width: 767px) {
  .new-customer .seg {
    display: flex;
  }

  .new-customer .seg-opt {
    flex: 1;
    justify-content: center;
    min-height: 46px;
  }
}

.customers-filter-row {
  flex-wrap: wrap;
  gap: 8px;
}

.customers-filter-row .filter-search {
  flex: 0 380px;
}

.customers-filter-row .view-chips {
  margin: 0;
}

#customer-list thead th {
  text-transform: none;
  letter-spacing: 0;
  color: var(--text);
  font-size: 12.5px;
  font-weight: 600;
}

#customer-list .row-target {
  font-weight: 600;
}

.customers-pager {
  color: var(--text-muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 14px;
  padding-top: 10px;
  font-size: 12.5px;
  display: flex;
}

.customers-pager a {
  color: var(--text-muted);
  text-decoration: none;
}

.customers-pager a:hover {
  color: var(--text);
  text-decoration: underline;
}

@media (max-width: 767px) {
  .customers-filter-row .filter-search {
    flex: 100%;
  }
}

.customers-filter-row .view-chip-count {
  background: none;
  border: 0;
  min-width: 0;
  padding: 0;
  font-weight: 400;
}

.new-customer .admin-choice .seg {
  align-self: flex-start;
}

.nc-matches > p:first-child {
  align-items: center;
  gap: 6px;
  display: flex;
}

.nc-group-list {
  border: 1px solid var(--border-subtle);
  max-height: 300px;
  overflow-y: auto;
}

.nc-group-list > li {
  border-bottom: 1px solid var(--border-subtle);
  padding: 2px 10px;
}

.nc-group-list > li:last-child {
  border-bottom: 0;
}

.nc-group-list .admin-check {
  cursor: pointer;
  align-items: flex-start;
  width: 100%;
}

.nc-group-list small {
  display: block;
}

.nc-group-list .admin-check {
  align-items: center;
  min-height: 40px;
}

.page-header-actions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.imp {
  min-width: 0;
  max-width: 880px;
}

.imp-step {
  border-top: 1px solid var(--text);
  gap: 10px;
  min-width: 0;
  padding-top: 14px;
  display: grid;
}

.imp-step h2 {
  font-family: var(--font-heading);
  font-size: 19px;
  font-weight: 600;
}

.imp-num {
  font-family: var(--font-sans);
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 400;
}

.imp-actions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.imp-limits {
  gap: 2px;
  padding-inline-start: 18px;
  list-style: outside;
  display: grid;
}

.imp-validated {
  border: 1px solid var(--success);
  background: var(--success-subtle);
  padding: 10px 12px;
}

.imp-message {
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.imp-result {
  max-width: 720px;
}

.imp-created {
  width: 100%;
}

.imp-step input[type="file"] {
  max-width: 100%;
}

@media (max-width: 767px) {
  .imp-actions > * {
    flex: 100%;
    justify-content: center;
  }
}

.prod-segs {
  flex-wrap: wrap;
  gap: 14px 24px;
  display: flex;
}

.prod-code {
  font-family: ui-monospace, Menlo, monospace;
  font-size: 14px;
  display: block;
}

.prod-units {
  gap: 10px;
  display: grid;
}

.prod-units > li {
  border-bottom: 1px solid var(--border-subtle);
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px;
  padding-bottom: 10px;
  display: grid;
}

.prod-unit-pick {
  min-width: 0;
}

.prod-remove {
  align-items: center;
  gap: 4px;
  min-height: 40px;
  display: inline-flex;
}

.prod-add-unit {
  margin-inline-start: 0;
}

.prod-shared {
  font-weight: 600;
}

@media (max-width: 767px) {
  .prod-units > li {
    grid-template-columns: minmax(0, 1fr);
  }
}

.product-form textarea, .product-form select.form-control {
  box-sizing: border-box;
  width: 100%;
  margin-top: 4px;
  display: block;
}

.product-form select.form-control {
  min-height: 40px;
}

.sup-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 16px 20px;
  margin-top: 14px;
  display: grid;
}

.supplier-form .admin-choice .seg {
  align-self: flex-start;
}

.supplier-form .req {
  color: var(--danger);
}

@media (max-width: 899px) {
  .sup-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.supplier-form .seg {
  max-width: 100%;
}

.supplier-form .seg-opt {
  white-space: nowrap;
  padding: 0 10px;
  font-size: 13.5px;
}

.nc-new-group {
  margin-inline-start: 0;
}

.nc-group-dialog {
  margin-top: 6px;
}

.nc-group-notice {
  color: var(--success);
}

.admin-unavailable-families {
  border: 1px dashed var(--border-strong);
  margin-top: 14px;
  padding: 10px 12px;
}

.admin-unavailable-families ul {
  gap: 6px;
  margin-top: 6px;
  display: grid;
}

.admin-unavailable-families li {
  gap: 1px;
  display: grid;
}

.admin-family-off {
  color: var(--text-muted);
  font-size: 13.5px;
}

.grp-table {
  max-width: 720px;
}

.grp-create {
  max-width: 560px;
}

.grp-links {
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 16px;
  display: flex;
}

.grp-links .nc-add {
  margin-inline-start: 0;
}

.grp-links .nc-group-dialog {
  flex-basis: 100%;
}

:root {
  --field-height: 40px;
  --field-gap: 4px;
  --field-label-line: 18px;
}

.form-control:not(textarea), .record-picker-field {
  min-block-size: var(--field-height);
  box-sizing: border-box;
}

.form-label {
  line-height: var(--field-label-line);
}

.form-label > .form-control {
  width: 100%;
  margin-top: var(--field-gap);
  display: block;
}

.record-picker {
  gap: var(--field-gap);
}

.record-picker > .order-context-label {
  min-block-size: var(--field-label-line);
  line-height: var(--field-label-line);
  letter-spacing: normal;
  text-transform: none;
  font-size: 12px;
  font-weight: 500;
}

.record-picker-badge {
  padding-block: 0;
  line-height: 1.2;
}

.record-picker-field {
  padding-block: 2px;
}

.record-picker-main, .record-picker-sub, .record-picker-placeholder {
  line-height: 1.2;
}

.order-context .record-picker > .order-context-label, .order-context .form-label {
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 0;
  font-size: 11px;
  font-weight: 600;
}

.order-context .form-label > .form-control {
  letter-spacing: normal;
  text-transform: none;
}

.order-context-cell.form-label {
  margin-bottom: 0;
}

.order-context-cell.form-label > .form-control {
  margin-top: 0;
}

.record-picker-field .record-picker-badge {
  flex: none;
}

.ui-button, .seg {
  min-block-size: var(--field-height);
  box-sizing: border-box;
}

.seg-opt {
  min-block-size: 0;
}

legend.form-label {
  margin-bottom: var(--field-gap);
}

.order-add > svg:first-child:has( + div .record-picker) {
  margin-block-start: calc(var(--field-label-line) + var(--field-gap) + (var(--field-height) - 16px) /
      2);
}

.nc-groups-link {
  margin-inline-start: 0;
  margin-top: 6px;
}

.admin-blocked {
  color: var(--text-muted);
  align-items: flex-start;
  gap: 8px;
  display: flex;
}

.coa-tree {
  border-top: 1px solid var(--border-subtle);
  max-width: 980px;
}

.coa-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.coa-row {
  border-bottom: 1px solid var(--border-subtle);
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  min-height: 44px;
  padding-block: 4px;
  display: flex;
}

.coa-toggle, .coa-toggle-spacer {
  flex: none;
  justify-content: center;
  align-items: center;
  min-block-size: 28px;
  inline-size: 28px;
  display: inline-flex;
}

.coa-toggle {
  color: var(--text-muted);
  background: none;
  border: 0;
  padding: 0;
}

.coa-toggle:hover {
  color: var(--text);
}

.coa-name {
  color: var(--text);
  font-weight: 600;
}

.coa-meta {
  color: var(--text-muted);
  font-size: 12px;
}

.coa-disabled {
  border: 1px solid var(--border-strong);
  color: var(--text-muted);
  padding: 1px 6px;
  font-size: 11px;
}

.coa-add {
  color: var(--primary);
  align-items: center;
  gap: 4px;
  margin-inline-start: auto;
  font-size: 13px;
  display: inline-flex;
}

.coa-status, .coa-more {
  padding-block: 8px;
}

.workspace-home {
  flex-direction: column;
  gap: 24px;
  display: flex;
}

.home-hero {
  border-bottom: 1px solid var(--border-subtle);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px 24px;
  padding-bottom: 16px;
  display: flex;
}

.home-hero-text {
  min-width: 0;
}

.home-meta {
  color: var(--text-muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 0;
  margin-top: 4px;
  font-size: 13px;
  display: flex;
}

.home-meta > * + :before {
  content: "·";
  color: var(--text-muted);
  margin-inline: 8px;
  text-decoration: none;
  display: inline-block;
}

.home-meta .home-date {
  display: inline;
}

.home-switch {
  color: var(--primary);
  text-underline-offset: 3px;
  text-decoration: underline;
}

.home-actions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.workspace-home .access-lanes {
  gap: 8px;
}

.workspace-home .access-lanes h2, .home-areas > h2 {
  font-family: var(--font-heading);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-muted);
  border-bottom: 0;
  padding-bottom: 0;
  font-size: 13px;
  font-weight: 700;
}

.workspace-home .access-lanes ul {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 8px;
}

.workspace-home .access-lane {
  border-color: var(--border-strong);
  background: var(--surface);
  gap: 4px;
  padding: 10px 14px;
}

.workspace-home .access-lane-value {
  font-size: 14px;
}

.workspace-home .access-lane-note {
  font-size: 12px;
}

.workspace-home .home-grid {
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: 24px;
}

.workspace-home .home-grid-one {
  grid-template-columns: minmax(0, 1fr);
}

.workspace-home .home-col > section {
  background: var(--surface);
  border: 1px solid var(--border-subtle);
}

.workspace-home .home-col > section > .section-head, .workspace-home .home-col > section > .section-heading {
  border-bottom: 1px solid var(--border-subtle);
  justify-content: space-between;
  align-items: center;
  gap: 8px 16px;
  min-height: 48px;
  margin: 0;
  padding: 10px 16px;
  display: flex;
}

.workspace-home .home-col .section-heading {
  border-bottom: 0;
  padding: 0;
  font-size: 17px;
}

.workspace-home .home-col .section-head .section-link {
  font-size: 13px;
}

.workspace-home #home-recent .home-rows > li {
  grid-template-columns: minmax(0, 1fr) auto minmax(110px, auto);
  align-items: center;
  gap: 2px 16px;
}

.workspace-home #home-recent .home-row-main {
  grid-area: 1 / 1;
}

.workspace-home #home-recent .home-row-sub {
  grid-area: 2 / 1;
}

.workspace-home #home-recent .home-row-status {
  grid-area: 1 / 2 / span 2;
}

.workspace-home #home-recent .home-row-figure {
  grid-area: 1 / 3 / span 2;
  font-weight: 600;
}

@media (max-width: 767px) {
  .workspace-home #home-recent .home-rows > li {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .workspace-home #home-recent .home-row-status {
    grid-area: 2 / 2;
  }

  .workspace-home #home-recent .home-row-figure {
    grid-area: 1 / 2;
  }
}

.workspace-home .home-col > section > .p-4 {
  padding: 4px 16px 12px;
}

.workspace-home .home-rows > li:last-child {
  border-bottom: 0;
}

.home-areas {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.home-area-groups {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  align-items: start;
  gap: 16px;
  display: grid;
}

.home-area-group {
  border: 1px solid var(--border-subtle);
  background: var(--surface);
  flex-direction: column;
  display: flex;
}

.home-area-group > h3 {
  font-family: var(--font-heading);
  border-bottom: 1px solid var(--border-subtle);
  padding: 10px 14px;
  font-size: 15px;
  font-weight: 700;
}

.home-area-group .area-list {
  gap: 0;
  padding: 4px 0;
}

.home-area-group .area-list a {
  border: 0;
  align-items: center;
  min-height: 56px;
  padding: 8px 14px;
}

.home-area-group .area-list a:hover {
  background: var(--bg);
}

.home-area-group .area-list a:hover .area-title {
  color: var(--primary);
}

.area-icon {
  border: 1px solid var(--border-subtle);
  background: var(--bg);
  block-size: 34px;
  inline-size: 34px;
  color: var(--primary);
  flex: none;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.home-area-group .area-description {
  font-size: 12px;
  line-height: 1.4;
}

@media (max-width: 1099px) {
  .workspace-home .home-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .home-hero {
    align-items: stretch;
  }

  .home-actions {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    width: 100%;
    display: grid;
  }

  .home-actions > :first-child {
    grid-column: 1 / -1;
  }

  .home-area-groups {
    grid-template-columns: minmax(0, 1fr);
  }
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

/*# sourceMappingURL=src_app_globals_162hn9o.css.map*/