/*!**************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/design-system-tokens.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************/
/*
 * p4pets design tokens — neutral-first premium utility.
 *
 * Canonical `--ds-*` tokens are for new primitives and P4P-551–P4P-557
 * migrations. `--ds-legacy-*` tokens keep the current render stable until the
 * owning module is migrated. Do not use a legacy token in new UI.
 */
:root {
  --ds-policy-version: "2026-07-27";

  /* Color roles */
  --ds-color-canvas: #f7f6f3;
  --ds-color-surface: #ffffff;
  --ds-color-surface-soft: #f3f2ef;
  --ds-color-surface-raised: #ffffff;
  --ds-color-overlay: #ffffff;
  --ds-color-ink: #202124;
  --ds-color-muted: #62656a;
  --ds-color-border: #e3e1dc;
  --ds-color-border-strong: #c8c5be;
  --ds-color-brand: #6d28d9;
  --ds-color-brand-strong: #4c1d95;
  --ds-color-brand-soft: #f0ecf8;
  --ds-color-information: #2563eb;
  --ds-color-information-soft: #eff6ff;
  --ds-color-positive: #15803d;
  --ds-color-positive-soft: #ecfdf3;
  --ds-color-caution: #b45309;
  --ds-color-caution-soft: #fffbeb;
  --ds-color-destructive: #b91c1c;
  --ds-color-destructive-soft: #fef2f2;
  --ds-color-selected: var(--ds-color-brand-soft);
  --ds-color-focus: #5b21b6;
  --ds-color-scrim: rgb(32 33 36 / 54%);
  --ds-color-supporter: #7a5b00;
  --ds-color-supporter-strong: #5f4800;
  --ds-color-supporter-soft: #faf3d0;
  --ds-color-supporter-ring: #c5a028;

  /* Typography roles */
  --ds-font-family-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ds-type-body-sm-size: .875rem;
  --ds-type-body-sm-line: 1.5;
  --ds-type-body-md-size: 1rem;
  --ds-type-body-md-line: 1.5;
  --ds-type-body-lg-size: 1.125rem;
  --ds-type-body-lg-line: 1.5;
  --ds-type-label-size: .875rem;
  --ds-type-label-line: 1.3;
  --ds-type-label-weight: 650;
  --ds-type-eyebrow-size: .75rem;
  --ds-type-eyebrow-line: 1.25;
  --ds-type-eyebrow-weight: 750;
  --ds-type-eyebrow-tracking: .08em;
  --ds-type-heading-sm-size: clamp(1.25rem, 1.1rem + .5vw, 1.375rem);
  --ds-type-heading-sm-line: 1.25;
  --ds-type-heading-md-size: clamp(1.5rem, 1.25rem + 1vw, 1.75rem);
  --ds-type-heading-md-line: 1.2;
  --ds-type-heading-lg-size: clamp(2rem, 1.5rem + 2vw, 2.5rem);
  --ds-type-heading-lg-line: 1.12;
  --ds-type-display-size: clamp(2.5rem, 1.75rem + 3vw, 4rem);
  --ds-type-display-line: 1.05;
  --ds-type-heading-weight: 760;
  --ds-type-heading-tracking: -.025em;

  /* 4/8 px spatial rhythm and semantic gaps */
  --ds-space-1: 4px;
  --ds-space-2: 8px;
  --ds-space-3: 12px;
  --ds-space-4: 16px;
  --ds-space-5: 20px;
  --ds-space-6: 24px;
  --ds-space-8: 32px;
  --ds-space-10: 40px;
  --ds-space-12: 48px;
  --ds-space-16: 64px;
  --ds-gap-control: var(--ds-space-2);
  --ds-gap-card: var(--ds-space-4);
  --ds-gap-section: var(--ds-space-8);
  --ds-gap-page: var(--ds-space-12);

  /* Content widths and review breakpoints */
  --ds-width-prose: 70ch;
  --ds-width-form: 720px;
  --ds-width-content: 1120px;
  --ds-width-wide: 1240px;
  --ds-width-app-compact: 520px;
  --ds-width-mobile-preview: 430px;
  --ds-width-navigation: 496px;
  --ds-width-navigation-entry: 176px;
  --ds-width-navigation-item: 88px;
  --ds-width-system-banner: 420px;
  --ds-breakpoint-compact: 480px;
  --ds-breakpoint-split: 768px;
  --ds-breakpoint-wide: 1120px;

  /* Shape roles */
  --ds-radius-control-sm: 10px;
  --ds-radius-control-md: 14px;
  --ds-radius-control-lg: 18px;
  --ds-radius-card-sm: 18px;
  --ds-radius-card-md: 24px;
  --ds-radius-overlay: 28px;
  --ds-radius-frame: 36px;
  --ds-radius-pill: 999px;
  --ds-radius-circle: 50%;

  /* Elevation and borders */
  --ds-border-width: 1px;
  --ds-border-width-selected: 2px;
  --ds-shadow-none: none;
  --ds-shadow-raised: 0 1px 2px rgb(17 24 39 / 5%), 0 6px 18px rgb(17 24 39 / 5%);
  --ds-shadow-floating: 0 8px 24px rgb(17 24 39 / 12%);
  --ds-shadow-overlay: 0 18px 48px rgb(17 24 39 / 18%);
  --ds-focus-ring: 0 0 0 3px color-mix(in srgb, var(--ds-color-focus) 28%, transparent);
  --ds-focus-outline-width: 3px;
  --ds-focus-outline-offset: 3px;

  /* Density and safe viewport roles */
  --ds-control-height-comfortable: 44px;
  --ds-control-height-compact: 36px;
  --ds-control-size-icon: 44px;
  --ds-control-padding-inline-comfortable: 14px;
  --ds-control-padding-inline-compact: 10px;
  --ds-opacity-disabled: .56;
  --ds-opacity-loading: .72;
  --ds-safe-top: env(safe-area-inset-top, 0px);
  --ds-safe-right: env(safe-area-inset-right, 0px);
  --ds-safe-bottom: env(safe-area-inset-bottom, 0px);
  --ds-safe-left: env(safe-area-inset-left, 0px);
  --ds-viewport-block: 100dvh;
  --ds-bottom-nav-height: 64px;
  --ds-bottom-chrome-height: calc(
    var(--ds-control-size-icon) + var(--ds-space-2) +
      var(--ds-bottom-nav-height)
  );
  --ds-bottom-obstruction: calc(var(--ds-bottom-nav-height) + var(--ds-safe-bottom) + var(--ds-space-4));
  --ds-bottom-chrome-obstruction: calc(
    max(var(--ds-space-3), var(--ds-safe-bottom)) +
      var(--ds-bottom-chrome-height) + var(--ds-space-2)
  );
  --ds-map-popover-max-block-compact: calc(
    100dvh - var(--ds-bottom-chrome-obstruction) -
      var(--ds-space-16) - var(--ds-space-16) -
      var(--ds-control-size-icon) - var(--ds-space-2)
  );
  --ds-map-popover-max-block: calc(
    100dvh - var(--ds-bottom-chrome-obstruction) -
      var(--ds-space-16) - var(--ds-space-16)
  );
  --ds-map-workspace-sheet-max-block: max(
    0px,
    min(
      52dvh,
      440px,
      calc(
        100dvh - var(--ds-bottom-chrome-obstruction) -
          var(--ds-safe-top) - var(--ds-control-size-icon) -
          var(--ds-space-4)
      )
    )
  );
  --ds-map-workspace-side-sheet-max-block: max(
    0px,
    min(
      440px,
      calc(
        100dvh - var(--ds-space-6) - var(--ds-space-6) -
          var(--ds-safe-top) - var(--ds-space-16) -
          var(--ds-space-8) -
          max(var(--ds-space-3), var(--ds-safe-bottom)) -
          var(--ds-bottom-chrome-height) - var(--ds-space-2) -
          var(--ds-border-width)
      )
    )
  );
  --ds-map-control-inline-end: var(--ds-space-4);
  --ds-map-workspace-side-sheet-inline-end: calc(
    max(var(--ds-map-control-inline-end), var(--ds-safe-right)) +
      var(--ds-control-size-icon) + var(--ds-space-2) +
      var(--ds-border-width) + var(--ds-border-width)
  );
  --ds-map-desktop-control-bottom: 128px;
  --ds-map-attribution-reserved-block: 44px;

  /* Layer order stays explicit so map controls and attribution remain usable. */
  --ds-layer-map-content: 10;
  --ds-layer-map-sheet: 20;
  --ds-layer-map-controls: 30;
  --ds-layer-map-attribution: 40;
  --ds-layer-popover: 60;
  --ds-layer-banner: 70;
  --ds-layer-overlay: 80;
  --ds-layer-toast: 90;
  --ds-width-dialog: 560px;
  --ds-width-sheet: 520px;
  --ds-width-popover: 360px;
  --ds-overlay-backdrop-blur: 6px;

  /* Motion roles */
  --ds-duration-micro: 120ms;
  --ds-duration-standard: 180ms;
  --ds-duration-overlay: 240ms;
  --ds-duration-route: 360ms;
  --ds-easing-standard: cubic-bezier(.2, 0, 0, 1);
  --ds-easing-emphasized: cubic-bezier(.2, .8, .2, 1);
  --ds-motion-distance: 8px;
  --ds-transition-interactive: color var(--ds-duration-micro) var(--ds-easing-standard), background-color var(--ds-duration-micro) var(--ds-easing-standard), border-color var(--ds-duration-micro) var(--ds-easing-standard), box-shadow var(--ds-duration-micro) var(--ds-easing-standard), transform var(--ds-duration-micro) var(--ds-easing-standard);

  /*
   * Legacy adapters preserve the pre-P4P-546 render. Their consumers are
   * migrated by P4P-551–P4P-557 and removed after P4P-558 acceptance.
   */
  --ds-legacy-font-body-md-size: 1rem;
  --ds-legacy-font-body-md-line: 1.5;
  --ds-legacy-font-heading-lg-size: clamp(1.55rem, 8vw, 2rem);
  --ds-legacy-font-heading-lg-line: 1.2;
  --ds-legacy-radius-sm: 12px;
  --ds-legacy-radius-md: 18px;
  --ds-legacy-radius-lg: 24px;
  --ds-legacy-radius-xl: 28px;
  --ds-legacy-canvas: #f7f2ff;
  --ds-legacy-ink: #111827;
  --ds-legacy-muted: #667085;
  --ds-legacy-line: #e9d5ff;
  --ds-legacy-glass: rgb(255 255 255 / 82%);
  --ds-legacy-shadow-sm: 0 10px 24px rgb(76 29 149 / 10%);
  --ds-legacy-shadow-md: 0 14px 36px rgb(76 29 149 / 12%);
  --ds-legacy-shadow-shell: 0 22px 58px rgb(76 29 149 / 22%);
  --ds-legacy-shadow-page: 0 24px 70px rgb(76 29 149 / 18%);
  --ds-legacy-frame-max-width: 1240px;
  --ds-legacy-mobile-preview-width: 430px;
  --ds-legacy-frame-radius: 36px;
  --ds-legacy-content-inline: clamp(16px, 3vw, 32px);
  --ds-legacy-content-bottom-with-nav: 124px;
  --ds-legacy-content-bottom-without-nav: 32px;

  /* Render-preserving adapters for pre-P4P-547 Card and Badge consumers */
  --ds-legacy-card-gap: 12px;
  --ds-legacy-card-padding: clamp(18px, 3vw, 28px);
  --ds-legacy-card-surface: rgb(255 255 255 / 92%);
  --ds-legacy-card-shadow: 0 14px 38px rgb(17 24 39 / 7%);
  --ds-legacy-card-brand-border: rgb(109 40 217 / 16%);
  --ds-legacy-card-brand-surface: linear-gradient(135deg, rgb(255 255 255 / 96%), rgb(245 243 255 / 86%));
  --ds-legacy-card-positive-border: rgb(22 163 74 / 18%);
  --ds-legacy-card-positive-surface: linear-gradient(135deg, #fff, #f0fdf4);
  --ds-legacy-card-caution-border: rgb(217 119 6 / 18%);
  --ds-legacy-card-caution-surface: linear-gradient(135deg, #fff, #fffbeb);
  --ds-legacy-card-destructive-border: rgb(220 38 38 / 18%);
  --ds-legacy-card-destructive-surface: linear-gradient(135deg, #fff, #fef2f2);
  --ds-legacy-card-information-border: rgb(37 99 235 / 18%);
  --ds-legacy-card-information-surface: linear-gradient(135deg, #fff, #eff6ff);
  --ds-legacy-card-hover-border: rgb(109 40 217 / 26%);
  --ds-legacy-card-hover-shadow: 0 18px 46px rgb(76 29 149 / 12%);
  --ds-legacy-card-title-size: clamp(1.1rem, 2vw, 1.35rem);
  --ds-legacy-badge-neutral-border: rgb(55 65 81 / 14%);
  --ds-legacy-badge-neutral-surface: #f3f4f6;
  --ds-legacy-badge-neutral-ink: #374151;
  --ds-legacy-badge-brand-border: rgb(91 33 182 / 18%);
  --ds-legacy-badge-brand-surface: #ede9fe;
  --ds-legacy-badge-brand-ink: #4c1d95;
  --ds-legacy-badge-positive-border: rgb(22 101 52 / 18%);
  --ds-legacy-badge-positive-surface: #dcfce7;
  --ds-legacy-badge-positive-ink: #166534;
  --ds-legacy-badge-caution-border: rgb(146 64 14 / 18%);
  --ds-legacy-badge-caution-surface: #fef3c7;
  --ds-legacy-badge-caution-ink: #92400e;
  --ds-legacy-badge-destructive-border: rgb(185 28 28 / 18%);
  --ds-legacy-badge-destructive-surface: #fee2e2;
  --ds-legacy-badge-destructive-ink: #991b1b;
  --ds-legacy-badge-information-border: rgb(29 78 216 / 18%);
  --ds-legacy-badge-information-surface: #dbeafe;
  --ds-legacy-badge-information-ink: #1d4ed8;

  /* Render-preserving adapters for pre-P4P-548 form primitives */
  --ds-legacy-field-gap: 8px;
  --ds-legacy-field-label-ink: #4c1d95;
  --ds-legacy-field-label-size: .84rem;
  --ds-legacy-field-label-weight: 850;
  --ds-legacy-field-hint-ink: #6b7280;
  --ds-legacy-field-hint-size: .76rem;
  --ds-legacy-field-hint-weight: 450;
  --ds-legacy-field-hint-line: 1.45;
  --ds-legacy-field-control-height: 48px;
  --ds-legacy-field-border: rgb(109 40 217 / 16%);
  --ds-legacy-field-radius: 18px;
  --ds-legacy-field-padding-block: 11px;
  --ds-legacy-field-padding-inline: 13px;
  --ds-legacy-field-surface: #ffffff;
  --ds-legacy-field-ink: var(--ds-legacy-ink);
  --ds-legacy-field-shadow: inset 0 1px 0 rgb(255 255 255 / 80%);
  --ds-legacy-field-placeholder: rgb(100 116 139 / 72%);
  --ds-legacy-field-focus-border: rgb(109 40 217 / 72%);
  --ds-legacy-field-focus-outline: #4c1d95;
  --ds-legacy-field-focus-shadow:
    0 0 0 1px rgb(109 40 217 / 12%),
    inset 0 1px 0 rgb(255 255 255 / 80%);
  --ds-legacy-field-transition:
    border-color 180ms ease,
    box-shadow 180ms ease;
  --ds-legacy-field-disabled-surface: #f8fafc;
  --ds-legacy-field-disabled-ink: #94a3b8;
  --ds-legacy-field-invalid-border: rgb(220 38 38 / 72%);
  --ds-legacy-field-textarea-height: 104px;
  --ds-legacy-field-accent: #6d28d9;
  --ds-legacy-field-select-padding-end: 38px;
  --ds-legacy-field-select-position-first: 18px;
  --ds-legacy-field-select-position-second: 13px;
  --ds-legacy-field-select-caret-size: 5px;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --ds-duration-micro: 0ms;
    --ds-duration-standard: 0ms;
    --ds-duration-overlay: 0ms;
    --ds-duration-route: 0ms;
    --ds-motion-distance: 0px;
  }
}

@media (forced-colors: active) {
  :root {
    --ds-color-canvas: Canvas;
    --ds-color-surface: Canvas;
    --ds-color-surface-soft: Canvas;
    --ds-color-surface-raised: Canvas;
    --ds-color-overlay: Canvas;
    --ds-color-ink: CanvasText;
    --ds-color-muted: CanvasText;
    --ds-color-border: ButtonText;
    --ds-color-border-strong: ButtonText;
    --ds-color-brand: Highlight;
    --ds-color-brand-strong: Highlight;
    --ds-color-brand-soft: Canvas;
    --ds-color-focus: Highlight;
    --ds-shadow-raised: none;
    --ds-shadow-floating: none;
    --ds-shadow-overlay: none;
    --ds-focus-ring: 0 0 0 3px Highlight;
  }
}

/*!************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/content-primitives.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Shared content and data presentation primitives.
 * Values come from app/design-system-tokens.css; category colors are supplied
 * only by the central category visual-identity resolver.
 */

.ui-page-container {
  width: min(100%, var(--ds-width-content));
  margin-inline: auto;
  padding-inline: clamp(var(--ds-space-4), 4vw, var(--ds-space-8));
}

.ui-page-container--prose { max-width: var(--ds-width-prose); }
.ui-page-container--form { max-width: var(--ds-width-form); }
.ui-page-container--content { max-width: var(--ds-width-content); }
.ui-page-container--wide { max-width: var(--ds-width-wide); }
.ui-page-container--compact {
  padding-inline: clamp(var(--ds-space-3), 3vw, var(--ds-space-6));
}

.ui-page-section,
.ui-stack {
  display: grid;
  min-width: 0;
}

.ui-inline {
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
}

.ui-gap--control { gap: var(--ds-gap-control); }
.ui-gap--card { gap: var(--ds-gap-card); }
.ui-gap--section { gap: var(--ds-gap-section); }
.ui-gap--page { gap: var(--ds-gap-page); }
.ui-inline--align-start { align-items: flex-start; }
.ui-inline--align-center { align-items: center; }
.ui-inline--align-end { align-items: flex-end; }
.ui-inline--align-baseline { align-items: baseline; }
.ui-inline--justify-start { justify-content: flex-start; }
.ui-inline--justify-center { justify-content: center; }
.ui-inline--justify-end { justify-content: flex-end; }
.ui-inline--justify-between { justify-content: space-between; }
.ui-cluster > * { min-width: 0; }

.ui-card {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-card);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-surface);
  color: var(--ds-color-ink);
  font: inherit;
  text-align: start;
  text-decoration: none;
}

.ui-card--density-comfortable { padding: var(--ds-space-6); }
.ui-card--density-compact { padding: var(--ds-space-4); }
.ui-card--surface-surface { background: var(--ds-color-surface); }
.ui-card--surface-soft { background: var(--ds-color-surface-soft); }
.ui-card--surface-raised { background: var(--ds-color-surface-raised); }
.ui-card--surface-selected {
  border-color: var(--ds-color-brand);
  background: var(--ds-color-selected);
}
.ui-card--elevation-none { box-shadow: var(--ds-shadow-none); }
.ui-card--elevation-raised { box-shadow: var(--ds-shadow-raised); }
.ui-card--elevation-floating { box-shadow: var(--ds-shadow-floating); }

.ui-card--legacy {
  gap: var(--ds-legacy-card-gap);
  padding: var(--ds-legacy-card-padding);
  border-color: var(--ds-legacy-line);
  border-radius: var(--ds-legacy-radius-xl);
  background: var(--ds-legacy-card-surface);
  color: var(--ds-legacy-ink);
  box-shadow: var(--ds-legacy-card-shadow);
}
.ui-card--legacy-brand {
  border-color: var(--ds-legacy-card-brand-border);
  background: var(--ds-legacy-card-brand-surface);
}
.ui-card--legacy-success {
  border-color: var(--ds-legacy-card-positive-border);
  background: var(--ds-legacy-card-positive-surface);
}
.ui-card--legacy-warning {
  border-color: var(--ds-legacy-card-caution-border);
  background: var(--ds-legacy-card-caution-surface);
}
.ui-card--legacy-danger {
  border-color: var(--ds-legacy-card-destructive-border);
  background: var(--ds-legacy-card-destructive-surface);
}
.ui-card--legacy-info {
  border-color: var(--ds-legacy-card-information-border);
  background: var(--ds-legacy-card-information-surface);
}

.ui-card--interactive {
  cursor: pointer;
  transition: var(--ds-transition-interactive);
}
.ui-card--interactive:hover {
  border-color: var(--ds-color-border-strong);
  box-shadow: var(--ds-shadow-floating);
  transform: translateY(calc(0px - var(--ds-border-width)));
}
.ui-card--legacy.ui-card--interactive:hover {
  border-color: var(--ds-legacy-card-hover-border);
  box-shadow: var(--ds-legacy-card-hover-shadow);
}
.ui-card--interactive:focus-visible {
  outline: var(--ds-focus-outline-width) solid var(--ds-color-focus);
  outline-offset: var(--ds-focus-outline-offset);
}
.ui-card--interactive:disabled,
.ui-card--interactive[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: var(--ds-opacity-disabled);
  transform: none;
}
.ui-card__header,
.ui-card__content {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-control);
}
.ui-card__title {
  margin: 0;
  color: var(--ds-color-ink);
  font-size: var(--ds-type-heading-sm-size);
  font-weight: var(--ds-type-heading-weight);
  line-height: var(--ds-type-heading-sm-line);
  letter-spacing: var(--ds-type-heading-tracking);
  overflow-wrap: anywhere;
}
.ui-card__description {
  margin: 0;
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-md-size);
  line-height: var(--ds-type-body-md-line);
  overflow-wrap: anywhere;
}
.ui-card--legacy .ui-card__header {
  gap: var(--ds-space-2);
}
.ui-card--legacy .ui-card__title {
  color: var(--ds-legacy-ink);
  font-size: var(--ds-legacy-card-title-size);
  line-height: 1.2;
  letter-spacing: -.03em;
}
.ui-card--legacy .ui-card__description {
  color: var(--ds-legacy-muted);
  line-height: 1.55;
}
.ui-card__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ds-gap-control);
}
.ui-card__footer--start { justify-content: flex-start; }
.ui-card__footer--end { justify-content: flex-end; }
.ui-card__footer--between { justify-content: space-between; }

.ui-badge,
.ui-category-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  gap: var(--ds-space-2);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-pill);
  font-size: var(--ds-type-body-sm-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-label-line);
}
.ui-badge--density-comfortable {
  min-height: var(--ds-control-height-compact);
  padding: var(--ds-space-2) var(--ds-space-3);
}
.ui-badge--density-compact {
  min-height: calc(var(--ds-space-6) + var(--ds-space-1));
  padding: var(--ds-space-1) var(--ds-space-2);
}
.ui-badge__label,
.ui-category-badge__label {
  min-width: 0;
  overflow-wrap: anywhere;
}
.ui-badge__media,
.ui-category-badge__media {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
}
.ui-badge--information,
.ui-badge--neutral {
  background: var(--ds-color-surface-soft);
  color: var(--ds-color-ink);
}
.ui-badge--selected {
  border-color: var(--ds-color-brand);
  background: var(--ds-color-selected);
  color: var(--ds-color-brand-strong);
}
.ui-badge--positive {
  border-color: var(--ds-color-positive);
  background: var(--ds-color-positive-soft);
  color: var(--ds-color-positive);
}
.ui-badge--caution {
  border-color: var(--ds-color-caution);
  background: var(--ds-color-caution-soft);
  color: var(--ds-color-caution);
}
.ui-badge--destructive {
  border-color: var(--ds-color-destructive);
  background: var(--ds-color-destructive-soft);
  color: var(--ds-color-destructive);
}

.ui-supporter-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  gap: var(--ds-space-2);
  border: var(--ds-border-width) solid var(--ds-color-supporter);
  border-radius: var(--ds-radius-pill);
  background: var(--ds-color-supporter-soft);
  color: var(--ds-color-supporter-strong);
  font-size: var(--ds-type-body-sm-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-label-line);
  text-decoration: none;
}
.ui-supporter-badge--density-comfortable {
  min-height: var(--ds-control-height-compact);
  padding: var(--ds-space-2) var(--ds-space-3);
}
.ui-supporter-badge--density-compact {
  min-height: calc(var(--ds-space-6) + var(--ds-space-1));
  padding: var(--ds-space-1) var(--ds-space-2);
}
.ui-supporter-badge__mark {
  width: var(--ds-space-2);
  height: var(--ds-space-2);
  flex: 0 0 auto;
  border-radius: var(--ds-radius-circle);
  background: var(--ds-color-supporter);
}
.ui-supporter-badge__label {
  min-width: 0;
  overflow-wrap: anywhere;
}
.ui-supporter-badge:focus-visible {
  outline: var(--ds-focus-outline-width) solid var(--ds-color-focus);
  outline-offset: var(--ds-focus-outline-offset);
}

.ui-badge--legacy {
  min-height: var(--ds-space-8);
  padding: 6px 10px;
  border-radius: var(--ds-radius-pill);
  font-size: .84rem;
  font-weight: 800;
  line-height: 1.25;
}
.ui-badge--legacy .ui-badge__label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ui-badge--legacy-neutral {
  border-color: var(--ds-legacy-badge-neutral-border);
  background: var(--ds-legacy-badge-neutral-surface);
  color: var(--ds-legacy-badge-neutral-ink);
}
.ui-badge--legacy-brand {
  border-color: var(--ds-legacy-badge-brand-border);
  background: var(--ds-legacy-badge-brand-surface);
  color: var(--ds-legacy-badge-brand-ink);
}
.ui-badge--legacy-success {
  border-color: var(--ds-legacy-badge-positive-border);
  background: var(--ds-legacy-badge-positive-surface);
  color: var(--ds-legacy-badge-positive-ink);
}
.ui-badge--legacy-warning {
  border-color: var(--ds-legacy-badge-caution-border);
  background: var(--ds-legacy-badge-caution-surface);
  color: var(--ds-legacy-badge-caution-ink);
}
.ui-badge--legacy-danger {
  border-color: var(--ds-legacy-badge-destructive-border);
  background: var(--ds-legacy-badge-destructive-surface);
  color: var(--ds-legacy-badge-destructive-ink);
}
.ui-badge--legacy-info {
  border-color: var(--ds-legacy-badge-information-border);
  background: var(--ds-legacy-badge-information-surface);
  color: var(--ds-legacy-badge-information-ink);
}
.ui-category-badge {
  border-color: var(--category-border, var(--ds-color-border));
  background: var(--category-bg, var(--ds-color-surface-soft));
  color: var(--category-fg, var(--ds-color-muted));
}
.ui-category-badge__media {
  width: var(--ds-space-5);
  height: var(--ds-space-5);
  border-radius: var(--ds-radius-circle);
  background: var(--ds-color-surface);
}

.ui-notice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--ds-gap-card);
  padding: var(--ds-space-4);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  color: var(--ds-color-ink);
}
.ui-notice--information {
  border-color: var(--ds-color-information);
  background: var(--ds-color-information-soft);
}
.ui-notice--positive {
  border-color: var(--ds-color-positive);
  background: var(--ds-color-positive-soft);
}
.ui-notice--caution {
  border-color: var(--ds-color-caution);
  background: var(--ds-color-caution-soft);
}
.ui-notice--destructive {
  border-color: var(--ds-color-destructive);
  background: var(--ds-color-destructive-soft);
}
.ui-notice__media {
  display: grid;
  width: var(--ds-control-height-compact);
  height: var(--ds-control-height-compact);
  place-items: center;
}
.ui-notice--information .ui-notice__media {
  color: var(--ds-color-information);
}
.ui-notice--positive .ui-notice__media {
  color: var(--ds-color-positive);
}
.ui-notice--caution .ui-notice__media {
  color: var(--ds-color-caution);
}
.ui-notice--destructive .ui-notice__media {
  color: var(--ds-color-destructive);
}
.ui-notice__content {
  display: grid;
  min-width: 0;
  gap: var(--ds-space-1);
}
.ui-notice__title { overflow-wrap: anywhere; }
.ui-notice__description {
  color: var(--ds-color-muted);
  overflow-wrap: anywhere;
}

.ui-content-state {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: var(--ds-gap-card);
  padding: var(--ds-space-6);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-surface);
  color: var(--ds-color-ink);
}
.ui-content-state--error {
  border-color: var(--ds-color-destructive);
  background: var(--ds-color-destructive-soft);
}
.ui-content-state--unavailable {
  border-color: var(--ds-color-caution);
  background: var(--ds-color-caution-soft);
}
.ui-content-state__media {
  display: grid;
  width: var(--ds-control-size-icon);
  height: var(--ds-control-size-icon);
  place-items: center;
  border-radius: var(--ds-radius-circle);
  background: var(--ds-color-surface-soft);
}
.ui-content-state--error .ui-content-state__media {
  color: var(--ds-color-destructive);
}
.ui-content-state--unavailable .ui-content-state__media {
  color: var(--ds-color-caution);
}
.ui-content-state__copy {
  display: grid;
  min-width: 0;
  align-self: center;
  gap: var(--ds-space-1);
}
.ui-content-state__title {
  font-size: var(--ds-type-heading-sm-size);
  line-height: var(--ds-type-heading-sm-line);
  overflow-wrap: anywhere;
}
.ui-content-state__description {
  color: var(--ds-color-muted);
  overflow-wrap: anywhere;
}
.ui-content-state__actions {
  display: flex;
  grid-column: 1 / -1;
  flex-wrap: wrap;
  gap: var(--ds-gap-control);
}

.ui-visually-hidden {
  position: absolute;
  width: var(--ds-border-width);
  height: var(--ds-border-width);
  margin: calc(0px - var(--ds-border-width));
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
}
.ui-skeleton-group__visual {
  display: grid;
  gap: var(--ds-gap-card);
}
.ui-skeleton {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: var(--ds-space-4);
  border-radius: var(--ds-radius-control-sm);
  background: var(--ds-color-surface-soft);
  animation: ds-skeleton-pulse
    calc(
      var(--ds-duration-route) + var(--ds-duration-route) +
        var(--ds-duration-route) + var(--ds-duration-route)
    )
    var(--ds-easing-standard) infinite;
}
.ui-skeleton--medium { width: 72%; }
.ui-skeleton--short { width: 44%; }
.ui-skeleton--circle {
  width: var(--ds-control-size-icon);
  height: var(--ds-control-size-icon);
  border-radius: var(--ds-radius-circle);
}
.ui-skeleton--block {
  min-height: calc(var(--ds-space-16) + var(--ds-space-16));
  border-radius: var(--ds-radius-card-sm);
}
.ui-skeleton-group--card,
.ui-skeleton-group--panel {
  padding: var(--ds-space-6);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-surface);
}
.ui-skeleton-group--list .ui-skeleton {
  min-height: var(--ds-control-height-comfortable);
}
.ui-skeleton-group--map .ui-skeleton--block {
  min-height: calc(
    var(--ds-space-16) + var(--ds-space-16) + var(--ds-space-16) +
      var(--ds-space-16)
  );
}
@keyframes ds-skeleton-pulse {
  0%,
  100% { opacity: var(--ds-opacity-loading); }
  50% { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .ui-skeleton { animation: none; }
}

.ui-divider {
  width: 100%;
  margin: 0;
  border: 0;
  border-top: var(--ds-border-width) solid var(--ds-color-border);
}
.ui-definition-list {
  display: grid;
  margin: 0;
}
.ui-definition-list--comfortable { gap: var(--ds-gap-card); }
.ui-definition-list--compact { gap: var(--ds-gap-control); }
.ui-definition-list__item {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: var(--ds-gap-card);
  min-width: 0;
}
.ui-definition-list dt {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
}
.ui-definition-list dd {
  min-width: 0;
  margin: 0;
  color: var(--ds-color-ink);
  overflow-wrap: anywhere;
}
.ui-metadata-list .ui-definition-list__item {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--ds-space-1);
}
.ui-data-list {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ui-data-list--comfortable { gap: var(--ds-gap-card); }
.ui-data-list--compact { gap: var(--ds-gap-control); }
.ui-data-list__item {
  min-width: 0;
  padding-block: var(--ds-space-3);
  border-bottom: var(--ds-border-width) solid var(--ds-color-border);
}
.ui-data-list__item:last-child { border-bottom: 0; }
.ui-table-region {
  max-width: 100%;
  overflow-x: auto;
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-surface);
}
.ui-table-region:focus-visible {
  outline: var(--ds-focus-outline-width) solid var(--ds-color-focus);
  outline-offset: var(--ds-focus-outline-offset);
}
.ui-table {
  width: 100%;
  min-width: var(--ds-width-form);
  border-collapse: collapse;
  color: var(--ds-color-ink);
}
.ui-table th,
.ui-table td {
  padding: var(--ds-space-3) var(--ds-space-4);
  border-bottom: var(--ds-border-width) solid var(--ds-color-border);
  text-align: start;
  vertical-align: top;
}
.ui-table th {
  background: var(--ds-color-surface-soft);
  font-size: var(--ds-type-label-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-label-line);
}
.ui-table tr:last-child td { border-bottom: 0; }
.ui-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--ds-gap-control);
}
.ui-pagination__control,
.ui-pagination__status {
  display: inline-flex;
  min-height: var(--ds-control-height-comfortable);
  align-items: center;
  justify-content: center;
  padding-inline: var(--ds-control-padding-inline-comfortable);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-control-md);
  background: var(--ds-color-surface);
  color: var(--ds-color-ink);
  text-decoration: none;
}
.ui-pagination__control:focus-visible {
  outline: var(--ds-focus-outline-width) solid var(--ds-color-focus);
  outline-offset: var(--ds-focus-outline-offset);
}
.ui-pagination__control[aria-disabled="true"] {
  color: var(--ds-color-muted);
  opacity: var(--ds-opacity-disabled);
}
.ui-pagination__status {
  border-color: transparent;
  color: var(--ds-color-muted);
}

@media (forced-colors: active) {
  .ui-supporter-badge {
    border-color: CanvasText;
    background: Canvas;
    color: CanvasText;
    forced-color-adjust: auto;
  }
  .ui-supporter-badge__mark { background: CanvasText; }
  .ui-supporter-badge:focus-visible { outline-color: Highlight; }
}

@media (forced-colors: active) {
  .ui-card,
  .ui-badge,
  .ui-category-badge,
  .ui-notice,
  .ui-content-state,
  .ui-table-region,
  .ui-pagination__control {
    border-color: ButtonText;
    background: Canvas;
    color: CanvasText;
    box-shadow: none;
  }
  .ui-card--interactive:focus-visible,
  .ui-table-region:focus-visible,
  .ui-pagination__control:focus-visible {
    outline-color: Highlight;
  }
}

/*!*************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/public-entry-system.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************/
/* Public Index composition. Visual values resolve through Design System tokens. */

[data-index-root] {
  min-height: var(--ds-viewport-block);
  padding-block: var(--ds-space-8) max(var(--ds-space-12), var(--ds-safe-bottom));
  color: var(--ds-color-ink);
}

[data-index-root][data-index-variant="hub"] {
  min-height: auto;
}

[data-index-root] h1,
[data-index-root] h2,
[data-index-root] h3,
[data-index-root] p {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

[data-index-root] h1,
[data-index-root] h2 {
  margin: 0;
  color: var(--ds-color-ink);
  font-weight: var(--ds-type-heading-weight);
  letter-spacing: var(--ds-type-heading-tracking);
}

[data-index-lead] {
  align-items: center;
}

[data-index-lead][data-index-hub-lead] {
  align-items: stretch;
}

[data-index-copy],
[data-index-shortcuts],
[data-index-action-rows] {
  width: 100%;
  min-width: 0;
  align-content: start;
}

[data-index-return] {
  display: flex;
  min-width: 0;
  justify-content: flex-start;
}

[data-index-brand] {
  color: var(--ds-color-brand-strong);
  font-size: var(--ds-type-label-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-label-line);
}

[data-index-wordmark] {
  font-size: var(--ds-type-heading-sm-size);
  line-height: var(--ds-type-heading-sm-line);
  letter-spacing: var(--ds-type-heading-tracking);
}

[data-index-kicker] {
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  color: var(--ds-color-brand-strong);
  font-size: var(--ds-type-eyebrow-size);
  font-weight: var(--ds-type-eyebrow-weight);
  line-height: var(--ds-type-eyebrow-line);
  letter-spacing: var(--ds-type-eyebrow-tracking);
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

[data-index-title] {
  max-width: var(--ds-width-prose);
  font-size: var(--ds-type-heading-lg-size);
  line-height: var(--ds-type-heading-lg-line);
}

[data-index-lead-copy],
[data-index-intro] > p,
[data-index-final] p {
  max-width: var(--ds-width-prose);
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-lg-size);
  line-height: var(--ds-type-body-lg-line);
}

[data-index-intro] {
  max-width: var(--ds-width-prose);
}

[data-index-intro] h2,
[data-index-final] h2 {
  font-size: var(--ds-type-heading-lg-size);
  line-height: var(--ds-type-heading-lg-line);
}

[data-index-actions] > .ui-button {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: auto;
  min-height: var(--ds-control-height-comfortable);
  overflow-wrap: anywhere;
  white-space: normal;
  line-height: var(--ds-type-label-line);
  text-align: center;
}

[data-index-faq] {
  align-items: stretch;
}

[data-index-faq] > h2 {
  font-size: var(--ds-type-heading-md-size);
  line-height: var(--ds-type-heading-md-line);
}

[data-index-faq-panel] {
  display: grid;
  min-width: 0;
  gap: 0;
}

[data-index-faq-group] {
  min-width: 0;
}

[data-index-faq-group] + [data-index-faq-group] {
  padding-block-start: var(--ds-space-5);
  margin-block-start: var(--ds-space-5);
  border-block-start: var(--ds-border-width) solid var(--ds-color-border);
}

[data-index-faq-group-heading] {
  margin: 0;
  color: var(--ds-color-muted);
  font-size: var(--ds-type-eyebrow-size);
  font-weight: var(--ds-type-eyebrow-weight);
  line-height: var(--ds-type-eyebrow-line);
  letter-spacing: var(--ds-type-eyebrow-tracking);
  text-transform: uppercase;
}

[data-index-faq-rows] {
  min-width: 0;
  margin-block-start: var(--ds-space-2);
}

[data-index-faq-rows] > .ui-disclosure {
  border-block: 0;
}

[data-index-faq-rows] > .ui-disclosure + .ui-disclosure {
  border-block-start: var(--ds-border-width) solid var(--ds-color-border);
}

[data-index-faq-panel] .ui-disclosure__summary > span {
  min-width: 0;
  font-weight: var(--ds-type-label-weight);
  overflow-wrap: anywhere;
}

[data-index-faq-panel] .ui-disclosure__content {
  padding-inline-end: var(--ds-space-8);
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-md-size);
  line-height: var(--ds-type-body-md-line);
}

[data-index-faq-answer] {
  align-items: flex-start;
}

[data-index-faq-answer] > p {
  margin: 0;
}

[data-index-faq-actions] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ds-space-1) var(--ds-space-3);
  min-width: 0;
}

[data-index-faq-actions] > .ui-button {
  min-height: var(--ds-control-height-comfortable);
}

[data-index-legal] {
  width: 100%;
  padding-block-start: var(--ds-space-4);
  border-block-start: var(--ds-border-width) solid var(--ds-color-border);
}

[data-index-legal-label] {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-eyebrow-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-eyebrow-line);
}

[data-index-legal-links] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 var(--ds-space-1);
  min-width: 0;
}

[data-index-legal-links] > .ui-button {
  min-width: 0;
  min-height: var(--ds-control-height-comfortable);
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

[data-index-legal-links] > .ui-button:hover {
  color: var(--ds-color-ink);
}

[data-index-summary] {
  align-self: start;
}

[data-index-summary] .ui-data-list__item .ui-inline {
  align-items: baseline;
}

[data-index-summary] .ui-data-list__item span {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

[data-index-illustration] {
  overflow: hidden;
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-md);
  background: var(--ds-color-canvas);
}

[data-index-grid] {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-card);
}

[data-index-grid] > * {
  min-width: 0;
}

[data-index-final] {
  margin-block-end: var(--ds-space-8);
}

/* /cookies is the only legal document refined in this change. The selectors
 * use its existing section ids, so /regulamin and /prywatnosc remain untouched. */
[data-legal-prose] section[aria-labelledby^="cookies-"] {
  display: grid;
  width: min(100%, var(--ds-width-prose));
  min-width: 0;
  gap: var(--ds-space-3);
}

[data-legal-prose]
  section[aria-labelledby^="cookies-"]
  + section[aria-labelledby^="cookies-"] {
  padding-block-start: var(--ds-space-6);
  border-block-start: var(--ds-border-width) solid var(--ds-color-border);
}

[data-legal-prose] section[aria-labelledby^="cookies-"] h2,
[data-legal-prose] section[aria-labelledby^="cookies-"] h3,
[data-legal-prose] section[aria-labelledby^="cookies-"] p,
[data-legal-prose] section[aria-labelledby^="cookies-"] ul {
  margin: 0;
}

[data-legal-prose] section[aria-labelledby^="cookies-"] h2 {
  color: var(--ds-color-ink);
  font-size: var(--ds-type-heading-md-size);
  font-weight: var(--ds-type-heading-weight);
  line-height: var(--ds-type-heading-md-line);
  letter-spacing: var(--ds-type-heading-tracking);
}

[data-legal-prose] section[aria-labelledby^="cookies-"] h3 {
  padding-block-start: var(--ds-space-2);
  color: var(--ds-color-ink);
  font-size: var(--ds-type-heading-sm-size);
  font-weight: var(--ds-type-heading-weight);
  line-height: var(--ds-type-heading-sm-line);
  overflow-wrap: anywhere;
}

[data-legal-prose] section[aria-labelledby^="cookies-"] p,
[data-legal-prose] section[aria-labelledby^="cookies-"] li {
  color: var(--ds-color-ink);
  font-size: var(--ds-type-body-md-size);
  line-height: var(--ds-type-body-md-line);
  overflow-wrap: anywhere;
}

[data-legal-prose] section[aria-labelledby^="cookies-"] ul {
  display: grid;
  gap: var(--ds-space-2);
  padding-inline-start: var(--ds-space-6);
}

[data-legal-prose] section[aria-labelledby^="cookies-"] li::marker {
  color: var(--ds-color-muted);
}

[data-legal-prose] section[aria-labelledby^="cookies-"] a {
  color: var(--ds-color-brand-strong);
  text-underline-offset: var(--ds-space-1);
}

@media (min-width: 768px) {
  [data-index-title] {
    font-size: var(--ds-type-display-size);
    line-height: var(--ds-type-display-line);
  }

  [data-index-lead][data-index-hub-lead] [data-index-title] {
    font-size: var(--ds-type-heading-lg-size);
    line-height: var(--ds-type-heading-lg-line);
  }

  [data-index-lead]:not([data-index-hub-lead]) {
    grid-template-columns: minmax(0, 6fr) minmax(0, 4fr);
  }

  [data-index-grid="2"],
  [data-index-grid="3"],
  [data-index-grid="4"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  [data-index-actions] > .ui-button {
    width: auto;
  }

  [data-index-action-rows] [data-index-actions] {
    display: grid;
    width: 100%;
  }

  [data-index-action-rows]
    [data-index-actions][data-index-action-columns="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  [data-index-action-rows]
    [data-index-actions][data-index-action-columns="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  [data-index-action-rows] [data-index-actions] > .ui-button {
    width: 100%;
  }

  [data-index-legal-links] {
    column-gap: var(--ds-space-2);
  }
}

@media (min-width: 1120px) {
  [data-index-grid="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  [data-index-grid="4"] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (forced-colors: active) {
  [data-index-illustration] {
    border-color: ButtonText;
    background: Canvas;
  }
}

/*!*********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/form-primitives.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************/
/*
 * Shared form presentation primitives.
 * Every visual value comes from app/design-system-tokens.css.
 */

/* Render-preserving adapters for the pre-P4P-548 primitives and raw classes. */
.ui-field {
  display: grid;
  gap: var(--ds-legacy-field-gap);
  min-width: 0;
  color: var(--ds-legacy-field-label-ink);
  font-size: var(--ds-legacy-field-label-size);
  font-weight: var(--ds-legacy-field-label-weight);
}
.ui-field__label { display: block; }
.ui-field__hint {
  color: var(--ds-legacy-field-hint-ink);
  font-size: var(--ds-legacy-field-hint-size);
  font-weight: var(--ds-legacy-field-hint-weight);
  line-height: var(--ds-legacy-field-hint-line);
}
.ui-field-control {
  width: 100%;
  min-width: 0;
  min-height: var(--ds-legacy-field-control-height);
  border: var(--ds-border-width) solid var(--ds-legacy-field-border);
  border-radius: var(--ds-legacy-field-radius);
  padding: var(--ds-legacy-field-padding-block)
    var(--ds-legacy-field-padding-inline);
  background-color: var(--ds-legacy-field-surface);
  color: var(--ds-legacy-field-ink);
  box-shadow: var(--ds-legacy-field-shadow);
  font: inherit;
  transition: var(--ds-legacy-field-transition);
}
.ui-field-control::placeholder {
  color: var(--ds-legacy-field-placeholder);
}
.ui-field-control:not(.ui-field-control--semantic):focus-visible {
  border-color: var(--ds-legacy-field-focus-border);
  outline: var(--ds-focus-outline-width) solid
    var(--ds-legacy-field-focus-outline);
  outline-offset: var(--ds-focus-outline-offset);
  box-shadow: var(--ds-legacy-field-focus-shadow);
}
.ui-field-control:disabled {
  cursor: not-allowed;
  background: var(--ds-legacy-field-disabled-surface);
  color: var(--ds-legacy-field-disabled-ink);
}
.ui-field-control[aria-invalid="true"] {
  border-color: var(--ds-legacy-field-invalid-border);
}
.ui-textarea {
  min-height: var(--ds-legacy-field-textarea-height);
  resize: vertical;
  line-height: var(--ds-type-body-md-line);
}
.ui-select {
  appearance: none;
  padding-inline-end: var(--ds-legacy-field-select-padding-end);
  background-image:
    linear-gradient(
      45deg,
      transparent 50%,
      var(--ds-legacy-field-accent) 50%
    ),
    linear-gradient(
      135deg,
      var(--ds-legacy-field-accent) 50%,
      transparent 50%
    );
  background-position:
    calc(100% - var(--ds-legacy-field-select-position-first)) 52%,
    calc(100% - var(--ds-legacy-field-select-position-second)) 52%;
  background-size:
    var(--ds-legacy-field-select-caret-size)
    var(--ds-legacy-field-select-caret-size);
  background-repeat: no-repeat;
}

/* Semantic field composition. */
.ui-field--semantic {
  gap: var(--ds-gap-control);
  color: var(--ds-color-ink);
  font-size: var(--ds-type-body-sm-size);
  font-weight: 400;
  line-height: var(--ds-type-body-sm-line);
  scroll-margin-block:
    var(--ds-space-16)
    var(--ds-bottom-obstruction);
}
.ui-field--density-compact { gap: var(--ds-space-1); }
.ui-field__heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--ds-gap-control);
  min-width: 0;
}
.ui-field--semantic .ui-field__label {
  color: var(--ds-color-ink);
  font-size: var(--ds-type-label-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-label-line);
}
.ui-field__requirement {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-eyebrow-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-eyebrow-line);
}
.ui-field__description,
.ui-field--semantic .ui-field__hint,
.ui-field__counter {
  margin: 0;
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  font-weight: 400;
  line-height: var(--ds-type-body-sm-line);
  overflow-wrap: anywhere;
}
.ui-field__support {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--ds-gap-control);
  min-width: 0;
}
.ui-field__support-copy {
  display: grid;
  min-width: 0;
  gap: var(--ds-space-1);
}
.ui-field__counter {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
}
.ui-field__message {
  font-size: var(--ds-type-body-sm-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-body-sm-line);
  overflow-wrap: anywhere;
}
.ui-field__message--error { color: var(--ds-color-destructive); }
.ui-field__message--valid { color: var(--ds-color-positive); }

/* Semantic text controls. */
.ui-field-control--semantic,
.ui-input-frame {
  min-height: var(--ds-control-height-comfortable);
  border: var(--ds-border-width) solid var(--ds-color-border-strong);
  border-radius: var(--ds-radius-control-md);
  background: var(--ds-color-surface);
  color: var(--ds-color-ink);
  box-shadow: var(--ds-shadow-none);
  transition: var(--ds-transition-interactive);
}
.ui-form-control--density-comfortable {
  min-height: var(--ds-control-height-comfortable);
}
.ui-form-control--density-compact {
  min-height: var(--ds-control-height-comfortable);
}
.ui-field-control--semantic {
  padding-block: var(--ds-space-3);
  padding-inline: var(--ds-control-padding-inline-comfortable);
}
.ui-field-control--semantic.ui-form-control--density-compact {
  padding-block: var(--ds-space-2);
  padding-inline: var(--ds-control-padding-inline-compact);
}
.ui-field-control--semantic::placeholder {
  color: var(--ds-color-muted);
  opacity: var(--ds-opacity-loading);
}
.ui-input-frame {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  min-width: 0;
  overflow: clip;
}
.ui-input-frame > .ui-field-control--semantic {
  min-height: calc(
    var(--ds-control-height-comfortable) - var(--ds-border-width) -
      var(--ds-border-width)
  );
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.ui-input-frame > .ui-field-control--semantic:focus-visible {
  outline: 0;
}
.ui-input-frame__affix {
  display: grid;
  width: var(--ds-control-height-compact);
  min-width: var(--ds-control-height-compact);
  place-items: center;
  color: var(--ds-color-muted);
}
.ui-input-frame__affix:first-child {
  padding-inline-start: var(--ds-space-2);
}
.ui-input-frame__affix:last-child {
  padding-inline-end: var(--ds-space-2);
}
.ui-input-frame:focus-within,
.ui-field-control--semantic:focus-visible {
  border-color: var(--ds-color-focus);
  outline: var(--ds-focus-outline-width) solid var(--ds-color-focus);
  outline-offset: var(--ds-focus-outline-offset);
  box-shadow: var(--ds-focus-ring);
}
.ui-form-control--invalid,
.ui-input-frame.ui-form-control--invalid {
  border-color: var(--ds-color-destructive);
}
.ui-form-control--valid,
.ui-input-frame.ui-form-control--valid {
  border-color: var(--ds-color-positive);
}
.ui-form-control--readonly,
.ui-input-frame.ui-form-control--readonly {
  border-color: var(--ds-color-border-strong);
  border-style: dashed;
  background: var(--ds-color-surface);
}
.ui-form-control--disabled,
.ui-input-frame.ui-form-control--disabled {
  cursor: not-allowed;
  background: var(--ds-color-surface-soft);
  color: var(--ds-color-muted);
  opacity: var(--ds-opacity-disabled);
}
.ui-form-control--loading,
.ui-input-frame.ui-form-control--loading {
  opacity: var(--ds-opacity-loading);
}
.ui-form-control--unavailable,
.ui-input-frame.ui-form-control--unavailable {
  cursor: not-allowed;
  border-style: dashed;
  background: var(--ds-color-surface-soft);
  color: var(--ds-color-muted);
  opacity: var(--ds-opacity-disabled);
}
.ui-field-control--semantic.ui-textarea {
  min-height: calc(var(--ds-space-16) + var(--ds-space-8));
  max-width: 100%;
}
.ui-field-control--semantic.ui-select {
  appearance: auto;
  padding-inline-end: var(--ds-control-padding-inline-comfortable);
  background-image: none;
}
.ui-form-control__spinner {
  width: var(--ds-space-4);
  height: var(--ds-space-4);
  margin-inline-end: var(--ds-space-3);
  border: var(--ds-border-width-selected) solid currentColor;
  border-inline-end-color: transparent;
  border-radius: var(--ds-radius-circle);
  animation: ui-form-spin
    calc(var(--ds-duration-route) + var(--ds-duration-route))
    linear infinite;
}
@keyframes ui-form-spin {
  to { transform: rotate(1turn); }
}

/* Native choice controls. */
.ui-choice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--ds-gap-control);
  min-width: 0;
  min-height: var(--ds-control-height-comfortable);
  color: var(--ds-color-ink);
  cursor: pointer;
}
.ui-choice--density-comfortable { padding-block: var(--ds-space-2); }
.ui-choice--density-compact { padding-block: var(--ds-space-1); }
.ui-choice__control {
  position: relative;
  display: grid;
  width: var(--ds-control-height-compact);
  height: var(--ds-control-height-compact);
  place-items: center;
}
.ui-choice__native {
  width: var(--ds-space-5);
  height: var(--ds-space-5);
  margin: 0;
  accent-color: var(--ds-color-brand);
}
.ui-choice__native:focus-visible {
  outline: var(--ds-focus-outline-width) solid var(--ds-color-focus);
  outline-offset: var(--ds-focus-outline-offset);
}
.ui-choice__copy {
  display: grid;
  min-width: 0;
  gap: var(--ds-space-1);
}
.ui-choice__label {
  font-size: var(--ds-type-label-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-label-line);
  overflow-wrap: anywhere;
}
.ui-choice__description,
.ui-choice__error {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
  overflow-wrap: anywhere;
}
.ui-choice__error { color: var(--ds-color-destructive); }
.ui-choice--invalid .ui-choice__native {
  outline: var(--ds-border-width-selected) solid
    var(--ds-color-destructive);
  outline-offset: var(--ds-space-1);
}
.ui-choice:has(.ui-choice__native:disabled) {
  cursor: not-allowed;
  opacity: var(--ds-opacity-disabled);
}
.ui-choice--unavailable {
  color: var(--ds-color-muted);
  opacity: var(--ds-opacity-disabled);
}

.ui-choice--switch .ui-choice__native {
  position: absolute;
  width: var(--ds-space-1);
  height: var(--ds-space-1);
  opacity: 0;
}
.ui-choice__switch-track {
  display: flex;
  width: var(--ds-control-height-compact);
  height: var(--ds-space-5);
  align-items: center;
  padding-inline: var(--ds-space-1);
  border: var(--ds-border-width) solid var(--ds-color-border-strong);
  border-radius: var(--ds-radius-pill);
  background: var(--ds-color-surface-soft);
  transition: var(--ds-transition-interactive);
}
.ui-choice__switch-thumb {
  width: var(--ds-space-3);
  height: var(--ds-space-3);
  border-radius: var(--ds-radius-circle);
  background: var(--ds-color-muted);
  transition: var(--ds-transition-interactive);
}
.ui-choice--switch .ui-choice__native:checked + .ui-choice__switch-track {
  border-color: var(--ds-color-brand);
  background: var(--ds-color-selected);
}
.ui-choice--switch
  .ui-choice__native:checked
  + .ui-choice__switch-track
  .ui-choice__switch-thumb {
  background: var(--ds-color-brand);
  transform: translateX(var(--ds-space-4));
}
.ui-choice--switch
  .ui-choice__native:focus-visible
  + .ui-choice__switch-track {
  outline: var(--ds-focus-outline-width) solid var(--ds-color-focus);
  outline-offset: var(--ds-focus-outline-offset);
}

.ui-radio-group,
.ui-segmented-control,
.ui-fieldset {
  display: grid;
  min-width: 0;
  margin: 0;
  border: 0;
  padding: 0;
}
.ui-radio-group,
.ui-segmented-control { gap: var(--ds-gap-control); }
.ui-radio-group--density-comfortable,
.ui-fieldset--density-comfortable { gap: var(--ds-gap-card); }
.ui-radio-group--density-compact,
.ui-fieldset--density-compact { gap: var(--ds-gap-control); }
.ui-radio-group__legend,
.ui-segmented-control__legend,
.ui-legend {
  padding: 0;
  color: var(--ds-color-ink);
  font-size: var(--ds-type-label-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-label-line);
}
.ui-radio-group__description,
.ui-radio-group__error,
.ui-segmented-control__description,
.ui-segmented-control__error {
  margin: 0;
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
  overflow-wrap: anywhere;
}
.ui-radio-group__error,
.ui-segmented-control__error {
  color: var(--ds-color-destructive);
}
.ui-radio-group__options {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-control);
}

.ui-segmented-control__options {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-1);
  min-width: 0;
  padding: var(--ds-space-1);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-control-md);
  background: var(--ds-color-surface-soft);
}
.ui-segmented-control__option {
  position: relative;
  display: inline-flex;
  flex: 1 1 auto;
  min-width: 0;
  min-height: var(--ds-control-height-comfortable);
  align-items: center;
  justify-content: center;
  border: var(--ds-border-width) solid transparent;
  border-radius: var(--ds-radius-control-sm);
  padding-inline: var(--ds-control-padding-inline-compact);
  color: var(--ds-color-muted);
  font-size: var(--ds-type-label-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-label-line);
  text-align: center;
  cursor: pointer;
}
.ui-segmented-control__option input,
.ui-choice-chip__native,
.ui-choice-card__native {
  position: absolute;
  width: var(--ds-space-1);
  height: var(--ds-space-1);
  opacity: 0;
}
.ui-segmented-control__option:has(input:checked) {
  border-color: var(--ds-color-border-strong);
  background: var(--ds-color-surface);
  color: var(--ds-color-ink);
  box-shadow: var(--ds-shadow-raised);
}
.ui-segmented-control__option:has(input:focus-visible) {
  outline: var(--ds-focus-outline-width) solid var(--ds-color-focus);
  outline-offset: var(--ds-focus-outline-offset);
}
.ui-segmented-control__option:has(input:disabled) {
  cursor: not-allowed;
  opacity: var(--ds-opacity-disabled);
}
.ui-segmented-control--invalid .ui-segmented-control__options {
  border-color: var(--ds-color-destructive);
}
.ui-segmented-control--unavailable {
  opacity: var(--ds-opacity-disabled);
}

.ui-choice-chip,
.ui-choice-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  min-height: var(--ds-control-height-comfortable);
  align-items: center;
  border: var(--ds-border-width) solid var(--ds-color-border);
  background: var(--ds-color-surface);
  color: var(--ds-color-ink);
  cursor: pointer;
  transition: var(--ds-transition-interactive);
}
.ui-choice-chip {
  width: fit-content;
  max-width: 100%;
  border-radius: var(--ds-radius-pill);
  padding: var(--ds-space-2) var(--ds-space-3);
}
.ui-choice-card {
  border-radius: var(--ds-radius-card-sm);
  padding: var(--ds-space-4);
}
.ui-choice-card--density-comfortable { padding: var(--ds-space-5); }
.ui-choice-card--density-compact { padding: var(--ds-space-3); }
.ui-choice-chip__copy,
.ui-choice-card__copy {
  display: grid;
  min-width: 0;
  gap: var(--ds-space-1);
}
.ui-choice-chip__label,
.ui-choice-card__label {
  font-size: var(--ds-type-label-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-label-line);
  overflow-wrap: anywhere;
}
.ui-choice-chip__description,
.ui-choice-card__description {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
  overflow-wrap: anywhere;
}
.ui-choice-chip:has(input:checked),
.ui-choice-card:has(input:checked) {
  border-color: var(--ds-color-brand);
  background: var(--ds-color-selected);
  color: var(--ds-color-brand-strong);
}
.ui-choice-chip:has(input:focus-visible),
.ui-choice-card:has(input:focus-visible) {
  outline: var(--ds-focus-outline-width) solid var(--ds-color-focus);
  outline-offset: var(--ds-focus-outline-offset);
}
.ui-choice-chip:has(input:disabled),
.ui-choice-card:has(input:disabled),
.ui-choice-chip--unavailable,
.ui-choice-card--unavailable {
  cursor: not-allowed;
  opacity: var(--ds-opacity-disabled);
}

/* Form grouping, actions and feedback. */
.ui-form-group {
  display: grid;
  min-width: 0;
}
.ui-form-group--density-comfortable { gap: var(--ds-gap-card); }
.ui-form-group--density-compact { gap: var(--ds-gap-control); }
.ui-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-gap-control);
  min-width: 0;
  padding-block-end: max(var(--ds-space-1), var(--ds-safe-bottom));
  scroll-margin-block-end: var(--ds-bottom-obstruction);
}
.ui-form-actions--start { justify-content: flex-start; }
.ui-form-actions--end { justify-content: flex-end; }
.ui-form-actions--stretch > * { flex: 1 1 auto; }
.ui-form-status,
.ui-first-invalid {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: var(--ds-gap-control);
  min-width: 0;
  padding: var(--ds-space-3);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-control-md);
  background: var(--ds-color-surface-soft);
  color: var(--ds-color-ink);
}
.ui-form-status--information {
  border-color: var(--ds-color-information);
  background: var(--ds-color-information-soft);
}
.ui-form-status--positive {
  border-color: var(--ds-color-positive);
  background: var(--ds-color-positive-soft);
}
.ui-form-status--caution {
  border-color: var(--ds-color-caution);
  background: var(--ds-color-caution-soft);
}
.ui-form-status--destructive,
.ui-first-invalid {
  border-color: var(--ds-color-destructive);
  background: var(--ds-color-destructive-soft);
}
.ui-form-status__media,
.ui-first-invalid__media {
  display: grid;
  width: var(--ds-space-6);
  height: var(--ds-space-6);
  place-items: center;
}
.ui-form-status--information .ui-form-status__media {
  color: var(--ds-color-information);
}
.ui-form-status--positive .ui-form-status__media {
  color: var(--ds-color-positive);
}
.ui-form-status--caution .ui-form-status__media {
  color: var(--ds-color-caution);
}
.ui-form-status--destructive .ui-form-status__media,
.ui-first-invalid__media {
  color: var(--ds-color-destructive);
}
.ui-form-status__message,
.ui-first-invalid__copy {
  min-width: 0;
  overflow-wrap: anywhere;
}
.ui-first-invalid__copy {
  display: grid;
  gap: var(--ds-space-1);
}
.ui-first-invalid a {
  width: fit-content;
  max-width: 100%;
  min-height: var(--ds-control-height-comfortable);
  color: var(--ds-color-destructive);
  text-underline-offset: var(--ds-space-1);
}
.ui-first-invalid a:focus-visible {
  outline: var(--ds-focus-outline-width) solid var(--ds-color-focus);
  outline-offset: var(--ds-focus-outline-offset);
}

/*
 * Keep editable text controls at the iOS focus-zoom threshold on compact
 * viewports. The explicit type allowlist intentionally leaves choice, range,
 * file and hidden inputs untouched. `!important` protects this invariant from
 * later legacy `font: inherit` shorthands without changing desktop type.
 */
@media (max-width: 768px) {
  input:not([type]),
  input[type="text" i],
  input[type="search" i],
  input[type="email" i],
  input[type="password" i],
  input[type="tel" i],
  input[type="url" i],
  input[type="number" i],
  input[type="date" i],
  input[type="datetime-local" i],
  input[type="month" i],
  input[type="time" i],
  input[type="week" i],
  textarea,
  select {
    font-size: max(16px, var(--ds-type-body-md-size)) !important;
  }
}

@media (max-width: 480px) {
  .ui-form-actions--sticky-compact {
    position: sticky;
    z-index: 1;
    bottom: var(--ds-bottom-obstruction, 0px);
    margin-inline: calc(0px - var(--ds-space-4));
    padding: var(--ds-space-3) var(--ds-space-4)
      max(var(--ds-space-3), var(--ds-safe-bottom));
    border-top: var(--ds-border-width) solid var(--ds-color-border);
    background: var(--ds-color-surface);
  }
  .ui-form-actions--sticky-compact > * {
    flex: 1 1 auto;
    min-width: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ui-form-control__spinner { animation: none; }
  .ui-field-control--semantic,
  .ui-input-frame,
  .ui-choice__switch-track,
  .ui-choice__switch-thumb,
  .ui-choice-chip,
  .ui-choice-card {
    transition: none;
  }
}

@media (forced-colors: active) {
  .ui-field-control,
  .ui-input-frame,
  .ui-segmented-control__options,
  .ui-segmented-control__option,
  .ui-choice-chip,
  .ui-choice-card,
  .ui-form-status,
  .ui-first-invalid {
    border-color: ButtonText;
    background: Canvas;
    color: CanvasText;
    box-shadow: none;
    forced-color-adjust: auto;
  }
  .ui-input-frame:focus-within,
  .ui-field-control--semantic:focus-visible,
  .ui-choice__native:focus-visible,
  .ui-choice--switch
    .ui-choice__native:focus-visible
    + .ui-choice__switch-track,
  .ui-segmented-control__option:has(input:focus-visible),
  .ui-choice-chip:has(input:focus-visible),
  .ui-choice-card:has(input:focus-visible),
  .ui-first-invalid a:focus-visible {
    outline-color: Highlight;
  }
  .ui-segmented-control__option:has(input:checked),
  .ui-choice-chip:has(input:checked),
  .ui-choice-card:has(input:checked) {
    outline: var(--ds-border-width-selected) solid Highlight;
    outline-offset: calc(0px - var(--ds-border-width-selected));
  }
  .ui-choice--switch .ui-choice__native {
    position: static;
    width: var(--ds-space-5);
    height: var(--ds-space-5);
    opacity: 1;
  }
  .ui-choice--switch .ui-choice__switch-track {
    display: none;
  }
}

/*!**********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/layer-primitives.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************/
/*
 * Shared overlays and transient feedback.
 * All visual values resolve through canonical design-system tokens.
 */

.ui-layer-portal {
  position: relative;
  z-index: var(--ds-layer-overlay);
}

.ui-overlay-layer {
  position: fixed;
  z-index: var(--ds-layer-overlay);
  inset: 0;
  display: grid;
  min-width: 0;
  place-items: center;
  padding:
    max(var(--ds-space-4), var(--ds-safe-top))
    max(var(--ds-space-4), var(--ds-safe-right))
    max(var(--ds-space-4), var(--ds-safe-bottom))
    max(var(--ds-space-4), var(--ds-safe-left));
  overflow: hidden;
  overscroll-behavior: contain;
}

.ui-overlay-layer__backdrop {
  position: absolute;
  inset: 0;
  background: var(--ds-color-scrim);
  pointer-events: none;
}

@supports (backdrop-filter: blur(1px)) {
  .ui-overlay-layer__backdrop {
    backdrop-filter: blur(var(--ds-overlay-backdrop-blur));
  }
}

.ui-overlay-panel {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(100%, var(--ds-width-dialog));
  max-width: 100%;
  max-height: calc(
    100dvh - max(var(--ds-space-4), var(--ds-safe-top)) -
      max(var(--ds-space-4), var(--ds-safe-bottom))
  );
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-overlay);
  background: var(--ds-color-overlay);
  color: var(--ds-color-ink);
  box-shadow: var(--ds-shadow-overlay);
  animation: ui-overlay-enter var(--ds-duration-overlay)
    var(--ds-easing-emphasized);
}

.ui-dialog--wide {
  width: min(100%, var(--ds-width-content));
}

.ui-dialog--wide > .ui-overlay-header {
  position: sticky;
  z-index: 1;
  top: 0;
  background: var(--ds-color-overlay);
}

.ui-overlay-panel:focus-visible {
  outline: var(--ds-focus-outline-width) solid var(--ds-color-focus);
  outline-offset: calc(0px - var(--ds-focus-outline-width));
}

.ui-overlay-header {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--ds-gap-card);
  padding: var(--ds-space-6);
  border-bottom: var(--ds-border-width) solid var(--ds-color-border);
}

.ui-overlay-heading {
  display: grid;
  min-width: 0;
  gap: var(--ds-space-2);
}

.ui-overlay-heading h2 {
  margin: 0;
  color: var(--ds-color-ink);
  font-size: var(--ds-type-heading-md-size);
  font-weight: var(--ds-type-heading-weight);
  line-height: var(--ds-type-heading-md-line);
  letter-spacing: var(--ds-type-heading-tracking);
  overflow-wrap: anywhere;
}

.ui-overlay-description {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-md-size);
  line-height: var(--ds-type-body-md-line);
  overflow-wrap: anywhere;
}

.ui-overlay-content {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-card);
  padding: var(--ds-space-6);
  overflow-wrap: anywhere;
}

.ui-overlay-actions {
  position: sticky;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--ds-gap-control);
  padding:
    var(--ds-space-4)
    var(--ds-space-6)
    max(var(--ds-space-4), var(--ds-safe-bottom));
  border-top: var(--ds-border-width) solid var(--ds-color-border);
  background: var(--ds-color-overlay);
}

.ui-overlay-actions > * {
  min-width: 0;
}

.ui-confirm-consequence {
  padding: var(--ds-space-4);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-surface-soft);
  overflow-wrap: anywhere;
}

.ui-confirm-consequence--positive {
  border-color: var(--ds-color-positive);
  background: var(--ds-color-positive-soft);
}

.ui-confirm-consequence--destructive {
  border-color: var(--ds-color-destructive);
  background: var(--ds-color-destructive-soft);
}

.ui-sheet {
  width: min(100%, var(--ds-width-sheet));
  height: 100%;
  max-height: 100%;
  border-radius: 0;
}

.ui-overlay-layer--sheet:has(.ui-sheet--left) {
  justify-items: start;
}

.ui-overlay-layer--sheet:has(.ui-sheet--right) {
  justify-items: end;
}

.ui-overlay-layer--sheet {
  padding-block: 0;
}

.ui-sheet--left,
.ui-sheet--right {
  animation-name: ui-sheet-side-enter;
}

.ui-sheet--left {
  border-left: 0;
}

.ui-sheet--right {
  border-right: 0;
}

.ui-overlay-layer--bottom-sheet {
  align-items: end;
  padding: 0;
}

.ui-sheet--bottom {
  width: min(100%, var(--ds-width-sheet));
  height: auto;
  max-height: calc(100dvh - var(--ds-safe-top) - var(--ds-space-4));
  border-width: var(--ds-border-width) var(--ds-border-width) 0;
  border-radius: var(--ds-radius-overlay) var(--ds-radius-overlay) 0 0;
  animation-name: ui-sheet-bottom-enter;
}

.ui-bottom-sheet--map {
  position: absolute;
  z-index: var(--ds-layer-map-sheet);
  right: max(var(--ds-space-3), var(--ds-safe-right));
  bottom: max(
    var(
      --ui-map-sheet-reserved-bottom,
      var(--ds-map-attribution-reserved-block)
    ),
    var(--ds-safe-bottom)
  );
  left: max(var(--ds-space-3), var(--ds-safe-left));
  display: grid;
  min-width: 0;
  max-height: min(52dvh, 440px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-overlay);
  background: var(--ds-color-overlay);
  color: var(--ds-color-ink);
  box-shadow: var(--ds-shadow-overlay);
}

.ui-app-frame:has([data-map-workspace-state]) .ui-bottom-sheet--map {
  max-height: var(--ds-map-workspace-sheet-max-block);
}

.ui-bottom-sheet__handle {
  width: var(--ds-space-10);
  height: var(--ds-space-1);
  margin: var(--ds-space-2) auto 0;
  border-radius: var(--ds-radius-pill);
  background: var(--ds-color-border-strong);
}

.ui-popover {
  position: relative;
  display: inline-flex;
  max-width: 100%;
}

.ui-popover__trigger-adornment {
  position: absolute;
  z-index: 1;
  top: calc(0px - var(--ds-space-1));
  right: calc(0px - var(--ds-space-1));
  display: grid;
  place-items: center;
  pointer-events: none;
}

.ui-popover__trigger-adornment > .ui-badge {
  justify-content: center;
  min-width: var(--ds-space-5);
  min-height: var(--ds-space-5);
  max-width: none;
  padding: 0 var(--ds-space-1);
  font-size: var(--ds-type-eyebrow-size);
  line-height: 1;
  white-space: nowrap;
}

.ui-popover__content {
  position: absolute;
  z-index: var(--ds-layer-popover);
  top: calc(100% + var(--ds-space-2));
  display: grid;
  width: min(var(--ds-width-popover), calc(100vw - var(--ds-space-8)));
  min-width: min(260px, calc(100vw - var(--ds-space-8)));
  gap: var(--ds-gap-control);
  padding: var(--ds-space-4);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-overlay);
  color: var(--ds-color-ink);
  box-shadow: var(--ds-shadow-floating);
  animation: ui-popover-enter var(--ds-duration-standard)
    var(--ds-easing-standard);
}

.ui-popover__content--start {
  left: 0;
}

.ui-popover__content--end {
  right: 0;
}

.ui-popover__title,
.ui-popover__body {
  min-width: 0;
  overflow-wrap: anywhere;
}

.ui-popover__body {
  color: var(--ds-color-muted);
}

.ui-disclosure {
  border-block: var(--ds-border-width) solid var(--ds-color-border);
}

.ui-disclosure__summary {
  display: flex;
  min-height: var(--ds-control-height-comfortable);
  align-items: center;
  justify-content: space-between;
  gap: var(--ds-gap-control);
  color: var(--ds-color-ink);
  cursor: pointer;
  list-style: none;
}

.ui-disclosure__summary::-webkit-details-marker {
  display: none;
}

.ui-disclosure__summary:focus-visible {
  outline: var(--ds-focus-outline-width) solid var(--ds-color-focus);
  outline-offset: var(--ds-focus-outline-offset);
}

.ui-disclosure__symbol {
  transition: transform var(--ds-duration-standard)
    var(--ds-easing-standard);
}

.ui-disclosure[open] .ui-disclosure__symbol {
  transform: rotate(90deg);
}

.ui-disclosure__content {
  padding-block: 0 var(--ds-space-4);
  color: var(--ds-color-muted);
  overflow-wrap: anywhere;
}

.ui-tooltip {
  position: relative;
  display: inline-flex;
}

.ui-tooltip__content {
  position: absolute;
  z-index: var(--ds-layer-popover);
  left: 50%;
  width: max-content;
  max-width: min(28ch, calc(100vw - var(--ds-space-8)));
  padding: var(--ds-space-2) var(--ds-space-3);
  border: var(--ds-border-width) solid var(--ds-color-border-strong);
  border-radius: var(--ds-radius-control-sm);
  background: var(--ds-color-ink);
  color: var(--ds-color-surface);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
  overflow-wrap: anywhere;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%);
  transition: opacity var(--ds-duration-micro)
    var(--ds-easing-standard);
}

.ui-tooltip__content--top {
  bottom: calc(100% + var(--ds-space-2));
}

.ui-tooltip__content--bottom {
  top: calc(100% + var(--ds-space-2));
}

.ui-tooltip:hover .ui-tooltip__content,
.ui-tooltip:focus-within .ui-tooltip__content {
  opacity: 1;
}

.ui-system-banner-region {
  position: fixed;
  z-index: var(--ds-layer-banner);
  top: max(var(--ds-space-3), var(--ds-safe-top));
  right: max(var(--ds-space-3), var(--ds-safe-right));
  left: max(var(--ds-space-3), var(--ds-safe-left));
  display: grid;
  width: min(calc(100% - var(--ds-space-6)), var(--ds-width-form));
  margin-inline: auto;
  pointer-events: none;
}

.ui-system-banner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: var(--ds-gap-control);
  padding: var(--ds-space-3);
  border: var(--ds-border-width) solid var(--ds-color-border-strong);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-overlay);
  color: var(--ds-color-ink);
  box-shadow: var(--ds-shadow-floating);
  pointer-events: auto;
}

.ui-system-banner--positive {
  border-color: var(--ds-color-positive);
  background: var(--ds-color-positive-soft);
}

.ui-system-banner--caution {
  border-color: var(--ds-color-caution);
  background: var(--ds-color-caution-soft);
}

.ui-system-banner--destructive {
  border-color: var(--ds-color-destructive);
  background: var(--ds-color-destructive-soft);
}

.ui-system-banner__media {
  display: grid;
  width: var(--ds-control-height-compact);
  height: var(--ds-control-height-compact);
  place-items: center;
}

.ui-system-banner__content {
  display: grid;
  min-width: 0;
  gap: var(--ds-space-1);
}

.ui-system-banner__content > * {
  overflow-wrap: anywhere;
}

.ui-system-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-gap-control);
}

.ui-system-banner-region[data-active-notice="cookies"] {
  top: auto;
  bottom: max(
    var(--ds-bottom-obstruction),
    var(--ds-space-3),
    var(--ds-safe-bottom)
  );
  max-height: calc(
    var(--ds-viewport-block) - max(var(--ds-space-3), var(--ds-safe-top)) -
      max(
        var(--ds-bottom-obstruction),
        var(--ds-space-3),
        var(--ds-safe-bottom)
      ) - var(--ds-space-3)
  );
}

.ui-system-banner-region[data-active-notice="cookies"] .ui-system-banner {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
}

.ui-system-banner-region[data-active-notice="cookies"]
  .ui-system-banner__actions {
  grid-column: 1 / -1;
  justify-content: flex-end;
}

.ui-toast {
  position: fixed;
  z-index: var(--ds-layer-toast);
  right: max(var(--ds-space-4), var(--ds-safe-right));
  bottom: max(var(--ds-bottom-obstruction), var(--ds-safe-bottom));
  left: max(var(--ds-space-4), var(--ds-safe-left));
  display: flex;
  width: fit-content;
  max-width: min(calc(100% - var(--ds-space-8)), var(--ds-width-form));
  min-height: var(--ds-control-height-comfortable);
  align-items: center;
  justify-content: space-between;
  gap: var(--ds-gap-card);
  margin-inline: auto;
  padding: var(--ds-space-2) var(--ds-space-2) var(--ds-space-2)
    var(--ds-space-4);
  border: var(--ds-border-width) solid var(--ds-color-border-strong);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-ink);
  color: var(--ds-color-surface);
  box-shadow: var(--ds-shadow-floating);
  animation: ui-toast-enter var(--ds-duration-standard)
    var(--ds-easing-standard);
}

.ui-app-frame:has([data-map-workspace-state]) .ui-toast {
  bottom: max(
    var(--ds-bottom-chrome-obstruction),
    var(--ds-safe-bottom)
  );
}

.ui-toast--positive {
  border-color: var(--ds-color-positive);
}

.ui-toast > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.ui-toast .ui-button {
  color: inherit;
}

@keyframes ui-overlay-enter {
  from {
    opacity: 0;
    transform: translateY(var(--ds-motion-distance));
  }
}

@keyframes ui-sheet-side-enter {
  from {
    opacity: 0;
    transform: translateX(var(--ds-motion-distance));
  }
}

@keyframes ui-sheet-bottom-enter {
  from {
    opacity: 0;
    transform: translateY(var(--ds-motion-distance));
  }
}

@keyframes ui-popover-enter {
  from {
    opacity: 0;
    transform: translateY(calc(0px - var(--ds-motion-distance)));
  }
}

@keyframes ui-toast-enter {
  from {
    opacity: 0;
    transform: translateY(var(--ds-motion-distance));
  }
}

@media (max-width: 480px) {
  .ui-overlay-layer--dialog,
  .ui-overlay-layer--alert-dialog {
    align-items: end;
    padding: 0;
  }

  .ui-dialog {
    width: 100%;
    max-height: calc(100dvh - var(--ds-safe-top) - var(--ds-space-4));
    border-width: var(--ds-border-width) var(--ds-border-width) 0;
    border-radius: var(--ds-radius-overlay) var(--ds-radius-overlay) 0 0;
  }

  .ui-overlay-header,
  .ui-overlay-content {
    padding: var(--ds-space-4);
  }

  .ui-overlay-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding-inline: var(--ds-space-4);
  }

  .ui-overlay-actions > * {
    width: 100%;
  }

  .ui-system-banner {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .ui-system-banner__actions {
    grid-column: 1 / -1;
  }
}

@media (orientation: landscape) and (max-height: 480px) {
  .ui-overlay-panel,
  .ui-sheet--bottom,
  .ui-bottom-sheet--map {
    max-height: calc(100dvh - var(--ds-space-2));
  }
}

@media (prefers-reduced-motion: reduce) {
  .ui-overlay-panel,
  .ui-popover__content,
  .ui-toast {
    animation: none;
  }

  .ui-disclosure__symbol,
  .ui-tooltip__content {
    transition: none;
  }
}

@media (forced-colors: active) {
  .ui-overlay-layer__backdrop {
    background: Canvas;
    opacity: var(--ds-opacity-loading);
  }

  .ui-overlay-panel,
  .ui-bottom-sheet--map,
  .ui-popover__content,
  .ui-system-banner,
  .ui-toast,
  .ui-confirm-consequence {
    border-color: ButtonText;
    background: Canvas;
    color: CanvasText;
    box-shadow: none;
    forced-color-adjust: auto;
  }

  .ui-overlay-panel:focus-visible,
  .ui-disclosure__summary:focus-visible {
    outline-color: Highlight;
  }
}

@media (min-width: 768px) {
  .ui-app-viewport[data-view-mode="desktop"] .ui-bottom-sheet--map {
    top: calc(
      var(--ds-safe-top) + var(--ds-space-16) + var(--ds-space-8)
    );
    right: max(var(--ds-space-8), var(--ds-safe-right));
    bottom: auto;
    left: auto;
    width: min(
      var(--ds-width-sheet),
      calc(100% - (2 * var(--ds-space-8)))
    );
  }

  .ui-app-viewport[data-view-mode="desktop"]
    .ui-app-frame:has([data-map-workspace-state])
    .ui-bottom-sheet--map {
    right: var(--ds-map-workspace-side-sheet-inline-end);
    max-height: var(--ds-map-workspace-side-sheet-max-block);
  }

  .ui-app-viewport[data-view-mode="desktop"] .ui-bottom-sheet__handle {
    display: none;
  }
}

/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/globals.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************/
:root {
  --color-primary-50: #f5f3ff;
  --color-primary-100: #ede9fe;
  --color-primary-500: #8b5cf6;
  --color-primary-600: #6d28d9;
  --color-primary-800: #4c1d95;
  --color-success-50: #ecfdf5;
  --color-success-600: #16a34a;
  --color-success-800: #166534;
  --color-warning-50: #fffbeb;
  --color-warning-600: #d97706;
  --color-warning-800: #92400e;
  --color-danger-50: #fef2f2;
  --color-danger-600: #dc2626;
  --color-danger-700: #b91c1c;
  --color-info-50: #eff6ff;
  --color-info-600: #2563eb;
  --color-info-700: #1d4ed8;
  --color-neutral-50: #f9fafb;
  --color-neutral-100: #f3f4f6;
  --color-neutral-600: #4b5563;
  --color-neutral-900: #111827;
  --font-body-md-size: var(--ds-legacy-font-body-md-size);
  --font-body-md-line: var(--ds-legacy-font-body-md-line);
  --font-heading-lg-size: var(--ds-legacy-font-heading-lg-size);
  --font-heading-lg-line: var(--ds-legacy-font-heading-lg-line);
  --space-1: var(--ds-space-1);
  --space-2: var(--ds-space-2);
  --space-3: var(--ds-space-3);
  --space-4: var(--ds-space-4);
  --space-5: var(--ds-space-5);
  --space-6: var(--ds-space-6);
  --space-8: var(--ds-space-8);
  --radius-sm: var(--ds-legacy-radius-sm);
  --radius-md: var(--ds-legacy-radius-md);
  --radius-lg: var(--ds-legacy-radius-lg);
  --radius-xl: var(--ds-legacy-radius-xl);
  --radius-pill: var(--ds-radius-pill);
  --brand: #6d28d9;
  --brand-dark: #4c1d95;
  --brand-soft: #ede9fe;
  --calm: #16a34a;
  --alert: #dc2626;
  --meet: #2563eb;
  --ink: var(--ds-legacy-ink);
  --muted: var(--ds-legacy-muted);
  --line: var(--ds-legacy-line);
  --surface: var(--ds-color-surface);
  --glass: var(--ds-legacy-glass);
  --surface-glass-weak: rgb(255 255 255 / 48%);
  --surface-glass-soft: rgb(255 255 255 / 74%);
  --surface-glass-strong: rgb(255 255 255 / 94%);
  --surface-primary-soft: rgb(237 233 254 / 96%);
  --surface-primary-muted: rgb(245 243 255 / 86%);
  --line-primary-subtle: rgb(109 40 217 / 14%);
  --line-primary-muted: rgb(109 40 217 / 20%);
  --shadow-sm: var(--ds-legacy-shadow-sm);
  --shadow-md: var(--ds-legacy-shadow-md);
  --shadow-shell: var(--ds-legacy-shadow-shell);
  --shadow-focus-soft: 0 0 0 12px rgb(139 92 246 / 5%);
  --shadow-shell-pulse: 0 20px 52px rgb(76 29 149 / 20%);
  --shadow-focus-pulse: 0 0 0 18px rgb(139 92 246 / 8%);
  --brand-mark-image: url("/p4pets-mark.svg");
  --shell-line-light: rgb(255 255 255 / 68%);
  --shell-line-strong: rgb(255 255 255 / 76%);
  --shell-surface-floating: rgb(255 255 255 / 90%);
  --shell-surface-hover: rgb(255 255 255 / 92%);
  --shell-surface-card: rgb(255 255 255 / 96%);
  --shell-surface-panel: rgb(255 255 255 / 82%);
  --shell-surface-panel-control: rgb(255 255 255 / 84%);
  --shell-surface-panel-admin: rgb(255 255 255 / 64%);
  --shell-line-panel: rgb(109 40 217 / 12%);
  --shell-line-selected: rgb(109 40 217 / 22%);
  --shell-focus-ring: rgb(109 40 217 / 28%);
  --shell-shadow-control: 0 12px 32px rgb(76 29 149 / 14%);
  --shell-shadow-control-hover: 0 16px 38px rgb(76 29 149 / 18%);
  --shell-shadow-navigation: 0 16px 44px rgb(17 24 39 / 14%);
  --shell-shadow-brand: 0 10px 35px rgb(17 24 39 / 10%);
  --shell-shadow-message: 0 24px 62px rgb(76 29 149 / 24%);
  --shell-brand-filter: drop-shadow(0 8px 14px rgb(76 29 149 / 12%));
  --shell-message-surface: linear-gradient(135deg, rgb(255 255 255 / 96%), rgb(247 242 255 / 96%));
  --shell-state-surface: radial-gradient(circle at top left, var(--color-primary-100), transparent 34%), linear-gradient(135deg, var(--bg), var(--color-info-50));
  --shell-not-found-surface: linear-gradient(135deg, rgb(255 255 255 / 96%), rgb(245 243 255 / 88%));
  --map-color-danger-800: #991b1b;
  --map-dialog-scrim: linear-gradient(180deg, rgb(17 24 39 / 18%), rgb(17 24 39 / 46%));
  --map-line-on-surface: rgb(255 255 255 / 72%);
  --map-surface-translucent: rgb(255 255 255 / 72%);
  --map-surface-muted: rgb(255 255 255 / 68%);
  --map-surface-control: rgb(255 255 255 / 88%);
  --map-surface-control-soft: rgb(255 255 255 / 78%);
  --map-radius-dialog: 30px;
  --map-radius-choice: 20px;
  --map-radius-card: 22px;
  --map-radius-control: 16px;
  --map-shadow-dialog-neutral: 0 28px 80px rgb(17 24 39 / 26%);
  --map-shadow-card-neutral: 0 10px 24px rgb(17 24 39 / 7%);
  --map-shadow-card-brand: 0 14px 30px rgb(76 29 149 / 10%);
  --map-dialog-surface: linear-gradient(180deg, rgb(255 255 255 / 96%), rgb(250 245 255 / 94%));
  --map-shadow-dialog-brand: 0 28px 80px rgb(76 29 149 / 22%);
  --map-line-brand-soft: rgb(109 40 217 / 10%);
  --map-line-brand-selected: rgb(109 40 217 / 34%);
  --map-selected-inset: inset 0 0 0 1px rgb(255 255 255 / 82%);
  --map-accent-line: rgb(124 58 237 / 24%);
  --map-accent-focus: 0 0 0 4px rgb(124 58 237 / 10%);
  --map-accent-state-line: rgb(124 58 237 / 28%);
  --map-accent-state-surface: rgb(124 58 237 / 6%);
  --map-loading-surface: rgb(248 250 252);
  --map-loading-landscape: linear-gradient(135deg, #d8f3dc 0 16%, #fef3c7 16% 28%, #ddd6fe 28% 52%, #dbeafe 52% 67%, #dcfce7 67%);
  --map-loading-grid: linear-gradient(90deg, #fff 1px, transparent 1px), linear-gradient(#fff 1px, transparent 1px);
  --map-loading-route-radius: 0 80px 0 0;
  --map-loading-shimmer: linear-gradient(90deg, rgb(255 255 255 / 52%), rgb(255 255 255 / 88%), rgb(255 255 255 / 52%));
  --map-loading-shadow: 0 12px 28px rgb(17 24 39 / 8%);
  --map-loading-pin-radius: 50% 50% 50% 12px;
  --map-loading-pin-primary: rgb(109 40 217 / 48%);
  --map-loading-pin-secondary: rgb(14 165 233 / 46%);
  --map-loading-pin-tertiary: rgb(16 185 129 / 46%);
  --map-loading-sheet-line: rgb(255 255 255 / 70%);
  --map-loading-handle: #d8b4fe;
  --map-loading-title-radius: 14px;
  --map-loading-copy-radius: 10px;
  --map-loading-desktop-radius: 34px;
  --bg: var(--ds-legacy-canvas);
  --shadow: var(--ds-legacy-shadow-page);
  --app-frame-max-width: var(--ds-legacy-frame-max-width);
  --app-mobile-preview-width: var(--ds-legacy-mobile-preview-width);
  --app-frame-radius: var(--ds-legacy-frame-radius);
  --app-content-inline: var(--ds-legacy-content-inline);
  --app-content-bottom-with-nav: var(--ds-legacy-content-bottom-with-nav);
  --app-content-bottom-without-nav: var(--ds-legacy-content-bottom-without-nav);
  --button-focus-ring: var(--color-primary-800);
  --button-disabled-opacity: .56;
  --button-surface: var(--surface);
}

.category-symbol { display: block; flex: 0 0 auto; overflow: visible; color: currentColor; }

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; border: 0; }
.topbar { position: absolute; z-index: 5; top: 0; left: 0; right: 0; display: grid; gap: 12px; padding: 16px; }
.topbar-brand-row { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; }
.topbar-brand-row .top-action-link { min-height: 48px; box-sizing: border-box; }
.topbar-map-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; min-width: 0; }
.top-actions { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.top-actions button, .sheet-actions button { min-height: 44px; border-radius: 999px; padding: 0 14px; background: var(--surface); color: var(--ink); box-shadow: 0 8px 24px rgb(17 24 39 / 10%); }
.search-pill { text-align: left; color: var(--muted) !important; }
.map-view { position: absolute; inset: 0; overflow: hidden; background: linear-gradient(135deg, #d8f3dc 0 16%, #fef3c7 16% 28%, #ddd6fe 28% 52%, #dbeafe 52% 67%, #dcfce7 67%); }
.map-grid { position: absolute; inset: -10%; opacity: .34; background-image: linear-gradient(90deg, #fff 1px, transparent 1px), linear-gradient(#fff 1px, transparent 1px); background-size: 42px 42px; rotate: -8deg; }
.map-route { position: absolute; left: 10%; right: 8%; top: 34%; height: 210px; border: 16px solid rgb(255 255 255 / 72%); border-left: 0; border-bottom: 0; border-radius: 0 80px 0 0; transform: rotate(10deg); }
.map-provider-note { position: absolute; left: 16px; right: 16px; bottom: 258px; padding: 10px 12px; border-radius: 18px; background: rgb(255 255 255 / 72%); color: var(--muted); font-size: .78rem; text-align: center; backdrop-filter: blur(8px); }
.bottom-sheet { position: absolute; z-index: 4; left: 12px; right: 12px; bottom: 92px; max-height: min(46dvh, 380px); padding: 10px 16px 14px; overflow: hidden; border: 1px solid rgb(255 255 255 / 70%); border-radius: 30px; background: var(--glass); box-shadow: var(--shadow); backdrop-filter: blur(18px); }
.sheet-handle { width: 46px; height: 5px; border-radius: 999px; margin: 0 auto 8px; background: #d8b4fe; }
.eyebrow { margin: 0 0 6px; color: var(--brand); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
h1 { margin: 0 0 6px; font-size: clamp(1.55rem, 8vw, 2rem); letter-spacing: -.04em; }
p { margin: 0; color: var(--muted); line-height: 1.45; }
.sheet-signals { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.sheet-signals span, .alert-badge { display: inline-flex; border-radius: 999px; padding: 8px 10px; background: white; font-size: .84rem; font-weight: 700; }
.alert-badge { align-items: center; gap: 4px; color: var(--alert); }
.alert-badge small { color: var(--muted); font-size: .75em; font-weight: 800; }
.alert-high { background: #fee2e2; }
.alert-medium { background: #fff1f2; }
.alert-low { background: #fff7ed; }
.sheet-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.sheet-actions .primary { background: var(--brand); color: white; font-weight: 800; }
.place-card, .mini-card { border: 1px solid var(--line); border-radius: 24px; padding: 16px; background: var(--surface); box-shadow: 0 10px 30px rgb(17 24 39 / 8%); }
.place-card h3 { margin: 0 0 6px; }
.place-stats { display: flex; gap: 8px; margin-top: 12px; color: var(--muted); font-size: .86rem; }
.place-card-signals { display: flex; flex-wrap: wrap; gap: 8px; }
.place-card-signals span { display: inline-flex; width: fit-content; border-radius: 999px; padding: 7px 10px; background: rgb(255 255 255 / 74%); color: var(--muted); font-size: .88rem; font-weight: 700; }
.mini-card { display: grid; gap: 4px; }
.mini-card span { color: var(--muted); }
.meeting { border-color: #bfdbfe; }
@media (min-width: 900px) {
  .ui-app-viewport[data-view-mode="desktop"] .topbar { align-items: start; padding: 28px 32px; }
  .ui-app-viewport[data-view-mode="desktop"] .topbar-brand-row { grid-template-columns: auto 1fr auto; }
  .ui-app-viewport[data-view-mode="desktop"] .topbar-map-actions { justify-self: center; width: min(650px, 56vw); grid-template-columns: minmax(320px, 1fr) auto; }
  .ui-app-viewport[data-view-mode="desktop"] .help-icon-link { justify-self: end; }
  .ui-app-viewport[data-view-mode="desktop"] .global-help-link { top: 48px; right: calc((100vw - min(var(--app-frame-max-width), 100vw - 56px)) / 2 + 28px); }
  .ui-app-viewport[data-view-mode="desktop"] .map-provider-note { left: 32px; right: auto; bottom: 32px; max-width: 380px; text-align: left; }
  .ui-app-viewport[data-view-mode="desktop"] .bottom-sheet { left: auto; right: 32px; top: 126px; bottom: auto; width: min(460px, 36vw); padding: 22px; border-radius: 34px; }
  .ui-app-viewport[data-view-mode="desktop"] .sheet-handle { display: none; }
  .ui-app-viewport[data-view-mode="desktop"] .bottom-sheet.is-collapsed { top: auto; right: 32px; bottom: 328px; width: 42px; height: 42px; padding: 0; border-radius: 14px; }
  .ui-app-viewport[data-view-mode="desktop"] h1 { font-size: clamp(2rem, 3vw, 3.35rem); }
  .ui-app-viewport[data-view-mode="desktop"] .map-controls { top: auto; right: max(var(--ds-map-control-inline-end), var(--ds-safe-right)); bottom: 128px; }
  .ui-app-viewport[data-view-mode="desktop"] .map-category-control { right: max(var(--ds-map-control-inline-end), var(--ds-safe-right)); bottom: 278px; }
}


/* Interactive map desktop chrome stays with the map shell, not catalog detail CSS. */
@media (min-width: 900px) { .ui-app-viewport[data-view-mode="desktop"] .panel-page-shell { padding-bottom: 150px; } .ui-app-viewport[data-view-mode="desktop"] .bottom-sheet.is-collapsed { bottom: 328px; } .ui-app-viewport[data-view-mode="desktop"] .map-controls { bottom: 128px; } .ui-app-viewport[data-view-mode="desktop"] .map-category-control { bottom: 278px; } .ui-app-viewport[data-view-mode="desktop"] .map-provider-note { bottom: 116px; } }

/* Panel layout system */
.panel-page-shell, .app-page-shell, .action-page-shell { --panel-shell-gap: 18px; width: 100%; max-width: 1120px; margin-inline: auto; padding: clamp(72px, 7vw, 104px) var(--app-content-inline) var(--app-content-bottom-without-nav); display: grid; align-content: start; gap: var(--panel-shell-gap); }
.panel-page-shell > *, .professional-layout > * { min-width: 0; max-width: 100%; }
.app-page-shell { padding-bottom: var(--app-content-bottom-with-nav); }

.map-search-screen {
  width: 100%;
  min-height: calc(100dvh - var(--ds-bottom-chrome-height, 0px));
  padding: max(24px, env(safe-area-inset-top)) var(--app-content-inline) var(--app-content-bottom-with-nav);
  background: var(--ds-color-canvas, var(--background));
  display: grid;
  align-content: start;
  gap: var(--ds-gap-section);
  overflow-x: clip;
}

.map-search-screen > * {
  width: min(100%, 1120px);
  margin-inline: auto;
}

.map-search-screen__header {
  display: flex;
  align-items: start;
  gap: var(--ds-gap-card);
}

.map-search-screen__header h1,
.map-search-screen__header p {
  margin: 0;
}

.map-search-screen__command {
  min-width: 0;
}
.ui-app-frame[data-has-bottom-nav="true"] .panel-page-shell { padding-bottom: var(--app-content-bottom-with-nav); }
.action-page-shell { max-width: 760px; }
.panel-page-shell--wide { max-width: 100%; }
@media (min-width: 640px) { .panel-page-shell, .app-page-shell, .action-page-shell { padding-inline: var(--app-content-inline); } }
@media (min-width: 1024px) { .panel-page-shell, .action-page-shell { padding-bottom: 72px; } }
.panel-stack { display: grid; gap: 18px; }
.panel-card { display: grid; gap: 14px; border-radius: 28px; padding: 24px; background: rgba(255,255,255,.92); box-shadow: 0 20px 70px rgba(31, 41, 55, .14); }
.panel-hero { display: grid; gap: clamp(14px, 2vw, 20px); min-width: 0; border: 1px solid rgb(109 40 217 / 12%); border-radius: 30px; padding: clamp(18px, 3vw, 30px); background: linear-gradient(135deg, rgb(255 255 255 / 96%), rgb(245 243 255 / 86%)); }
.panel-grid { display: grid; gap: clamp(10px, 1.4vw, 16px); }
.panel-actions { display: flex; flex-wrap: wrap; gap: 10px; align-content: start; align-items: center; justify-content: flex-start; min-width: 0; }

.account-card label { display: grid; gap: 6px; font-weight: 700; }
.account-card input { border: 1px solid rgba(31,41,55,.18); border-radius: 14px; padding: 12px 14px; font: inherit; }
.primary-link { display: inline-flex; width: fit-content; text-decoration: none; }
.account-form { display: grid; gap: 14px; }
.account-form .checkbox-row { display: flex; align-items: flex-start; gap: 10px; font-weight: 800; }
.account-form .checkbox-row input { width: auto; margin-top: 3px; accent-color: var(--brand); }
.account-form h2 { margin: 4px 0 0; font-size: 1.15rem; letter-spacing: -.02em; }
.primary-link { justify-content: center; min-height: 46px; border-radius: 999px; padding: 12px 18px; background: var(--brand); color: white; font-weight: 900; text-decoration: none; box-shadow: 0 14px 34px rgb(109 40 217 / 24%); }
.auth-card { margin: 112px 16px 120px; }
.oauth-actions { display: grid; gap: 10px; }
.oauth-button { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; border: 1px solid rgba(31,41,55,.12); border-radius: 999px; background: white; color: var(--ink); font-weight: 900; padding: 0; box-shadow: 0 10px 28px rgb(17 24 39 / 8%); }
.oauth-button span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--brand-soft); color: var(--brand-dark); font-weight: 900; }
.auth-divider { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: .82rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.auth-divider::before, .auth-divider::after { content: ""; height: 1px; flex: 1; background: var(--line); }
.auth-message { border-radius: 18px; padding: 12px 14px; font-weight: 700; }
.auth-message.info { background: #eff6ff; color: #1d4ed8; }
.auth-message.success { background: #ecfdf5; color: #047857; }
.auth-message.error { background: #fef2f2; color: #b91c1c; }
.secondary-link { width: fit-content; color: var(--brand); font-weight: 800; }
.dashboard-header { display: grid; gap: 14px; }
.ghost-button { width: fit-content; min-height: 44px; border-radius: 999px; padding: 0 16px; background: var(--brand-soft); color: var(--brand-dark); font-weight: 900; }
.primary:focus-visible, .ghost-button:focus-visible { outline: 3px solid rgb(139 92 246 / 28%); outline-offset: 3px; border-color: var(--brand); }
.account-stats { display: grid; gap: 10px; }
.account-stats article { display: grid; gap: 4px; padding: 14px; border: 1px solid var(--line); border-radius: 20px; background: white; }
.account-stats strong { color: var(--brand-dark); }
.account-stats span { color: var(--muted); overflow-wrap: anywhere; }
@media (min-width: 480px) { .dashboard-header { grid-template-columns: 1fr auto; align-items: start; } .account-stats { grid-template-columns: repeat(3, 1fr); } }

.panel-page-shell--wide > .proposal-center { width: 100%; }
.page-heading { display: grid; gap: 8px; }
.panel-hero-copy { display: grid; gap: 8px; max-width: 820px; min-width: 0; }
.panel-hero-copy .eyebrow { margin-bottom: 0; }
.panel-hero-copy h1 { margin: 0; font-size: clamp(2rem, 4vw, 3.8rem); line-height: 1; letter-spacing: -.06em; overflow-wrap: anywhere; }
.panel-hero-copy p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: clamp(.98rem, 1.4vw, 1.08rem); line-height: 1.65; }
.panel-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.panel-kpi-grid article { display: grid; align-content: space-between; gap: 8px; min-width: 0; min-height: 126px; padding: clamp(16px, 2vw, 22px); border: 1px solid rgb(109 40 217 / 12%); border-radius: 26px; background: linear-gradient(135deg, rgb(255 255 255 / 98%), rgb(237 233 254 / 68%)); box-shadow: 0 14px 34px rgb(76 29 149 / 8%); }
.panel-kpi-grid strong { color: var(--brand-dark); font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: .95; letter-spacing: -.04em; }
.panel-kpi-grid span { color: var(--muted); font-size: .82rem; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
@media (min-width: 760px) { .panel-hero { grid-template-columns: minmax(0, 1fr) auto; align-items: end; } .panel-hero-actions { justify-content: flex-end; } }
@media (min-width: 1024px) { .panel-kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.content-list { display: grid; gap: 12px; }
.stacked-card { display: grid; gap: 8px; }
.card-extra { display: grid; gap: 6px; padding: 0 4px; color: var(--muted); font-size: .88rem; }
.card-extra span { display: inline-flex; width: fit-content; border-radius: 999px; padding: 7px 10px; background: rgb(255 255 255 / 74%); font-weight: 700; }
.top-action-link { display: inline-flex; align-items: center; min-height: 44px; border-radius: 999px; padding: 0 14px; background: var(--surface); color: var(--ink); text-decoration: none; box-shadow: 0 8px 24px rgb(17 24 39 / 10%); font-weight: 800; }
.top-action-link.search-pill { color: var(--muted); font-weight: 700; }
.sheet-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 999px; padding: 0 14px; background: var(--surface); color: var(--ink); text-decoration: none; box-shadow: 0 8px 24px rgb(17 24 39 / 10%); font-weight: 800; }
.sheet-actions a.primary { background: var(--brand); color: white; }
.surface-card { padding: 16px; border: 1px solid var(--line); border-radius: 24px; background: rgb(255 255 255 / 88%); box-shadow: 0 10px 30px rgb(17 24 39 / 8%); }
.panel-hero.surface-card { padding: clamp(18px, 3vw, 30px); border-color: rgb(109 40 217 / 12%); border-radius: 30px; background: linear-gradient(135deg, rgb(255 255 255 / 96%), rgb(245 243 255 / 86%)); }
.filter-grid, .detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.filter-chip { min-height: 46px; border-radius: 999px; padding: 0 14px; background: white; color: var(--brand-dark); border: 1px solid var(--line); font-weight: 900; box-shadow: 0 8px 24px rgb(17 24 39 / 8%); }
.filter-grid .filter-chip { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 2px 8px; min-height: 64px; padding: 10px 14px; text-decoration: none; }
.filter-grid .filter-chip span { grid-row: span 2; font-size: 1.05rem; }
.filter-grid .filter-chip strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.filter-grid .filter-chip small { color: var(--muted); font-size: .76rem; font-weight: 800; }
.filter-grid .filter-chip:not(.filter-chip-featured) { border-color: var(--category-border, var(--line)); background: linear-gradient(135deg, var(--category-bg, white), rgb(255 255 255 / 92%)); color: var(--category-fg, var(--brand-dark)); }
.filter-grid .filter-chip:not(.filter-chip-featured) span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 14px; background: rgb(255 255 255 / 72%); }
.filter-grid .filter-chip:not(.filter-chip-featured) small { color: var(--category-fg, var(--muted)); }
.filter-chip-featured { grid-column: 1 / -1; border-color: rgb(109 40 217 / 28%); background: var(--brand); color: white; }
.filter-chip-featured small { color: rgb(255 255 255 / 76%); }
.filter-grid .filter-chip.is-disabled { cursor: not-allowed; opacity: .48; filter: grayscale(.35); box-shadow: none; }
.filter-grid .filter-chip.is-disabled small::after { content: " · niedostępne"; }
.primary.wide { width: 100%; min-height: 48px; border-radius: 999px; background: var(--brand); color: white; font-weight: 900; }
.action-card { display: grid; gap: 6px; padding: 16px; border: 1px solid var(--line); border-radius: 24px; background: white; color: var(--ink); text-decoration: none; box-shadow: 0 10px 30px rgb(17 24 39 / 8%); }
.action-card span { color: var(--muted); }
.test-login-button { color: var(--brand-dark); }
.test-login-panel { display: grid; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 22px; background: rgb(255 255 255 / 72%); }
.account-card select { border: 1px solid rgba(31,41,55,.18); border-radius: 14px; padding: 12px 14px; background: white; color: var(--ink); font: inherit; }


.location-actions { grid-template-columns: 1fr auto; align-items: center; }
.location-search { display: grid; grid-template-rows: auto auto; align-content: center; gap: 2px; min-width: 0; min-height: 48px; padding-block: 6px; }
.location-search span { display: block; min-width: 0; text-align: center; color: var(--brand-dark); font-size: .72rem; font-weight: 950; letter-spacing: .08em; line-height: 1; text-transform: uppercase; }
.location-search small { display: block; min-width: 0; color: #667085; font-size: .68rem; font-weight: 750; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.locate-button { justify-content: center; width: 44px; padding: 0; color: var(--brand-dark); font-size: 1.15rem; }

.filter-icon-link, .help-icon-link { justify-content: center; width: 48px; padding: 0; color: var(--brand-dark); }
.help-icon-link { width: 48px; min-width: 48px; height: 48px; min-height: 48px; border: 1px solid rgb(255 255 255 / 70%); background: rgb(255 255 255 / 90%); color: var(--brand-dark); font-size: 1rem; font-weight: 950; box-shadow: 0 10px 28px rgb(17 24 39 / 12%); backdrop-filter: blur(12px); }
.global-help-link { position: fixed; z-index: 32; top: max(18px, env(safe-area-inset-top)); right: max(16px, env(safe-area-inset-right)); display: inline-flex; align-items: center; border-radius: var(--radius-pill); text-decoration: none; box-shadow: var(--shadow-md); backdrop-filter: blur(14px); }
.live-map { position: absolute; inset: 0; overflow: hidden; filter: saturate(.95) contrast(.98); pointer-events: none; background: #dbeafe; }
.map-tile, .action-map-raster { position: absolute; width: 256px; height: 256px; user-select: none; -webkit-user-drag: none; }
.map-view::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgb(247 242 255 / 42%), transparent 28%, rgb(247 242 255 / 16%) 100%); }
.map-view .map-grid, .map-view .map-route { pointer-events: none; }
.live-map ~ .map-grid { opacity: .12; mix-blend-mode: soft-light; }
.live-map ~ .map-route { display: none; }
.user-location-dot { position: absolute; z-index: 2; left: 50%; top: 48%; width: 22px; height: 22px; display: grid; place-items: center; border: 3px solid white; border-radius: 999px; background: var(--meet); box-shadow: 0 0 0 12px rgb(37 99 235 / 16%), 0 14px 34px rgb(37 99 235 / 36%); transform: translate(-50%, -50%); pointer-events: none; }
.user-location-dot span { width: 7px; height: 7px; border-radius: inherit; background: white; }
.user-location-dot.is-crosshair { width: 42px; height: 42px; border: 0; background: transparent; box-shadow: none; }
.user-location-dot.is-crosshair::before, .user-location-dot.is-crosshair::after { content: ""; position: absolute; border-radius: 999px; background: rgb(109 40 217 / 72%); box-shadow: 0 1px 3px rgb(17 24 39 / 16%); }
.user-location-dot.is-crosshair::before { width: 34px; height: 2px; }
.user-location-dot.is-crosshair::after { width: 2px; height: 34px; }
.user-location-dot.is-crosshair span { width: 12px; height: 12px; z-index: 1; border: 2px solid rgb(109 40 217 / 78%); border-radius: 999px; background: rgb(255 255 255 / 72%); box-shadow: 0 1px 8px rgb(17 24 39 / 12%); }
.map-provider-note { z-index: 3; }
.bottom-sheet { transition: transform .24s ease, padding .24s ease, border-radius .24s ease; }
.sheet-handle { display: block; padding: 0; }
.sheet-content { max-height: calc(min(46dvh, 380px) - 35px); padding-bottom: 2px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; transition: opacity .18s ease, max-height .24s ease; }
.sheet-content::-webkit-scrollbar { display: none; }
.nearby-chip { display: none; align-items: center; justify-content: center; width: 42px; min-width: 42px; height: 42px; min-height: 42px; box-sizing: border-box; border: 1px solid rgb(109 40 217 / 16%); border-radius: 14px; background: rgb(255 255 255 / 94%); color: var(--brand-dark); font-weight: 900; box-shadow: 0 14px 34px rgb(76 29 149 / 16%); backdrop-filter: blur(12px); }
.bottom-sheet.is-collapsed { left: auto; right: 16px; bottom: calc(max(12px, env(safe-area-inset-bottom)) + 310px); width: 42px; padding: 0; border-color: transparent; border-radius: 14px; background: transparent; box-shadow: none; transform: translateY(0); backdrop-filter: none; }
.bottom-sheet.is-collapsed .sheet-handle, .bottom-sheet.is-collapsed .sheet-content { display: none; }
.bottom-sheet.is-collapsed .nearby-chip { display: inline-flex; }
.nearby-chip-paws { display: block; width: 22px; height: 22px; color: var(--brand-dark); fill: currentColor; opacity: .92; }
.map-view { touch-action: none; cursor: grab; }
.map-view:active { cursor: grabbing; }
.map-cluster-layer { position: absolute; z-index: 2; inset: 0; }

/* Canonical place pin: the root's bottom center is the exact geographic point. */
.place-map-pin-anchor {
  --place-map-pin-size: 46px;
  --place-map-pin-bound: 65.054px;
  --place-map-pin-border: 2px;
  --place-map-pin-icon-size: 24px;
  --place-map-pin-glyph-size: 16px;
  --place-map-pin-scale: 1;
  position: absolute;
  width: var(--place-map-pin-bound);
  height: var(--place-map-pin-bound);
  margin: 0;
  border: 0;
  padding: 0;
  overflow: visible;
  appearance: none;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: 1;
  transform: translate(-50%, -100%);
  transform-origin: 50% 100%;
}
.place-map-pin-anchor[data-size="compact"] {
  --place-map-pin-size: 30px;
  --place-map-pin-bound: 42.426px;
  --place-map-pin-border: 2px;
  --place-map-pin-icon-size: 16px;
  --place-map-pin-glyph-size: 11px;
}
.place-map-pin-anchor:not([data-read-only="true"]) {
  cursor: pointer;
  touch-action: manipulation;
}
.place-map-pin-anchor[data-read-only="true"] {
  cursor: default;
  pointer-events: none;
  touch-action: auto;
}
.place-map-pin {
  position: absolute;
  inset: 0;
  display: block;
  transform: scale(var(--place-map-pin-scale));
  transform-origin: 50% 100%;
  pointer-events: none;
  transition: transform 160ms ease;
}
.place-map-pin-anchor[data-selected="true"] .place-map-pin,
.place-map-pin-anchor:not([data-read-only="true"]):focus-visible .place-map-pin {
  --place-map-pin-scale: 1.08;
}
.place-map-pin-anchor:not([data-read-only="true"]):active .place-map-pin {
  --place-map-pin-scale: .98;
}
@media (hover: hover) and (pointer: fine) {
  .place-map-pin-anchor:not([data-read-only="true"]):hover .place-map-pin {
    --place-map-pin-scale: 1.08;
  }
}
.place-map-pin__surface {
  position: absolute;
  left: 50%;
  top: 50%;
  display: grid;
  place-items: center;
  width: var(--place-map-pin-size);
  height: var(--place-map-pin-size);
  box-sizing: border-box;
  border: var(--place-map-pin-border) solid rgb(255 255 255 / 92%);
  border-radius: 50% 50% 50% 0;
  background: var(--place-pin-color, var(--category-pin, var(--brand)));
  color: #fff;
  box-shadow: 0 14px 30px rgb(76 29 149 / 24%);
  transform: translate(-50%, -50%) rotate(-45deg);
}
.place-map-pin-anchor[data-supporter="true"] .place-map-pin__surface::after {
  position: absolute;
  inset: calc(0px - var(--ds-space-1));
  border: var(--ds-border-width-selected) solid var(--ds-color-supporter-ring);
  border-radius: inherit;
  content: "";
  pointer-events: none;
}
.place-map-pin-anchor[data-selected="true"][data-supporter="true"] .place-map-pin__surface::after,
.place-map-pin-anchor:focus-visible[data-supporter="true"] .place-map-pin__surface::after {
  opacity: .56;
}
.place-map-pin__icon {
  display: grid;
  place-items: center;
  width: var(--place-map-pin-icon-size);
  height: var(--place-map-pin-icon-size);
  border-radius: 999px;
  border: 1px solid var(--category-border, rgb(55 65 81 / 16%));
  background: rgb(255 255 255 / 92%);
  color: var(--category-fg, #374151);
  font-size: var(--place-map-pin-glyph-size);
  font-weight: 900;
  line-height: 1;
  transform: rotate(45deg);
}
.place-map-pin-anchor:focus-visible { outline: none; }
.place-map-pin-anchor:focus-visible .place-map-pin__surface {
  outline: 3px solid rgb(109 40 217 / 62%);
  outline-offset: 4px;
  box-shadow: 0 18px 38px rgb(76 29 149 / 30%);
}
.place-map-pin-anchor[data-selected="true"] .place-map-pin__surface {
  box-shadow: 0 0 0 3px rgb(109 40 217 / 28%), 0 18px 38px rgb(76 29 149 / 30%);
}

.map-controls {
  position: absolute;
  z-index: var(--ds-layer-map-controls);
  right: max(var(--ds-map-control-inline-end), var(--ds-safe-right));
  bottom: calc(var(--ds-bottom-obstruction) + var(--ds-space-6));
  display: grid;
  overflow: hidden;
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-control-md);
  background: var(--ds-color-surface);
  box-shadow: var(--ds-shadow-raised);
}
.map-controls .ui-button {
  width: var(--ds-control-size-icon);
  min-width: var(--ds-control-size-icon);
  height: var(--ds-control-size-icon);
  min-height: var(--ds-control-size-icon);
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ds-color-ink);
  box-shadow: none;
}
.map-controls .ui-button + .ui-button {
  border-top: var(--ds-border-width) solid var(--ds-color-border);
}
.map-controls .ui-button:hover {
  background: var(--ds-color-surface-soft);
}
.map-controls .ui-button:disabled {
  cursor: not-allowed;
  opacity: var(--ds-opacity-disabled);
}
.map-alert-target {
  min-width: 0;
  border-radius: var(--ds-radius-card-sm);
}
.map-alert-target:focus {
  outline: var(--ds-focus-outline-width) solid var(--ds-color-focus);
  outline-offset: var(--ds-focus-outline-offset);
}
.map-controls .map-gps-target-control { color: var(--ds-color-information); }
.map-controls .map-gps-target-control [data-semantic-symbol="gps"] path { display: none; }
.map-category-control { position: absolute; z-index: var(--ds-layer-map-controls); right: max(var(--ds-map-control-inline-end), var(--ds-safe-right)); bottom: calc(var(--ds-bottom-obstruction) + var(--ds-space-6) + var(--ds-space-16) + var(--ds-space-16) + var(--ds-space-3)); display: inline-grid; place-items: center; gap: var(--ds-space-1); width: var(--ds-control-size-icon); min-width: var(--ds-control-size-icon); height: var(--ds-control-size-icon); min-height: var(--ds-control-size-icon); box-sizing: border-box; border: var(--ds-border-width) solid var(--ds-color-border); border-radius: var(--ds-radius-control-md); padding: var(--ds-space-1); background: var(--ds-color-surface); color: var(--ds-color-ink); text-decoration: none; box-shadow: var(--ds-shadow-raised); }
.map-category-control small { max-width: var(--ds-control-height-compact); overflow: hidden; color: var(--ds-color-muted); font-size: var(--ds-type-eyebrow-size); font-weight: var(--ds-type-eyebrow-weight); line-height: 1; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.map-data-unavailable { position: absolute; z-index: 7; left: 16px; right: 16px; bottom: calc(max(12px, env(safe-area-inset-bottom)) + 164px); display: grid; gap: 8px; border: 1px solid rgb(217 119 6 / 24%); border-radius: 18px; padding: 14px; background: rgb(255 251 235 / 94%); color: var(--ink); box-shadow: 0 18px 42px rgb(17 24 39 / 16%); backdrop-filter: blur(14px); }
.map-data-unavailable strong { color: var(--color-warning-600); font-size: .95rem; }
.map-data-unavailable span { color: var(--muted); font-size: .84rem; font-weight: 700; line-height: 1.35; }
.map-data-unavailable a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 999px; background: var(--brand); color: white; text-decoration: none; font-weight: 900; }
.map-data-unavailable a:focus-visible { outline: 3px solid rgb(109 40 217 / 24%); outline-offset: 3px; }

.map-category-control:focus-visible, .map-controls .ui-button:focus-visible, .help-icon-link:focus-visible { outline: var(--ds-focus-outline-width) solid var(--ds-color-focus); outline-offset: var(--ds-focus-outline-offset); }

.hero-copy h1 { max-width: 12ch; }
.category-badge, .featured-badge, .status-badge { display: inline-flex; align-items: center; width: fit-content; border-radius: 999px; padding: 7px 10px; font-size: .78rem; font-weight: 900; }
.category-badge { background: var(--brand-soft); color: var(--brand-dark); }
.category-walk { background: #dcfce7; color: #166534; }
.category-vet { background: #dbeafe; color: #1d4ed8; }
.category-behaviorist { background: #fee2e2; color: #b91c1c; }
.category-shop { background: #f3f4f6; color: #374151; }
.category-service { background: var(--brand-soft); color: var(--brand-dark); }
.featured-badge { background: #fef3c7; color: #92400e; }
.status-badge { background: #ecfdf5; color: #047857; }
.refined-place-card { display: grid; gap: 12px; }
.place-card-head, .section-heading-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.section-heading-row h2 { margin: 0; letter-spacing: -.03em; }
.section-heading-row span { flex: 0 0 auto; border-radius: 999px; padding: 7px 10px; background: white; color: var(--muted); font-size: .82rem; font-weight: 900; }
.tag-row { display: flex; flex-wrap: wrap; gap: 7px; }
.tag-row span { border-radius: 999px; padding: 6px 9px; background: rgb(109 40 217 / 8%); color: var(--brand-dark); font-size: .8rem; font-weight: 800; }
.tag-row.spacious { margin-top: 12px; }
.place-card-link { display: inline-flex; justify-content: center; align-items: center; min-height: 42px; border-radius: 999px; background: var(--ink); color: white; text-decoration: none; font-weight: 900; }
.info-list { display: grid; gap: 8px; color: var(--muted); font-weight: 700; }
.info-list a { color: var(--brand); font-weight: 900; }
.nearby-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; min-width: 0; }
.nearby-heading.compact { margin-bottom: 6px; }
.nearby-heading > div { min-width: 0; }
.nearby-heading h1 { overflow-wrap: anywhere; }
.nearby-context { display: block; margin-top: 4px; color: var(--muted); font-size: .78rem; font-weight: 800; line-height: 1.25; }
.nearby-sections { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 2px; }
.nearby-sections::-webkit-scrollbar { display: none; }
.nearby-chip-group { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.nearby-sections > span { flex: 0 0 auto; border: 1px solid var(--line); border-radius: 999px; padding: 9px 12px; background: white; color: var(--brand-dark); font-size: .84rem; font-weight: 900; box-shadow: 0 8px 24px rgb(17 24 39 / 7%); }
.nearby-summary { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.nearby-discovery { display: grid; gap: 14px; }
.nearby-command { display: grid; gap: 14px; padding: 16px; border: 1px solid rgb(109 40 217 / 12%); border-radius: 28px; background: linear-gradient(135deg, rgb(255 255 255 / 92%), rgb(237 233 254 / 72%)); box-shadow: 0 14px 38px rgb(76 29 149 / 10%); }
.nearby-command h2 { margin: 0; color: var(--brand-dark); font-size: 1.22rem; letter-spacing: -.04em; }
.nearby-filter-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.nearby-filter-strip label, .nearby-search { display: grid; gap: 8px; min-width: 0; color: var(--brand-dark); font-weight: 900; }
.nearby-filter-strip span, .nearby-search span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nearby-filter-strip select, .nearby-search input { width: 100%; min-height: 48px; border: 1px solid rgb(109 40 217 / 18%); border-radius: 18px; padding: 0 14px; background: white; color: var(--ink); box-shadow: inset 0 1px 0 rgb(255 255 255 / 80%); }
.nearby-filter-strip select:disabled { cursor: not-allowed; opacity: .58; background-color: rgb(243 244 246 / 72%); }
.nearby-filter-strip select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--brand-dark) 50%), linear-gradient(135deg, var(--brand-dark) 50%, transparent 50%); background-position: calc(100% - 16px) 21px, calc(100% - 11px) 21px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; padding-right: 30px; font-weight: 850; }
.nearby-clear-button { justify-self: start; }
.nearby-clear-button:disabled { cursor: not-allowed; opacity: .52; }
.nearby-result-count { color: var(--muted); font-size: .84rem; font-weight: 800; line-height: 1.35; }
.nearby-ranked-card { display: grid; gap: 8px; }
.nearby-card-meta { display: flex; flex-wrap: wrap; gap: 7px; }
.nearby-card-meta span { border-radius: 999px; padding: 6px 9px; background: rgb(109 40 217 / 8%); color: var(--brand-dark); font-size: .78rem; font-weight: 900; }
.place-decision-signals span { display: inline-flex; align-items: center; gap: 5px; }
.place-decision-signals i { display: inline-grid; place-items: center; min-width: 18px; height: 18px; border-radius: 999px; background: rgb(109 40 217 / 10%); color: var(--brand-dark); font-style: normal; font-size: .72rem; line-height: 1; }
.place-card-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.place-card-link.secondary { border-color: rgb(109 40 217 / 16%); background: white; color: var(--brand-dark); }
.empty-state { padding: 16px; border: 1px dashed rgb(109 40 217 / 24%); border-radius: 22px; background: rgb(255 255 255 / 70%); }

.sheet-signals.compact-signals { display: flex; flex-wrap: nowrap; gap: 5px; margin: 8px 0 6px; overflow-x: auto; scrollbar-width: none; }
.sheet-signals.compact-signals::-webkit-scrollbar { display: none; }
.sheet-signals.compact-signals span { min-height: 26px; padding: 5px 8px; border-radius: 999px; font-size: .7rem; line-height: 1; white-space: nowrap; }
.nearby-radar { padding: 12px 14px 16px; }
.bottom-sheet.is-collapsed { right: 16px; bottom: calc(max(12px, env(safe-area-inset-bottom)) + 310px); width: 42px; height: 42px; padding: 0; border-radius: 14px; }
.bottom-sheet.is-collapsed .nearby-chip { width: 42px; min-height: 42px; padding: 0; overflow: hidden; font-size: 1.05rem; line-height: 1; }
.bottom-sheet.is-collapsed .nearby-chip:focus-visible { background: white; box-shadow: 0 16px 36px rgb(76 29 149 / 20%); outline: 3px solid rgb(109 40 217 / 18%); outline-offset: 3px; }

.professional-entry.ui-button { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 5px 12px; width: 100%; align-items: center; justify-content: stretch; text-align: left; }
.professional-entry > [data-semantic-symbol] { grid-row: 1 / span 3; align-self: center; }
.professional-entry > span, .professional-entry > strong, .professional-entry > small { grid-column: 2; min-width: 0; overflow-wrap: anywhere; }
.professional-layout { display: grid; gap: 14px; }
.pro-hero { display: grid; gap: 14px; }
.pro-hero h1 { font-size: clamp(2rem, 4vw, 3.8rem); }
.pro-hero-badge { width: fit-content; border-radius: 999px; padding: 10px 12px; background: var(--brand); color: white; font-weight: 900; box-shadow: 0 14px 34px rgb(109 40 217 / 20%); }
.profession-picker { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
.profession-picker::-webkit-scrollbar { display: none; }
.profession-chip { flex: 0 0 auto; }
.pro-dashboard { display: grid; gap: 16px; }
.pro-dashboard-header { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; align-items: start; }
.profession-identity { display: grid; place-items: center; width: 52px; height: 52px; border-radius: var(--radius-md); background: var(--brand-soft); color: var(--brand-dark); }
.profession-symbol { flex: 0 0 auto; }
.pro-dashboard h2, .pro-dashboard h3 { margin: 0 0 6px; letter-spacing: -.03em; }
.pro-metrics { display: grid; gap: 10px; }
.pro-metrics article, .pro-columns article, .pro-next-steps { padding: 14px; border: 1px solid var(--line); border-radius: 20px; background: white; }
.pro-metrics strong { display: block; color: var(--brand-dark); }
.pro-metrics span { color: var(--muted); font-size: .84rem; }
.pro-columns { display: grid; gap: 10px; }
.pro-columns ul, .pro-next-steps ol { margin: 8px 0 0; padding-left: 20px; color: var(--muted); line-height: 1.55; }
.pro-next-steps li + li { margin-top: 4px; }

.about-hero { display: grid; gap: 12px; background: linear-gradient(135deg, rgb(255 255 255 / 92%), rgb(237 233 254 / 84%)); }
.about-hero h2, .about-grid h3, .about-hero p { margin: 0; }
.about-hero h2 { max-width: 14ch; color: var(--brand-dark); font-size: clamp(1.5rem, 8vw, 2.25rem); line-height: .98; letter-spacing: -.05em; }
.about-cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 4px; }
.about-grid { display: grid; gap: 12px; }
.about-signals { margin-bottom: 0; }
.about-actions-list { display: flex; flex-wrap: wrap; gap: 8px; }
.about-actions-list span { border-radius: 999px; padding: 9px 12px; background: var(--brand-soft); color: var(--brand-dark); font-weight: 900; }
.about-principles { margin: 0; padding-left: 20px; color: var(--muted); line-height: 1.55; }
.about-principles li + li { margin-top: 6px; }
@media (min-width: 760px) { .about-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .about-hero h2 { max-width: 18ch; } }
@media (min-width: 760px) {
  .pro-hero { grid-template-columns: 1fr auto; align-items: end; }
  .pro-metrics { grid-template-columns: repeat(3, 1fr); }
  .pro-columns { grid-template-columns: 1fr 1fr; }
}

.nearby-carousel-header { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid rgb(17 24 39 / 9%); color: var(--brand-dark); font-size: .78rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.nearby-carousel { display: flex; gap: 9px; margin: 7px 0 0; padding: 2px 4px 8px; overflow-x: auto; scroll-snap-type: x proximity; scroll-padding-left: 4px; scrollbar-width: none; }
.nearby-carousel::-webkit-scrollbar { display: none; }
.nearby-carousel-card { flex: 0 0 min(248px, 82%); display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; min-height: 82px; padding: 12px 14px; border: 1px solid var(--category-border, var(--line)); border-radius: 22px; background: linear-gradient(135deg, var(--category-bg, white), rgb(255 255 255 / 94%)); color: var(--ink); text-align: left; text-decoration: none; box-shadow: 0 10px 24px rgb(17 24 39 / 7%); scroll-snap-align: start; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.nearby-carousel-card:focus-visible, .nearby-transition a:focus-visible { outline: 3px solid rgb(109 40 217 / 24%); outline-offset: 3px; }
.nearby-carousel-icon { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--category-border, var(--line)); border-radius: 15px; background: rgb(255 255 255 / 78%); color: var(--category-fg, var(--brand-dark)); font-size: 1.1rem; }
.nearby-carousel-card small, .nearby-carousel-card strong { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nearby-carousel-card small { color: var(--category-fg, var(--brand)); font-size: .72rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.nearby-carousel-card strong { margin-top: 2px; color: var(--category-fg, var(--brand-dark)); font-size: .96rem; }
.nearby-transition { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; margin-top: 8px; padding: 12px; border: 1px solid rgb(109 40 217 / 10%); border-radius: 22px; background: linear-gradient(135deg, rgb(237 233 254 / 72%), rgb(255 255 255 / 70%)); }
.nearby-transition strong { display: block; margin-bottom: 2px; color: var(--brand-dark); font-size: .94rem; }
.nearby-transition p { font-size: .82rem; line-height: 1.35; }
.nearby-transition a { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; border-radius: 999px; padding: 0 13px; background: white; color: var(--brand-dark); text-decoration: none; font-size: .84rem; font-weight: 900; box-shadow: 0 8px 20px rgb(76 29 149 / 10%); }
.category-groomer { background: var(--brand-soft); color: var(--brand-dark); }
.category-hotel { background: #dcfce7; color: #166534; }
.category-walker { background: #dbeafe; color: #1d4ed8; }

.dog-owner-card { display: grid; gap: 16px; }
.dog-owner-card h2, .dog-modules h2 { margin: 0; letter-spacing: -.03em; }
.dog-draft-form { display: grid; gap: 12px; }
.dog-draft-form label { display: grid; gap: 6px; color: var(--brand-dark); font-weight: 900; }
.dog-draft-form input, .dog-draft-form select { min-height: 44px; border: 1px solid rgba(31,41,55,.16); border-radius: 16px; padding: 10px 12px; background: white; color: var(--ink); }
.dog-draft-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.dog-modules { display: grid; gap: 12px; }
.dog-family-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.dog-family-header .eyebrow { margin-bottom: 4px; }
.dog-family-header span { flex: 0 0 auto; border-radius: 999px; padding: 7px 10px; background: white; color: var(--muted); font-size: .82rem; font-weight: 900; }
.dog-add-control { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 10px; width: 100%; text-align: left; }
.dog-add-control > span { display: grid; gap: 2px; min-width: 0; }
.dog-family-list { display: grid; gap: 10px; }
.dog-profile-card { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 14px; border: 1px solid rgb(109 40 217 / 12%); border-radius: 24px; background: rgb(255 255 255 / 88%); box-shadow: 0 10px 26px rgb(17 24 39 / 7%); }
.dog-avatar { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 18px; background: linear-gradient(135deg, #ede9fe, #dcfce7); color: var(--brand-dark); font-weight: 950; }
.dog-profile-select-control { display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: 12px; width: 100%; align-items: center; text-align: left; }
.dog-profile-card.active { border-color: rgb(109 40 217 / 36%); box-shadow: 0 12px 30px rgb(109 40 217 / 14%); }
.dog-profile-main { display: grid; gap: 4px; min-width: 0; }
.dog-profile-title { display: flex; align-items: center; gap: 8px; min-width: 0; }
.dog-profile-title strong { min-width: 0; overflow: hidden; color: var(--brand-dark); text-overflow: ellipsis; white-space: nowrap; }
.dog-profile-title span { flex: 0 0 auto; border-radius: 999px; padding: 4px 8px; background: var(--brand-soft); color: var(--brand-dark); font-size: .72rem; font-weight: 900; }
.dog-profile-main p, .dog-profile-main small { min-width: 0; overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.dog-compact-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.dog-module-grid { display: grid; gap: 10px; }
.dog-module-tabs { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 2px; }
.dog-module-tab { flex: 0 0 154px; display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto; gap: 2px 8px; min-height: 56px; align-items: center; text-align: left; }
.dog-module-tab > [data-semantic-symbol] { grid-row: 1 / span 2; }
.dog-module-tab > span, .dog-module-tab > small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dog-module-card { display: grid; gap: 6px; padding: 14px; border: 1px solid var(--line); border-radius: 22px; background: rgb(255 255 255 / 86%); box-shadow: 0 8px 24px rgb(17 24 39 / 7%); scroll-margin-top: 18px; }
.dog-module-card:focus { outline: 3px solid rgb(109 40 217 / 24%); outline-offset: 3px; }
.dog-module-card-active { border-color: rgb(109 40 217 / 38%); box-shadow: 0 14px 32px rgb(109 40 217 / 14%); }
.dog-module-card > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 15px; background: var(--brand-soft); font-size: 1.1rem; }
.dog-module-card strong { color: var(--brand-dark); }
.dog-module-card p { font-size: .9rem; }
.dog-dashboard-status { border-radius: 999px; padding: 6px 10px; background: white; color: var(--muted); font-size: .78rem; font-weight: 900; }
.dog-module-card ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dog-module-card li { display: grid; gap: 2px; padding: 9px 10px; border-radius: 14px; background: rgb(248 250 252 / 86%); }
.dog-module-card li b, .dog-module-card li a { color: var(--brand-dark); font-size: .9rem; font-weight: 900; text-decoration: none; }
.dog-module-card li small, .dog-empty-state { color: var(--muted); font-size: .8rem; }
.dog-quick-form { display: grid; gap: 8px; }
.dog-quick-form label { display: grid; gap: 5px; color: var(--muted); font-size: .78rem; font-weight: 900; }
.dog-reminder-form { padding: 10px; border: 1px solid rgb(109 40 217 / 14%); border-radius: 18px; background: rgb(255 255 255 / 74%); }
.dog-disclosure-control { width: 100%; justify-content: flex-start; }
.dog-disclosure-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 8px; }
.dog-module-action { width: 100%; min-height: 38px; }
.dog-quick-form input, .dog-quick-form select { min-height: 40px; border: 1px solid rgba(31,41,55,.16); border-radius: 14px; padding: 9px 10px; background: white; color: var(--ink); }
.dog-inline-section { display: grid; gap: 8px; margin: 4px 0; padding: 10px; border: 1px dashed rgb(109 40 217 / 24%); border-radius: 18px; background: rgb(109 40 217 / 6%); }
.dog-inline-section legend { padding: 0 4px; color: var(--brand-dark); font-size: .86rem; font-weight: 900; }
.dog-inline-section p { margin: 0; color: var(--muted); font-size: .8rem; }
@media (min-width: 560px) {
  .dog-draft-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dog-draft-form .wide-field, .dog-draft-actions { grid-column: 1 / -1; }
  .dog-profile-card { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .dog-profile-select-control { grid-template-columns: auto auto minmax(0, 1fr); }
  .dog-compact-actions { grid-column: auto; justify-content: end; }
  .dog-module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dog-module-wide { grid-column: 1 / -1; }
}

.add-place-flow { display: grid; gap: 14px; }
.flow-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(88px, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.flow-steps li { padding: 10px; border: 1px solid var(--line); border-radius: 999px; background: rgb(255 255 255 / 72%); color: var(--muted); font-size: .78rem; font-weight: 900; text-align: center; }
.flow-steps li.active { background: var(--brand); color: white; border-color: var(--brand); }
.required-mark { display: inline-flex; align-items: center; margin-left: 6px; padding: 2px 8px; border-radius: 999px; background: #fef2f2; color: #b91c1c; font-size: .72rem; font-weight: 950; text-transform: uppercase; letter-spacing: .04em; }
.add-place-section { display: grid; gap: 14px; }
.add-place-section h2 { margin: 0; font-size: 1.18rem; letter-spacing: -.03em; }
.professional-place-form { min-width: 0; max-width: 100%; grid-template-columns: minmax(0, 1fr); }
.professional-place-form > * { min-width: 0; max-width: 100%; }
.add-place-grid { display: grid; width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.add-place-grid > * { min-width: 0; max-width: 100%; }
.add-place-grid label:not(.ui-field__label) { display: grid; gap: 6px; color: var(--ink); font-weight: 800; }
.add-place-grid input:not(.ui-field-control--semantic), .add-place-grid textarea:not(.ui-field-control--semantic), .add-place-grid select:not(.ui-field-control--semantic) { width: 100%; min-width: 0; max-width: 100%; border: 1px solid rgb(31 41 55 / 16%); border-radius: 16px; padding: 12px 14px; background: white; color: var(--ink); font: inherit; }
.add-place-grid textarea:not(.ui-field-control--semantic) { resize: vertical; }
.flow-actions { display: grid; gap: 10px; }
.primary.wide:disabled { cursor: not-allowed; opacity: .5; }
.location-choice-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.manual-map-picker { position: relative; min-height: 320px; overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: var(--brand-soft); }
.manual-map-picker .map-view { inset: 0; width: 100%; height: 100%; }
.add-place-map-view { position: absolute; inset: 0; overflow: hidden; background: linear-gradient(135deg, #d8f3dc 0 16%, #fef3c7 16% 28%, #ddd6fe 28% 52%, #dbeafe 52% 67%, #dcfce7 67%); touch-action: none; cursor: grab; }
.add-place-map-view:active { cursor: grabbing; }
.add-place-map-view::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgb(247 242 255 / 34%), transparent 30%, rgb(247 242 255 / 12%) 100%); }
.add-place-map-view .map-grid { pointer-events: none; opacity: .12; mix-blend-mode: soft-light; }
.map-center-indicator { position: absolute; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line-primary-muted); border-radius: var(--radius-pill); background: var(--surface); color: var(--brand-dark); box-shadow: var(--shadow); transform: translate(-50%, -50%); pointer-events: none; }
.add-place-map-center-indicator { z-index: 2; left: 50%; top: 48%; }
.add-place-current-pin { position: absolute; z-index: 2; min-height: 28px; border: 1px solid rgb(31 41 55 / 14%); border-radius: 999px; padding: 5px 8px; background: rgb(255 255 255 / 92%); color: var(--muted); font-size: .72rem; font-weight: 950; transform: translate(-50%, -50%); pointer-events: none; box-shadow: 0 8px 20px rgb(17 24 39 / 12%); }
.add-place-map-actions { position: absolute; z-index: 4; left: 12px; right: 12px; bottom: 12px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; border: 1px solid rgb(255 255 255 / 70%); border-radius: 18px; padding: 10px; background: rgb(255 255 255 / 92%); box-shadow: 0 14px 34px rgb(17 24 39 / 14%); backdrop-filter: blur(10px); }
.add-place-map-actions p { margin: 0; color: var(--muted); font-size: .82rem; font-weight: 800; }

.add-place-gps-control { position: absolute; z-index: 5; right: 12px; top: 12px; }
.map-address-field { display: grid; gap: 6px; color: var(--ink); font-weight: 800; }
.map-address-field input { width: 100%; border: 1px solid rgb(31 41 55 / 16%); border-radius: 16px; padding: 12px 14px; background: white; color: var(--ink); font: inherit; }
.pin-summary { padding: 10px 12px; border-radius: 18px; background: rgb(109 40 217 / 8%); color: var(--brand-dark); font-weight: 800; }
.review-card { border-color: rgb(109 40 217 / 32%); }
.review-card .place-card-link { width: 100%; }
.success-card { gap: 16px; overflow: hidden; position: relative; }
.success-card::after { content: ""; position: absolute; width: 180px; height: 180px; right: -80px; top: -80px; border-radius: 999px; background: radial-gradient(circle, rgb(16 185 129 / 20%), transparent 68%); pointer-events: none; }
.success-kicker { width: fit-content; margin: 0; border-radius: 999px; padding: 7px 10px; background: rgb(16 185 129 / 12%); color: #047857; font-size: .78rem; font-weight: 950; text-transform: uppercase; letter-spacing: .08em; }
.success-copy { margin: 0; color: var(--muted); font-weight: 750; }
.saved-place-summary { border: 1px solid rgb(16 185 129 / 16%); background: linear-gradient(135deg, rgb(16 185 129 / 12%), rgb(109 40 217 / 7%)); }
.success-actions { display: grid; gap: 10px; }
@media (min-width: 720px) {
  .add-place-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .add-place-grid .wide { grid-column: 1 / -1; }
}
.location-choice-row { grid-template-columns: 1fr; }
.suggestion-row { display: flex; flex-wrap: wrap; gap: 8px; }
.custom-amenity-field { display: grid; gap: 8px; margin-top: 10px; padding: 12px; border: 1px solid rgb(109 40 217 / 14%); border-radius: 18px; background: rgb(109 40 217 / 5%); }
.custom-amenity-field label:not(.ui-field__label) { color: var(--ink); font-weight: 900; }
.custom-amenity-controls { display: grid; gap: 8px; }
.custom-amenity-controls input:not(.ui-field-control--semantic) { width: 100%; border: 1px solid rgb(31 41 55 / 16%); border-radius: 16px; padding: 12px 14px; background: white; color: var(--ink); font: inherit; }
.custom-amenity-controls .ui-button { width: 100%; min-height: 44px; }
.custom-amenity-field > small { color: var(--muted); font-weight: 700; }
.thanks-summary { display: grid; gap: 6px; padding: 12px; border-radius: 20px; background: rgb(16 185 129 / 10%); color: var(--ink); }
.checkin-card { display: grid; gap: 14px; }
@media (min-width: 720px) { .location-choice-row { grid-template-columns: repeat(3, 1fr); } .custom-amenity-controls { grid-template-columns: minmax(0, 1fr) auto; align-items: center; } .custom-amenity-controls .ui-button { width: auto; } }
.account-guest-card { overflow: hidden; position: relative; }
.account-guest-card::after { content: ""; position: absolute; width: 180px; height: 180px; right: -70px; top: -70px; border-radius: 50%; background: radial-gradient(circle, rgb(139 92 246 / 22%), transparent 68%); pointer-events: none; }
.account-benefits { display: grid; gap: 10px; }
.account-benefits article, .account-summary-strip { border: 1px solid var(--line); border-radius: 20px; background: rgb(255 255 255 / 78%); }
.account-benefits article { display: grid; gap: 4px; padding: 14px; }
.account-benefits strong { color: var(--brand-dark); }
.account-benefits span { color: var(--muted); }
.account-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.account-summary-strip { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px; }
.account-summary-strip span { border-radius: 999px; padding: 8px 10px; background: var(--brand-soft); color: var(--brand-dark); font-size: .86rem; font-weight: 900; }
@media (min-width: 720px) { .account-benefits { grid-template-columns: repeat(3, 1fr); } }

.product-version {
  color: #98a2b3;
  font-size: .72rem;
  font-weight: 700;
  text-align: center;
}

.guest-state-card {
  border: 1px solid rgba(226, 107, 42, 0.22);
  background: linear-gradient(135deg, rgba(255, 247, 237, 0.98), rgba(255, 255, 255, 0.92));
}

.dog-draft-form select {
  min-height: 44px;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 0 12px;
  background: #fff;
  color: var(--text);
}

.ghost-button.danger {
  color: #b42318;
  border-color: rgba(180, 35, 24, 0.24);
}

.admin-footer-link {
  display: block;
  margin-top: 18px;
  text-align: center;
  font-size: 0.78rem;
  opacity: 0.72;
}

.admin-table-list { gap: 12px; }

.pro-nav-shortcut {
  color: #c81e1e !important;
  font-weight: 900;
}
.place-rating-card { display: grid; gap: 12px; }
.place-rating-card > div:first-child { display: grid; gap: 2px; }
.place-rating-card strong { font-size: 1.35rem; letter-spacing: -.03em; }
.place-rating-card span { color: var(--muted); }
.rating-summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px; }
.place-rating-metric-value { display: inline-flex; align-items: center; justify-content: flex-start; gap: 5px; }
.place-detail-metrics .mini-card .place-rating-metric-label { color: inherit; font-size: inherit; font-weight: inherit; text-transform: none; letter-spacing: inherit; }
.place-rating-metric-value small { color: color-mix(in srgb, var(--muted) 70%, white); font-size: .72em; font-weight: 800; letter-spacing: -.01em; }
.rating-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); }
.rating-options label { display: flex; align-items: flex-start; justify-content: flex-start; border-radius: 18px; padding: 12px; gap: 3px; flex-direction: column; }
.rating-options label strong { color: var(--brand-dark); line-height: 1; }
.rating-options label span { color: var(--brand-dark); font-weight: 900; }
.rating-options label small { color: var(--muted); font-size: .76rem; line-height: 1.25; font-weight: 750; }
.rating-consequence-panel { margin-top: 2px; }
.rating-options label.selected { border-color: var(--brand); background: var(--brand-soft); }
.rating-options input { position: absolute; opacity: 0; pointer-events: none; }
.place-rating-card .primary { min-height: 44px; border-radius: 999px; background: var(--brand); color: white; font-weight: 900; }
.place-rating-card .primary:disabled { cursor: not-allowed; opacity: .58; }

.admin-push-form { display: grid; gap: clamp(16px, 2vw, 22px); border: 1px solid rgb(109 40 217 / 12%); border-radius: 30px; padding: clamp(18px, 3vw, 28px); background: #ffffff; box-shadow: 0 18px 50px rgb(76 29 149 / 10%); }
.admin-push-form h2, .admin-push-form p { margin: 0; }
.admin-push-heading { display: grid; gap: 7px; max-width: 780px; }
.admin-push-heading p:not(.eyebrow) { color: var(--muted); line-height: 1.6; }
.admin-push-fields { display: grid; gap: 12px; }
.admin-push-form label:not(.ui-field__label) { display: grid; gap: 6px; color: var(--brand-dark); font-weight: 900; }
.admin-push-form input:not(.ui-field-control--semantic), .admin-push-form textarea:not(.ui-field-control--semantic) { width: 100%; border: 1px solid rgba(31,41,55,.16); border-radius: 16px; padding: 12px 14px; background: #fbfaff; color: var(--ink); font: inherit; }
.admin-push-form input:not(.ui-field-control--semantic):focus-visible, .admin-push-form textarea:not(.ui-field-control--semantic):focus-visible { outline: 3px solid rgb(139 92 246 / 28%); outline-offset: 3px; border-color: var(--brand); }
.admin-push-form textarea:not(.ui-field-control--semantic) { resize: vertical; }
.admin-push-grid { display: grid; gap: 10px; }
@media (min-width: 720px) { .admin-push-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Public Index route chrome */
.index-route-header { position: sticky; z-index: var(--ds-layer-popover); top: 0; border-bottom: var(--ds-border-width) solid var(--ds-color-border); background: var(--ds-color-surface); }
.index-route-header-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--ds-gap-control); padding-block: var(--ds-space-3); }
.index-route-brand { min-width: 0; }
.index-route-navigation { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; width: 100%; }
.index-route-navigation .ui-button { width: 100%; min-width: 0; height: auto; min-height: var(--ds-control-height-comfortable); padding-inline: var(--ds-space-2); overflow-wrap: anywhere; white-space: normal; line-height: var(--ds-type-label-line); text-align: center; }
.index-route-map-link.ui-button { justify-self: end; width: var(--ds-control-size-icon); min-width: var(--ds-control-size-icon); height: var(--ds-control-size-icon); min-height: var(--ds-control-size-icon); border-color: var(--ds-color-border); background: var(--ds-color-surface); box-shadow: var(--ds-shadow-raised); }
@media (min-width: 768px) {
  .index-route-header-inner { grid-template-columns: auto minmax(0, 1fr) auto; padding-block: var(--ds-space-4); }
  .index-route-navigation { grid-column: auto; display: flex; justify-content: center; width: auto; }
  .index-route-navigation .ui-button { width: auto; padding-inline: var(--ds-space-4); }
}
@media (min-width: 900px) {
  .ui-app-viewport[data-view-mode="desktop"] .bottom-sheet.is-collapsed { right: 32px; bottom: 328px; width: 42px; height: 42px; }
  .ui-app-viewport[data-view-mode="desktop"] .bottom-sheet.is-collapsed .nearby-chip { width: 42px; min-height: 42px; }
}
.category-filter-row { display: flex; gap: 8px; overflow-x: auto; padding: 8px 0; scrollbar-width: none; }
.category-filter-row button { flex: 0 0 auto; border: 1px solid var(--line); border-radius: 999px; background: white; color: var(--brand-dark); font-weight: 850; padding: 9px 12px; }
.category-filter-row button.is-selected { border-color: var(--brand); background: var(--brand-soft); color: var(--brand); }
.amenity-cloud { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.amenity-cloud > .ui-button { min-height: 44px; }
.label-vote-row { display: flex; flex-wrap: wrap; gap: 8px; }
.label-vote { display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--line); border-radius: 999px; padding: 4px 7px; background: #fff; color: var(--brand-dark); font-size: .9rem; font-weight: 850; }
.label-vote button { border: 0; border-radius: 999px; min-width: 22px; min-height: 20px; padding: 0 5px; font-size: .68rem; font-weight: 900; line-height: 1; }
.subcategory-filter-row, .practical-filter-row { display: flex; gap: 8px; overflow-x: auto; padding: 2px 0 6px; scrollbar-width: none; }
.subcategory-filter-row button, .practical-filter-row button { flex: 0 0 auto; border: 1px solid var(--line); border-radius: 999px; background: white; color: var(--muted); font-weight: 800; padding: 7px 10px; font-size: .84rem; }
.subcategory-filter-row button { display: inline-flex; align-items: center; gap: 6px; border-color: var(--category-border, var(--line)); background: var(--category-bg, white); color: var(--category-fg, var(--muted)); }
.subcategory-filter-row button span { font-size: .95rem; }
.subcategory-filter-row button.is-selected { border-color: var(--category-pin, var(--brand)); background: var(--category-bg, var(--brand-soft)); color: var(--category-fg, var(--brand-dark)); box-shadow: inset 0 0 0 1px var(--category-pin, var(--brand)); }
.practical-filter-row button { border-style: dashed; background: rgb(255 255 255 / 72%); font-size: .8rem; }
.practical-filter-row button.is-selected { border-style: solid; border-color: #16a34a; background: #dcfce7; color: #166534; }
.map-results-button { width: fit-content; justify-self: center; border: 1px solid var(--brand); border-radius: 999px; background: var(--brand); color: white; font-weight: 900; padding: 9px 13px; box-shadow: 0 10px 24px rgb(124 58 237 / 18%); }


.auth-state-card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.auth-state-card p {
  margin: 6px 0 0;
  color: var(--muted);
}

.auth-state-card.signed-in {
  border: 1px solid rgba(16, 185, 129, 0.22);
  background: linear-gradient(135deg, rgba(236, 253, 245, 0.98), rgba(255, 255, 255, 0.92));
}

.auth-state-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.admin-console { gap: clamp(18px, 2.4vw, 28px); }
.admin-console-header { align-items: start; border: 1px solid rgb(109 40 217 / 12%); border-radius: 30px; padding: clamp(18px, 3vw, 30px); background: linear-gradient(135deg, rgb(255 255 255 / 96%), rgb(245 243 255 / 86%)); }
.admin-console-hero-copy { display: grid; gap: 8px; min-width: 0; max-width: 820px; }
.admin-console-hero-copy h1 { margin: 0; overflow-wrap: anywhere; font-size: clamp(2rem, 4vw, 3.8rem); line-height: 1; letter-spacing: -.06em; }
.admin-console-hero-copy p { overflow-wrap: anywhere; }
.admin-console-hero-copy p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: clamp(.98rem, 1.4vw, 1.08rem); line-height: 1.65; }
.admin-console-header-actions { justify-content: flex-start; }
.admin-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-kpi-grid article { display: grid; align-content: space-between; gap: 8px; min-width: 0; min-height: 126px; padding: clamp(16px, 2vw, 22px); border: 1px solid rgb(109 40 217 / 12%); border-radius: 26px; background: linear-gradient(135deg, rgb(255 255 255 / 98%), rgb(237 233 254 / 68%)); box-shadow: 0 14px 34px rgb(76 29 149 / 8%); }
.admin-kpi-grid strong { color: var(--brand-dark); font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: .95; letter-spacing: -.04em; }
.admin-kpi-grid span { color: var(--muted); font-size: .82rem; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.admin-table-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.admin-table-tabs::-webkit-scrollbar { display: none; }
.admin-table-tab.ui-button { display: grid; justify-content: stretch; gap: 6px; width: 100%; min-height: 94px; border-radius: 22px; padding: 14px; text-align: left; }
.admin-table-tab span { color: inherit; opacity: .72; font-size: .78rem; font-weight: 500; line-height: 1.25; }
.admin-table-tab em { width: fit-content; border-radius: 999px; padding: 5px 8px; background: rgb(109 40 217 / 10%); color: var(--brand-dark); font-size: .72rem; font-style: normal; font-weight: 950; }
.admin-table-tab[data-selected="true"] em { color: currentColor; }
.admin-toolbar { display: grid; gap: 12px; padding: 16px; border: 1px solid rgb(109 40 217 / 12%); border-radius: 26px; background: rgb(255 255 255 / 82%); }
.admin-clear-filters { align-self: end; min-height: 46px; }
.admin-toolbar input:not(.ui-field-control--semantic), .admin-toolbar select:not(.ui-field-control--semantic) { width: 100%; min-height: 46px; border: 1px solid rgba(31,41,55,.18); border-radius: 14px; padding: 10px 12px; background: white; color: var(--ink); font: inherit; }
.admin-table-tab:focus-visible, .admin-toolbar input:not(.ui-field-control--semantic):focus-visible, .admin-toolbar select:not(.ui-field-control--semantic):focus-visible { outline: 3px solid rgb(139 92 246 / 28%); outline-offset: 3px; border-color: var(--brand); }
.admin-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.admin-section-heading h2 { margin: 0; letter-spacing: -.03em; }
.admin-section-heading > span { flex: 0 0 auto; border-radius: 999px; padding: 7px 10px; background: var(--brand-soft); color: var(--brand-dark); font-size: .78rem; font-weight: 900; }
.admin-record-card { padding: 16px; border: 1px solid rgb(109 40 217 / 12%); border-radius: 24px; background: rgb(255 255 255 / 92%); box-shadow: 0 10px 26px rgb(17 24 39 / 7%); }
.admin-record-head { display: grid; gap: 10px; align-items: start; }
.admin-record-head > * { min-width: 0; max-width: 100%; }
.admin-record-head strong, .admin-record-head p, .admin-record-meta span { overflow-wrap: anywhere; }
.admin-status-pill { width: fit-content; border-radius: 999px; padding: 7px 10px; background: #f3f4f6; color: #374151; font-size: .78rem; font-weight: 950; }
.admin-status-pill.success { background: #dcfce7; color: #166534; }
.admin-status-pill.warning { background: #fef3c7; color: #92400e; }
.admin-status-pill.danger { background: #fee2e2; color: #991b1b; }
.admin-status-pill.neutral { background: #f3f4f6; color: #374151; }
.admin-status-legend { display: grid; gap: 14px; padding: 16px; border: 1px solid rgb(109 40 217 / 12%); border-radius: 26px; background: rgb(255 255 255 / 86%); box-shadow: 0 10px 26px rgb(17 24 39 / 6%); }
.admin-status-legend h2 { margin: 0; letter-spacing: -.03em; }
.admin-status-legend-grid { display: grid; gap: 10px; }
.admin-status-legend-item { display: grid; gap: 8px; align-content: start; padding: 12px; border: 1px solid rgb(109 40 217 / 10%); border-radius: 18px; background: rgb(248 250 252 / 72%); }
.admin-status-legend-item p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.35; }
.admin-record-meta, .admin-role-line { display: flex; flex-wrap: wrap; gap: 7px; }
.admin-record-meta span, .admin-role-line span { border-radius: 999px; padding: 6px 9px; background: rgb(109 40 217 / 8%); color: var(--brand-dark); font-size: .75rem; font-weight: 700; }
.admin-record-details { border: 1px dashed rgb(109 40 217 / 18%); border-radius: 20px; padding: 11px 12px; background: rgb(248 250 252 / 70%); }
.admin-record-details-toggle.ui-button { justify-content: flex-start; width: 100%; min-height: 44px; font-size: .84rem; text-align: left; }
.admin-record-details-toggle:focus-visible { outline: 3px solid rgb(124 58 237 / 35%); outline-offset: 3px; border-radius: 8px; }
.admin-record-details dl { display: grid; gap: 8px; margin: 12px 0 0; }
.admin-record-details div { display: grid; gap: 2px; min-width: 0; }
.admin-record-details dt { color: var(--muted); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.admin-record-details dd { margin: 0; color: #1f2937; font-size: .86rem; font-weight: 500; line-height: 1.35; overflow-wrap: anywhere; }
@media (max-width: 420px) { .admin-table-tabs { display: flex; gap: 10px; margin-inline: -4px; padding: 4px 4px 10px; overflow-x: auto; scrollbar-width: none; } .admin-table-tab { flex: 0 0 min(238px, 82vw); } }
@media (min-width: 560px) { .admin-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .admin-record-head { grid-template-columns: minmax(0, 1fr) auto; } }
@media (min-width: 760px) { .admin-toolbar { grid-template-columns: minmax(0, 1fr) 240px auto; align-items: end; } .admin-table-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); } .admin-record-details dl, .admin-status-legend-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .admin-kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .admin-table-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); } .admin-table-list, .admin-status-legend-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .admin-console-header { grid-template-columns: minmax(0, 1fr) auto; } .admin-console-header-actions { justify-content: flex-end; } }
.search-place-list { gap: 10px; }
.search-place-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 76px; padding: 12px; border: 1px solid var(--line); border-radius: 24px; background: rgb(255 255 255 / 90%); color: var(--ink); text-decoration: none; box-shadow: 0 10px 30px rgb(17 24 39 / 8%); transition: transform .18s ease, box-shadow .18s ease; }
.search-place-card:hover { transform: translateY(-1px); box-shadow: 0 14px 34px rgb(17 24 39 / 11%); }
.search-place-card:focus-visible { outline: 3px solid rgb(109 40 217 / 24%); outline-offset: 3px; }
.search-place-card.is-selected { border-color: var(--brand); box-shadow: 0 0 0 3px rgb(109 40 217 / 14%), 0 14px 34px rgb(17 24 39 / 11%); }
.search-place-icon { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--category-border, var(--line)); border-radius: 17px; background: var(--category-bg, var(--brand-soft)); color: var(--category-fg, var(--brand-dark)); font-size: 1.25rem; }
.search-place-copy { display: grid; gap: 3px; min-width: 0; }
.search-place-copy strong, .search-place-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search-place-copy small { color: var(--muted); font-size: .8rem; font-weight: 800; }
.search-place-signal { justify-self: end; border-radius: 999px; padding: 7px 9px; background: rgb(109 40 217 / 8%); color: var(--brand-dark); font-size: .76rem; font-weight: 950; white-space: nowrap; }
.empty-state { display: grid; gap: 10px; padding: 16px; border: 1px dashed rgb(109 40 217 / 28%); border-radius: 24px; background: rgb(255 255 255 / 72%); }
.proposal-empty-state,
.admin-empty-state {
  align-items: center;
  min-height: 88px;
  padding: 22px 24px;
  border: 1px solid rgb(109 40 217 / 14%);
  border-radius: 24px;
  background: linear-gradient(135deg, rgb(255 255 255 / 96%), rgb(250 245 255 / 86%));
  box-shadow: 0 12px 30px rgb(76 29 149 / 8%);
}
.proposal-empty-state p,
.admin-empty-state p {
  color: #334155;
  font-weight: 750;
}
.search-discovery { display: grid; gap: 14px; }
.search-command { gap: 12px; }
.search-command-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: .84rem; font-weight: 850; }
.search-command-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.search-command-footer .ghost-button { min-height: 38px; padding: 0 12px; text-decoration: none; }
.nearby-sections button, .nearby-chip-group button { flex: 0 1 auto; border: 1px solid var(--line); border-radius: 999px; padding: 10px 13px; background: white; color: var(--brand-dark); font-size: .84rem; font-weight: 900; box-shadow: 0 8px 24px rgb(17 24 39 / 7%); transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease, transform .16s ease; }
.nearby-sections button[aria-pressed="true"], .nearby-chip-group button[aria-pressed="true"] { border-color: rgb(109 40 217 / 35%); background: var(--brand); color: white; box-shadow: 0 12px 28px rgb(76 29 149 / 18%); }
.nearby-chip-group button:hover { transform: translateY(-1px); }
@media (min-width: 760px) {
  .search-command { grid-template-columns: minmax(0, 1fr); }
  .search-place-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Proposal Center */
.osm-workbench { color: var(--ink); }
.osm-workbench section { backdrop-filter: blur(18px); }
.osm-workbench .ui-button:not(.wide), .proposal-filter-tabs .ui-button { min-height: 44px; text-align: center; }
.proposal-page { --panel-shell-gap: 24px; }
.proposal-hero { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: center; overflow: hidden; border: 1px solid rgb(109 40 217 / 12%); border-radius: 34px; padding: clamp(22px, 5vw, 38px); background: radial-gradient(circle at 8% 12%, rgb(139 92 246 / 20%), transparent 28%), linear-gradient(135deg, #ffffff 0%, #f7f2ff 48%, #eef7ff 100%); box-shadow: 0 24px 70px rgb(76 29 149 / 10%); }
.proposal-hero-copy { display: grid; gap: 10px; max-width: 760px; min-width: 0; }
.proposal-brand-pill { width: fit-content; border-radius: 999px; padding: 8px 13px; background: var(--brand); color: white; font-size: .82rem; font-weight: 950; letter-spacing: -.02em; box-shadow: 0 14px 32px rgb(109 40 217 / 22%); }
.proposal-kicker { margin: 0; color: var(--brand-dark); font-size: .76rem; font-weight: 950; letter-spacing: .18em; text-transform: uppercase; }
.proposal-hero h1 { margin: 0; color: #111827; font-size: clamp(2.15rem, 6vw, 4.3rem); line-height: .94; letter-spacing: -.07em; }
.proposal-hero p:not(.proposal-kicker) { margin: 4px 0 0; max-width: 680px; color: var(--muted); font-size: clamp(.98rem, 2vw, 1.08rem); line-height: 1.65; }
.proposal-stats { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(128px, 1fr); gap: 8px; min-width: 0; overflow-x: auto; border-radius: 28px; padding: 8px; background: rgb(255 255 255 / 72%); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 80%), 0 18px 46px rgb(17 24 39 / 8%); }
.proposal-stats div { display: grid; gap: 3px; border-radius: 22px; padding: 14px 10px; background: white; text-align: center; }
.proposal-stats strong { color: var(--brand-dark); font-size: 1.6rem; line-height: 1; }
.proposal-stats span { color: var(--muted); font-size: .76rem; font-weight: 700; }
.proposal-import-card { display: grid; gap: 16px; background: linear-gradient(180deg, rgb(255 255 255 / 98%), rgb(250 245 255 / 76%)); }
.proposal-review-board { margin-top: 28px; }
.proposal-section-heading, .proposal-review-header { display: grid; gap: 12px; align-items: start; }
.proposal-review-copy { min-width: 0; }
.proposal-section-heading h2, .proposal-review-header h2 { margin: 0; font-size: 1.45rem; letter-spacing: -.045em; }
.proposal-section-heading p, .proposal-review-header p { margin: 6px 0 0; max-width: 760px; color: var(--muted); font-size: .96rem; line-height: 1.58; }
.proposal-section-heading > span { width: fit-content; border-radius: 999px; padding: 8px 12px; background: rgb(109 40 217 / 10%); color: var(--brand-dark); font-size: .78rem; font-weight: 950; }
.proposal-form-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.proposal-form-grid label, .proposal-fields-panel label, .proposal-editor-grid > label, .proposal-note, .proposal-advanced label { display: grid; gap: 7px; min-width: 0; color: var(--brand-dark); font-size: .82rem; font-weight: 950; }
.proposal-form-grid small { color: var(--muted); font-size: .75rem; font-weight: 650; line-height: 1.35; }
.proposal-form-grid input, .proposal-form-grid select, .osm-workbench textarea, .osm-workbench article input, .osm-workbench article select { width: 100%; min-height: 48px; border: 1px solid rgb(109 40 217 / 16%); border-radius: 16px; padding: 11px 13px; background-color: white; color: var(--ink); font: inherit; box-shadow: inset 0 1px 0 rgb(255 255 255 / 80%); transition: border-color .18s ease, box-shadow .18s ease, outline-color .18s ease; }
.proposal-form-grid input::placeholder, .osm-workbench article input::placeholder, .osm-workbench textarea::placeholder { color: rgb(100 116 139 / 72%); }
.proposal-form-grid select, .osm-workbench article select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--brand-dark) 50%), linear-gradient(135deg, var(--brand-dark) 50%, transparent 50%); background-position: calc(100% - 18px) 21px, calc(100% - 12px) 21px; background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; padding-right: 36px; }
.proposal-form-grid input:focus-visible, .proposal-form-grid select:focus-visible, .osm-workbench textarea:focus-visible, .osm-workbench article input:focus-visible, .osm-workbench article select:focus-visible { outline: 3px solid rgb(139 92 246 / 28%); outline-offset: 2px; border-color: var(--brand); box-shadow: 0 0 0 1px rgb(109 40 217 / 12%), inset 0 1px 0 rgb(255 255 255 / 80%); }
.proposal-search-field { margin-top: 14px; }
.proposal-search-summary { color: var(--muted); font-size: .8rem; font-weight: 650; line-height: 1.4; }
.proposal-search-summary { margin: 8px 0 0; }
.proposal-import-submit { margin-top: 8px; }
.proposal-progress .proposal-step { display: grid; gap: 6px; border: 1px solid var(--line); border-radius: 24px; padding: 16px; background: #f8fafc; }
.proposal-step span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 999px; background: white; color: var(--brand-dark); font-weight: 950; }
.proposal-step p { margin: 0; color: var(--muted); font-size: .88rem; line-height: 1.45; }
.proposal-step.is-done { border-color: #bbf7d0; background: #f0fdf4; } .proposal-step.is-active { border-color: #bae6fd; background: #f0f9ff; } .proposal-step.is-error { border-color: #fecaca; background: #fef2f2; }
.proposal-filter-tabs, .proposal-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.proposal-filter-tabs { min-width: 0; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.proposal-filter-tabs::-webkit-scrollbar { display: none; }
.proposal-filter-tabs .ui-button { flex: 0 0 auto; min-height: 44px; white-space: nowrap; line-height: 1; }
.proposal-card-list { display: grid; gap: 16px; margin-top: 18px; }
.proposal-card { display: grid; gap: 16px; border: 1px solid rgb(109 40 217 / 12%); border-radius: 30px; padding: clamp(16px, 3vw, 22px); background: rgb(255 255 255 / 92%); box-shadow: 0 14px 38px rgb(17 24 39 / 7%); }
.proposal-card.status-promoted { border-color: #bbf7d0; background: #f0fdf4; } .proposal-card.status-rejected { border-color: #fecdd3; background: #fff1f2; }
.proposal-card-header { display: grid; gap: 12px; }
.proposal-title-group input { border-color: transparent; padding: 0; background: transparent; box-shadow: none; color: #111827; font-size: 1.25rem; font-weight: 950; letter-spacing: -.035em; }
.proposal-title-group input:focus { padding: 10px 12px; background: white; }
.proposal-title-group p { margin: 6px 0 0; color: var(--muted); font-size: .93rem; }
.proposal-chip-row { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.proposal-chip-row span { border-radius: 999px; padding: 6px 10px; background: rgb(109 40 217 / 8%); color: var(--brand-dark); font-size: .75rem; font-weight: 900; }
.proposal-status-pill { width: fit-content; border-radius: 999px; padding: 8px 12px; background: #f59e0b; color: white; font-size: .76rem; font-weight: 950; }
.status-promoted .proposal-status-pill { background: #059669; } .status-rejected .proposal-status-pill { background: #e11d48; }
.proposal-editor-grid, .proposal-fields-panel, .proposal-advanced div { display: grid; gap: 12px; }
.proposal-note { display: grid; }
.proposal-advanced { border: 1px dashed rgb(109 40 217 / 18%); border-radius: 22px; padding: 12px; background: rgb(248 250 252 / 72%); }
.proposal-advanced summary { cursor: pointer; color: var(--brand-dark); font-weight: 950; }
.proposal-advanced div { margin-top: 12px; }
.proposal-advanced p { margin: 0; align-self: end; color: var(--muted); font-size: .82rem; font-weight: 650; }
.osm-workbench textarea { resize: vertical; line-height: 1.5; }
.osm-workbench .ui-button:disabled { cursor: not-allowed; }
@media (min-width: 720px) { .proposal-hero { grid-template-columns: minmax(0, 1fr) minmax(280px, 380px); } .proposal-section-heading, .proposal-review-header, .proposal-card-header { grid-template-columns: minmax(0, 1fr) auto; } .proposal-review-header { align-items: center; } .proposal-filter-tabs { justify-content: flex-end; overflow: visible; } .proposal-stats { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; } .proposal-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .proposal-editor-grid { grid-template-columns: minmax(280px, .9fr) minmax(0, 1.35fr); } .proposal-fields-panel, .proposal-advanced div { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .proposal-form-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .proposal-review-board { margin-top: 40px; } }

.proposal-center { display: grid; gap: 18px; }
.proposal-center .dashboard-header { min-width: 0; }
.proposal-center .dashboard-header h1 { overflow-wrap: anywhere; }
.proposal-center .dog-draft-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.proposal-center .admin-table-list { gap: 14px; }
.proposal-center .admin-record-card .ui-button { min-height: 44px; }
@media (min-width: 900px) {
  .ui-app-viewport[data-view-mode="desktop"] .proposal-center { width: min(100%, 1120px); }
}

/* Admin UX refresh */
.admin-console-header,
.proposal-hero {
  gap: clamp(20px, 4vw, 48px);
  border: 1px solid rgb(109 40 217 / 12%);
  border-radius: clamp(28px, 3vw, 40px);
  padding: clamp(22px, 4vw, 44px);
  background: radial-gradient(circle at 8% 6%, rgb(139 92 246 / 17%), transparent 30%), linear-gradient(135deg, rgb(255 255 255 / 98%) 0%, rgb(247 242 255 / 92%) 50%, rgb(239 246 255 / 92%) 100%);
  box-shadow: 0 24px 70px rgb(76 29 149 / 10%);
}
.proposal-hero-copy,
.admin-console-hero-copy { gap: 14px; }
.proposal-brand-pill {
  margin-bottom: 6px;
  background: rgb(255 255 255 / 92%);
  color: var(--brand-dark);
  box-shadow: 0 14px 32px rgb(76 29 149 / 12%);
}
.proposal-kicker,
.eyebrow { color: #5b21b6; font-weight: 850; letter-spacing: .13em; }
.proposal-hero h1,
.admin-console-hero-copy h1 { max-width: 11ch; line-height: 1.02; letter-spacing: -.06em; }
.proposal-hero p:not(.proposal-kicker),
.admin-console-hero-copy p:not(.eyebrow) { max-width: 680px; color: #566176; font-weight: 450; line-height: 1.62; }
.proposal-stats {
  align-self: stretch;
  gap: 10px;
  padding: 10px;
  background: rgb(255 255 255 / 64%);
}
.proposal-stats div { min-width: 112px; padding: 16px 12px; }
.proposal-import-card,
.proposal-review-board,
.proposal-progress,
.admin-push-form,
.admin-toolbar {
  border-color: rgb(109 40 217 / 12%) !important;
  border-radius: 30px !important;
  padding: clamp(20px, 3vw, 30px) !important;
  background: rgb(255 255 255 / 92%) !important;
  box-shadow: 0 18px 50px rgb(76 29 149 / 8%) !important;
}
.proposal-import-card { gap: 24px; }
.proposal-section-heading,
.proposal-review-header { gap: 18px; }
.proposal-section-heading h2,
.proposal-review-header h2,
.admin-push-heading h2,
.admin-section-heading h2 { color: #101828; font-size: clamp(1.4rem, 2vw, 1.9rem); line-height: 1.12; }
.proposal-section-heading p,
.proposal-review-header p,
.admin-push-heading p:not(.eyebrow) { color: #5f6b7e; font-weight: 450; }
.proposal-section-heading > .proposal-osm-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border: 1px solid rgb(109 40 217 / 14%);
  border-radius: 999px;
  padding: 0 16px;
  background: rgb(255 255 255 / 86%);
  box-shadow: 0 10px 24px rgb(76 29 149 / 8%);
}
.proposal-form-grid { gap: 16px; }
.proposal-form-grid label,
.proposal-fields-panel label,
.proposal-editor-grid > label,
.proposal-note,
.proposal-advanced label,
.admin-push-form label:not(.ui-field__label),
.admin-toolbar label:not(.ui-field__label) { gap: 8px; color: #4c1d95; font-size: .84rem; font-weight: 850; }
.proposal-form-grid small { min-height: 34px; color: #6b7280; font-size: .76rem; font-weight: 450; line-height: 1.45; }
.proposal-form-grid input,
.proposal-form-grid select,
.osm-workbench textarea,
.osm-workbench article input,
.osm-workbench article select,
.admin-push-form input:not(.ui-field-control--semantic),
.admin-push-form textarea:not(.ui-field-control--semantic),
.admin-toolbar input:not(.ui-field-control--semantic),
.admin-toolbar select:not(.ui-field-control--semantic) { min-height: 50px; border-color: rgb(109 40 217 / 16%); border-radius: 18px; }
.admin-console .ui-button,
.proposal-center .ui-button,
.proposal-page .ui-button { min-height: 44px; }
.admin-console .ui-button:focus-visible,
.proposal-center .ui-button:focus-visible,
.proposal-page .ui-button:focus-visible,
.admin-table-tab:focus-visible,
.proposal-filter-tabs .ui-button:focus-visible,
.admin-push-form input:not(.ui-field-control--semantic):focus-visible,
.admin-push-form select:not(.ui-field-control--semantic):focus-visible,
.admin-push-form textarea:not(.ui-field-control--semantic):focus-visible,
.admin-toolbar input:not(.ui-field-control--semantic):focus-visible,
.admin-toolbar select:not(.ui-field-control--semantic):focus-visible,
.admin-toolbar textarea:not(.ui-field-control--semantic):focus-visible,
.proposal-form-grid input:focus-visible,
.proposal-form-grid select:focus-visible,
.proposal-form-grid textarea:focus-visible,
.proposal-fields-panel input:focus-visible,
.proposal-fields-panel select:focus-visible,
.proposal-fields-panel textarea:focus-visible,
.proposal-editor-grid input:focus-visible,
.proposal-editor-grid select:focus-visible,
.proposal-editor-grid textarea:focus-visible,
.proposal-advanced input:focus-visible,
.proposal-advanced select:focus-visible,
.proposal-advanced textarea:focus-visible,
.osm-workbench article input:focus-visible,
.osm-workbench article select:focus-visible,
.osm-workbench textarea:focus-visible {
  outline: 3px solid rgb(139 92 246 / 28%);
  outline-offset: 3px;
  border-color: rgb(109 40 217 / 72%);
}
.proposal-import-submit { margin-top: 6px; min-height: 54px; border-radius: 20px; }
.proposal-review-board { margin-top: clamp(22px, 4vw, 48px); }
.proposal-filter-tabs { gap: 10px; padding: 2px 2px 8px; }
.proposal-filter-tabs .ui-button { min-height: 46px; min-width: 132px; }
.proposal-card-list { margin-top: 20px; }
.proposal-empty-state,
.admin-empty-state { margin-top: 16px; min-height: 96px; padding: 24px; }
.proposal-empty-state::before,
.admin-empty-state::before { content: ""; display: block; width: 12px; height: 12px; border-radius: 999px; background: var(--brand); }
.admin-console-header-actions { gap: 10px; align-content: start; }
.admin-kpi-grid { gap: 16px; }
.admin-table-tabs { gap: 14px; }
.admin-table-tab { min-height: 112px; border-radius: 26px; padding: 18px; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.admin-table-tab:hover { transform: translateY(-1px); box-shadow: 0 16px 36px rgb(17 24 39 / 10%); }
.admin-toolbar label:not(.ui-field__label) { display: grid; }
.admin-record-card { padding: clamp(16px, 2vw, 22px); border-radius: 28px; }
@media (max-width: 719px) {
  .proposal-stats { grid-auto-columns: minmax(108px, 1fr); }
  .proposal-section-heading > .proposal-osm-action { width: 100%; }
  .proposal-filter-tabs { margin-inline: -4px; overflow-x: auto; scroll-snap-type: x proximity; }
  .proposal-filter-tabs .ui-button { scroll-snap-align: start; }
  .admin-section-heading { display: grid; align-items: start; }
}
@media (min-width: 720px) {
  .proposal-hero { grid-template-columns: minmax(0, 1.1fr) minmax(300px, .55fr); }
  .proposal-stats { grid-auto-flow: row; grid-template-columns: 1fr; align-content: center; }
  .proposal-section-heading,
  .proposal-review-header { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
  .proposal-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .proposal-form-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .proposal-card-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Moderator panel refinements */
.moderator-kpi-grid article:nth-child(3) { border-color: rgb(245 158 11 / 24%); background: linear-gradient(135deg, rgb(255 251 235 / 98%), rgb(255 255 255 / 86%)); }
.moderator-kpi-grid article:nth-child(4) { border-color: rgb(34 197 94 / 22%); background: linear-gradient(135deg, rgb(240 253 244 / 98%), rgb(255 255 255 / 86%)); }
.moderator-queue-note { display: grid; gap: 6px; border: 1px solid rgb(109 40 217 / 12%); border-radius: 26px; padding: clamp(16px, 2.4vw, 22px); background: rgb(255 255 255 / 82%); box-shadow: 0 12px 32px rgb(76 29 149 / 7%); }
.moderator-queue-note strong { color: var(--brand-dark); font-size: 1rem; }
.moderator-queue-switch { align-self: end; }
.moderation-comment-field { flex: 1 1 100%; }
.moderator-context-row { display: flex; flex-wrap: wrap; gap: 7px; }
.moderator-context-row:empty { display: none; }
.moderator-context-row span { border-radius: 999px; padding: 6px 9px; background: #eff6ff; color: #1d4ed8; font-size: .75rem; font-weight: 800; }
@media (min-width: 760px) { .admin-toolbar--moderator { grid-template-columns: minmax(0, 1fr) 220px minmax(220px, .45fr); } }

.account-hero { position: relative; align-items: center; padding: 4px 0; }
.account-avatar { display: grid; place-items: center; width: 68px; height: 68px; border: 3px solid rgb(255 255 255 / 86%); border-radius: 24px; background: linear-gradient(135deg, var(--brand), #a78bfa); color: white; box-shadow: 0 16px 38px rgb(109 40 217 / 20%); overflow: hidden; }
.account-avatar > span { display: grid; place-items: center; width: 100%; height: 100%; font-size: 1.6rem; font-weight: 950; }
.account-progress { gap: 12px; }
.account-progress-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: start; }
.account-progress-heading strong { display: block; margin-bottom: 4px; color: var(--brand-dark); letter-spacing: -.02em; }
.account-progress-bar { height: 10px; overflow: hidden; border-radius: 999px; background: rgb(109 40 217 / 10%); }
.account-progress-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--brand), #16a34a); transition: width .2s ease; }
.account-checklist { display: grid; gap: 8px; }
.account-checklist p { margin: 0; color: var(--muted); font-size: .9rem; font-weight: 800; }
.account-checklist ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.account-checklist li { border-radius: 999px; padding: 7px 10px; background: #fef2f2; color: #b91c1c; font-size: .82rem; font-weight: 900; }
.account-form-polished { gap: 16px; }
.account-form-section { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 24px; background: rgb(255 255 255 / 70%); }
.account-form-section p { font-size: .9rem; }
.account-form-section input:focus { outline: 3px solid rgb(139 92 246 / 22%); border-color: var(--brand); }
@media (min-width: 480px) { .account-hero { grid-template-columns: auto minmax(0, 1fr) auto; } }

.place-hero-card { display: grid; gap: 14px; overflow: hidden; background: linear-gradient(135deg, rgb(255 255 255 / 94%), rgb(237 233 254 / 78%)); }
.place-hero-copy { display: grid; gap: 6px; }
.place-location-context { display: grid; gap: 8px; align-items: start; }
.place-location-pill { width: min(100%, 420px); border: 1px solid rgb(109 40 217 / 12%); background: rgb(255 255 255 / 84%); box-shadow: 0 8px 24px rgb(17 24 39 / 7%); }
.place-distance-chip { display: inline-flex; width: fit-content; align-items: center; gap: 6px; min-height: 30px; border-radius: 999px; padding: 6px 10px; background: rgb(109 40 217 / 10%); color: var(--brand-dark); font-size: .82rem; font-weight: 900; }
.place-hero-copy h2 { margin: 0; color: var(--brand-dark); font-size: clamp(1.15rem, 5.5vw, 1.55rem); letter-spacing: -.04em; line-height: 1.08; overflow-wrap: anywhere; }
.place-quick-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.place-quick-actions .ui-button--outline { border-color: rgb(109 40 217 / 18%); background: rgb(255 255 255 / 86%); box-shadow: 0 8px 24px rgb(17 24 39 / 7%); }
.place-detail-metrics .mini-card { min-height: 92px; align-content: space-between; background: rgb(255 255 255 / 92%); }
.place-detail-metrics .mini-card strong { color: var(--brand-dark); font-size: 1.02rem; line-height: 1.15; overflow-wrap: anywhere; }
.place-detail-metrics .mini-card span { font-size: .78rem; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.detailed-info-list { gap: 10px; }
.detailed-info-list span, .detailed-info-list a { display: flex; align-items: center; min-height: 40px; border-radius: 18px; padding: 9px 11px; background: rgb(255 255 255 / 76%); text-decoration: none; }
@media (min-width: 480px) {
  .place-quick-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Proposal Center details overlay */
.proposal-summary-card { padding: 0; overflow: hidden; }
.proposal-summary-button.ui-button { display: grid; justify-content: stretch; gap: 14px; width: 100%; padding: clamp(16px, 2vw, 22px); text-align: left; }
.proposal-summary-button:focus-visible { outline: 3px solid rgb(139 92 246 / 32%); outline-offset: -3px; }
.proposal-readonly-grid { display: grid; gap: 10px; margin: 0; }
.proposal-readonly-grid div { display: grid; gap: 3px; min-width: 0; border: 1px solid rgb(109 40 217 / 10%); border-radius: 16px; padding: 10px 12px; background: rgb(248 250 252 / 78%); }
.proposal-readonly-grid dt { color: var(--muted); font-size: .72rem; font-weight: 950; letter-spacing: .06em; text-transform: uppercase; }
.proposal-readonly-grid dd { margin: 0; color: var(--ink); font-size: .9rem; font-weight: 750; line-height: 1.4; overflow-wrap: anywhere; }
.proposal-detail-workbench { display: grid; min-width: 0; align-content: start; gap: 16px; }
.proposal-detail-section { display: grid; gap: 12px; border: 1px solid rgb(109 40 217 / 12%); border-radius: 26px; padding: 16px; background: rgb(255 255 255 / 88%); box-shadow: 0 12px 32px rgb(17 24 39 / 7%); }
.proposal-detail-section h3 { margin: 0; font-size: 1.15rem; letter-spacing: -.03em; }
.proposal-quality-section { background: linear-gradient(135deg, rgb(255 255 255 / 94%), rgb(236 253 245 / 78%)); }
.proposal-quality-summary { display: grid; gap: 12px; align-items: center; }
.proposal-quality-summary meter { width: 100%; height: 16px; }
.proposal-quality-list { display: grid; gap: 6px; margin: 0; padding-left: 18px; }
.proposal-quality-list li { margin: 0; }
.proposal-detail-actions { border: 1px solid rgb(109 40 217 / 12%); border-radius: 24px; padding: 12px; background: rgb(255 255 255 / 82%); }
.proposal-detail-actions .ui-button { min-height: 44px; line-height: 1.1; }
.proposal-created-place-link { display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 0 20px; line-height: 1.1; text-align: center; text-decoration: none; }
.proposal-location-map-card { display: grid; gap: 10px; }
.proposal-location-map-copy { display: grid; gap: 10px; align-items: start; }
.proposal-location-map-copy h4 { margin: 0; font-size: 1rem; letter-spacing: -.03em; }
.proposal-location-map-copy p { margin: 4px 0 0; color: var(--muted); font-size: .9rem; font-weight: 700; line-height: 1.45; }
.proposal-location-map-copy span { width: fit-content; border-radius: 999px; padding: 7px 10px; background: var(--brand-soft); color: var(--brand-dark); font-size: .78rem; font-weight: 950; }
.proposal-location-map-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-start; }
.proposal-location-map { position: relative; min-height: 260px; overflow: hidden; border: 1px solid rgb(109 40 217 / 14%); border-radius: 22px; background: linear-gradient(135deg, #d8f3dc 0 16%, #fef3c7 16% 28%, #ddd6fe 28% 52%, #dbeafe 52% 67%, #dcfce7 67%); }
.proposal-location-map::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgb(247 242 255 / 22%), transparent 32%, rgb(247 242 255 / 12%) 100%); }
.proposal-location-map .map-grid { position: absolute; inset: 0; pointer-events: none; opacity: .12; mix-blend-mode: soft-light; }
.proposal-location-crosshair { position: absolute; z-index: 2; left: 50%; top: 50%; width: 42px; height: 42px; display: grid; place-items: center; transform: translate(-50%, -50%); pointer-events: none; }
.proposal-location-crosshair::before, .proposal-location-crosshair::after { content: ""; position: absolute; border-radius: 999px; background: rgb(109 40 217 / 72%); box-shadow: 0 1px 3px rgb(17 24 39 / 16%); }
.proposal-location-crosshair::before { width: 34px; height: 2px; }
.proposal-location-crosshair::after { width: 2px; height: 34px; }
.proposal-location-crosshair span { width: 12px; height: 12px; z-index: 1; border: 2px solid rgb(109 40 217 / 78%); border-radius: 999px; background: rgb(255 255 255 / 72%); box-shadow: 0 1px 8px rgb(17 24 39 / 12%); }
.proposal-location-crosshair.is-missing::before, .proposal-location-crosshair.is-missing::after { background: rgb(245 158 11 / 82%); }
.proposal-location-crosshair.is-missing span { border-color: rgb(245 158 11 / 88%); }
.proposal-location-map-meta { margin: 0; color: var(--muted); font-size: .86rem; font-weight: 800; overflow-wrap: anywhere; }
@media (min-width: 720px) { .proposal-location-map-copy { grid-template-columns: minmax(0, 1fr) auto; align-items: center; } }
.proposal-place-preview { background: linear-gradient(180deg, rgb(255 255 255 / 94%), rgb(250 245 255 / 92%)); }
.proposal-preview-hero { box-shadow: none; }
.proposal-preview-hero .place-hero-copy strong { color: var(--brand-dark); font-size: .95rem; overflow-wrap: anywhere; }
.place-quick-actions .action-pill.is-disabled { color: var(--muted); background: rgb(248 250 252 / 82%); box-shadow: none; cursor: not-allowed; }
.proposal-preview-info { box-shadow: none; }
.proposal-preview-metrics .mini-card { box-shadow: none; }
.proposal-nearby-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.proposal-nearby-list li { display: grid; gap: 4px; border: 1px solid rgb(109 40 217 / 10%); border-radius: 18px; padding: 12px; background: #fff; }
.proposal-nearby-list strong, .proposal-nearby-list span { overflow-wrap: anywhere; }
.proposal-nearby-list span { color: var(--muted); font-size: .86rem; font-weight: 700; }
.proposal-nearby-list em { width: fit-content; border-radius: 999px; padding: 5px 8px; background: var(--brand-soft); color: var(--brand-dark); font-size: .76rem; font-style: normal; font-weight: 950; }
@media (min-width: 720px) { .proposal-readonly-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .proposal-readonly-grid .wide { grid-column: 1 / -1; } .proposal-quality-summary { grid-template-columns: minmax(0, 1fr) 220px; align-items: center; } }
.marketing-badges { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.marketing-badge { display: inline-flex; align-items: center; gap: 6px; width: fit-content; border-radius: 999px; padding: 7px 10px; border: 1px solid transparent; font-size: .76rem; font-weight: 900; line-height: 1; }
.marketing-badge small { border-radius: 999px; padding: 3px 6px; font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; }
.marketing-badge-editorial_pick { background: #fef3c7; color: #92400e; border-color: #fde68a; }
.marketing-badge-editorial_pick small { background: rgb(146 64 14 / 12%); }
.marketing-badge-popular { background: #dcfce7; color: #166534; border-color: #bbf7d0; }
.marketing-badge-popular small { background: rgb(22 101 52 / 12%); }
.marketing-badge-promoted { background: #111827; color: white; border-color: #111827; box-shadow: 0 10px 24px rgb(17 24 39 / 18%); }
.marketing-badge-promoted small { background: rgb(255 255 255 / 18%); color: white; }
.pro-next-steps li .marketing-badges { margin-top: 6px; }
.sheet-content > .marketing-badges, .bottom-sheet > .marketing-badges { margin: 8px 0; }
.dog-reminder-actions { display: grid; gap: 8px; margin-top: 10px; }
.dog-reminder-action { width: 100%; }
@media (min-width: 720px) { .dog-reminder-actions { grid-template-columns: 1fr; } }
.account-state-card { grid-template-columns: auto minmax(0, 1fr); align-items: center; }
.account-state-dot { width: 14px; height: 14px; border-radius: 999px; background: var(--brand); box-shadow: 0 0 0 8px rgb(109 40 217 / 12%); }
.account-workspace { display: grid; gap: 16px; }
.account-sidebar, .account-main-column, .account-related-card { display: grid; gap: 14px; }
.account-related-card { align-content: start; }
.account-badge-row { display: flex; flex-wrap: wrap; gap: 8px; }
.account-badge-row span { border-radius: 999px; padding: 7px 10px; background: var(--brand-soft); color: var(--brand-dark); font-size: .82rem; font-weight: 950; }
.account-details { display: grid; gap: 10px; margin: 0; }
.account-details div { display: grid; gap: 2px; padding-top: 10px; border-top: 1px solid rgb(109 40 217 / 12%); }
.account-details dt { color: var(--muted); font-size: .78rem; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.account-details dd { margin: 0; color: var(--ink); font-weight: 850; overflow-wrap: anywhere; }
.account-actions-stacked { align-items: stretch; }
.account-actions-stacked > .ui-button { width: 100%; justify-content: flex-start; }
@media (min-width: 900px) {
  .ui-app-viewport[data-view-mode="desktop"] .account-workspace { grid-template-columns: minmax(230px, .72fr) minmax(0, 1.55fr); align-items: start; }
  .ui-app-viewport[data-view-mode="desktop"] .account-sidebar { position: sticky; top: 28px; }
}
.proposal-location-map.is-editable { cursor: grab; touch-action: none; }
.proposal-location-map.is-dragging { cursor: grabbing; }
.proposal-location-editor { margin-top: 4px; }
.proposal-location-editor .primary { min-height: 44px; border-radius: 999px; border: 0; background: var(--brand); color: white; font-weight: 900; }
.proposal-location-editor input[aria-invalid="true"] { border-color: rgb(220 38 38 / 70%); box-shadow: 0 0 0 3px rgb(220 38 38 / 10%); }

.dog-dashboard { padding-bottom: calc(132px + env(safe-area-inset-bottom)); }
.dog-quick-form { padding-bottom: calc(28px + env(safe-area-inset-bottom)); }
.dog-prefill-banner { display: grid; gap: 6px; padding: 12px; border: 1px solid rgb(109 40 217 / 22%); border-radius: 18px; background: var(--brand-soft); color: var(--brand-dark); }
.dog-checkin-list { display: grid; gap: 10px; margin: 4px 0 12px; }
.dog-checkin-card { border: 1px solid rgb(109 40 217 / 14%); border-radius: 18px; background: rgb(255 255 255 / 88%); overflow: hidden; }
.dog-checkin-card.active { border-color: rgb(109 40 217 / 28%); box-shadow: 0 12px 28px rgb(76 29 149 / 8%); }
.dog-checkin-summary { width: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; text-align: left; }
.dog-checkin-summary > span { display: grid; gap: 2px; min-width: 0; }
.dog-checkin-summary small { min-width: 0; overflow-wrap: anywhere; }
.dog-checkin-details { display: grid; gap: 10px; padding: 0 12px 12px; }
.dog-checkin-details p { margin: 0; color: var(--muted); font-size: .86rem; font-weight: 750; }
.dog-checkin-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.dog-checkin-actions > .ui-button { flex: 1 1 170px; }

.dog-overview-grid { display: grid; gap: 8px; }
.dog-overview-grid p { display: grid; gap: 2px; margin: 0; padding: 10px; border-radius: 14px; background: rgb(248 250 252 / 86%); }
.dog-dialog-backdrop { position: fixed; inset: 0; z-index: 110; display: grid; align-items: end; padding: 16px; background: rgb(15 23 42 / 42%); }
.dog-dialog { width: min(100%, 460px); margin: 0 auto; display: grid; gap: 12px; border: 1px solid rgb(109 40 217 / 14%); border-radius: 26px 26px 20px 20px; padding: 18px; background: rgb(255 255 255 / 98%); box-shadow: 0 24px 80px rgb(15 23 42 / 24%); }
.dog-dialog h2, .dog-dialog p { margin: 0; }
.dog-dialog-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 4px; }
.dog-dialog-actions > .ui-button { width: 100%; }
@media (min-width: 400px) { .dog-dialog-actions { grid-template-columns: 1fr 1fr; } }
@media (min-width: 720px) { .dog-dialog-backdrop { align-items: center; } .dog-dialog { border-radius: 26px; } }

.dog-composer-actions, .dog-history-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.dog-composer-actions > *, .dog-history-filter { flex: 1 1 150px; text-align: center; }


/* Shared UI controls */
.ui-button { --ui-button-solid-bg: var(--color-primary-600); --ui-button-solid-fg: white; --ui-button-soft-bg: var(--color-primary-100); --ui-button-ink: var(--color-primary-800); --ui-button-border: var(--color-primary-500); display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: fit-content; border: 1px solid transparent; border-radius: 999px; text-decoration: none; font-weight: 900; line-height: 1; cursor: pointer; transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, opacity .18s ease; }
.ui-button:focus-visible { outline: 3px solid var(--button-focus-ring); outline-offset: 3px; }
.ui-button:disabled, .ui-button[aria-disabled="true"] { cursor: not-allowed; opacity: var(--button-disabled-opacity); pointer-events: none; }
.ui-button--sm { min-height: 38px; padding: 0 13px; font-size: .86rem; }
.ui-button--md { min-height: 44px; padding: 0 16px; font-size: .94rem; }
.ui-button--lg { min-height: 52px; padding: 0 20px; font-size: 1rem; }
.ui-button--icon { width: 44px; min-width: 44px; min-height: 44px; padding: 0; }
.ui-button--intent-primary-action, .ui-button--legacy-primary, .ui-button--primary { --ui-button-solid-bg: var(--color-primary-600); --ui-button-solid-fg: white; --ui-button-soft-bg: var(--color-primary-100); --ui-button-ink: var(--color-primary-800); --ui-button-border: var(--color-primary-500); }
.ui-button--intent-secondary-action { --ui-button-solid-bg: var(--color-neutral-600); --ui-button-solid-fg: white; --ui-button-soft-bg: var(--color-neutral-100); --ui-button-ink: var(--color-neutral-900); --ui-button-border: var(--color-neutral-600); }
.ui-button--legacy-secondary, .ui-button--legacy-outline, .ui-button--secondary, .ui-button--outline { --ui-button-solid-bg: var(--color-primary-100); --ui-button-solid-fg: var(--color-primary-800); --ui-button-soft-bg: var(--color-primary-50); --ui-button-ink: var(--color-primary-800); --ui-button-border: var(--color-primary-500); }
.ui-button--intent-navigation { --ui-button-solid-bg: var(--color-neutral-600); --ui-button-solid-fg: white; --ui-button-soft-bg: var(--color-neutral-100); --ui-button-ink: var(--color-neutral-900); --ui-button-border: var(--color-neutral-600); }
.ui-button--intent-positive-decision, .ui-button--legacy-success, .ui-button--success { --ui-button-solid-bg: var(--color-success-800); --ui-button-solid-fg: white; --ui-button-soft-bg: var(--color-success-50); --ui-button-ink: var(--color-success-800); --ui-button-border: var(--color-success-600); }
.ui-button--intent-caution { --ui-button-solid-bg: var(--color-warning-800); --ui-button-solid-fg: white; --ui-button-soft-bg: var(--color-warning-50); --ui-button-ink: var(--color-warning-800); --ui-button-border: var(--color-warning-600); }
.ui-button--intent-destructive, .ui-button--legacy-danger, .ui-button--danger { --ui-button-solid-bg: var(--color-danger-700); --ui-button-solid-fg: white; --ui-button-soft-bg: var(--color-danger-50); --ui-button-ink: var(--color-danger-700); --ui-button-border: var(--color-danger-600); }
.ui-button--intent-retry { --ui-button-solid-bg: var(--color-info-700); --ui-button-solid-fg: white; --ui-button-soft-bg: var(--color-info-50); --ui-button-ink: var(--color-info-700); --ui-button-border: var(--color-info-600); }
.ui-button--intent-quiet, .ui-button--legacy-ghost, .ui-button--ghost { --ui-button-solid-bg: var(--color-neutral-600); --ui-button-solid-fg: white; --ui-button-soft-bg: var(--color-neutral-100); --ui-button-ink: var(--color-neutral-900); --ui-button-border: var(--color-neutral-600); }
.ui-button--intent-link, .ui-button--legacy-link, .ui-button--link { --ui-button-solid-bg: var(--color-primary-600); --ui-button-solid-fg: white; --ui-button-soft-bg: var(--color-primary-50); --ui-button-ink: var(--color-primary-600); --ui-button-border: var(--color-primary-500); }
.ui-button--emphasis-solid, .ui-button--primary, .ui-button--success { border-color: var(--ui-button-solid-bg); background: var(--ui-button-solid-bg); color: var(--ui-button-solid-fg); box-shadow: 0 14px 32px color-mix(in srgb, var(--ui-button-solid-bg) 18%, transparent); }
.ui-button--emphasis-outline, .ui-button--outline, .ui-button--secondary, .ui-button--danger { border-color: color-mix(in srgb, var(--ui-button-border) 38%, transparent); background: color-mix(in srgb, var(--button-surface) 92%, transparent); color: var(--ui-button-ink); }
.ui-button--emphasis-ghost, .ui-button--ghost { border-color: transparent; background: transparent; color: var(--ui-button-ink); box-shadow: none; }
.ui-button--emphasis-text, .ui-button--link { min-height: 44px; border-color: transparent; border-radius: 8px; padding-inline: 4px; background: transparent; color: var(--ui-button-ink); text-decoration: underline; text-underline-offset: 3px; box-shadow: none; }
.ui-button--emphasis-outline:hover:not(:disabled):not([aria-disabled="true"]), .ui-button--emphasis-ghost:hover:not(:disabled):not([aria-disabled="true"]), .ui-button--emphasis-text:hover:not(:disabled):not([aria-disabled="true"]) { background: var(--ui-button-soft-bg); }
.ui-button--selected-control { box-shadow: none; }
.ui-button--selected-control[data-selected="true"] { border-color: var(--color-primary-500); background: var(--color-primary-100); color: var(--color-primary-800); }
.ui-button[data-interaction-state="disabled"] { border-color: var(--ds-color-border-strong); background: var(--ds-color-surface-soft); color: var(--ds-color-muted); box-shadow: none; opacity: 1; }
.ui-button[data-interaction-state="loading"] { cursor: wait; box-shadow: none; opacity: var(--ds-opacity-loading); }
.form-submit-control { width: 100%; }
.form-choice-control { display: grid; grid-template-columns: auto minmax(0, 1fr); justify-content: start; width: 100%; border-radius: var(--radius-lg); text-align: left; }
.form-choice-control > span { display: grid; gap: var(--space-1); }
.form-choice-control small { color: var(--muted); font-weight: 700; }
.action-card-control { display: grid; grid-template-columns: auto minmax(0, 1fr); justify-content: start; width: 100%; min-height: 64px; border-radius: var(--radius-lg); padding: var(--space-4); text-align: left; white-space: normal; }
.action-card-control__copy { display: grid; gap: var(--space-1); }
.action-card-control__copy > span { color: currentColor; opacity: .78; }
.follow-up-disclosure-card { display: grid; gap: var(--space-3); }
.ui-button__spinner { width: 14px; height: 14px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 999px; animation: ui-spin .8s linear infinite; }
@keyframes ui-spin { to { transform: rotate(360deg); } }
@media (forced-colors: active) { .ui-button { border-color: ButtonText; } .ui-button:focus-visible { outline-color: Highlight; } .ui-button--selected-control[data-selected="true"] { outline: 2px solid Highlight; outline-offset: -2px; } }
@media (prefers-reduced-motion: reduce) { .ui-button { transition: none; } .ui-button__spinner { animation: none; } }

@media (forced-colors: active) {
  .place-map-pin__surface {
    border-color: CanvasText;
    background: Canvas;
    color: CanvasText;
    forced-color-adjust: auto;
  }
  .place-map-pin-anchor:focus-visible .place-map-pin__surface {
    outline-color: Highlight;
  }
  .place-map-pin-anchor[data-selected="true"] .place-map-pin__surface {
    outline: 2px solid Highlight;
  }
  .place-map-pin-anchor[data-supporter="true"] .place-map-pin__surface::after {
    border-color: CanvasText;
  }
  .place-map-pin-anchor[data-selected="true"][data-supporter="true"] .place-map-pin__surface::after,
  .place-map-pin-anchor:focus-visible[data-supporter="true"] .place-map-pin__surface::after {
    border-color: Highlight;
  }
}

@media (prefers-reduced-motion: reduce) {
  .place-map-pin {
    --place-map-pin-scale: 1 !important;
    transition: none;
  }
}

.help-icon-link.ui-button { width: 48px; min-width: 48px; height: 48px; min-height: 48px; }
.system-banner-heading, .system-state-heading { display: inline-flex; align-items: center; gap: var(--space-2); }
.page-heading-with-actions { display: flex; gap: 1rem; justify-content: space-between; align-items: flex-start; }
.page-heading-with-actions > :first-child { min-width: 0; overflow-wrap: anywhere; }
.page-heading-actions { display: flex; flex: 0 0 auto; min-width: 0; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: flex-end; }
.page-close-button { display: inline-flex; flex: 0 0 44px; width: 44px; min-width: 44px; height: 44px; min-height: 44px; align-items: center; justify-content: center; border-radius: 999px; background: #fff; color: #3b2463; box-shadow: 0 10px 30px rgba(54, 34, 92, .14); font-size: clamp(24px, 1.6rem, 32px); line-height: 1; text-decoration: none; }
.page-back-link { display: inline-flex; margin-bottom: .35rem; color: #6e44ff; font-weight: 800; text-decoration: none; }
.content-list { padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
.action-form { display: grid; gap: 1rem; padding-bottom: calc(5rem + env(safe-area-inset-bottom)); }
.action-form-grid { display: grid; gap: .85rem; }
.action-field { display: grid; gap: .4rem; font-weight: 800; color: #38245e; }
.action-input, .action-select { width: 100%; min-height: 52px; border: 1px solid rgba(92, 64, 142, .2); border-radius: 20px; background: #fff; padding: .85rem 1rem; color: #24163d; font: inherit; box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
.action-input:focus, .action-select:focus { outline: 3px solid rgba(112, 72, 255, .22); border-color: #7048ff; }
.action-submit { width: 100%; min-height: 54px; border-radius: 999px; background: linear-gradient(135deg, #6e44ff, #9b5cff); color: #fff; border: 0; font-weight: 900; }
.active-walk-card { display: grid; gap: .65rem; }
.map-action-toast { position: fixed; left: 50%; bottom: calc(8.5rem + env(safe-area-inset-bottom)); transform: translateX(-50%); z-index: 60; background: #2f1956; color: #fff; border-radius: 999px; padding: .75rem 1.1rem; box-shadow: 0 18px 45px rgba(34, 18, 68, .25); font-weight: 900; }
.admin-confirmation-backdrop { position: fixed; inset: 0; z-index: 80; display: grid; align-items: end; overflow-y: auto; padding: 16px; background: rgb(15 23 42 / 46%); }
.admin-confirmation-modal { width: min(100%, 520px); max-height: calc(100dvh - 32px); margin: 0 auto; display: grid; gap: 12px; overflow-x: hidden; overflow-y: auto; border: 1px solid rgb(109 40 217 / 14%); background: rgb(255 255 255 / 98%); box-shadow: 0 28px 88px rgb(15 23 42 / 26%); }
.admin-confirmation-modal h2, .admin-confirmation-modal p { margin: 0; }
.admin-confirmation-actions { margin-top: 4px; }
.admin-confirmation-actions .ui-button { justify-content: center; min-height: 44px; }
@media (min-width: 720px) { .admin-confirmation-backdrop { align-items: center; } }

/* 2026 panel visual refresh: compact, bright cards matching the target dog panel style. */
.panel-page-shell { --panel-shell-gap: 14px; }
.panel-card, .surface-card, .panel-hero { border-color: var(--line-primary-subtle); box-shadow: var(--shadow-md); }
.panel-hero { border-radius: 24px; padding: clamp(16px, 2.4vw, 24px); background: rgb(255 255 255 / 82%); }
.panel-hero-copy h1 { font-size: clamp(1.65rem, 2.8vw, 2.3rem); letter-spacing: -.045em; }
.panel-hero-copy p:not(.eyebrow) { font-size: .95rem; line-height: 1.5; }
.auth-state-card { grid-template-columns: minmax(0, 1fr); align-items: center; gap: 12px; border-radius: 22px; padding: 12px 14px; background: linear-gradient(135deg, rgb(240 253 244 / 86%), rgb(255 255 255 / 86%)); box-shadow: 0 14px 34px rgb(76 29 149 / 7%); }
.auth-state-card.signed-in { background: linear-gradient(135deg, rgb(236 253 245 / 88%), rgb(255 255 255 / 88%)); }
.auth-state-card .eyebrow { font-size: .66rem; letter-spacing: .1em; }
.auth-state-card strong { color: var(--ink); }
.auth-state-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-start; }
.dog-modules { gap: 12px; border: 1px solid rgb(109 40 217 / 10%); border-radius: 24px; padding: 14px; background: rgb(255 255 255 / 72%); box-shadow: 0 16px 46px rgb(76 29 149 / 7%); }
.dog-family-header span, .dog-dashboard-status { border: 1px solid rgb(109 40 217 / 10%); background: white; }
.dog-family-list { grid-template-columns: minmax(0, 1fr); }
.dog-profile-card { grid-template-columns: minmax(0, 1fr); align-items: center; min-height: 112px; border-radius: 22px; padding: 12px; background: rgb(255 255 255 / 90%); box-shadow: 0 10px 28px rgb(17 24 39 / 5%); }
.dog-avatar { width: 72px; height: 72px; overflow: hidden; border-radius: 999px; background: linear-gradient(135deg, #f5f3ff, #dcfce7); box-shadow: inset 0 0 0 4px rgb(255 255 255 / 72%), 0 10px 24px rgb(76 29 149 / 12%); }
.dog-compact-actions { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr); gap: 7px; }
.dog-compact-actions > .ui-button { width: 100%; min-width: 0; }
.dog-module-tabs { gap: 10px; padding: 6px; scroll-padding-inline: 6px; }
.dog-module-tab { flex-basis: 142px; min-height: 58px; }
.dog-module-card { border-radius: 22px; background: rgb(255 255 255 / 90%); box-shadow: 0 12px 32px rgb(17 24 39 / 5%); }
@media (min-width: 400px) and (max-width: 759px) {
  .dog-compact-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dog-compact-actions > .ui-button:last-child { grid-column: 1 / -1; }
}
@media (min-width: 760px) {
  .auth-state-card { grid-template-columns: minmax(0, 1fr) auto; }
  .auth-state-actions { justify-content: flex-end; }
  .dog-family-list { grid-template-columns: minmax(180px, .7fr) repeat(2, minmax(0, 1fr)); align-items: stretch; }
  .dog-add-control { height: 100%; }
  .dog-profile-card { grid-template-columns: minmax(0, 1fr); }
  .dog-compact-actions { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr); justify-content: stretch; }
  .dog-module-tabs { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); overflow: visible; }
  .dog-module-tab { width: 100%; min-width: 0; }
}
@media (min-width: 1100px) {
  .dog-compact-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dog-compact-actions > .ui-button:last-child { grid-column: 1 / -1; }
}
.dog-avatar-photo { display: block; width: 100%; height: 100%; background-position: center; background-size: cover; }
.sheet-signals.compact-signals span { align-items: center; gap: 5px; }
.sheet-signals.compact-signals i { display: inline-grid; place-items: center; min-width: 16px; height: 16px; border-radius: 999px; background: rgb(109 40 217 / 9%); color: var(--brand-dark); font-style: normal; font-size: .68rem; line-height: 1; }
.category-signal { color: var(--category-fg, inherit); }
.category-signal i,
.sheet-signals.compact-signals .category-signal i {
  border: 1px solid var(--category-border, transparent);
  background: var(--category-bg, transparent);
  color: var(--category-fg, currentColor);
}

/* Cross-screen UX polish: align app screens with the mature Dogs/Filters visual language. */
.panel-soft-badge {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  width: fit-content;
  border: 1px solid rgb(109 40 217 / 14%);
  border-radius: 999px;
  padding: 0 13px;
  background: rgb(255 255 255 / 72%);
  color: var(--brand-dark);
  font-size: .82rem;
  font-weight: 950;
  box-shadow: 0 10px 26px rgb(76 29 149 / 8%);
}
.nearby-page-hero { margin-bottom: 2px; }
.nearby-page-hero + .content-list .nearby-command,
.pro-dashboard,
.account-related-card,
.account-progress,
.account-form-section {
  border-color: rgb(109 40 217 / 12%);
  background: rgb(255 255 255 / 88%);
}
.professional-layout { gap: 16px; }
.profession-picker {
  border: 1px solid rgb(109 40 217 / 10%);
  border-radius: 24px;
  padding: 10px;
  background: rgb(255 255 255 / 72%);
  box-shadow: 0 12px 30px rgb(76 29 149 / 7%);
}
.pro-dashboard { border-radius: 28px; box-shadow: 0 14px 38px rgb(76 29 149 / 9%); }
.pro-dashboard-header { align-items: center; padding-bottom: 4px; }
.pro-columns article,
.pro-next-steps { border-color: rgb(109 40 217 / 10%); border-radius: 22px; background: rgb(255 255 255 / 78%); }
.account-card.dashboard-card { border-color: rgb(109 40 217 / 12%); background: rgb(255 255 255 / 88%); box-shadow: 0 14px 38px rgb(76 29 149 / 9%); }
.account-hero { padding: clamp(18px, 3vw, 30px); border: 1px solid rgb(109 40 217 / 12%); border-radius: 30px; background: linear-gradient(135deg, rgb(255 255 255 / 96%), rgb(245 243 255 / 86%)); }
.account-summary-strip { border-color: rgb(109 40 217 / 10%); background: rgb(255 255 255 / 72%); }
.place-quick-actions .ui-button--outline { border-color: rgb(109 40 217 / 14%); }
.action-card { border-color: rgb(109 40 217 / 10%); background: rgb(255 255 255 / 86%); }
.tag-category-list { display: grid; gap: 12px; }
.tag-category-fieldset { border: 1px solid var(--line); border-radius: 18px; padding: 12px; background: rgb(255 255 255 / 58%); }
.tag-category-fieldset legend { padding: 0 6px; color: var(--ink); font-weight: 900; }
.tag-category-fieldset small { display: block; margin: 0 0 10px; color: var(--muted); font-weight: 700; }
.admin-tag-editor { max-height: 340px; overflow: auto; padding-right: 4px; }
.admin-custom-tag-field { margin-top: 12px; }
.tag-row span { display: inline-flex; align-items: center; gap: 4px; }

/* Unified compact place result cards for start picker and Blisko. */
.refined-place-card {
  border-color: var(--category-border, rgb(109 40 217 / 12%));
  background: linear-gradient(135deg, var(--category-bg, rgb(255 255 255 / 92%)), rgb(255 255 255 / 94%));
}
.refined-place-card .place-card-head { align-items: flex-start; }
.refined-place-card .eyebrow {
  color: var(--category-fg, var(--brand));
  font-size: .72rem;
  font-weight: 950;
}
.place-card-actions .place-card-link {
  min-height: 34px;
  padding: 0 12px;
  font-size: .82rem;
  box-shadow: 0 8px 20px rgb(76 29 149 / 12%);
}
.place-card-actions .place-card-link.secondary {
  border: 1px solid rgb(109 40 217 / 14%);
}
.nearby-result-count {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--brand-dark);
  font-size: .82rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.nearby-result-count span {
  color: var(--muted);
  font-size: .76rem;
  text-transform: none;
  letter-spacing: 0;
}
.nearby-result-count + .place-card-actions .place-card-link {
  min-height: 44px;
  padding: 0 14px;
  font-size: .9rem;
}
.refined-place-card h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.refined-place-card h3 span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  border-radius: 12px;
  background: rgb(255 255 255 / 72%);
  color: var(--category-fg, var(--brand-dark));
  font-size: 1rem;
}
.nearby-location-pill {
  width: 100%;
  min-height: 50px;
  text-decoration: none;
}

.place-card-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.place-card-tags span { display: inline-flex; align-items: center; min-height: 24px; border: 1px solid rgb(109 40 217 / 12%); border-radius: 999px; padding: 0 8px; background: rgb(255 255 255 / 72%); color: var(--brand-dark); font-size: .72rem; font-weight: 850; }
.place-card-tags .tag-overflow-count { color: var(--muted); font-size: .68rem; }

.app-context-topbar { pointer-events: none; }
.app-context-topbar .topbar-brand-row { pointer-events: none; }
.app-context-topbar .ui-brand-menu,
.app-context-topbar .ui-brand-link,
.app-context-topbar .help-icon-link { pointer-events: auto; }
.app-context-pill { cursor: default; pointer-events: none; text-align: center; }
.app-context-pill small { color: var(--brand); }
.app-page-shell--with-context-topbar { padding-top: 106px; }

@media (max-width: 899px) {
  .topbar { padding: 16px; }
  .topbar-brand-row {
    grid-template-columns: minmax(0, auto) minmax(108px, 1fr) 48px;
    gap: 8px;
  }
  .topbar-brand-row .ui-brand-link,
  .topbar-brand-row .help-icon-link {
    justify-self: start;
  }
  .topbar-brand-row .help-icon-link {
    justify-self: end;
  }
  .topbar-map-actions,
  .app-context-actions {
    justify-self: stretch;
    min-width: 0;
  }
  .location-search,
  .app-context-pill {
    justify-content: center;
    min-width: 0;
    padding-inline: 10px;
    text-align: center;
  }
  .location-search span,
  .location-search small,
  .app-context-pill span,
  .app-context-pill small {
    overflow: hidden;
    max-width: 100%;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .app-context-topbar {
    left: 0;
    right: 0;
    top: 0;
  }
  .nearby-chip-group {
    flex-wrap: nowrap;
    gap: 8px;
    margin-inline: -4px;
    overflow-x: auto;
    padding: 2px 4px 6px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .nearby-chip-group::-webkit-scrollbar { display: none; }
  .nearby-chip-group button {
    flex: 0 0 auto;
    min-height: 42px;
    padding-inline: 12px;
    white-space: nowrap;
  }
  .nearby-clear-button {
    justify-self: auto;
  }
}

.place-comments-empty { text-align: center; }
.place-tag-vote-panel { display: grid; gap: 12px; }
.place-tag-suggestions { border-top: 1px solid rgb(109 40 217 / 12%); padding-top: 10px; }
.place-tag-suggestions summary { cursor: pointer; width: fit-content; color: var(--muted); font-size: .78rem; font-weight: 850; }
.place-tag-suggestions .label-vote-row { margin-top: 6px; }
.label-vote-muted { opacity: .72; border-style: dashed; background: rgb(248 250 252 / 78%); }
.label-vote strong { display: inline-flex; align-items: center; gap: 4px; color: var(--brand-dark); font-size: inherit; font-weight: inherit; }
.label-vote strong small { color: #15803d; font-size: .95em; margin-left: 0; }
.label-vote button:disabled { cursor: not-allowed; opacity: .46; }
.label-vote-button-up { background: #dcfce7; color: #166534; }
.label-vote-button-down { background: #fff1f2; color: #9f1239; }
.label-vote-button-up.is-user-vote, .label-vote-button-up[aria-pressed="true"] { background: #bbf7d0; color: #14532d; box-shadow: 0 0 0 2px rgb(22 163 74 / 13%); }
.label-vote-button-down.is-user-vote, .label-vote-button-down[aria-pressed="true"] { background: #ffe4e6; color: #9f1239; box-shadow: 0 0 0 2px rgb(244 63 94 / 12%); }
/* Compact map-context top bars on mobile: keep brand, location and help aligned without cramped pills. */
@media (max-width: 899px) {
  .topbar-brand-row {
    grid-template-columns: minmax(118px, auto) minmax(92px, 1fr) 48px;
    align-items: start;
  }
  .topbar-brand-row .ui-brand-link {
    max-width: 162px;
    gap: 5px;
    padding: 7px 9px;
  }
  .topbar-brand-row .ui-brand-mark {
    width: 34px;
    height: 34px;
  }
  .topbar-brand-row .ui-brand-name {
    overflow: hidden;
    max-width: 96px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .topbar-map-actions {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
  }
  .top-action-link.location-search,
  .app-context-pill {
    min-height: 48px;
    border: 1px solid rgb(109 40 217 / 10%);
    background: rgb(255 255 255 / 88%);
    box-shadow: 0 12px 30px rgb(76 29 149 / 12%);
  }
  .app-context-actions {
    justify-self: stretch;
  }
}

/* Mobile app screens: align context chrome with the map and keep content below it. */
@media (max-width: 899px) {
  .app-page-shell--with-context-topbar { padding-top: calc(118px + env(safe-area-inset-top)); }
  .app-page-shell--with-context-topbar > .page-heading { margin-top: 0; }
  .app-page-shell--with-context-topbar > .page-heading h1 { max-width: 10ch; font-size: var(--ds-type-heading-lg-size); line-height: var(--ds-type-heading-lg-line); }
  .nearby-command { gap: 12px; margin-top: 0; padding: 14px; border-radius: 26px; }
  .nearby-command-heading { display: grid; gap: 2px; }
  .nearby-command-heading h2 { font-size: 1.35rem; }
  .nearby-command-heading p:not(.eyebrow) { font-size: .86rem; }
  .nearby-filter-strip { display: flex; gap: 8px; margin-inline: -4px; overflow-x: auto; padding: 2px 4px 8px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .nearby-filter-strip::-webkit-scrollbar { display: none; }
  .nearby-filter-strip label { flex: 0 0 min(164px, 44vw); }
  .nearby-filter-strip select, .nearby-search input { min-height: 46px; border-radius: 999px; }
  .nearby-search { gap: 6px; }
  .nearby-result-count { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-inline: 2px; color: var(--brand-dark); text-transform: uppercase; letter-spacing: .08em; }
  .nearby-result-count span { color: var(--muted); text-transform: none; letter-spacing: 0; }
}

/* Place comments */
.place-comments-card { gap: 14px; border-color: rgb(109 40 217 / 12%); background: linear-gradient(135deg, rgb(255 255 255 / 94%), rgb(245 243 255 / 72%)); }
.place-comments-heading { align-items: flex-start; }
.place-comments-heading h2 { margin: 2px 0 0; letter-spacing: -.035em; }
.place-comments-count { display: inline-flex; align-items: center; justify-content: center; min-width: 58px; min-height: 44px; border: 1px solid rgb(109 40 217 / 14%); border-radius: 999px; background: rgb(255 255 255 / 86%); color: var(--brand-dark); font-weight: 900; box-shadow: 0 10px 26px rgb(76 29 149 / 8%); }
.place-comment-form { display: grid; gap: 10px; padding: 14px; border: 1px solid rgb(109 40 217 / 10%); border-radius: 24px; background: rgb(255 255 255 / 78%); }
.place-comment-label { display: grid; gap: 8px; color: var(--ink); font-weight: 900; }
.place-comment-input-wrap { position: relative; display: block; }
.place-comment-textarea { min-height: 92px; padding-right: 58px; }
.place-comment-submit { position: absolute; right: 10px; top: 10px; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 0; border-radius: 999px; background: var(--brand); color: #fff; font-size: 1.05rem; font-weight: 950; box-shadow: 0 10px 22px rgb(109 40 217 / 18%); }
.place-comment-submit:disabled { cursor: not-allowed; opacity: .42; }
.place-comment-form-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; align-items: center; }
.place-comment-counter { color: var(--muted); font-size: .8rem; font-weight: 850; }
.place-comment-counter.is-low { color: #b45309; }
.place-comments-list-title { color: #4c1d95; font-size: .84rem; font-weight: 850; line-height: 1.45; }
.place-comments-list { gap: 8px; }
.place-comment-item { gap: 8px; border-color: rgb(109 40 217 / 10%); background: rgb(255 255 255 / 90%); box-shadow: 0 10px 24px rgb(76 29 149 / 7%); }
.place-comment-item p { margin: 0; color: var(--ink); font-weight: 750; line-height: 1.45; }
.place-comment-item span { font-size: .78rem; font-weight: 800; }
.place-card-actions .place-card-link { min-height: 44px; padding: 0 14px; }

/* App context topbars reuse the map topbar geometry so /blisko chrome lands in the same places as the map. */
.app-context-topbar {
  position: absolute;
}

.app-context-topbar .topbar-brand-row {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.app-context-topbar .ui-brand-link {
  width: max-content;
  max-width: none;
  min-width: 0;
  height: auto;
  gap: 7px;
  padding: 5px 10px;
  justify-self: start;
  justify-content: flex-start;
  overflow: visible;
}

.app-context-topbar .ui-brand-mark {
  width: 38px;
  height: 38px;
}

.app-context-topbar .ui-brand-name {
  overflow: visible;
  max-width: none;
  text-overflow: clip;
  white-space: normal;
}

.app-context-topbar .app-context-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.app-context-topbar .app-context-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding-inline: 10px;
}

.app-context-topbar .help-icon-link {
  justify-self: end;
  width: auto;
  min-width: 0;
  height: auto;
  min-height: 48px;
}

@media (min-width: 900px) {
  .ui-app-viewport[data-view-mode="desktop"] .app-context-topbar {
    left: 0;
    right: 0;
    top: 0;
  }

  .ui-app-viewport[data-view-mode="desktop"] .app-context-topbar .topbar-brand-row {
    grid-template-columns: auto 1fr auto;
  }

  .ui-app-viewport[data-view-mode="desktop"] .app-context-topbar .ui-brand-link {
    width: max-content;
    max-width: none;
    padding: 10px 14px;
  }

  .ui-app-viewport[data-view-mode="desktop"] .app-context-actions {
    justify-self: center;
    width: min(650px, 56vw);
    max-width: none;
    grid-template-columns: minmax(320px, 1fr) auto;
    margin: 0;
  }
}

@media (max-width: 899px) {
  .app-context-topbar,
  .ui-app-viewport[data-view-mode="mobile"] .app-context-topbar {
    left: 0;
    right: 0;
    top: 0;
    width: auto;
    padding: 16px;
    transform: none;
  }

  .app-context-topbar .topbar-brand-row,
  .ui-app-viewport[data-view-mode="mobile"] .app-context-topbar .topbar-brand-row {
    grid-template-columns: minmax(118px, auto) minmax(92px, 1fr) 48px;
    align-items: start;
    gap: 8px;
  }

  .app-context-topbar .ui-brand-link,
  .ui-app-viewport[data-view-mode="mobile"] .app-context-topbar .ui-brand-link {
    width: max-content;
    max-width: 162px;
    height: auto;
    gap: 5px;
    padding: 7px 9px;
  }

  .app-context-topbar .ui-brand-mark {
    width: 34px;
    height: 34px;
  }

  .app-context-topbar .ui-brand-name {
    overflow: hidden;
    max-width: 96px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .app-context-topbar .app-context-actions {
    justify-self: stretch;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
  }

  .app-context-topbar .help-icon-link,
  .ui-app-viewport[data-view-mode="mobile"] .app-context-topbar .help-icon-link {
    width: auto;
    min-width: 48px;
    height: auto;
    min-height: 48px;
    border-radius: 999px;
  }
}

.proposal-coordinate-card,
.proposal-location-map-footer,
.proposal-osm-suggestions {
  display: grid;
  gap: 10px;
  border: 1px solid rgb(109 40 217 / 14%);
  border-radius: 20px;
  padding: 12px;
  background: rgb(255 255 255 / 88%);
}
.proposal-coordinate-card {
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
}
.proposal-coordinate-card span,
.proposal-osm-chip-grid span { color: var(--brand-dark); font-size: .75rem; font-weight: 950; text-transform: uppercase; letter-spacing: .08em; }
.proposal-coordinate-card strong { color: #111827; font-size: .98rem; overflow-wrap: anywhere; }
.proposal-coordinate-card .ui-button,
.proposal-location-map-actions .ui-button { justify-self: start; font-size: .8rem; }
.proposal-coordinate-card.is-edited { background: #f8fafc; }
.proposal-address-label { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.5; }
.proposal-location-map-footer { margin-top: 10px; }
.proposal-osm-search { display: grid; gap: 10px; align-items: end; }
.proposal-osm-chip-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px; }
.proposal-osm-chip-grid .ui-button { display: grid; justify-content: stretch; gap: 5px; min-height: 96px; border-radius: 16px; padding: 10px; text-align: left; }
.proposal-osm-chip-grid strong { font-size: .92rem; line-height: 1.25; }
.proposal-osm-chip-grid small { color: var(--muted); font-size: .76rem; line-height: 1.35; }
@media (min-width: 720px) {
  .proposal-coordinate-card { grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto; }
  .proposal-osm-search { grid-template-columns: minmax(0, 1fr) auto; }
}

.topbar-panel-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; min-width: 48px; }
.topbar-panel-actions .help-icon-link { flex: 0 0 auto; }

.moderator-dashboard-group { display: grid; gap: 10px; align-content: start; text-align: left; }
.moderator-dashboard-group small { color: var(--brand-dark); font-size: .78rem; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.moderator-dashboard-group .ui-button { justify-self: start; margin-top: 4px; }
.dog-form-intro { display: grid; gap: 4px; padding: 10px; border-radius: 16px; background: rgb(109 40 217 / 6%); }
.dog-form-intro strong, .dog-list-heading strong { color: var(--brand-dark); font-weight: 950; }
.dog-form-intro p, .dog-list-heading small { margin: 0; color: var(--muted); font-size: .8rem; }
.dog-preset-row { display: flex; flex-wrap: wrap; gap: 8px; }
.dog-preset-control { flex: 1 1 132px; }
.dog-followup-section { display: grid; gap: 8px; }
.dog-list-heading { display: flex; align-items: end; justify-content: space-between; gap: 10px; padding-top: 4px; }
.dog-followup-item { grid-template-columns: minmax(82px, .38fr) minmax(0, 1fr); align-items: start; gap: 8px 10px; }
.dog-followup-item .dog-reminder-actions { grid-column: 1 / -1; margin-top: 4px; }
.dog-followup-date { display: grid; gap: 2px; border-radius: 12px; padding: 8px; background: var(--brand-soft); color: var(--brand-dark); }
.dog-followup-date strong { font-size: .78rem; }
.dog-followup-date small { color: inherit; font-size: .68rem; opacity: .78; }
@media (min-width: 720px) { .dog-followup-item { grid-template-columns: 132px minmax(0, 1fr); } }

.reminder-center { position: relative; display: inline-flex; }
.reminder-bell { position: relative; min-width: 48px; justify-content: center; padding: 0 12px; border: 0; cursor: pointer; }
.reminder-bell strong { position: absolute; top: -4px; right: -4px; display: grid; min-width: 20px; height: 20px; place-items: center; border: 2px solid white; border-radius: 999px; background: var(--alert); color: white; font-size: .72rem; line-height: 1; }
.reminder-panel { position: absolute; top: calc(100% + 8px); right: 0; z-index: 70; width: min(320px, calc(100vw - 32px)); display: grid; gap: 10px; padding: 14px; border: 1px solid rgb(255 255 255 / 72%); border-radius: 22px; background: rgb(255 255 255 / 96%); box-shadow: 0 22px 70px rgb(17 24 39 / 18%); backdrop-filter: blur(16px); }
.reminder-panel__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.reminder-panel__header a { color: var(--brand); font-weight: 850; text-decoration: none; }
.reminder-panel__list { display: grid; gap: 8px; }
.reminder-panel__item { display: grid; gap: 3px; padding: 10px; border: 1px solid var(--line); border-radius: 16px; background: var(--brand-soft); }
.reminder-panel__item strong { color: var(--ink); font-size: .92rem; }
.reminder-panel__item span, .reminder-panel__item small { color: var(--muted); font-size: .8rem; }
.reminder-panel__item small { font-weight: 850; color: var(--brand-dark); }
.reminder-popup-backdrop { position: fixed; inset: 0; z-index: 80; display: grid; align-items: end; padding: 16px; background: rgb(15 23 42 / 28%); pointer-events: auto; }
.reminder-popup { width: min(100%, 440px); margin: 0 auto; display: grid; gap: 10px; padding: 18px; border: 1px solid rgb(109 40 217 / 16%); border-radius: 28px 28px 22px 22px; background: rgb(255 255 255 / 98%); box-shadow: 0 28px 88px rgb(15 23 42 / 26%); }
.reminder-popup h2 { margin: 0; color: var(--ink); font-size: 1.35rem; }
.reminder-popup__note { padding: 10px 12px; border-radius: 16px; background: var(--brand-soft); color: var(--brand-dark); }
.reminder-popup__actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
.reminder-popup__actions .primary, .reminder-popup__actions .ghost-button { min-height: 44px; justify-content: center; border-radius: 999px; text-align: center; text-decoration: none; }
@media (min-width: 720px) { .reminder-popup-backdrop { align-items: center; } .reminder-popup { border-radius: 28px; } .reminder-popup__actions { grid-template-columns: 1fr 1fr; } }

/* Redesigned professional onboarding and workspace panel. */
.professional-panel-state { color: var(--muted); }
.professional-panel-state h2 { margin: 0; color: var(--ink); letter-spacing: -.03em; }
.professional-onboarding { display: grid; gap: 18px; border-color: rgb(109 40 217 / 12%); background: linear-gradient(135deg, rgb(255 255 255 / 94%), rgb(245 243 255 / 82%)); }
.pro-onboarding-steps { display: grid; gap: 10px; }
.pro-onboarding-steps article { display: grid; grid-template-columns: auto 1fr; gap: 4px 10px; padding: 14px; border: 1px solid rgb(109 40 217 / 12%); border-radius: 22px; background: rgb(255 255 255 / 78%); }
.pro-onboarding-steps span { grid-row: span 2; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 14px; background: var(--brand-soft); color: var(--brand-dark); font-weight: 950; }
.pro-onboarding-steps strong { color: var(--ink); }
.pro-onboarding-steps small { color: var(--muted); line-height: 1.45; }
.pro-panel-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.pro-workspace-grid { display: grid; gap: 10px; }
.pro-workspace-grid > article { padding: 14px; border: 1px solid rgb(109 40 217 / 10%); border-radius: 22px; background: rgb(255 255 255 / 78%); }
.pro-focus-card { background: linear-gradient(135deg, rgb(255 255 255 / 92%), rgb(237 233 254 / 74%)) !important; }
.pro-focus-card h3, .pro-workspace-grid h3 { margin: 0 0 6px; letter-spacing: -.03em; }
.pro-focus-card p { margin: 0 0 12px; color: var(--muted); line-height: 1.5; }
.pro-business-selector { display: grid; gap: 6px; max-width: 360px; color: var(--muted); font-size: .85rem; font-weight: 800; }
.pro-business-selector select { min-height: 44px; border: 1px solid rgb(109 40 217 / 16%); border-radius: 14px; padding: 0 12px; background: rgb(255 255 255 / 86%); color: var(--ink); font: inherit; }
.pro-business-selector select:focus-visible { outline: 3px solid rgb(139 92 246 / 28%); outline-offset: 3px; }
.pro-workspace-grid ul { margin: 8px 0 0; padding-left: 20px; color: var(--muted); line-height: 1.55; }
.pro-place-list { display: grid; gap: 8px; margin-top: 10px; }
.pro-place-list article { display: grid; gap: 5px; padding: 12px; border: 1px solid rgb(109 40 217 / 10%); border-radius: 18px; background: rgb(255 255 255 / 82%); }
.pro-place-list small { color: var(--muted); }
.pro-place-list span { display: flex; flex-wrap: wrap; gap: 8px; }
.pro-place-actions .ui-button { min-height: 44px; }
.professional-category-preview { display: inline-flex; align-items: center; gap: 7px; width: fit-content; border: 1px solid var(--category-border); border-radius: var(--radius-pill); padding: 6px 10px; background: var(--category-bg); color: var(--category-fg); font-size: .82rem; font-weight: 850; }
.professional-mobile-kind { display: inline-flex; align-items: center; gap: 6px; }
@media (min-width: 760px) {
  .pro-onboarding-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pro-workspace-grid { grid-template-columns: 1.2fr .9fr .9fr; }
}
.pro-card-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.pro-section-heading { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.pro-section-heading h3 { margin: 0; }
.pro-empty-place-state { display: grid; gap: 8px; margin-top: 10px; padding: 14px; border: 1px dashed rgb(109 40 217 / 20%); border-radius: 20px; background: rgb(255 255 255 / 72%); }
.pro-empty-place-state p { margin: 0; color: var(--muted); line-height: 1.5; }
.professional-place-choice { display: grid; gap: 18px; }
.professional-place-choice form,
.professional-place-choice__results { display: grid; gap: 12px; min-width: 0; }
.professional-place-choice__results:focus { outline: none; }
.professional-place-location { grid-column: 1 / -1; display: grid; gap: 12px; min-width: 0; padding: 14px; border: 1px solid rgb(109 40 217 / 12%); border-radius: 20px; background: rgb(255 255 255 / 76%); }
.professional-place-location h3,
.professional-place-location p { margin: 0; }
.professional-place-location__results,
.professional-place-location__choices { display: grid; gap: 8px; min-width: 0; }
.professional-place-location__results:focus { outline: none; }

@media (max-width: 899px) {
  .topbar-panel-actions { align-self: start; }
  .topbar-panel-actions .help-icon-link { order: 1; }
  .topbar-panel-actions .reminder-center { order: 2; }
  .bottom-sheet.is-collapsed { top: auto; right: 16px; bottom: calc(max(12px, env(safe-area-inset-bottom)) + 310px); }
}

@media (max-width: 359px) {
  .topbar-panel-actions { flex-direction: column; }
}

.reminder-panel__guest { display: grid; gap: 10px; }
.reminder-panel__guest .primary { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; border-radius: 999px; padding: 0 14px; background: var(--brand); color: white; font-weight: 900; text-decoration: none; }

/* Place audit administration */
.admin-toolbar--audit { grid-template-columns: 1fr; }
.place-audit-list { align-items: start; }
.place-audit-card { display: grid; gap: 14px; }
.place-audit-diff { display: grid; gap: 10px; }
.place-audit-diff-row { display: grid; gap: 8px; border: 1px solid rgb(109 40 217 / 12%); border-radius: 18px; padding: 12px; background: rgb(248 250 252 / 78%); }
.place-audit-diff-row > strong { color: var(--brand-dark); }
.place-audit-diff-row span { display: grid; gap: 4px; min-width: 0; color: var(--ink); overflow-wrap: anywhere; }
.place-audit-diff-row b { color: var(--muted); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.skeleton-line { width: 100%; height: 18px; border-radius: 999px; background: linear-gradient(90deg, rgb(237 233 254 / 70%), rgb(255 255 255 / 90%), rgb(237 233 254 / 70%)); }
.skeleton-line.short { width: 56%; }
@media (min-width: 760px) { .admin-toolbar--audit { grid-template-columns: repeat(4, minmax(0, 1fr)); } .place-audit-diff-row { grid-template-columns: minmax(140px, .7fr) repeat(2, minmax(0, 1fr)); } }

.map-unsupported-market-banner { position: fixed; left: 50%; bottom: calc(max(12px, env(safe-area-inset-bottom)) + 5.9rem); z-index: 89; width: min(496px, calc(100% - 32px)); transform: translateX(-50%); border: 1px solid rgb(185 28 28 / 26%); border-radius: 999px; padding: 10px 16px; background: rgb(185 28 28 / 94%); color: #fff; box-shadow: 0 18px 42px rgb(127 29 29 / 24%); font-size: .88rem; font-weight: 900; line-height: 1.25; text-align: center; }
.bottom-sheet.is-disabled .nearby-chip, .bottom-sheet.is-disabled .sheet-handle { cursor: not-allowed; }
.bottom-sheet.is-disabled .nearby-chip { border-color: rgb(185 28 28 / 22%); background: rgb(254 226 226 / 92%); color: #991b1b; opacity: .72; box-shadow: none; }

.map-view--maplibre .live-map { position: absolute; inset: 0; pointer-events: auto; touch-action: pan-x pan-y pinch-zoom; }
.map-view--maplibre .map-cluster-layer { pointer-events: none; }
.map-view--maplibre .marker, .map-view--maplibre .marker-cluster { pointer-events: auto; }
.map-view--maplibre .maplibregl-ctrl-attrib { margin-bottom: max(78px, env(safe-area-inset-bottom)); border-radius: 999px 0 0 0; }
.admin-map-renderer-card label.admin-record-card { cursor: pointer; }
.admin-map-renderer-card input[type="radio"] { width: 18px; height: 18px; accent-color: var(--brand); }

.place-view-count {
  display: block;
  min-height: 1.1rem;
  margin: 0;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.4;
}

.operational-full-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-table-list summary { min-height: 44px; cursor: pointer; }

/*!******************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/shell-system.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************/
/*
 * Shared application shell and global-state geometry.
 * All values use the canonical P4P-546 token contract.
 */

html,
body {
  background: var(--ds-color-canvas);
  color: var(--ds-color-ink);
  font-family: var(--ds-font-family-sans);
}

.ui-app-viewport {
  position: relative;
  min-height: var(--ds-viewport-block);
  background: var(--ds-color-canvas);
}

.ui-app-frame {
  position: relative;
  width: 100%;
  min-height: var(--ds-viewport-block);
  max-width: var(--ds-width-app-compact);
  margin-inline: auto;
  overflow-x: clip;
  background: var(--ds-color-surface);
  color: var(--ds-color-ink);
}

.ui-app-frame[data-has-bottom-nav="false"] {
  --ds-bottom-obstruction: 0px;
}

.ui-app-frame[data-has-bottom-nav="true"] {
  --ds-bottom-obstruction: calc(
    var(--ds-bottom-nav-height) + var(--ds-safe-bottom) +
      var(--ds-space-4)
  );
  --ds-bottom-chrome-obstruction: calc(
    max(var(--ds-space-3), var(--ds-safe-bottom)) +
      var(--ds-bottom-chrome-height) + var(--ds-space-2)
  );
  --ds-map-popover-max-block-compact: calc(
    100dvh - var(--ds-bottom-chrome-obstruction) -
      var(--ds-space-16) - var(--ds-space-16) -
      var(--ds-control-size-icon) - var(--ds-space-2)
  );
  --ds-map-popover-max-block: calc(
    100dvh - var(--ds-bottom-chrome-obstruction) -
      var(--ds-space-16) - var(--ds-space-16)
  );
  --ds-map-workspace-sheet-max-block: max(
    0px,
    min(
      52dvh,
      440px,
      calc(
        100dvh - var(--ds-bottom-chrome-obstruction) -
          var(--ds-safe-top) - var(--ds-control-size-icon) -
          var(--ds-space-4)
      )
    )
  );
  --ds-map-workspace-side-sheet-max-block: max(
    0px,
    min(
      440px,
      calc(
        100dvh - var(--ds-space-6) - var(--ds-space-6) -
          var(--ds-safe-top) - var(--ds-space-16) -
          var(--ds-space-8) -
          max(var(--ds-space-3), var(--ds-safe-bottom)) -
          var(--ds-bottom-chrome-height) - var(--ds-space-2) -
          var(--ds-border-width)
      )
    )
  );
  --ds-map-workspace-side-sheet-inline-end: calc(
    max(var(--ds-map-control-inline-end), var(--ds-safe-right)) +
      var(--ds-control-size-icon) + var(--ds-space-2) +
      var(--ds-border-width) + var(--ds-border-width)
  );
}

.ui-app-floating {
  position: absolute;
  z-index: var(--ds-layer-map-content);
  top: max(var(--ds-space-4), var(--ds-safe-top));
  left: max(var(--ds-space-4), var(--ds-safe-left));
}

.ui-app-floating:has(.ui-brand-menu[data-open="true"]),
.topbar:has(.ui-brand-menu[data-open="true"]) {
  z-index: var(--ds-layer-popover);
}

.ui-brand-link.ui-button {
  width: fit-content;
  min-width: 0;
  min-height: var(--ds-control-height-comfortable);
  gap: calc(var(--ds-space-1) + var(--ds-border-width));
  padding:
    calc(var(--ds-space-2) - var(--ds-border-width))
    calc(var(--ds-space-2) + var(--ds-border-width));
  border-color: transparent;
  border-radius: var(--ds-radius-pill);
  background: var(--ds-color-surface);
  color: var(--ds-color-ink);
  box-shadow: var(--ds-shadow-raised);
}

.ui-brand-mark {
  display: block;
  width: calc(
    var(--ds-control-height-compact) - var(--ds-border-width) -
      var(--ds-border-width)
  );
  height: calc(
    var(--ds-control-height-compact) - var(--ds-border-width) -
      var(--ds-border-width)
  );
}

.ui-brand-name {
  color: var(--ds-color-ink);
  font-size: var(--ds-type-body-md-size);
  font-weight: var(--ds-type-heading-weight);
  letter-spacing: var(--ds-type-heading-tracking);
}

.ui-brand-runtime-badge {
  align-self: center;
  border: 1px solid currentColor;
  border-radius: 999px;
  color: var(--ui-color-brand-strong, #6d28d9);
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  margin-inline-start: 0.2rem;
  padding: 0.28rem 0.4rem;
}

.ui-brand-runtime-badge[data-channel="preview"] {
  color: #a16207;
}

.ui-brand-name > span {
  color: var(--ds-color-brand);
}

.ui-brand-menu {
  position: relative;
  z-index: var(--ds-layer-popover);
  display: inline-flex;
  min-width: 0;
  pointer-events: auto;
}

.ui-brand-menu__content {
  position: absolute;
  top: calc(100% + var(--ds-space-2));
  left: 0;
  display: grid;
  width: min(var(--ds-width-popover), calc(100vw - var(--ds-space-8)));
  max-height: min(70dvh, 620px);
  gap: var(--ds-space-3);
  overflow: auto;
  padding: var(--ds-space-4);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-overlay);
  background: var(--ds-color-overlay);
  color: var(--ds-color-ink);
  box-shadow: var(--ds-shadow-overlay);
  animation: ui-brand-menu-in 160ms ease-out;
}

.ui-brand-menu__eyebrow {
  color: var(--ds-color-brand);
  font-size: var(--ds-type-eyebrow-size);
  font-weight: var(--ds-type-eyebrow-weight);
  letter-spacing: var(--ds-type-eyebrow-tracking);
  line-height: var(--ds-type-eyebrow-line);
  text-transform: uppercase;
}

.ui-brand-menu__content:focus {
  outline: none;
}

.ui-brand-menu__items {
  display: grid;
  gap: var(--ds-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.ui-brand-menu__item.ui-button {
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: var(--ds-control-height-comfortable);
  grid-template-columns: var(--ds-control-height-compact) minmax(0, 1fr) auto;
  align-items: center;
  justify-content: stretch;
  gap: var(--ds-space-3);
  padding: var(--ds-space-3);
  border-color: transparent;
  border-radius: var(--ds-radius-control-lg);
  background: var(--ds-color-surface-soft);
  color: var(--ds-color-ink);
  box-shadow: none;
  text-align: start;
}

.ui-brand-menu__item.ui-button:hover,
.ui-brand-menu__item.ui-button:focus-visible {
  border-color: var(--ds-color-brand);
  background: var(--ds-color-brand-soft);
  color: var(--ds-color-brand-strong);
}

.ui-brand-menu__symbol {
  display: grid;
  width: var(--ds-control-height-compact);
  height: var(--ds-control-height-compact);
  place-items: center;
  border-radius: var(--ds-radius-control-md);
  background: var(--ds-color-surface);
  color: var(--ds-color-brand);
  box-shadow: var(--ds-shadow-raised);
}

.ui-brand-menu__item-copy {
  display: grid;
  min-width: 0;
}

.ui-brand-menu__item-copy strong {
  color: inherit;
  font-size: var(--ds-type-label-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-label-line);
}

.ui-brand-menu__item > [data-semantic-symbol="forward"] {
  color: var(--ds-color-muted);
}

@keyframes ui-brand-menu-in {
  from {
    opacity: 0;
    transform: translateY(calc(var(--ds-space-1) * -1));
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.ui-view-mode.ui-button {
  position: fixed;
  z-index: var(--ds-layer-popover);
  top: max(var(--ds-space-4), var(--ds-safe-top));
  right: max(var(--ds-space-4), var(--ds-safe-right));
  display: none;
  width: var(--ds-control-size-icon);
  min-width: var(--ds-control-size-icon);
  height: var(--ds-control-size-icon);
  min-height: var(--ds-control-size-icon);
  border-color: var(--ds-color-border);
  background: var(--ds-color-surface);
  box-shadow: var(--ds-shadow-raised);
}

.ui-global-help.ui-button {
  position: fixed;
  z-index: var(--ds-layer-map-controls);
  top: max(var(--ds-space-4), var(--ds-safe-top));
  right: max(var(--ds-space-4), var(--ds-safe-right));
  width: var(--ds-control-size-icon);
  min-width: var(--ds-control-size-icon);
  height: var(--ds-control-size-icon);
  min-height: var(--ds-control-size-icon);
  border-color: var(--ds-color-border);
  background: var(--ds-color-surface);
  box-shadow: var(--ds-shadow-raised);
}

.ui-bottom-chrome {
  position: fixed;
  z-index: var(--ds-layer-popover);
  right: max(var(--ds-space-3), var(--ds-safe-right));
  bottom: max(var(--ds-space-3), var(--ds-safe-bottom));
  left: max(var(--ds-space-3), var(--ds-safe-left));
  display: grid;
  width: auto;
  max-width: var(--ds-width-navigation);
  gap: var(--ds-space-2);
  justify-items: center;
  margin-inline: auto;
  pointer-events: none;
}

.ui-bottom-chrome > * {
  pointer-events: auto;
}

.ui-bottom-navigation {
  position: static;
  z-index: var(--ds-layer-popover);
  display: grid;
  grid-template-columns: repeat(
    var(--ui-bottom-navigation-columns),
    minmax(0, 1fr)
  );
  gap: var(--ds-space-1);
  width: 100%;
  padding: var(--ds-space-1);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-surface);
  box-shadow: var(--ds-shadow-floating);
}

.ui-bottom-navigation .ui-button {
  display: grid;
  width: 100%;
  min-width: var(--ds-control-size-icon);
  min-height: calc(
    var(--ds-control-height-comfortable) + var(--ds-space-1)
  );
  grid-template-rows: auto auto;
  place-items: center;
  gap: var(--ds-space-1);
  padding: var(--ds-space-1) var(--ds-space-2);
  border-color: transparent;
  border-radius: var(--ds-radius-control-md);
  box-shadow: none;
  text-align: center;
}

.ui-bottom-navigation .ui-button > [data-semantic-symbol],
.ui-bottom-navigation .ui-button > .ui-button__spinner {
  grid-area: 1 / 1;
}

.ui-bottom-navigation .ui-button > [data-semantic-symbol] {
  width: var(--ds-space-5);
  height: var(--ds-space-5);
}

.ui-bottom-navigation .ui-button[aria-busy="true"] > [data-semantic-symbol] {
  visibility: hidden;
}

.ui-bottom-navigation small {
  grid-area: 2 / 1;
  max-width: 100%;
  overflow: hidden;
  color: inherit;
  font-size: var(--ds-type-body-sm-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-label-line);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ui-quick-add.ui-button {
  position: static;
  z-index: calc(var(--ds-layer-popover) + 1);
  justify-self: center;
  width: var(--ds-control-size-icon);
  min-width: var(--ds-control-size-icon);
  height: var(--ds-control-size-icon);
  min-height: var(--ds-control-size-icon);
  margin-inline: 0;
  padding: 0;
  border-radius: var(--ds-radius-circle);
  box-shadow: var(--ds-shadow-floating);
}

.ui-app-frame:has([data-map-workspace-state="modal"])
  .ui-quick-add.ui-button {
  display: none;
}

.ui-navigation-hub {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-card);
  padding: var(--ds-space-4);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-surface);
  box-shadow: var(--ds-shadow-raised);
}

.ui-navigation-heading {
  color: var(--ds-color-ink);
  font-size: var(--ds-type-label-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-label-line);
}

.ui-navigation-items {
  display: flex;
  min-width: 0;
  gap: var(--ds-gap-control);
  overflow-x: auto;
  padding-bottom: var(--ds-space-1);
  scrollbar-width: thin;
}

.ui-navigation-entry.ui-button {
  flex: 0 0 var(--ds-width-navigation-entry);
  display: grid;
  min-width: 0;
  min-height: var(--ds-control-height-comfortable);
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  justify-content: start;
  gap: var(--ds-gap-control);
  padding: var(--ds-space-2) var(--ds-space-3);
  border-color: var(--ds-color-border);
  border-radius: var(--ds-radius-control-md);
  text-align: left;
  box-shadow: none;
}

.ui-navigation-entry.ui-button > svg {
  width: var(--ds-space-6);
  height: var(--ds-space-6);
  color: var(--ds-color-brand);
}

.ui-navigation-entry__label {
  min-width: 0;
  overflow-wrap: anywhere;
}

.ui-navigation-restricted {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-card);
  padding: var(--ds-space-3);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-surface-soft);
}

.ui-navigation-restricted-heading {
  display: grid;
  gap: var(--ds-space-1);
  color: var(--ds-color-ink);
}

.ui-navigation-restricted-heading > small {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.ui-route-progress {
  position: fixed;
  z-index: var(--ds-layer-overlay);
  top: max(var(--ds-space-1), var(--ds-safe-top));
  left: 50%;
  width: min(calc(100% - var(--ds-space-8)), var(--ds-width-form));
  height: var(--ds-space-1);
  overflow: hidden;
  border-radius: var(--ds-radius-pill);
  background: var(--ds-color-brand-soft);
  pointer-events: none;
  transform: translateX(-50%);
}

.ui-route-progress__bar {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: var(--ds-color-brand);
  transform-origin: left;
  animation: ui-route-progress var(--ds-duration-route)
    var(--ds-easing-emphasized) infinite alternate;
}

.ui-route-progress[data-phase="settling"] .ui-route-progress__bar {
  animation-duration: var(--ds-duration-standard);
}

.ui-route-progress__assistive {
  position: absolute;
  width: var(--ds-border-width);
  height: var(--ds-border-width);
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

@keyframes ui-route-progress {
  from {
    transform: scaleX(.18);
  }
  to {
    transform: scaleX(1);
  }
}

.ui-system-recovery {
  display: grid;
  min-height: var(--ds-viewport-block);
  align-items: center;
  padding-block: var(--ds-gap-page);
}

.ui-system-recovery__surface {
  width: 100%;
}

.ui-system-recovery__eyebrow {
  margin: 0;
  color: var(--ds-color-brand);
  font-size: var(--ds-type-eyebrow-size);
  font-weight: var(--ds-type-eyebrow-weight);
  line-height: var(--ds-type-eyebrow-line);
  letter-spacing: var(--ds-type-eyebrow-tracking);
  text-transform: uppercase;
}

.ui-system-recovery h1 {
  max-width: var(--ds-width-prose);
  margin: 0;
  color: var(--ds-color-ink);
  font-size: var(--ds-type-heading-lg-size);
  font-weight: var(--ds-type-heading-weight);
  line-height: var(--ds-type-heading-lg-line);
  letter-spacing: var(--ds-type-heading-tracking);
  overflow-wrap: anywhere;
}

.ui-system-recovery__description,
.ui-system-recovery__reference {
  max-width: var(--ds-width-prose);
  margin: 0;
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-md-size);
  line-height: var(--ds-type-body-md-line);
}

.ui-system-recovery__reference code {
  border-radius: var(--ds-radius-control-sm);
  padding: var(--ds-space-1) var(--ds-space-2);
  background: var(--ds-color-surface-soft);
  color: var(--ds-color-ink);
  overflow-wrap: anywhere;
}

.ui-system-recovery__actions {
  align-items: stretch;
}

.ui-system-banner-region {
  top: calc(var(--ds-safe-top) + var(--ds-space-16) + var(--ds-space-3));
  max-height: calc(
    var(--ds-viewport-block) - var(--ds-space-16) - var(--ds-space-8)
  );
}

.ui-system-banner {
  max-height: inherit;
  overflow-y: auto;
}

.ui-system-banner__description {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-control);
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

@media (min-width: 768px) {
  .ui-navigation-items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }

  .ui-navigation-entry.ui-button {
    width: 100%;
    min-width: 0;
  }

  .ui-app-viewport[data-view-mode="desktop"] {
    padding: var(--ds-space-6);
  }

  .ui-bottom-chrome {
    bottom: calc(
      var(--ds-space-6) +
        max(var(--ds-space-3), var(--ds-safe-bottom))
    );
  }

  .ui-app-viewport[data-view-mode="desktop"] .ui-app-frame {
    min-height: calc(var(--ds-viewport-block) - var(--ds-space-12));
    max-width: var(--ds-width-wide);
    border: var(--ds-border-width) solid var(--ds-color-border);
    border-radius: var(--ds-radius-frame);
    box-shadow: var(--ds-shadow-raised);
  }

  .ui-app-viewport[data-view-mode="desktop"]
    .ui-app-frame:has(.ui-screen-shell[data-desktop-fit-content="true"]) {
    min-height: 0;
  }

  .ui-app-viewport[data-view-mode="desktop"] .ui-app-floating {
    top: var(--ds-space-4);
    left: var(--ds-space-4);
  }

  .ui-app-viewport[data-view-mode="desktop"] .ui-global-help.ui-button {
    top: calc(var(--ds-space-6) + var(--ds-space-5));
    right: max(
      calc(var(--ds-space-16) + var(--ds-space-4)),
      calc((100% - var(--ds-width-wide)) / 2 + var(--ds-space-8))
    );
  }

  .ui-app-viewport[data-view-mode="desktop"] .ui-bottom-navigation {
    grid-template-columns: repeat(
      var(--ui-bottom-navigation-columns),
      var(--ds-width-navigation-item)
    );
    width: max-content;
    max-width: calc(100% - var(--ds-space-12));
    justify-self: center;
  }

  .ui-app-viewport[data-view-mode="desktop"] .ui-quick-add.ui-button {
    justify-self: center;
    margin-inline-end: 0;
  }

  .ui-app-viewport[data-view-mode="mobile"] {
    display: grid;
    place-items: start center;
    padding: var(--ds-space-6);
  }

  .ui-app-viewport[data-view-mode="mobile"] .ui-app-frame {
    width: min(100%, var(--ds-width-mobile-preview));
    min-height: calc(var(--ds-viewport-block) - var(--ds-space-12));
    border: var(--ds-border-width) solid var(--ds-color-border);
    border-radius: var(--ds-radius-frame);
    box-shadow: var(--ds-shadow-raised);
  }

  .ui-app-viewport[data-view-mode="mobile"] .ui-bottom-chrome {
    max-width: calc(
      var(--ds-width-mobile-preview) -
        max(var(--ds-space-3), var(--ds-safe-left)) -
        max(var(--ds-space-3), var(--ds-safe-right))
    );
  }

  .ui-system-banner-region {
    right: max(var(--ds-space-6), var(--ds-safe-right));
    left: auto;
    width: min(
      calc(100% - var(--ds-space-12)),
      var(--ds-width-system-banner)
    );
    margin-inline: 0;
  }
}

@media (min-width: 900px) {
  .ui-app-viewport[data-view-mode="desktop"] {
    --ds-map-control-inline-end: var(--ds-space-8);
  }

  .ui-app-viewport[data-view-mode="desktop"] .ui-app-floating {
    top: calc(var(--ds-space-6) + var(--ds-space-1));
    left: var(--ds-space-8);
  }
}

@media (min-width: 1120px) {
  .ui-view-mode.ui-button {
    display: inline-flex;
  }

  .ui-navigation-hub > .ui-navigation-items {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .ui-navigation-restricted > .ui-navigation-items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.ui-auth-session-row {
  display: none;
}

@media (max-width: 480px) {
  .ui-auth-session-row {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: var(--ds-gap-control);
    padding-block: var(--ds-space-1) var(--ds-space-2);
    border-bottom: var(--ds-border-width) solid var(--ds-color-border);
  }

  .ui-auth-session-row > strong {
    color: var(--ds-color-muted);
    font-size: var(--ds-type-body-sm-size);
    line-height: var(--ds-type-body-sm-line);
  }

  .ui-auth-session-actions {
    flex-wrap: nowrap;
  }

  .ui-auth-session-actions .ui-button {
    flex: 0 0 auto;
  }

  .ui-header--mobile-title-hidden .ui-screen-header__title {
    position: absolute;
    width: var(--ds-border-width);
    height: var(--ds-border-width);
    padding: 0;
    margin: calc(-1 * var(--ds-border-width));
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }

  .ui-header--mobile-session-replaced
    .ui-screen-header__eyebrow,
  .ui-header--mobile-session-replaced
    .ui-screen-header__actions {
    display: none;
  }

  .ui-header--mobile-title-hidden:not(
      :has(
        .ui-screen-header__navigation,
        .ui-screen-header__eyebrow,
        .ui-screen-header__description,
        .ui-screen-header__actions
      )
    ),
  .ui-header--mobile-session-replaced:not(
      :has(
        .ui-screen-header__navigation,
        .ui-screen-header__description
      )
    ) {
    position: absolute;
    width: var(--ds-border-width);
    height: var(--ds-border-width);
    overflow: hidden;
  }
}

@media (forced-colors: active) {
  .ui-bottom-navigation .ui-button {
    border-color: ButtonText;
  }

  .ui-app-frame,
  .ui-brand-link.ui-button,
  .ui-brand-menu__content,
  .ui-brand-menu__item.ui-button,
  .ui-brand-menu__symbol,
  .ui-bottom-navigation,
  .ui-navigation-hub,
  .ui-navigation-restricted,
  .ui-system-recovery__surface {
    border-color: CanvasText;
    background: Canvas;
    color: CanvasText;
    box-shadow: none;
    forced-color-adjust: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ui-brand-menu__content {
    animation: none;
  }

  .ui-route-progress__bar {
    animation: none;
    transform: none;
  }
}

html[data-p4pets-runtime="mobile"] [data-mobile-route-blocked="true"] {
  display: none !important;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/native-mobile-safe-area.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************/
html[data-p4pets-runtime="mobile"] .topbar {
  padding-top: max(var(--ds-space-4), var(--ds-safe-top));
  padding-right: max(var(--ds-space-4), var(--ds-safe-right));
  padding-left: max(var(--ds-space-4), var(--ds-safe-left));
}

/*!************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/screen-composition.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************/
/* Shared route-level screen composition. Visual values use design-system tokens only. */

.ui-screen-shell {
  box-sizing: border-box;
  display: grid;
  min-width: 0;
  width: 100%;
  max-width: var(--ds-width-content);
  margin-inline: auto;
  padding-block: var(--ds-gap-page);
  padding-inline: var(--ds-space-6);
  gap: var(--ds-gap-page);
}

.ui-screen-shell[data-screen-width="form"] { max-width: var(--ds-width-form); }
.ui-screen-shell[data-screen-width="content"] { max-width: var(--ds-width-content); }
.ui-screen-shell[data-screen-width="wide"] { max-width: var(--ds-width-wide); }
.ui-screen-shell[data-screen-width="full"] { max-width: none; }
.ui-screen-shell[data-screen-density="compact"] {
  padding-block: var(--ds-gap-section);
  padding-inline: var(--ds-space-4);
  gap: var(--ds-gap-section);
}
.ui-app-frame:has(> .ui-app-floating)
  .ui-screen-shell[data-screen-family="panel"],
.ui-app-frame:has(> .ui-app-floating)
  .ui-screen-shell[data-screen-family="action"],
.ui-app-frame:has(> .ui-app-floating)
  .ui-screen-shell[data-screen-family="discovery"] {
  padding-top: max(
    var(--ds-gap-page),
    calc(
      max(var(--ds-space-4), var(--ds-safe-top)) +
        var(--ds-control-height-comfortable) + var(--ds-space-6)
    )
  );
}
.ui-app-frame[data-has-bottom-nav="true"] .ui-screen-shell {
  padding-bottom: max(
    var(--ds-gap-page),
    var(--ds-bottom-obstruction)
  );
}
.ui-screen-shell[data-screen-family="map-workspace"][data-screen-width="full"] {
  padding: 0;
}

.ui-screen-context,
.ui-screen-header,
.ui-screen-body,
.ui-screen-section {
  display: grid;
  min-width: 0;
}

.ui-screen-context,
.ui-screen-header { gap: var(--ds-gap-control); }

.ui-screen-header[data-actions-placement="top-end"] {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.ui-screen-header[data-actions-placement="top-end"]
  .ui-screen-header__navigation,
.ui-screen-header[data-actions-placement="top-end"]
  .ui-screen-header__eyebrow,
.ui-screen-header[data-actions-placement="top-end"]
  .ui-screen-header__title,
.ui-screen-header[data-actions-placement="top-end"]
  .ui-screen-header__description {
  grid-column: 1;
}

.ui-screen-header[data-actions-placement="top-end"]
  .ui-screen-header__actions {
  grid-column: 2;
  grid-row: 1 / span 4;
  align-self: start;
  justify-self: end;
  justify-content: flex-end;
}

.ui-screen-body { gap: var(--ds-gap-page); }
.ui-screen-section { gap: var(--ds-gap-section); }

.ui-screen-header__navigation,
.ui-screen-header__actions,
.ui-screen-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-width: 0;
  gap: var(--ds-gap-control);
}

.ui-screen-header__eyebrow,
.ui-screen-header__title,
.ui-screen-header__description {
  margin: 0;
  overflow-wrap: anywhere;
}

.ui-screen-header__eyebrow {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-body-sm-line);
}

.ui-screen-header__section-back {
  width: fit-content;
  color: inherit;
  text-decoration: none;
}

.ui-screen-header__section-back:hover { text-decoration: underline; }
.ui-screen-header__section-back:focus-visible {
  outline: var(--ds-focus-outline-width) solid var(--ds-color-focus);
  outline-offset: var(--ds-focus-outline-offset);
}

.ui-screen-header__title {
  color: var(--ds-color-ink);
  font-size: var(--ds-type-heading-lg-size);
  font-weight: var(--ds-type-heading-weight);
  line-height: var(--ds-type-heading-lg-line);
  letter-spacing: var(--ds-type-heading-tracking);
}

.ui-screen-header__description {
  max-width: var(--ds-width-prose);
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-md-size);
  line-height: var(--ds-type-body-md-line);
}

.ui-screen-actions { justify-content: flex-end; }
.ui-screen-actions[data-sticky="true"] {
  position: sticky;
  z-index: var(--ds-layer-popover);
  bottom: var(--ds-bottom-obstruction, var(--ds-safe-bottom));
  padding-block: var(--ds-space-2);
  background: var(--ds-color-surface);
}

/*!********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/catalog-system.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************/
[data-catalog-app="true"] .ui-screen-shell {
  padding-top: max(
    var(--ds-gap-page),
    calc(
      max(var(--ds-space-4), var(--ds-safe-top)) +
        var(--ds-control-height-comfortable) + var(--ds-space-6)
    )
  );
}

[data-catalog-app="true"] .ui-screen-body :where(h2, h3, h4, p, small) {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

[data-catalog-app="true"] .ui-screen-body h2 {
  color: var(--ds-color-ink);
  font-size: var(--ds-type-heading-md-size);
  font-weight: var(--ds-type-heading-weight);
  line-height: var(--ds-type-heading-md-line);
  letter-spacing: var(--ds-type-heading-tracking);
}

[data-catalog-app="true"] .ui-screen-body :where(h3, h4),
[data-catalog-app="true"] .ui-screen-body .catalog-place-link :where(h2, h3) {
  color: var(--ds-color-ink);
  font-size: var(--ds-type-heading-sm-size);
  font-weight: var(--ds-type-heading-weight);
  line-height: var(--ds-type-heading-sm-line);
  letter-spacing: var(--ds-type-heading-tracking);
}

[data-catalog-app="true"] .ui-screen-body small {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

[data-catalog-app="true"] .ui-screen-body :where(strong, span, a),
[data-catalog-app="true"] .catalog-link-grid > *,
[data-catalog-app="true"] .catalog-detail-overview > * {
  min-width: 0;
  overflow-wrap: anywhere;
}

[data-catalog-app="true"] .ui-button {
  max-width: 100%;
  min-width: 0;
  height: auto;
  line-height: var(--ds-type-label-line);
  white-space: normal;
  text-align: center;
  overflow-wrap: anywhere;
}

.catalog-inline-links {
  flex-wrap: wrap;
}

.catalog-link-grid,
.catalog-metric-grid {
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(min(100%, var(--ds-width-navigation-entry)), 1fr)
  );
  gap: var(--ds-gap-card);
}

.catalog-facet-link {
  min-height: calc(
    var(--ds-control-height-comfortable) + var(--ds-space-10)
  );
  align-content: start;
}

.catalog-place-link__description {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.catalog-detail-overview {
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(min(100%, var(--ds-width-navigation)), 1fr)
  );
  gap: var(--ds-gap-section);
  min-width: 0;
  align-items: start;
}

@media (min-width: 1120px) {
  .catalog-detail-overview {
    grid-template-areas:
      "identity map"
      "actions map";
    grid-template-columns: minmax(0, 1fr) minmax(var(--ds-width-navigation), 1fr);
    grid-template-rows: auto minmax(0, 1fr);
  }

  .catalog-place-detail-primary {
    grid-area: identity;
  }

  .catalog-place-detail-media {
    display: contents;
  }

  .catalog-place-detail-media > .catalog-static-map {
    grid-area: map;
  }

  .catalog-place-detail-media > [aria-label="Działania miejsca"] {
    grid-area: actions;
    align-self: end;
  }
}

.catalog-detail-content {
  width: min(100%, var(--ds-width-prose));
}

.catalog-detail-practical-link {
  color: var(--ds-color-ink);
  font-weight: var(--ds-type-label-weight);
  text-decoration-line: underline;
  text-decoration-thickness: var(--ds-border-width);
  text-underline-offset: var(--ds-space-1);
}

.catalog-detail-practical-link:focus-visible {
  outline: var(--ds-focus-outline-width) solid var(--ds-color-focus);
  outline-offset: var(--ds-focus-outline-offset);
}

.catalog-detail-contribution {
  display: grid;
  gap: var(--ds-gap-card);
  justify-items: start;
}

.catalog-detail-contribution__separator {
  width: 100%;
  height: 0;
  margin: 0;
  border: 0;
  border-top: var(--ds-border-width) solid var(--ds-color-border);
}

.catalog-static-map {
  display: grid;
  gap: var(--ds-gap-control);
  min-width: 0;
  margin: 0;
}

.catalog-static-map__image-frame {
  position: relative;
  width: min(100%, var(--ds-width-popover));
  overflow: hidden;
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-frame);
  background: var(--ds-color-surface-soft);
}

.catalog-static-map__image {
  display: block;
  width: 100%;
  height: auto;
}

.catalog-static-map__place-card {
  position: absolute;
  left: var(--ds-space-3);
  right: var(--ds-space-3);
  bottom: var(--ds-space-3);
  display: grid;
  min-width: 0;
  margin: 0;
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  padding: var(--ds-space-3) var(--ds-space-4);
  background: var(--ds-color-surface);
  color: var(--ds-color-ink);
  box-shadow: var(--ds-shadow-raised);
}

.catalog-static-map__place-card span {
  color: var(--ds-color-ink);
  font-size: var(--ds-type-body-md-size);
  line-height: var(--ds-type-body-md-line);
  overflow-wrap: anywhere;
}

.catalog-static-map__attribution {
  position: absolute;
  top: var(--ds-space-2);
  right: var(--ds-space-2);
  bottom: auto;
  max-width: calc(100% - (2 * var(--ds-space-4)));
  border-radius: var(--ds-radius-control-md);
  padding: var(--ds-space-1) var(--ds-space-2);
  background: var(--ds-color-surface);
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
  text-decoration: none;
  overflow-wrap: anywhere;
}

.catalog-static-map__attribution:focus-visible {
  outline: var(--ds-focus-outline-width) solid var(--ds-color-focus);
  outline-offset: var(--ds-focus-outline-offset);
}

.catalog-pagination {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: var(--ds-gap-control);
  width: 100%;
}

.catalog-pagination__previous {
  grid-column: 1;
  justify-self: start;
}

.catalog-pagination__status {
  grid-column: 2;
  display: inline-flex;
  min-height: var(--ds-control-height-comfortable);
  align-items: center;
  justify-content: center;
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
  text-align: center;
}

.catalog-pagination__next {
  grid-column: 3;
  justify-self: end;
}

.catalog-static-map--empty {
  min-height: var(--ds-width-popover);
  place-items: center;
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-frame);
  padding: var(--ds-space-6);
  background: var(--ds-color-surface-soft);
  text-align: center;
}

@media (max-width: 480px) {
  [data-catalog-app="true"] .ui-screen-shell[data-screen-family="detail"] {
    padding-top: max(
      var(--ds-gap-section),
      calc(
        max(var(--ds-space-3), var(--ds-safe-top)) +
          var(--ds-control-height-comfortable) + var(--ds-space-3)
      )
    );
    padding-bottom: var(--ds-gap-section);
    gap: var(--ds-space-6);
  }

  [data-catalog-app="true"]
    .ui-screen-shell[data-screen-family="detail"]
    .ui-screen-body {
    gap: var(--ds-space-6);
  }

  [data-catalog-app="true"]
    .ui-screen-shell[data-screen-family="detail"]
    .catalog-detail-overview {
    gap: var(--ds-gap-card);
  }

  [data-catalog-app="true"]
    .ui-screen-shell[data-screen-family="detail"]
    .catalog-static-map__image-frame,
  [data-catalog-app="true"]
    .ui-screen-shell[data-screen-family="detail"]
    [aria-label="Działania miejsca"] {
    width: min(
      calc(100% - var(--ds-space-12)),
      var(--ds-width-popover)
    );
    justify-self: center;
  }

  [data-catalog-app="true"]
    .ui-screen-shell[data-screen-family="detail"]
    [aria-label="Działania miejsca"]
    .ui-button {
    width: 100%;
  }

  [data-catalog-app="true"]
    .ui-screen-shell[data-screen-family="detail"]
    .catalog-static-map__place-card {
    left: var(--ds-space-2);
    right: var(--ds-space-2);
    bottom: var(--ds-space-2);
    padding: var(--ds-space-2) var(--ds-space-3);
  }

  [data-catalog-app="true"]
    .ui-screen-shell[data-screen-family="detail"]
    .catalog-static-map__place-card span {
    font-size: var(--ds-type-body-sm-size);
    line-height: var(--ds-type-body-sm-line);
  }

  [data-catalog-app="true"]
    .ui-screen-shell[data-screen-family="detail"]
    .catalog-static-map__attribution {
    top: var(--ds-space-1);
    right: var(--ds-space-1);
    max-width: calc(100% - (2 * var(--ds-space-2)));
    padding: 0 var(--ds-space-2);
    font-size: var(--ds-type-eyebrow-size);
    line-height: var(--ds-type-body-sm-line);
  }

  [data-catalog-app="true"]
    .ui-screen-shell[data-screen-family="detail"]
    [aria-label="Aktualność danych"] {
    align-self: start;
  }

  [data-catalog-app="true"]
    .ui-screen-shell[data-screen-family="detail"]
    .catalog-detail-practical
    .ui-definition-list__item {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--ds-space-1);
    padding-block: var(--ds-space-2);
    border-bottom: var(--ds-border-width) solid var(--ds-color-border);
  }

  [data-catalog-app="true"]
    .ui-screen-shell[data-screen-family="detail"]
    .catalog-detail-practical
    .ui-definition-list__item:last-child {
    border-bottom: 0;
  }

  [data-catalog-app="true"]
    .ui-screen-shell[data-screen-family="detail"]
    .catalog-detail-practical dt {
    font-weight: var(--ds-type-label-weight);
  }

  [data-catalog-app="true"]
    .ui-screen-shell[data-screen-family="detail"]
    .catalog-detail-practical dd {
    line-height: var(--ds-type-body-md-line);
  }

  [data-catalog-app="true"]
    .ui-screen-body h2.catalog-detail-nearby-heading {
    font-size: var(--ds-type-heading-sm-size);
    line-height: var(--ds-type-heading-sm-line);
  }

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

  .catalog-pagination__status {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .catalog-pagination__previous {
    grid-column: 1;
    grid-row: 2;
  }

  .catalog-pagination__next {
    grid-column: 2;
    grid-row: 2;
  }
}

.catalog-static-map--empty figcaption {
  display: grid;
  gap: var(--ds-gap-control);
}

@media (min-width: 900px) {
  [data-catalog-app="true"] .ui-screen-shell {
    padding-top: max(
      var(--ds-gap-page),
      calc(
        var(--ds-space-6) + var(--ds-space-1) +
          var(--ds-control-height-comfortable) + var(--ds-space-6)
      )
    );
  }
}

/*!********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/article-system.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************/
/* Poradnik list and detail composition. Values resolve through Design System tokens. */

[data-article-list] {
  overflow-x: clip;
}

[data-article-list] h2,
[data-article-list] h3,
[data-article-list] p {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

[data-article-filter-heading],
[data-article-section-heading] {
  color: var(--ds-color-ink);
  font-size: var(--ds-type-heading-sm-size);
  font-weight: var(--ds-type-heading-weight);
  line-height: var(--ds-type-heading-sm-line);
  letter-spacing: var(--ds-type-heading-tracking);
}

[data-article-filters] {
  align-items: stretch;
}

[data-article-filters] > .ui-button {
  min-height: var(--ds-control-height-comfortable);
  white-space: normal;
}

[data-article-featured] {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-card);
  text-decoration: none;
}

[data-article-featured] .ui-card__header {
  display: grid;
  gap: var(--ds-gap-control);
}

[data-article-featured] .ui-card__title {
  font-size: var(--ds-type-heading-md-size);
  line-height: var(--ds-type-heading-md-line);
}

[data-article-kicker] {
  color: var(--ds-color-brand-strong);
  font-size: var(--ds-type-eyebrow-size);
  font-weight: var(--ds-type-eyebrow-weight);
  line-height: var(--ds-type-eyebrow-line);
  letter-spacing: var(--ds-type-eyebrow-tracking);
  text-transform: uppercase;
}

[data-article-meta] {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

[data-article-rows] {
  display: grid;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-block-start: var(--ds-border-width) solid var(--ds-color-border);
}

[data-article-rows] > li {
  min-width: 0;
  border-block-end: var(--ds-border-width) solid var(--ds-color-border);
}

[data-article-row] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-width: 0;
  min-height: var(--ds-control-height-comfortable);
  gap: var(--ds-gap-card);
  padding-block: var(--ds-space-6);
  color: var(--ds-color-ink);
  text-decoration: none;
}

[data-article-row] h3 {
  font-size: var(--ds-type-heading-sm-size);
  line-height: var(--ds-type-heading-sm-line);
}

[data-article-row] p {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-md-size);
  line-height: var(--ds-type-body-md-line);
}

[data-article-row-arrow] {
  color: var(--ds-color-brand-strong);
  font-size: var(--ds-type-heading-sm-size);
}

[data-article-pagination] {
  display: flex;
  justify-content: center;
}

@media (max-width: 767px) {
  [data-article-filters] > .ui-button {
    flex: 1 1 auto;
  }

  [data-article-row] {
    align-items: start;
    gap: var(--ds-gap-control);
  }
}

@media (forced-colors: active) {
  [data-article-featured],
  [data-article-rows] {
    border-color: CanvasText;
  }
}

[data-article-detail] {
  overflow-x: clip;
}

[data-article-detail] h2,
[data-article-detail] h3,
[data-article-detail] p,
[data-article-detail] blockquote,
[data-article-detail] dl,
[data-article-detail] dd {
  margin: 0;
  overflow-wrap: anywhere;
}

[data-article-prose] {
  display: grid;
  inline-size: min(100%, var(--ds-width-prose));
  min-width: 0;
  gap: var(--ds-gap-card);
  color: var(--ds-color-ink);
  font-size: var(--ds-type-body-md-size);
  line-height: var(--ds-type-body-md-line);
}

[data-article-prose] h2 {
  padding-block-start: var(--ds-space-4);
  font-size: var(--ds-type-heading-md-size);
  line-height: var(--ds-type-heading-md-line);
}

[data-article-prose] h3 {
  padding-block-start: var(--ds-space-2);
  font-size: var(--ds-type-heading-sm-size);
  line-height: var(--ds-type-heading-sm-line);
}

[data-article-prose] ul,
[data-article-prose] ol {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-control);
  margin: 0;
  padding-inline-start: var(--ds-space-6);
}

[data-article-prose] blockquote,
[data-article-callout] {
  padding: var(--ds-space-5);
  border-inline-start: var(--ds-border-width) solid var(--ds-color-brand-strong);
  background: var(--ds-color-surface-soft);
}

[data-article-prose] code {
  padding-inline: var(--ds-space-1);
  border-radius: var(--ds-radius-control-sm);
  background: var(--ds-color-surface-soft);
  font-size: .9em;
}

[data-article-prose] a,
[data-article-sources] a,
[data-article-related] a {
  color: var(--ds-color-brand-strong);
  overflow-wrap: anywhere;
  text-underline-offset: var(--ds-space-1);
}

[data-article-responsibility] {
  display: grid;
  gap: var(--ds-gap-card);
}

[data-article-responsibility] dl {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-control);
}

[data-article-responsibility] dl > div {
  display: grid;
  min-width: 0;
  gap: var(--ds-space-1);
}

[data-article-responsibility] dt {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-body-sm-line);
}

[data-article-sources],
[data-article-related] {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-control);
  margin: 0;
  padding-inline-start: var(--ds-space-6);
}

[data-article-cta] {
  display: grid;
  gap: var(--ds-gap-card);
}

@media (min-width: 768px) {
  [data-article-responsibility] dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/*!**************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/map-discovery-system.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Map, discovery and public catalog presentation.
 * Geometry of tiles and pins stays specialized; product chrome uses DS roles.
 */

.map-surface {
  position: absolute;
  inset: 0;
  isolation: isolate;
  overflow: hidden;
}

.ui-app-viewport[data-view-mode="desktop"] .map-surface {
  border-radius: calc(var(--ds-radius-frame) - var(--ds-border-width));
}

.map-surface__renderer {
  position: absolute;
  inset: 0;
}

.map-surface[data-map-surface-phase="loading"] .map-surface__renderer,
.map-surface[data-map-surface-phase="error"] .map-surface__renderer {
  opacity: 0;
  pointer-events: none;
}

.map-loading-surface {
  z-index: 1;
  cursor: default;
  touch-action: auto;
}

.map-loading-surface::after {
  content: none;
}

.map-loader-frame {
  display: grid;
  width: 100%;
  height: 100%;
  align-items: center;
  min-height: 100%;
  padding: var(--ds-space-4);
  padding-block-end: calc(
    var(--ds-bottom-chrome-obstruction) + var(--ds-space-8)
  );
  background: var(--ds-color-surface-soft);
}

.map-loading-visual {
  display: grid;
  width: min(100%, var(--ds-width-content));
  gap: var(--ds-space-3);
}

.map-loading-visual > p {
  margin: 0;
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-body-sm-line);
  text-align: center;
}

.map-loading-surface--error {
  overflow-y: auto;
  overscroll-behavior: contain;
}

.map-loading-surface--error .map-loader-frame {
  height: auto;
  align-items: start;
  padding-block-start: calc(
    var(--ds-safe-top) + var(--ds-space-16) + var(--ds-space-16) +
      var(--ds-space-4)
  );
}

.map-loading-error {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(100%, var(--ds-width-form));
  min-width: 0;
  gap: var(--ds-space-3);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  padding: var(--ds-space-6);
  background: var(--ds-color-surface);
  color: var(--ds-color-ink);
  box-shadow: var(--ds-shadow-raised);
  justify-self: center;
}

.map-loading-error > h2,
.map-loading-error > p {
  margin: 0;
}

.map-loading-error > p:not(.eyebrow) {
  color: var(--ds-color-muted);
  line-height: var(--ds-type-body-md-line);
}

.map-loading-actions {
  display: grid;
  gap: var(--ds-space-3);
}

.map-loading-actions > .ui-button {
  width: 100%;
  min-height: var(--ds-control-height-comfortable);
  height: auto;
  white-space: normal;
}

.marker.ui-button,
.marker-cluster.ui-button {
  position: absolute;
  z-index: var(--ds-layer-map-content);
  display: grid;
  place-items: center;
  width: var(--ds-control-size-icon);
  min-width: var(--ds-control-size-icon);
  height: var(--ds-control-size-icon);
  min-height: var(--ds-control-size-icon);
  border: var(--ds-border-width) solid var(--ds-color-surface);
  padding: 0;
  background: var(--ds-color-brand);
  color: var(--ds-color-surface);
  box-shadow: var(--ds-shadow-raised);
}

.marker.ui-button {
  border-radius: var(--ds-radius-control-md);
  transform: translate(-50%, -100%) rotate(-45deg);
}

.marker.ui-button > .category-symbol {
  transform: rotate(45deg);
}

.marker-cluster.ui-button {
  border-radius: var(--ds-radius-circle);
  transform: translate(-50%, -50%);
}

.marker-cluster.ui-button strong {
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.marker.ui-button:hover:not(:disabled),
.marker.ui-button:active:not(:disabled),
.marker.ui-button:focus-visible {
  transform: translate(-50%, -100%) rotate(-45deg);
}

.marker-cluster.ui-button:hover:not(:disabled),
.marker-cluster.ui-button:active:not(:disabled),
.marker-cluster.ui-button:focus-visible {
  transform: translate(-50%, -50%);
}

.marker-overlap-menu.ui-card {
  position: absolute;
  z-index: var(--ds-layer-map-controls);
  right: max(var(--ds-space-3), var(--ds-safe-right));
  bottom: calc(var(--ds-bottom-obstruction) + var(--ds-space-3));
  left: max(var(--ds-space-3), var(--ds-safe-left));
  max-height: min(44dvh, 360px);
  overflow: hidden;
  pointer-events: auto;
}

.marker-overlap-menu > div {
  display: grid;
  min-height: 0;
  gap: var(--ds-space-3);
}

.marker-overlap-menu__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: var(--ds-space-3);
}

.marker-overlap-menu__header p {
  margin: var(--ds-space-1) 0 0;
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.marker-overlap-menu__choices {
  display: grid;
  min-height: 0;
  gap: var(--ds-space-2);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.marker-overlap-menu__choice.ui-button {
  justify-content: flex-start;
  width: 100%;
  min-height: var(--ds-control-size-icon);
  height: auto;
  border-radius: var(--ds-radius-control-md);
  padding-block: var(--ds-space-2);
  text-align: left;
  white-space: normal;
}

.marker-overlap-menu__choice > span {
  display: grid;
  min-width: 0;
  gap: var(--ds-space-1);
}

.marker-overlap-menu__choice small {
  color: var(--ds-color-muted);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-body-sm-line);
  overflow-wrap: anywhere;
}

@media (min-width: 768px) {
  .marker-overlap-menu.ui-card {
    right: auto;
    bottom: max(var(--ds-space-8), var(--ds-safe-bottom));
    left: max(var(--ds-space-8), var(--ds-safe-left));
    width: min(320px, calc(100% - (2 * var(--ds-space-8))));
  }
}

.map-decision-controls {
  position: absolute;
  z-index: var(--ds-layer-map-controls);
  right: max(var(--ds-map-control-inline-end), var(--ds-safe-right));
  bottom: calc(
    var(--ds-bottom-obstruction) + var(--ds-space-6) +
      var(--ds-space-16) + var(--ds-space-16) + var(--ds-space-3)
  );
  display: grid;
  justify-items: end;
  gap: var(--ds-space-3);
}

.map-decision-controls .map-category-control,
.map-recommendation-trigger.ui-button {
  position: static;
  right: auto;
  bottom: auto;
}

.map-decision-controls .map-category-control.ui-button {
  display: grid;
  grid-template-rows: 16px;
  place-items: center;
  gap: var(--ds-space-1);
  width: var(--ds-control-size-icon);
  min-width: var(--ds-control-size-icon);
  height: var(--ds-control-size-icon);
  min-height: var(--ds-control-size-icon);
  border-color: var(--category-border, var(--ds-color-border));
  padding: var(--ds-space-1);
  background: var(--category-bg, var(--ds-color-surface));
  color: var(--category-fg, var(--ds-color-brand-strong));
}

.map-decision-controls .map-category-control.ui-button[data-mobile-label="visible"] {
  grid-template-rows: 16px minmax(0, auto);
}

.map-decision-controls .map-category-control.ui-button small {
  display: none;
  max-width: var(--ds-control-height-compact);
  overflow: hidden;
  color: currentColor;
  font-size: calc(var(--ds-type-eyebrow-size) * .69);
  font-weight: var(--ds-type-eyebrow-weight);
  line-height: 1;
  text-align: center;
  text-overflow: clip;
  white-space: nowrap;
}

.map-decision-controls .map-category-control.ui-button[data-mobile-label="visible"] small {
  display: block;
}

.map-decision-controls .map-category-control.ui-button[aria-disabled="true"] {
  border-color: var(--ds-color-border);
  color: var(--ds-color-muted);
}

.map-recommendation-trigger.ui-button {
  border-color: var(--ds-color-border);
  background: var(--ds-color-surface);
  color: var(--ds-color-ink);
  box-shadow: var(--ds-shadow-raised);
}

.map-nearby-record {
  display: grid;
  width: 100%;
  min-width: 0;
  gap: var(--ds-space-2);
  text-align: left;
}

.map-nearby-record strong {
  color: var(--ds-color-ink);
  font-size: var(--ds-type-body-md-size);
  line-height: var(--ds-type-body-md-line);
  overflow-wrap: anywhere;
}

.map-nearby-record small {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.map-place-related-grid {
  display: grid;
  grid-template-columns:
    repeat(
      auto-fit,
      minmax(min(100%, var(--ds-width-navigation-entry)), 1fr)
    );
  gap: var(--ds-gap-control);
}

.map-discovery-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(
    var(--ds-width-navigation-entry),
    calc(var(--ds-width-navigation-entry) + var(--ds-space-12))
  );
  gap: var(--ds-gap-control);
  overflow-x: auto;
  padding-block: var(--ds-space-1);
  scroll-snap-type: inline proximity;
}

.map-discovery-rail > * {
  scroll-snap-align: start;
}

.map-discovery-copy {
  margin: 0;
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.map-discovery-actions {
  flex-wrap: wrap;
}

.ask-p4pets-search-info,
.ask-p4pets-location-hint,
.ask-p4pets-results-summary-mobile {
  display: none;
}

.ask-p4pets-search-control {
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
}

.ask-p4pets-search-control > .ui-input-frame {
  flex: 1 1 auto;
}

.ask-p4pets-suggestions {
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
}

.ask-p4pets-suggestions > .ui-button {
  min-width: 0;
  min-height: var(--ds-control-height-compact);
  max-width: 100%;
  padding-inline: var(--ds-space-2);
  border-color: var(--ds-color-border);
  background: var(--ds-color-surface-soft);
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  font-weight: var(--ds-type-label-weight);
  white-space: normal;
  text-align: left;
}

.ask-p4pets-personalization-banner {
  container-type: inline-size;
  min-width: 0;
  padding: var(--ds-space-3);
  border: var(--ds-border-width) solid color-mix(in srgb, var(--ds-color-brand) 22%, var(--ds-color-surface));
  border-radius: var(--ds-radius-card-md);
  background: var(--ds-color-brand-soft);
  color: var(--ds-color-brand-strong);
}

.ask-p4pets-personalization-banner__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 28%);
  align-items: center;
  gap: var(--ds-space-2);
  overflow-wrap: anywhere;
}

.ask-p4pets-personalization-banner__heading {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: var(--ds-space-2);
  margin: 0;
  font-size: var(--ds-type-body-lg-size);
  line-height: 1.3;
}

.ask-p4pets-personalization-banner__sparkle {
  position: relative;
  flex: 0 0 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--ds-color-brand) 10%, var(--ds-color-brand-soft));
}

.ask-p4pets-personalization-banner__sparkle::before,
.ask-p4pets-personalization-banner__sparkle::after {
  content: "";
  position: absolute;
  background: var(--ds-color-brand);
  clip-path: polygon(50% 0, 65% 35%, 100% 50%, 65% 65%, 50% 100%, 35% 65%, 0 50%, 35% 35%);
}

.ask-p4pets-personalization-banner__sparkle::before {
  inset: .6rem .75rem .5rem .4rem;
}

.ask-p4pets-personalization-banner__sparkle::after {
  inset: .4rem .35rem 1.4rem 1.45rem;
}

.ask-p4pets-personalization-banner__copy,
.ask-p4pets-personalization-banner__footer {
  min-width: 0;
  margin: 0;
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.ask-p4pets-personalization-banner__copy {
  max-width: 65ch;
  color: var(--ds-color-muted);
}

.ask-p4pets-personalization-banner__dog {
  display: block;
  width: 100%;
  max-width: 10rem;
  height: auto;
  justify-self: end;
  border-radius: var(--ds-radius-card-sm);
  mix-blend-mode: multiply;
}

.ask-p4pets-personalization-banner__footer {
  grid-column: 1 / -1;
  font-weight: var(--ds-type-label-weight);
}

@container (min-width: 32rem) {
  .ask-p4pets-personalization-banner__heading {
    grid-column: 1;
  }

  .ask-p4pets-personalization-banner__dog {
    grid-column: 2;
    grid-row: 1 / 3;
  }
}

@media (forced-colors: active) {
  .ask-p4pets-personalization-banner__dog,
  .ask-p4pets-personalization-banner__sparkle {
    display: none;
  }

  .ask-p4pets-personalization-banner__copy {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  .ask-p4pets-description-desktop,
  .ask-p4pets-location-copy,
  .ask-p4pets-help-entry {
    display: none;
  }

  .ask-p4pets-search-info {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
  }

  .ask-p4pets-search-info > .ui-popover {
    display: flex;
  }

  .ask-p4pets-results-summary-desktop {
    display: none;
  }

  .ask-p4pets-results-summary-mobile {
    display: block;
  }

  .ask-p4pets-suggestions > .ui-button {
    min-height: var(--ds-control-height-compact);
    padding-inline: var(--ds-space-2);
  }

  .ask-p4pets-search-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .ask-p4pets-location-hint {
    display: grid;
    align-items: center;
    width: 100%;
    padding: var(--ds-space-2) var(--ds-space-3);
    font-size: var(--ds-type-body-sm-size);
    line-height: var(--ds-type-body-sm-line);
  }

  .ask-p4pets-location-hint .ui-form-status__media {
    width: var(--ds-space-5);
    height: var(--ds-space-5);
  }

  .ask-p4pets-search-submit {
    width: 100%;
    max-width: 100%;
  }
}

.location-context-control {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: var(--ds-control-height-comfortable);
  min-height: var(--ds-control-height-comfortable);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-control-md);
  padding: 0 var(--ds-space-3);
  overflow: hidden;
  background: var(--ds-color-surface);
  color: var(--ds-color-ink);
  box-shadow: none;
  text-align: left;
}

.location-context-control--caution {
  border-color: var(--ds-color-caution);
  background: var(--ds-color-caution-soft);
}

.map-topbar-tools {
  flex-direction: column;
  flex-wrap: nowrap;
}

.home-map-topbar {
  z-index: var(--ds-layer-popover);
}

.home-map-topbar .ui-popover__content {
  max-height: var(--ds-map-popover-max-block-compact);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.location-context-control__name {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  color: var(--ds-color-ink);
  font-size: var(--ds-type-body-sm-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-body-sm-line);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-discovery-view {
  padding-block:
    calc(var(--ds-safe-top) + var(--ds-space-16) + var(--ds-space-6))
    calc(var(--ds-bottom-obstruction) + var(--ds-space-6));
}

@media (max-width: 767px) {
  .map-workspace-mobile-title .ui-screen-header__title {
    color: var(--ds-color-brand-strong);
    font-size: var(--ds-type-heading-sm-size);
    line-height: var(--ds-type-heading-sm-line);
  }
}

.map-filter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--ds-width-navigation-entry)), 1fr));
  gap: var(--ds-gap-card);
}

.map-responsive-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--ds-width-navigation-entry)), 1fr));
  gap: var(--ds-gap-card);
}

.map-anchor-offset {
  scroll-margin-top: calc(var(--ds-safe-top) + var(--ds-space-16) + var(--ds-space-6));
}

.map-detail-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--ds-gap-section);
  min-width: 0;
}

.map-place-detail-primary,
.map-place-detail-actions {
  min-width: 0;
}

.map-place-detail-heading h1 {
  margin: 0;
}

.map-place-detail-heading > .ui-stack {
  flex: 1 1 var(--ds-width-navigation-entry);
}

.map-place-detail-heading > .map-discovery-actions {
  flex: 0 1 auto;
}

.map-place-detail-actions__footer {
  align-self: end;
}

.map-metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--ds-width-navigation-entry)), 1fr));
  gap: var(--ds-gap-card);
}

.place-detail-map {
  position: relative;
  min-height: calc(var(--ds-width-navigation) + var(--ds-space-8));
  overflow: hidden;
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-frame);
  background: var(--ds-color-surface-soft);
}

.place-detail-static-map::after {
  position: absolute;
  inset: 0;
  background: var(--ds-color-brand-soft);
  content: "";
  opacity: var(--ds-opacity-loading);
  pointer-events: none;
}

.place-detail-static-map__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--ds-color-border) var(--ds-border-width), transparent var(--ds-border-width)),
    linear-gradient(90deg, var(--ds-color-border) var(--ds-border-width), transparent var(--ds-border-width));
  background-size: var(--ds-space-10) var(--ds-space-10);
}

.place-detail-static-map__route {
  position: absolute;
  top: 48%;
  right: 4%;
  left: 8%;
  height: 34%;
  border: var(--ds-border-width) dashed var(--ds-color-brand);
  border-bottom: 0;
  border-left: 0;
  border-radius: 0 var(--ds-radius-pill) 0 0;
  opacity: var(--ds-opacity-loading);
  transform: rotate(-8deg);
}

.place-detail-static-map__point,
.map-place-detail-map__pin {
  z-index: var(--ds-layer-map-content);
}

.place-detail-static-map__label,
.map-place-detail-map__callout {
  position: absolute;
  z-index: var(--ds-layer-map-controls);
  right: var(--ds-space-3);
  bottom: var(--ds-space-3);
  left: var(--ds-space-3);
  display: grid;
  gap: var(--ds-space-1);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  padding: var(--ds-space-3);
  background: var(--ds-color-surface-raised);
  box-shadow: var(--ds-shadow-raised);
}

.place-detail-static-map__label strong,
.map-place-detail-map__callout strong {
  color: var(--ds-color-ink);
  font-size: var(--ds-type-label-size);
  line-height: var(--ds-type-label-line);
}

.place-detail-static-map__label span,
.map-place-detail-map__callout span {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.map-place-detail-map {
  isolation: isolate;
  contain: paint;
}

.map-place-detail-map__fallback,
.map-place-detail-map__tiles {
  position: absolute;
  inset: 0;
}

.map-place-detail-map__fallback {
  z-index: 0;
  background: var(--ds-color-surface-soft);
  pointer-events: none;
  transition: opacity var(--ds-duration-standard) var(--ds-easing-standard);
}

.map-place-detail-map--tiles-ready .map-place-detail-map__fallback {
  opacity: 0;
}

.map-place-detail-map__tiles {
  z-index: 1;
  overflow: hidden;
}

.map-place-detail-map__tile {
  position: absolute;
  display: block;
  object-fit: cover;
}

.map-raster-image {
  position: absolute;
  display: block;
  object-fit: cover;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.map-place-detail-map__attribution {
  position: absolute;
  z-index: var(--ds-layer-map-attribution);
  top: var(--ds-space-2);
  right: calc(var(--ds-control-size-icon) + var(--ds-space-4));
  border-radius: var(--ds-radius-pill);
  padding: var(--ds-space-1) var(--ds-space-2);
  background: var(--ds-color-surface-raised);
  color: var(--ds-color-muted);
  font-size: var(--ds-type-eyebrow-size);
  line-height: var(--ds-type-eyebrow-line);
  box-shadow: var(--ds-shadow-raised);
}

.map-place-detail-map__expand.ui-button {
  position: absolute;
  z-index: var(--ds-layer-map-attribution);
  top: var(--ds-space-2);
  right: var(--ds-space-2);
}

.map-place-detail-map--expanded {
  min-height: calc(var(--ds-width-mobile-preview) + var(--ds-space-16));
}

.map-overlay-slot {
  position: absolute;
  z-index: var(--ds-layer-banner);
  top: calc(var(--ds-safe-top) + var(--ds-space-16) + var(--ds-space-4));
  left: 50%;
  width: min(calc(100% - (2 * var(--ds-space-4))), var(--ds-width-content));
  transform: translateX(-50%);
}

.alert-lifecycle-actions > .ui-button {
  width: fit-content;
  max-width: 100%;
  height: auto;
  min-height: var(--ds-control-height-comfortable);
  padding-block: var(--ds-space-2);
  white-space: normal;
  line-height: var(--ds-type-label-line);
  overflow-wrap: anywhere;
  text-align: center;
}

.alert-lifecycle-actions + [data-form-status],
.alert-lifecycle-actions ~ [data-form-status] {
  max-width: 100%;
}

.alert-lifecycle-result:focus-visible {
  border-radius: var(--ds-radius-control-md);
  outline: var(--ds-focus-outline-width) solid var(--ds-color-focus);
  outline-offset: var(--ds-focus-outline-offset);
}

@media (min-width: 360px) {
  .home-map-topbar .ui-popover__content {
    max-height: var(--ds-map-popover-max-block);
  }

  .home-map-topbar .topbar-brand-row {
    grid-template-columns:
      auto minmax(0, 1fr)
      calc(
        var(--ds-control-size-icon) + var(--ds-gap-control) +
          var(--ds-control-size-icon)
      );
  }

  .map-topbar-tools {
    width: calc(
      var(--ds-control-size-icon) + var(--ds-gap-control) +
        var(--ds-control-size-icon)
    );
    min-width: calc(
      var(--ds-control-size-icon) + var(--ds-gap-control) +
        var(--ds-control-size-icon)
    );
    flex-direction: row;
  }
}

@media (min-width: 768px) {
  .topbar-brand-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .map-detail-overview {
    grid-template-columns: minmax(0, 1fr) minmax(var(--ds-width-navigation), 1fr);
    align-items: stretch;
  }

  .map-place-detail-primary {
    grid-template-rows: auto auto minmax(0, 1fr);
  }

  .map-place-detail-actions {
    grid-template-rows: auto auto minmax(0, 1fr);
  }
}

@media (min-width: 1120px) {
  .map-detail-overview {
    grid-template-areas:
      "identity map"
      "primary-actions map"
      "secondary-actions map";
    grid-template-rows: auto minmax(0, 1fr) auto;
    align-items: start;
  }

  .map-place-detail-primary {
    grid-area: identity;
  }

  .map-place-detail-actions {
    display: contents;
  }

  .map-place-detail-actions > .map-discovery-actions:first-child {
    grid-area: primary-actions;
    align-self: start;
  }

  .map-place-detail-actions > .place-detail-map {
    grid-area: map;
  }

  .map-place-detail-actions > .map-discovery-actions:last-child {
    grid-area: secondary-actions;
    align-self: end;
  }
}

@media (min-width: 768px) {
  .ui-app-viewport[data-view-mode="desktop"] .topbar-map-actions {
    width: min(100%, var(--ds-width-popover));
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

@media (min-width: 900px) {
  .ui-app-viewport[data-view-mode="desktop"] .map-decision-controls {
    right: max(var(--ds-map-control-inline-end), var(--ds-safe-right));
    bottom: calc(
      var(--ds-map-desktop-control-bottom) +
        var(--ds-control-size-icon) + var(--ds-control-size-icon) +
        var(--ds-control-size-icon) + var(--ds-space-4) +
        var(--ds-border-width) + var(--ds-border-width)
    );
  }

  .ui-app-viewport[data-view-mode="desktop"] .map-decision-controls .map-category-control.ui-button {
    grid-template-rows: 1fr;
    grid-template-columns: 16px auto;
    width: auto;
    max-width: var(--ds-width-navigation-entry);
    padding-inline: var(--ds-space-3);
  }

  .ui-app-viewport[data-view-mode="desktop"] .map-decision-controls .map-category-control.ui-button small {
    display: block;
    max-width: none;
    font-size: var(--ds-type-eyebrow-size);
  }
}

@media (forced-colors: active) {
  .map-loader-frame,
  .map-loading-error {
    border: var(--ds-border-width) solid ButtonText;
    background: Canvas;
    color: CanvasText;
    box-shadow: none;
  }

  .map-loading-visual > p {
    color: CanvasText;
  }

  .map-recommendation-trigger.ui-button,
  .map-nearby-record,
  .location-context-control {
    border-color: ButtonText;
    background: Canvas;
    color: CanvasText;
    box-shadow: none;
  }

  .place-detail-map,
  .place-detail-static-map__label,
  .map-place-detail-map__callout {
    border-color: ButtonText;
    background: Canvas;
    color: CanvasText;
    box-shadow: none;
  }
}

/*!*************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/map-sheet-scrollbar.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************/
/* Desktop-only scrollbar refinement for the non-modal map BottomSheet. */
@media (min-width: 768px) and (hover: hover) and (pointer: fine) and (forced-colors: none) {
  .ui-app-viewport[data-view-mode="desktop"] .ui-bottom-sheet--map {
    scrollbar-width: thin;
    scrollbar-color: var(--ds-color-border-strong) transparent;
  }

  .ui-app-viewport[data-view-mode="desktop"]
    .ui-bottom-sheet--map::-webkit-scrollbar {
    width: var(--ds-space-2);
  }

  .ui-app-viewport[data-view-mode="desktop"]
    .ui-bottom-sheet--map::-webkit-scrollbar-track {
    background: transparent;
  }

  .ui-app-viewport[data-view-mode="desktop"]
    .ui-bottom-sheet--map::-webkit-scrollbar-thumb {
    border: var(--ds-border-width) solid transparent;
    border-radius: var(--ds-radius-pill);
    background: var(--ds-color-border-strong);
    background-clip: padding-box;
  }
}

/*!************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/map-control-layout.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Final map control geometry.
 * The visual order on the right edge is:
 * recommendation -> native zoom/GPS controls -> filters.
 * Loaded after map-discovery-system.css so this file only owns that geometry.
 */

.ui-bottom-actions {
  display: grid;
  width: 100%;
  min-height: var(--ds-control-size-icon);
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  pointer-events: none;
}

.ui-bottom-actions > * {
  pointer-events: auto;
}

.ui-bottom-actions .ui-quick-add.ui-button {
  grid-row: 1;
  grid-column: 2;
}

.ui-map-ask.ui-button {
  grid-row: 1;
  grid-column: 1;
  justify-self: start;
  max-width: 100%;
  min-width: 0;
  gap: var(--ds-space-1);
  padding-inline: var(--ds-space-2);
  border-color: var(--ds-color-border);
  background: var(--ds-color-surface);
  box-shadow: var(--ds-shadow-raised);
  font-size: var(--ds-type-body-sm-size);
  white-space: nowrap;
}

.map-decision-controls {
  bottom: calc(var(--ds-bottom-obstruction) + var(--ds-space-6));
  gap: calc(
    (3 * var(--ds-control-size-icon)) +
    (2 * var(--ds-space-3)) +
    2px
  );
  pointer-events: none;
}

.map-decision-controls .map-recommendation-trigger,
.map-decision-controls .map-category-control {
  pointer-events: auto;
}

.map-category-control[data-viewport-data-loading="true"] {
  cursor: not-allowed;
  opacity: var(--ds-opacity-disabled);
  pointer-events: none;
}

.map-controls {
  bottom: calc(
    var(--ds-bottom-obstruction) +
    var(--ds-space-6) +
    var(--ds-control-size-icon) +
    var(--ds-space-3)
  );
}

@media (max-width: 899px) {
  .map-decision-controls .map-category-control.ui-button {
    grid-template-rows: 16px;
    align-content: center;
  }

  .map-decision-controls
    .map-category-control.ui-button[data-mobile-label]
    small {
    display: none;
  }
}

@media (min-width: 900px) {
  .ui-app-viewport[data-view-mode="desktop"] .ui-bottom-actions {
    width: min(
      var(--ds-width-app-compact),
      calc(100vw - (2 * var(--ds-space-3)))
    );
    padding-inline:
      max(var(--ds-map-control-inline-end), var(--ds-safe-left))
      max(var(--ds-map-control-inline-end), var(--ds-safe-right));
  }

  .ui-app-viewport[data-view-mode="desktop"] .ui-map-ask.ui-button {
    grid-column: 3;
    justify-self: end;
  }

  .ui-app-viewport[data-view-mode="desktop"] .map-decision-controls {
    bottom: var(--ds-map-desktop-control-bottom);
    gap: calc(
      (3 * var(--ds-control-size-icon)) +
      (2 * var(--ds-space-3)) +
      2px
    );
  }

  .ui-app-viewport[data-view-mode="desktop"] .map-controls {
    bottom: calc(
      var(--ds-map-desktop-control-bottom) +
      var(--ds-control-size-icon) +
      var(--ds-space-3)
    );
  }
}

/*!******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/nearby-location-selector.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************/
/* P4W-684: inline point selection for the Nearby workspace. */

.app-context-topbar .app-context-actions {
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  max-width: 100%;
  pointer-events: auto;
}

.app-context-topbar .app-context-actions .location-context-control {
  width: 100%;
  max-width: 100%;
}

.nearby-location-selector {
  min-width: 0;
}

.nearby-location-selector__selection {
  display: grid;
  min-width: 0;
  gap: var(--ds-space-1);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  padding: var(--ds-space-3);
  background: var(--ds-color-surface-soft);
  color: var(--ds-color-ink);
}

.nearby-location-selector__selection > span,
.nearby-location-selector__selection > small {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.nearby-location-selector__selection > strong,
.nearby-location-selector__selection > small {
  overflow-wrap: anywhere;
}

.nearby-location-selector__heading {
  margin: 0;
  color: var(--ds-color-ink);
  font-size: var(--ds-type-heading-sm-size);
  font-weight: var(--ds-type-heading-weight);
  line-height: var(--ds-type-heading-sm-line);
}

.nearby-location-selector__search {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: var(--ds-gap-control);
}

.nearby-location-selector__search > .ui-field {
  min-width: 0;
}

.nearby-location-selector__search > .ui-button {
  min-height: var(--ds-control-height-comfortable);
}

.nearby-location-selector__options {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(
    auto-fit,
    minmax(min(100%, var(--ds-width-navigation-entry)), 1fr)
  );
  gap: var(--ds-gap-control);
}

.nearby-location-selector__options > .ui-card {
  width: 100%;
  min-width: 0;
  min-height: var(--ds-control-size-icon);
  text-align: left;
}

.nearby-location-selector__option-copy {
  display: grid;
  min-width: 0;
  gap: var(--ds-space-1);
}

.nearby-location-selector__option-copy > strong,
.nearby-location-selector__option-copy > small {
  overflow-wrap: anywhere;
}

.nearby-location-selector__option-copy > small {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

/* P4W-1404/P4W-8051: the page shell owns the screen title. */
.nearby-page-heading {
  max-width: var(--ds-width-prose);
  margin: 0;
  color: var(--ds-color-ink);
  font-size: var(--ds-type-heading-lg-size);
  font-weight: var(--ds-type-heading-weight);
  line-height: var(--ds-type-heading-lg-line);
  letter-spacing: var(--ds-type-heading-tracking);
  overflow-wrap: anywhere;
}

.nearby-discovery-view {
  gap: var(--ds-gap-section);
}

.nearby-mobile-filter-shell {
  min-width: 0;
}

.nearby-mobile-filter-toggle {
  display: none;
}

.nearby-quick-filter-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: var(--ds-gap-control);
  min-width: 0;
}

.nearby-quick-filter-list {
  align-items: stretch;
}

.nearby-quick-filter-list > .ui-button {
  min-height: var(--ds-control-height-comfortable);
}

.nearby-clear-button {
  align-self: start;
  white-space: nowrap;
}

.nearby-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ds-gap-card);
  min-width: 0;
}

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

  .nearby-location-selector__search {
    grid-template-columns: minmax(0, 1fr);
  }

  .nearby-location-selector__search > .ui-button {
    width: 100%;
  }
}

@media (max-width: 719px) {
  .nearby-mobile-filter-shell:has(.nearby-toolbar) > .nearby-mobile-filter-toggle {
    display: flex;
    width: 100%;
    min-height: var(--ds-control-height-comfortable);
    height: auto;
    justify-content: space-between;
    text-align: left;
    white-space: normal;
  }

  .nearby-mobile-filter-toggle__action {
    flex: 0 0 auto;
    color: var(--ds-color-brand-strong);
    font-size: var(--ds-type-body-sm-size);
    font-weight: var(--ds-type-label-weight);
    line-height: var(--ds-type-body-sm-line);
  }

  .nearby-quick-filter-toolbar {
    grid-template-columns: minmax(0, 1fr);
  }

  .nearby-clear-button {
    justify-self: end;
  }

  .nearby-mobile-filter-shell[data-filters-expanded="false"] .nearby-toolbar[data-has-active-controls="false"] {
    display: none;
  }

  .nearby-mobile-filter-shell[data-filters-expanded="false"] .nearby-toolbar > .ui-stack {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: var(--ds-gap-control);
  }

  .nearby-mobile-filter-shell[data-filters-expanded="false"] .nearby-toolbar > .ui-stack > .ui-field:last-child {
    grid-column: 1 / -1;
  }

  .nearby-mobile-filter-shell[data-filters-expanded="false"] .nearby-quick-filter-toolbar {
    display: block;
  }

  .nearby-mobile-filter-shell[data-filters-expanded="false"] .nearby-quick-filter-list {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--ds-gap-control);
  }

  .nearby-mobile-filter-shell[data-filters-expanded="false"] .nearby-quick-filter-list > .ui-button:not([aria-pressed="true"]),
  .nearby-mobile-filter-shell[data-filters-expanded="false"] .nearby-clear-button {
    display: none;
  }

  .nearby-mobile-filter-shell[data-filters-expanded="false"] .nearby-quick-filter-list > .ui-button[aria-pressed="true"] {
    min-height: var(--ds-control-height-comfortable);
    height: auto;
    padding-inline: var(--ds-space-3);
  }

  .nearby-mobile-filter-shell[data-filters-expanded="false"] .nearby-filter-grid {
    display: flex;
    min-width: 0;
    gap: var(--ds-gap-control);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding-block-end: var(--ds-space-1);
    scrollbar-width: none;
  }

  .nearby-mobile-filter-shell[data-filters-expanded="false"] .nearby-filter-grid::-webkit-scrollbar {
    display: none;
  }

  .nearby-mobile-filter-shell[data-filters-expanded="false"] .nearby-filter-grid > .ui-field {
    flex: 0 0 auto;
    min-width: min(44vw, var(--ds-width-navigation-entry));
  }

  .nearby-mobile-filter-shell[data-filters-expanded="false"] .nearby-filter-grid > .ui-field:has(option[value="all"]:checked),
  .nearby-mobile-filter-shell[data-filters-expanded="false"] .nearby-filter-grid > .ui-field:has(option[value="smart"]:checked) {
    display: none;
  }

  .nearby-mobile-filter-shell[data-filters-expanded="false"]:has(.nearby-quick-filter-list > .ui-button:nth-child(1)[aria-pressed="true"]) .nearby-filter-grid > .ui-field:first-child,
  .nearby-mobile-filter-shell[data-filters-expanded="false"]:has(.nearby-quick-filter-list > .ui-button:nth-child(3)[aria-pressed="true"]) .nearby-filter-grid > .ui-field:first-child {
    display: none;
  }

  .nearby-mobile-filter-shell[data-filters-expanded="false"] .nearby-filter-grid .ui-field__heading,
  .nearby-mobile-filter-shell[data-filters-expanded="false"] .nearby-filter-grid .ui-field__support {
    display: none;
  }

  .nearby-mobile-filter-shell[data-filters-expanded="false"] .nearby-filter-grid .ui-select {
    min-height: var(--ds-control-height-comfortable);
    height: auto;
  }

  .ui-app-frame:has(.nearby-mobile-filter-shell) .ui-quick-add.ui-button {
    display: none;
  }
}

@media (min-width: 720px) {
  .nearby-filter-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 900px) {
  .app-context-topbar .app-context-actions {
    width: min(100%, var(--ds-width-popover));
    justify-self: center;
  }
}

@media (forced-colors: active) {
  .nearby-location-selector__selection {
    border-color: CanvasText;
  }
}

/*!*************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/action-forms-system.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************/
.action-compose,
.action-layout,
.action-summary,
.action-details {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-card);
}

.action-layout {
  padding-bottom: calc(
    var(--ds-control-height-comfortable) + var(--ds-safe-bottom) +
      var(--ds-space-8)
  );
}

.action-progress {
  display: grid;
  grid-template-columns: repeat(
    var(--action-progress-count),
    minmax(0, 1fr)
  );
  gap: var(--ds-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.action-progress__item {
  display: grid;
  min-width: 0;
  gap: var(--ds-space-1);
  align-content: start;
  border-bottom: var(--ds-border-width-selected) solid
    var(--ds-color-border);
  padding: var(--ds-space-2);
  color: var(--ds-color-muted);
}

.action-progress__item > span {
  display: grid;
  width: var(--ds-control-height-compact);
  height: var(--ds-control-height-compact);
  place-items: center;
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-circle);
  background: var(--ds-color-surface);
  color: var(--ds-color-ink);
  font-size: var(--ds-type-body-sm-size);
  font-weight: var(--ds-type-label-weight);
}

.action-progress__item > strong {
  min-width: 0;
  color: currentColor;
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
  overflow-wrap: anywhere;
}

.action-progress__item[data-complete="true"] {
  border-color: var(--ds-color-positive);
  color: var(--ds-color-positive);
}

.action-progress__item[data-current="true"] {
  border-color: var(--ds-color-brand);
  color: var(--ds-color-brand-strong);
}

.action-progress__item[data-current="true"] > span {
  border-color: var(--ds-color-brand);
  background: var(--ds-color-brand);
  color: var(--ds-color-surface);
}

.action-split {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-card);
}

.action-comment-compose {
  display: grid;
  min-width: 0;
  gap: var(--ds-space-3);
}

.action-comment-count {
  justify-self: end;
}

.action-comment-entry {
  display: grid;
  min-width: 0;
  gap: var(--ds-space-2);
}

.action-comment-entry time {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.action-rating-grid,
.action-vote-cluster,
.action-suggestion-cluster {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--ds-gap-control);
}

.checkin-header-navigation {
  flex: 1 1 100%;
  width: 100%;
}

.checkin-dog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--ds-gap-control);
}

.checkin-dog-grid > label {
  width: 100%;
  min-width: 0;
  min-height: var(--ds-control-height-comfortable);
  justify-content: center;
}

.checkin-dog-grid > label > span:last-child {
  min-width: 0;
  width: 100%;
}

.checkin-dog-grid > label > span:last-child > span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: center;
}

.action-map-frame {
  position: relative;
  min-height: var(--ds-width-mobile-preview);
  overflow: hidden;
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-md);
  background: var(--ds-color-surface-soft);
}

.action-map-actions {
  position: absolute;
  z-index: var(--ds-layer-map-controls);
  right: var(--ds-space-3);
  bottom: var(--ds-space-3);
  left: var(--ds-space-3);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--ds-gap-control);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  padding: var(--ds-space-3);
  background: var(--ds-color-surface-raised);
  box-shadow: var(--ds-shadow-floating);
}

.action-map-actions p {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.action-map-current {
  position: absolute;
  z-index: var(--ds-layer-map-content);
  min-height: var(--ds-control-height-compact);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-pill);
  padding: var(--ds-space-1) var(--ds-space-2);
  background: var(--ds-color-surface-raised);
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  font-weight: var(--ds-type-label-weight);
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.action-map-center {
  position: absolute;
  z-index: var(--ds-layer-map-content);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -100%);
  pointer-events: none;
}

.action-map-gps {
  position: absolute;
  z-index: var(--ds-layer-map-controls);
  top: var(--ds-space-3);
  right: var(--ds-space-3);
}

.action-sticky-submit {
  scroll-margin-bottom: calc(
    var(--ds-control-height-comfortable) + var(--ds-space-8)
  );
}

@media (max-width: 480px) {
  .action-progress {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .action-progress.account-auth-progress {
    grid-template-columns: minmax(0, 1fr);
  }

  .account-auth-progress .action-progress__item {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
  }

  .account-auth-progress ~ .action-compose .ui-form-actions--sticky-compact {
    bottom: 0;
    margin-inline: calc(0 - var(--ds-space-6));
    padding-inline-start: var(--ds-safe-left);
    padding-inline-end: var(--ds-safe-right);
  }

  .checkin-dog-grid {
    grid-template-columns:
      repeat(
        auto-fit,
        minmax(min(100%, var(--ds-width-navigation-item)), 1fr)
      );
  }

  .checkin-dog-grid > label > span:last-child > span {
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
    white-space: normal;
  }
}

@media (min-width: 768px) {
  .action-split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .action-split > [data-action-span="wide"] {
    grid-column: 1 / -1;
  }
}

@media (orientation: landscape) and (max-height: 480px) {
  .action-map-frame {
    min-height: var(--ds-width-navigation-entry);
  }
}

@media (forced-colors: active) {
  .action-progress__item,
  .action-progress__item > span,
  .action-map-frame,
  .action-map-actions,
  .action-map-current {
    border-color: CanvasText;
    background: Canvas;
    color: CanvasText;
    box-shadow: none;
  }

  .action-progress__item[data-current="true"] > span {
    background: Highlight;
    color: HighlightText;
  }
}

/*!*************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/account-dogs-system.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Account and dog dashboard composition.
 * Visual values come exclusively from the canonical design-system contract.
 */

.ad-kicker {
  margin: 0;
  color: var(--ds-color-brand-strong);
  font-size: var(--ds-type-eyebrow-size);
  font-weight: var(--ds-type-eyebrow-weight);
  line-height: var(--ds-type-eyebrow-line);
  letter-spacing: var(--ds-type-eyebrow-tracking);
  text-transform: uppercase;
}

.ad-account-identity {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}

.ad-account-avatar {
  display: grid;
  width: var(--ds-space-16);
  height: var(--ds-space-16);
  place-items: center;
  border: var(--ds-border-width) solid var(--ds-color-brand);
  border-radius: var(--ds-radius-circle);
  background: var(--ds-color-selected);
  color: var(--ds-color-brand-strong);
  font-size: var(--ds-type-heading-md-size);
  font-weight: var(--ds-type-heading-weight);
}

.ad-account-actions {
  grid-column: 1 / -1;
}

.ad-account-kpis {
  display: grid;
  grid-template-columns:
    repeat(
      auto-fit,
      minmax(min(100%, var(--ds-width-navigation-entry)), 1fr)
    );
  gap: var(--ds-gap-card);
}

.ad-account-summary {
  align-items: stretch;
}

.ad-account-layout {
  display: grid;
  grid-template-columns:
    repeat(
      auto-fit,
      minmax(min(100%, var(--ds-width-mobile-preview)), 1fr)
    );
  align-items: start;
  gap: var(--ds-gap-section);
}

.ad-account-rail,
.ad-account-main,
.ad-account-form {
  min-width: 0;
}

.ad-account-meter {
  width: 100%;
  height: var(--ds-space-3);
  overflow: clip;
  border: 0;
  border-radius: var(--ds-radius-pill);
  background: var(--ds-color-surface-soft);
  color: var(--ds-color-brand);
  accent-color: var(--ds-color-brand);
}

.ad-account-meter::-webkit-progress-bar {
  border-radius: inherit;
  background: var(--ds-color-surface-soft);
}

.ad-account-meter::-webkit-progress-value {
  border-radius: inherit;
  background: var(--ds-color-brand);
}

.ad-account-meter::-moz-progress-bar {
  border-radius: inherit;
  background: var(--ds-color-brand);
}

.ad-account-checklist {
  display: grid;
  gap: var(--ds-gap-control);
}

.ad-account-checklist ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ad-account-missing {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-gap-control);
}

.ad-account-form {
  display: grid;
  gap: var(--ds-gap-section);
}

.ad-dog-session-anchor {
  min-width: 0;
  scroll-margin-block: var(--ds-space-16);
}

.ad-dog-session-anchor:focus-visible {
  outline: var(--ds-focus-outline-width) solid var(--ds-color-focus);
  outline-offset: var(--ds-focus-outline-offset);
}

@media (max-width: 767px) {
  .ad-dog-personalization-header .ui-screen-header__eyebrow {
    margin-block: var(--ds-space-2);
  }
}

.ad-dog-modules,
.ad-dog-dashboard,
.ad-dog-module-grid,
.ad-dog-family-grid,
.ad-dog-followups {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-card);
}

.ad-dog-dashboard {
  padding-bottom: var(--ds-bottom-obstruction);
}

.ad-dog-family-grid {
  grid-template-columns:
    repeat(
      auto-fit,
      minmax(min(100%, var(--ds-width-mobile-preview)), 1fr)
    );
  align-items: stretch;
}

.ad-dog-family-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "title count"
    "action action";
  align-items: center;
  gap: var(--ds-gap-control);
}

.ad-dog-family-header > h2 {
  grid-area: title;
  min-width: 0;
  margin: 0;
}

.ad-dog-subheading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--ds-gap-control);
}

.ad-dog-family-count {
  grid-area: count;
  justify-self: end;
  background: var(--ds-color-positive-soft);
  color: var(--ds-color-positive);
  font-size: var(--ds-type-body-sm-size);
  font-weight: var(--ds-type-label-weight);
}

.ad-dog-profile {
  align-content: start;
}

.ad-dog-add-control.ui-button {
  grid-area: action;
  width: 100%;
  min-width: 0;
  justify-content: center;
  text-align: center;
}

.ad-dog-profile-control.ui-button {
  width: 100%;
  min-width: 0;
  justify-content: flex-start;
  border-color: transparent;
  padding: 0;
  background: transparent;
  box-shadow: var(--ds-shadow-none);
}

.ad-dog-avatar {
  display: grid;
  flex: 0 0 auto;
  width: var(--ds-space-16);
  height: var(--ds-space-16);
  overflow: clip;
  place-items: center;
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-circle);
  background: var(--ds-color-selected);
  color: var(--ds-color-brand-strong);
  font-weight: var(--ds-type-heading-weight);
}

.ad-dog-avatar-photo {
  display: block;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
}

.ad-dog-profile-main {
  display: grid;
  min-width: 0;
  gap: var(--ds-space-1);
}

.ad-dog-profile-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ds-gap-control);
}

.ad-dog-profile-main p,
.ad-dog-profile-main small {
  margin: 0;
  overflow-wrap: anywhere;
}

.ad-dog-professional-entry.ui-button {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: var(--ds-control-height-comfortable);
  justify-content: flex-start;
  justify-self: stretch;
  gap: var(--ds-gap-control);
  border-color: var(--ds-color-information);
  padding-block: var(--ds-space-2);
  background: var(--ds-color-information-soft);
  color: var(--ds-color-ink);
  box-shadow: var(--ds-shadow-none);
  white-space: normal;
  text-align: start;
}

.ad-dog-professional-copy {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  min-width: 0;
  gap: var(--ds-gap-control);
}

.ad-dog-professional-copy > span {
  color: var(--ds-color-muted);
  font-weight: var(--ds-type-label-weight);
}

.ad-dog-professional-copy > span,
.ad-dog-professional-copy > strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.ad-dog-guidance-links {
  display: grid;
  grid-template-columns:
    repeat(
      auto-fit,
      minmax(min(100%, var(--ds-width-navigation-entry)), 1fr)
    );
  min-width: 0;
  gap: var(--ds-gap-control);
}

.ad-dog-guidance-entry.ui-button {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: var(--ds-control-height-comfortable);
  justify-content: flex-start;
  justify-self: stretch;
  gap: var(--ds-gap-control);
  border-color: var(--ds-color-border-strong);
  padding-block: var(--ds-space-2);
  background: var(--ds-color-surface);
  color: var(--ds-color-ink);
  box-shadow: var(--ds-shadow-none);
  white-space: normal;
  text-align: start;
}

.ad-dog-guidance-copy {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  min-width: 0;
  gap: var(--ds-space-1) var(--ds-gap-control);
}

.ad-dog-guidance-copy > span {
  color: var(--ds-color-muted);
  font-weight: var(--ds-type-label-weight);
}

.ad-dog-guidance-copy > span,
.ad-dog-guidance-copy > strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.ad-dog-compact-actions,
.ad-dog-draft-actions,
.ad-dog-composer-actions,
.ad-dog-history-filters,
.ad-dog-checkin-actions,
.ad-dog-reminder-actions {
  display: grid;
  grid-template-columns:
    repeat(
      auto-fit,
      minmax(min(100%, var(--ds-width-navigation-item)), 1fr)
    );
  gap: var(--ds-gap-control);
}

.ad-dog-compact-actions > .ui-button,
.ad-dog-draft-actions > .ui-button,
.ad-dog-composer-actions > .ui-button,
.ad-dog-composer-actions > a,
.ad-dog-history-filters > .ui-button,
.ad-dog-checkin-actions > .ui-button,
.ad-dog-reminder-actions > .ui-button {
  width: 100%;
  min-width: 0;
}

.ad-dog-reminder-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

.ad-dog-reminder-actions > .ui-button {
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: calc(
    var(--ds-control-height-comfortable) + var(--ds-space-6)
  );
  flex: 1 1 var(--ds-width-navigation-entry);
  height: 100%;
  flex-direction: column;
  justify-content: center;
  gap: var(--ds-space-1);
  padding: var(--ds-space-2);
  white-space: normal;
  text-align: center;
  overflow-wrap: anywhere;
}

.ad-dog-composer-actions {
  grid-template-columns:
    repeat(
      auto-fit,
      minmax(
        min(
          100%,
          calc(var(--ds-width-navigation-item) + var(--ds-space-8))
        ),
        1fr
      )
    );
  align-items: stretch;
}

.ad-dog-composer-actions > .ui-button {
  height: 100%;
  min-height: calc(
    var(--ds-control-height-comfortable) + var(--ds-space-4)
  );
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: normal;
}

.ad-dog-composer-label {
  min-width: 0;
  overflow-wrap: normal;
  text-align: center;
}

.ad-dog-module-tabs {
  display: flex;
  gap: var(--ds-gap-control);
  overflow-x: auto;
  scroll-padding-inline: var(--ds-space-2);
  padding-block: var(--ds-space-1);
}

.ad-dog-module-tab.ui-button {
  flex: 0 0 min(80%, var(--ds-width-navigation-entry));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ds-space-2);
  min-width: 0;
  min-height: var(--ds-control-height-comfortable);
  text-align: center;
}

.ad-dog-module-tab > span {
  min-width: 0;
  overflow-wrap: anywhere;
  text-align: center;
  white-space: normal;
}

.ad-dog-module-entry {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  min-width: 0;
  gap: var(--ds-gap-card);
  scroll-margin-top: var(--ds-space-6);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  padding: var(--ds-space-4);
  background: var(--ds-color-surface);
  color: var(--ds-color-ink);
  box-shadow: var(--ds-shadow-none);
}

.ad-dog-module-entry > [data-semantic-symbol] {
  grid-column: 1;
  align-self: center;
}

.ad-dog-module-entry > strong {
  grid-column: 2;
  align-self: center;
}

.ad-dog-module-entry > :not([data-semantic-symbol]):not(strong) {
  grid-column: 1 / -1;
}

.ad-dog-module-entry.is-active {
  border-color: var(--ds-color-brand);
  background: var(--ds-color-selected);
}

.ad-dog-module-entry:focus-visible {
  outline: var(--ds-focus-outline-width) solid var(--ds-color-focus);
  outline-offset: var(--ds-focus-outline-offset);
}

.ad-dog-module-entry > p,
.ad-dog-module-entry > strong {
  margin: 0;
}

.ad-dog-module-entry > ul,
.ad-dog-followups > ul {
  display: grid;
  gap: var(--ds-gap-control);
  margin: 0;
  padding: 0;
  list-style: none;
}

.ad-dog-module-entry > ul > li,
.ad-dog-followups > ul > li {
  display: grid;
  min-width: 0;
  gap: var(--ds-space-1);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-control-md);
  padding: var(--ds-space-3);
  background: var(--ds-color-surface-soft);
}

.ad-dog-module-wide {
  grid-column: 1 / -1;
}

.ad-dog-module-action.ui-button {
  width: auto;
  min-width: var(--ds-control-height-comfortable);
  min-height: auto;
  justify-self: start;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: var(--ds-space-1);
  border-color: transparent;
  padding: 0;
  background: transparent;
  color: var(--ds-color-ink);
  box-shadow: var(--ds-shadow-none);
  font-size: var(--ds-type-body-sm-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-body-sm-line);
  text-align: center;
  white-space: normal;
}

.ad-dog-module-action.ui-button > [data-semantic-symbol] {
  box-sizing: content-box;
  padding: var(--ds-space-3);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-control-md);
  background: var(--ds-color-surface);
  color: var(--ds-color-brand-strong);
}

.ad-dog-compact-actions {
  grid-template-columns:
    repeat(
      auto-fit,
      minmax(var(--ds-control-height-comfortable), max-content)
    );
  align-items: start;
  justify-content: start;
}

.ad-dog-compact-actions > .ui-button {
  width: auto;
  height: auto;
  min-width: var(--ds-control-height-comfortable);
  min-height: auto;
}

.ad-dog-quick-form,
.ad-dog-draft-form {
  display: grid;
  grid-template-columns:
    repeat(
      auto-fit,
      minmax(min(100%, var(--ds-width-navigation-entry)), 1fr)
    );
  gap: var(--ds-gap-card);
  min-width: 0;
}

.ad-dog-quick-form label,
.ad-dog-draft-form label {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-control);
  color: var(--ds-color-ink);
  font-size: var(--ds-type-label-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-label-line);
}

.ad-dog-wide,
.ad-dog-quick-form > [data-form-status],
.ad-dog-quick-form > .form-submit-control,
.ad-dog-draft-actions {
  grid-column: 1 / -1;
}

.ad-dog-reminder-form {
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  padding: var(--ds-space-4);
  background: var(--ds-color-surface-soft);
}

.ad-dog-form-intro {
  display: grid;
  gap: var(--ds-space-1);
}

.ad-dog-form-intro p {
  margin: 0;
  color: var(--ds-color-muted);
}

.ad-dog-preset-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-gap-control);
}

.ad-dog-preset-control.ui-button {
  flex: 1 1 var(--ds-width-navigation-entry);
}

.ad-dog-disclosure-control.ui-button {
  width: 100%;
  justify-content: flex-start;
}

.ad-dog-disclosure-fields {
  display: grid;
  grid-template-columns:
    repeat(
      auto-fit,
      minmax(min(100%, var(--ds-width-navigation-entry)), 1fr)
    );
  gap: var(--ds-gap-control);
}

.ad-dog-compact-placeholder {
  grid-template-columns: auto minmax(0, 1fr);
  padding: var(--ds-space-4);
  text-align: start;
}

.ad-dog-compact-placeholder .ui-content-state__actions {
  grid-column: 1 / -1;
}

.ad-dog-checkin-summary.ui-button {
  width: 100%;
  min-width: 0;
  justify-content: flex-start;
  text-align: start;
}

.ad-dog-checkin-summary > span,
.ad-dog-checkin-details {
  display: grid;
  min-width: 0;
  gap: var(--ds-space-1);
}

.ad-dog-checkin-summary small,
.ad-dog-checkin-details p {
  margin: 0;
  overflow-wrap: anywhere;
}

.ad-dog-checkin-details {
  gap: var(--ds-gap-card);
}

.ad-dog-subheading {
  padding-top: var(--ds-space-2);
}

.ad-dog-followup-item {
  grid-template-columns:
    minmax(var(--ds-width-navigation-item), auto)
    minmax(0, 1fr);
}

.ad-dog-followup-date {
  display: grid;
  gap: var(--ds-space-1);
  border-radius: var(--ds-radius-control-sm);
  padding: var(--ds-space-2);
  background: var(--ds-color-selected);
  color: var(--ds-color-brand-strong);
}

.ad-dog-followup-item .ad-dog-reminder-actions {
  grid-column: 1 / -1;
}

.ad-dog-overview-grid {
  display: grid;
  grid-template-columns:
    repeat(
      auto-fit,
      minmax(min(100%, var(--ds-width-navigation-entry)), 1fr)
    );
  gap: var(--ds-gap-control);
}

.ad-dog-overview-grid p {
  display: grid;
  gap: var(--ds-space-1);
  margin: 0;
  border-radius: var(--ds-radius-control-md);
  padding: var(--ds-space-3);
  background: var(--ds-color-surface-soft);
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/account-dogs-refinement.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Focused refinement for the dog-panel module cards.
 * Keeps the Pulpit quick-action pattern as the visual reference.
 */

.ad-dog-module-entry {
  align-content: start;
}

.ad-dog-module-entry > strong {
  font-size: var(--ds-type-heading-sm-size);
  line-height: var(--ds-type-heading-sm-line);
}

.ad-dog-module-entry > p {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-md-size);
  line-height: var(--ds-type-body-md-line);
}

.ad-dog-module-action.ui-button {
  width: 100%;
  min-width: 0;
  justify-self: stretch;
  gap: var(--ds-space-2);
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  font-weight: 500;
  line-height: var(--ds-type-body-sm-line);
}

.ad-dog-module-action.ui-button > [data-semantic-symbol] {
  border-radius: var(--ds-radius-circle);
}

.ad-dog-compact-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ds-space-4);
}

.ad-dog-compact-actions > .ui-button {
  width: 100%;
  min-width: 0;
  justify-self: stretch;
}

.ad-dog-history-filters {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--ds-space-4) var(--ds-space-2);
  align-items: start;
}

.ad-dog-history-filter.ui-button {
  width: 100%;
  height: auto;
  min-width: 0;
  min-height: auto;
  flex-direction: column;
  gap: var(--ds-space-2);
  border-color: transparent;
  padding: 0;
  background: transparent;
  color: var(--ds-color-muted);
  box-shadow: var(--ds-shadow-none);
  font-size: var(--ds-type-body-sm-size);
  font-weight: 500;
  line-height: var(--ds-type-body-sm-line);
  text-align: center;
  white-space: normal;
}

.ad-dog-history-filter.ui-button > [data-semantic-symbol] {
  box-sizing: content-box;
  padding: var(--ds-space-3);
  border: var(--ds-border-width) solid var(--ds-color-border-strong);
  border-radius: var(--ds-radius-circle);
  background: var(--ds-color-surface);
  color: var(--ds-color-ink);
}

.ad-dog-history-filter.ui-button[data-selected="true"] {
  background: transparent;
  color: var(--ds-color-brand-strong);
}

.ad-dog-history-filter.ui-button[data-selected="true"] > [data-semantic-symbol] {
  border-color: var(--ds-color-brand);
  background: var(--ds-color-brand);
  color: var(--ds-color-surface);
}

.ad-dog-history-filter.ui-button:not([data-selected="true"])::after {
  content: attr(aria-label);
  min-width: 0;
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  font-weight: 500;
  line-height: var(--ds-type-body-sm-line);
  overflow-wrap: anywhere;
}

.ad-dog-compact-placeholder {
  gap: var(--ds-space-3);
  padding-block: var(--ds-space-3);
}

.ad-dog-compact-placeholder .ui-content-state__title {
  font-size: var(--ds-type-body-md-size);
  line-height: var(--ds-type-body-md-line);
}

.ad-dog-compact-placeholder .ui-content-state__description {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

/*
 * Mobile module contract:
 * - Pulpit remains the reference,
 * - actions stay above lists and empty states,
 * - module descriptions do not repeat the tab name,
 * - icon controls use one compact label rhythm,
 * - History stays readable in a stable 3 x 2 grid.
 */
body .ad-dog-module-entry.ad-dog-module-entry:not(.ad-dog-overview) > p {
  display: none;
}

body .ad-dog-module-entry.ad-dog-module-entry:focus-visible {
  outline: none;
}

body .ad-dog-overview.ad-dog-overview > .ad-dog-quick-actions {
  grid-column: 1 / -1;
  grid-row: 2;
  margin-block-end: var(--ds-space-2);
}

body .ad-dog-module-entry.ad-dog-module-entry:not(.ad-dog-overview)
  > .ad-dog-compact-actions.ad-dog-compact-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: var(--ds-gap-control);
}

body .ad-dog-module-entry.ad-dog-module-entry:not(.ad-dog-overview)
  > .ad-dog-module-action.ui-button.ui-button,
body .ad-dog-module-entry.ad-dog-module-entry:not(.ad-dog-overview)
  > .ad-dog-compact-actions
  > .ad-dog-module-action.ui-button.ui-button {
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: auto;
  flex-direction: column;
  align-items: center;
  justify-content: start;
  gap: var(--ds-space-1);
  border-color: transparent;
  padding: 0;
  background: transparent;
  color: var(--ds-color-muted);
  box-shadow: var(--ds-shadow-none);
  font-size: 0;
  font-weight: 400;
  line-height: 0;
  text-align: center;
  white-space: normal;
}

body .ad-dog-module-entry.ad-dog-module-entry:not(.ad-dog-overview)
  > .ad-dog-module-action.ui-button.ui-button
  > [data-semantic-symbol],
body .ad-dog-module-entry.ad-dog-module-entry:not(.ad-dog-overview)
  > .ad-dog-compact-actions
  > .ad-dog-module-action.ui-button.ui-button
  > [data-semantic-symbol] {
  box-sizing: border-box;
  width: var(--ds-control-size-icon);
  height: var(--ds-control-size-icon);
  padding: var(--ds-space-3);
  border: var(--ds-border-width) solid var(--ds-color-border-strong);
  border-radius: var(--ds-radius-circle);
  background: var(--ds-color-surface);
  color: var(--ds-color-brand-strong);
}

body .ad-dog-module-entry.ad-dog-module-entry:not(.ad-dog-overview)
  > .ad-dog-module-action.ui-button.ui-button::after,
body .ad-dog-module-entry.ad-dog-module-entry:not(.ad-dog-overview)
  > .ad-dog-compact-actions
  > .ad-dog-module-action.ui-button.ui-button::after {
  display: block;
  min-width: 0;
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  font-weight: 400;
  line-height: var(--ds-type-body-sm-line);
  overflow-wrap: normal;
  white-space: nowrap;
}

body .ad-dog-module-entry:has(> [data-semantic-symbol="dog-health"])
  > .ad-dog-module-action.ui-button::after {
  content: "Notatka";
}

body .ad-dog-module-entry:has(> [data-semantic-symbol="dog-vaccinations"])
  > .ad-dog-compact-actions
  > .ad-dog-module-action.ui-button:first-child::after {
  content: "Termin";
}

body .ad-dog-module-entry:has(> [data-semantic-symbol="dog-vaccinations"])
  > .ad-dog-compact-actions
  > .ad-dog-module-action.ui-button:last-child::after {
  content: "Wykonane";
}

body .ad-dog-module-entry:has(> [data-semantic-symbol="dog-visits"])
  > .ad-dog-compact-actions
  > .ad-dog-module-action.ui-button:first-child::after {
  content: "Termin";
}

body .ad-dog-module-entry:has(> [data-semantic-symbol="dog-visits"])
  > .ad-dog-compact-actions
  > .ad-dog-module-action.ui-button:last-child::after {
  content: "Wizyta";
}

body .ad-dog-module-entry:has(> [data-semantic-symbol="dog-shopping"])
  > .ad-dog-compact-actions
  > .ad-dog-module-action.ui-button:first-child::after {
  content: "Termin";
}

body .ad-dog-module-entry:has(> [data-semantic-symbol="dog-shopping"])
  > .ad-dog-compact-actions
  > .ad-dog-module-action.ui-button:last-child::after {
  content: "Zakup";
}

body .ad-dog-module-entry:has(> [data-semantic-symbol="dog-places"])
  > .ad-dog-module-action.ui-button::after {
  content: "Aktywność";
}

body .ad-dog-history-filters.ad-dog-history-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: var(--ds-space-4) var(--ds-space-2);
}

body .ad-dog-history-filters.ad-dog-history-filters
  > .ad-dog-history-filter.ui-button.ui-button,
body .ad-dog-history-filters.ad-dog-history-filters
  > .ad-dog-history-filter.ui-button.ui-button.ui-button--icon {
  width: 100%;
  max-width: none;
  min-width: 0;
  height: auto;
  min-height: auto;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--ds-space-1);
  border-color: transparent;
  padding: 0;
  background: transparent;
  box-shadow: var(--ds-shadow-none);
  font-size: var(--ds-type-body-sm-size);
  font-weight: 400;
  line-height: var(--ds-type-body-sm-line);
  text-align: center;
  white-space: normal;
}

body .ad-dog-history-filters.ad-dog-history-filters
  > .ad-dog-history-filter.ui-button.ui-button::after {
  font-size: var(--ds-type-body-sm-size);
  font-weight: 400;
  line-height: var(--ds-type-body-sm-line);
  white-space: normal;
}

@media (max-width: 479px) {
  .ad-dog-guidance-links {
    grid-template-columns: minmax(0, 1fr);
  }

  .ad-dog-module-entry {
    gap: var(--ds-space-3);
  }

  body .ad-dog-module-entry.ad-dog-module-entry:not(.ad-dog-overview)
    > .ad-dog-compact-actions.ad-dog-compact-actions {
    gap: var(--ds-space-3);
  }
}

/*
 * P4W-8105: compact the authenticated dog panel after the shared protected
 * navigation landed. Keep the shared top navigation and global BottomNav
 * untouched; the final obstruction is owned by the authenticated panel root.
 */
@media (max-width: 479px) {
  body [data-dog-prefetch] {
    gap: var(--ds-gap-card);
  }

  body [data-dog-prefetch] > .ad-dog-dashboard {
    padding-bottom: 0;
  }

  body [data-dog-prefetch] .ad-dog-family-header {
    gap: var(--ds-space-2);
  }

  body [data-dog-prefetch] .ad-dog-module-tabs {
    gap: var(--ds-space-1);
  }

  body .ui-screen-shell[aria-labelledby="activities-heading"] > :last-child {
    padding-block-start: var(--ds-space-2);
  }

  body .ui-screen-shell[aria-labelledby="activities-heading"]
    .ui-stack[data-gap="section"] {
    gap: var(--ds-space-3);
  }

  body .ui-screen-shell[aria-labelledby="activities-heading"]
    section > .ui-stack[data-gap="card"],
  body .ui-screen-shell[aria-labelledby="activities-heading"]
    section > .ui-stack[data-gap="card"] > .ui-stack[data-gap="card"] {
    gap: var(--ds-space-3);
  }

  body .ui-screen-shell[aria-labelledby="account-panel-heading"]
    .ui-page-section[data-gap="page"] {
    gap: var(--ds-gap-section);
  }

  body .ui-screen-shell[aria-labelledby="account-panel-heading"]
    .ui-page-section[data-gap="page"] > section {
    gap: var(--ds-space-3);
    padding-block: var(--ds-space-3);
  }

  body .ui-screen-shell[aria-labelledby="account-panel-heading"]
    .ui-page-section[data-gap="page"] > section > form {
    gap: var(--ds-space-3);
  }

  body .ui-screen-shell[aria-labelledby="account-panel-heading"]
    .ui-page-section[data-gap="page"] > section > form > div {
    gap: var(--ds-space-3);
  }

  body [data-dog-prefetch] .ad-dog-profile[data-card-surface="selected"] {
    border-color: var(--ds-color-border);
    background: var(--ds-color-surface);
  }

  body [data-dog-prefetch]
    .ad-dog-profile-control.ui-button.ui-button[data-selected="true"] {
    border-color: transparent;
    background: transparent;
    box-shadow: var(--ds-shadow-none);
  }

  body [data-dog-prefetch]
    .ad-dog-profile-heading
    > .ui-status-badge {
    min-height: var(--ds-space-5);
    padding: 0 var(--ds-space-2);
    font-size: var(--ds-type-eyebrow-size);
    line-height: var(--ds-type-eyebrow-line);
  }
}

/*!*************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/professional-system.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************/
/*
 * P4P-555 — basic PRO screens on the canonical MVP design system.
 * This module only composes semantic tokens and shared primitives.
 */
.pro-ui-kicker {
  margin: 0;
  color: var(--ds-color-muted);
  font-size: var(--ds-type-eyebrow-size);
  font-weight: var(--ds-type-eyebrow-weight);
  line-height: var(--ds-type-eyebrow-line);
  letter-spacing: var(--ds-type-eyebrow-tracking);
  text-transform: uppercase;
}

.pro-ui-form {
  display: grid;
  width: min(100%, var(--ds-width-form));
  min-width: 0;
  gap: var(--ds-gap-section);
  padding: var(--ds-space-6);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-md);
  background: var(--ds-color-surface);
  box-shadow: var(--ds-shadow-raised);
}

.pro-ui-section,
.pro-ui-results,
.pro-ui-empty,
.pro-ui-card-list {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-card);
}

.pro-ui-entry {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-section);
  outline: none;
}

.pro-ui-entry-surface {
  min-block-size: min(60dvh, var(--ds-width-form));
  align-content: start;
}

.pro-ui-entry:focus-visible {
  outline: var(--ds-focus-ring);
  outline-offset: var(--ds-focus-outline-offset);
}

.pro-ui-entry-state {
  min-block-size: inherit;
  align-content: center;
}

.pro-ui-entry__preload[data-ready="false"] {
  display: none;
}

.pro-ui-entry__preload[data-ready="true"] {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-section);
}

.pro-ui-shell-nav {
  display: flex;
  align-items: center;
  gap: var(--ds-gap-control);
  min-width: 0;
  overflow-x: auto;
  padding: var(--ds-space-2);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-surface-soft);
  scrollbar-width: thin;
}

.pro-ui-shell-nav__label {
  flex: 0 0 auto;
  margin-inline-end: var(--ds-space-2);
  color: var(--ds-color-muted);
  font-size: var(--ds-type-eyebrow-size);
  font-weight: var(--ds-type-eyebrow-weight);
  line-height: var(--ds-type-eyebrow-line);
  letter-spacing: var(--ds-type-eyebrow-tracking);
  text-transform: uppercase;
}

.pro-ui-shell-nav__group {
  display: flex;
  align-items: center;
  gap: var(--ds-gap-control);
  min-width: 0;
  flex: 0 0 auto;
  padding-inline-start: var(--ds-space-2);
  border-inline-start: var(--ds-border-width) solid var(--ds-color-border);
}

.pro-ui-shell-nav__group .pro-ui-shell-nav__label {
  margin-inline-end: 0;
}

.pro-ui-shell-nav__link {
  flex: 0 0 auto;
  white-space: nowrap;
}

.pro-ui-shell-section {
  min-width: 0;
  scroll-margin-block-start: var(--ds-space-6);
}

.pro-ui-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: var(--ds-gap-card);
}

.pro-ui-identity {
  display: grid;
  inline-size: var(--ds-control-size-icon);
  aspect-ratio: 1;
  place-items: center;
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-control-lg);
  background: var(--ds-color-surface-soft);
  color: var(--ds-color-ink);
}

.pro-ui-profession-picker {
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  justify-content: start;
  overflow-x: auto;
  padding-block: var(--ds-space-2);
  scrollbar-width: thin;
}

.pro-ui-profession-chip {
  white-space: nowrap;
}

.pro-ui-profile-context,
.pro-ui-profile-groups,
.pro-ui-profile-list {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-control);
}

.pro-ui-profile-context {
  grid-template-columns:
    repeat(auto-fit, minmax(min(100%, var(--ds-width-navigation-entry)), 1fr));
}

.pro-ui-profile-context > div,
.pro-ui-profile-list-item {
  min-width: 0;
  padding: var(--ds-space-3);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-surface-soft);
}

.pro-ui-profile-context > div {
  display: grid;
  align-content: start;
  gap: var(--ds-space-1);
}

.pro-ui-profile-context strong {
  overflow-wrap: anywhere;
}

.pro-ui-profile-directory,
.pro-ui-profile-groups > section {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-control);
}

.pro-ui-profile-group-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--ds-gap-control);
}

.pro-ui-profile-list-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--ds-gap-control);
  flex-wrap: wrap;
}

.pro-ui-profile-list-item[data-active="true"] {
  background: var(--ds-color-surface);
}

.pro-ui-profile-list-item__identity {
  display: flex;
  align-items: flex-start;
  gap: var(--ds-gap-control);
  min-width: 0;
}

.pro-ui-profile-list-item__identity > div {
  display: grid;
  min-width: 0;
  gap: var(--ds-space-1);
}

.pro-ui-profile-list-item__identity span {
  overflow-wrap: anywhere;
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.pro-ui-step-list,
.pro-ui-grid,
.pro-ui-metrics {
  display: grid;
  grid-template-columns:
    repeat(auto-fit, minmax(min(100%, var(--ds-width-navigation-entry)), 1fr));
  gap: var(--ds-gap-card);
  min-width: 0;
}

.pro-ui-step-list,
.pro-ui-metrics {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pro-ui-step-list > *,
.pro-ui-metrics > *,
.pro-ui-focus-card,
.pro-ui-card-list > article {
  min-width: 0;
  padding: var(--ds-space-4);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-surface-soft);
}

.pro-ui-focus-card {
  display: grid;
  gap: var(--ds-gap-card);
}

.pro-ui-claim-filters,
.pro-ui-claim-requests,
.pro-ui-claim-decision {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-control);
}

.pro-ui-claim-filters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--ds-gap-control);
  padding-block: var(--ds-space-2);
  border-block: var(--ds-border-width) solid var(--ds-color-border);
}

.pro-ui-claim-decision {
  grid-template-columns:
    repeat(auto-fit, minmax(min(100%, var(--ds-width-navigation-entry)), 1fr));
  padding: var(--ds-space-3);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-surface-soft);
}

.pro-ui-claim-decision > div {
  display: grid;
  min-width: 0;
  gap: var(--ds-space-1);
}

.pro-ui-offer-context,
.pro-ui-offer-bulk-copy,
.pro-ui-offer-save-state,
.pro-ui-offer-summary {
  min-width: 0;
}

.pro-ui-offer-context,
.pro-ui-offer-bulk-copy,
.pro-ui-offer-save-state {
  padding: var(--ds-space-3);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-surface-soft);
}

.pro-ui-offer-bulk-copy,
.pro-ui-offer-save-state {
  display: grid;
  gap: var(--ds-space-2);
}

.pro-ui-offer-bulk-copy p,
.pro-ui-offer-save-state small,
.pro-ui-offer-summary {
  margin: 0;
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.pro-ui-offer-save-state[data-offer-save-state="dirty"] {
  border-color: var(--ds-color-caution);
  background: var(--ds-color-caution-soft);
}

.pro-ui-place-view,
.pro-ui-place-list,
.pro-ui-place-card,
.pro-ui-mobile-area {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-card);
}

.pro-ui-place-card {
  padding: var(--ds-space-4);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-surface-soft);
}

.pro-ui-place-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--ds-gap-control);
  min-width: 0;
  flex-wrap: wrap;
}

.pro-ui-place-card__header > div {
  display: grid;
  min-width: 0;
  gap: var(--ds-space-1);
}

.pro-ui-place-card__header strong,
.pro-ui-place-card__location {
  overflow-wrap: anywhere;
}

.pro-ui-place-card__location {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.pro-ui-actions,
.pro-ui-section-heading,
.pro-ui-category-preview {
  display: flex;
  align-items: center;
  gap: var(--ds-gap-control);
}

.pro-ui-actions {
  flex-wrap: wrap;
}

.pro-ui-section-heading {
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}

.pro-ui-section-heading > div,
.pro-ui-section-heading h2,
.pro-ui-section-heading p {
  min-width: 0;
  overflow-wrap: anywhere;
}

.pro-ui-category-preview {
  width: fit-content;
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.pro-ui-choice-grid {
  display: grid;
  grid-template-columns:
    repeat(auto-fit, minmax(min(100%, var(--ds-width-navigation-entry)), 1fr));
  gap: var(--ds-gap-control);
}

.pro-ui-results:focus-visible {
  outline: var(--ds-focus-ring);
  outline-offset: var(--ds-focus-outline-offset);
}

.pro-ui-note {
  margin: 0;
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.pro-ui-previsit-content,
.pro-ui-previsit-form,
.pro-ui-previsit-create,
.pro-ui-previsit-list,
.pro-ui-previsit-item,
.pro-ui-previsit-answers {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-control);
}

.pro-ui-previsit-form,
.pro-ui-previsit-create {
  gap: var(--ds-gap-card);
}

.pro-ui-previsit-group {
  min-width: 0;
  padding: var(--ds-space-4);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-surface-soft);
}

.pro-ui-previsit-link {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.pro-ui-previsit-item {
  padding: var(--ds-space-4);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-surface-soft);
}

.breeder-filter-form,
.breeder-form-grid {
  display: grid;
  grid-template-columns:
    repeat(auto-fit, minmax(min(100%, var(--ds-width-navigation-entry)), 1fr));
  gap: var(--ds-gap-card);
  min-width: 0;
}

.breeder-filter-form {
  gap: var(--ds-gap-control);
  padding: var(--ds-space-4);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-surface-soft);
}

.breeder-filter-form > .ui-screen-actions {
  justify-content: flex-start;
  align-items: center;
}

.breeder-filter-context {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.breeder-form-wide,
.breeder-filter-form > .ui-screen-actions {
  grid-column: 1 / -1;
}

.breeder-photo-placeholder {
  display: grid;
  gap: var(--ds-gap-control);
  padding: var(--ds-space-4);
  border: var(--ds-border-width) solid var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-surface-soft);
}

.breeder-photo-placeholder span {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.breeder-list,
.breeder-benefit-list {
  margin: 0;
}

.breeder-list {
  padding: 0;
  list-style: none;
}

.breeder-empty-state .ui-content-state__actions {
  justify-content: center;
}

.breeder-benefit-list {
  display: grid;
  gap: var(--ds-gap-control);
  padding-inline-start: var(--ds-space-5);
}

.breeder-qr {
  display: grid;
  justify-items: center;
  gap: var(--ds-gap-control);
  margin: 0;
}

.breeder-qr canvas {
  display: block;
  inline-size: min(100%, var(--ds-width-mobile-preview));
  block-size: auto;
  image-rendering: pixelated;
}

.breeder-qr figcaption,
.breeder-invite-url {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.breeder-invite-url {
  overflow-wrap: anywhere;
}

@media (max-width: 480px) {
  .breeder-directory-header .ui-screen-header__eyebrow,
  .breeder-directory-header .ui-screen-header__actions {
    margin-block-start: var(--ds-space-6);
  }

  .breeder-filter-form {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--ds-space-3);
    padding: var(--ds-space-3);
  }

  .breeder-filter-form > .ui-screen-actions {
    justify-content: center;
  }

  .breeder-no-results-state .ui-content-state__actions {
    justify-content: center;
  }
}

@media print {
  body:has(.breeder-print-list[data-print-target]) * {
    visibility: hidden;
  }

  .breeder-print-list[data-print-target],
  .breeder-print-list[data-print-target] .breeder-print-card,
  .breeder-print-list[data-print-target] .breeder-print-card * {
    visibility: visible;
  }

  .breeder-print-list[data-print-target] {
    display: block;
  }

  .breeder-print-card {
    position: relative;
    inline-size: 100%;
    border: 0;
    box-shadow: var(--ds-shadow-none);
    break-after: page;
  }

  .breeder-print-card:last-child,
  .breeder-print-card--hidden {
    break-after: auto;
  }

  .breeder-print-card--hidden,
  .breeder-print-toolbar,
  .breeder-print-card .ui-form-actions {
    display: none !important;
  }
}

/*!************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/admin-panel-system.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************/
.protected-panel-shell {
  display: grid;
  grid-template-columns: 184px minmax(0, 1fr);
  grid-template-areas:
    "rail header"
    "rail body";
  column-gap: var(--space-4);
  align-items: start;
}

.protected-panel-shell > .ui-screen-context {
  grid-area: rail;
  align-self: start;
  position: sticky;
  top: var(--space-4);
  z-index: 2;
  min-width: 0;
  max-height: calc(100vh - (2 * var(--space-4)));
  overflow-y: auto;
}

.protected-panel-shell > .ui-screen-header {
  grid-area: header;
  min-width: 0;
}

.protected-panel-shell > .ui-screen-body {
  grid-area: body;
  min-width: 0;
}

.protected-panel-navigation {
  display: flex;
  width: 176px;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-1);
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: none;
}

.protected-panel-navigation--hub.ui-navigation-hub {
  gap: var(--space-1);
  padding: 6px;
  box-shadow: none;
}

.protected-panel-navigation--hub .ui-navigation-heading {
  display: none;
}

.protected-panel-navigation--hub .ui-navigation-items {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  overflow: visible;
  padding: 0;
}

.protected-panel-navigation .ui-navigation-entry.ui-button {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 54px;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 6px 4px;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  color: var(--muted);
  background: transparent;
  text-decoration: none;
  text-align: center;
  box-shadow: none;
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    color 160ms ease;
}

.protected-panel-navigation .ui-navigation-entry.ui-button:hover {
  border-color: transparent;
  background: var(--color-neutral-50);
  color: var(--ink);
}

.protected-panel-navigation .ui-navigation-entry.ui-button:focus-visible,
.admin-dashboard__metric-link:focus-visible {
  outline: 3px solid var(--shell-focus-ring);
  outline-offset: 2px;
}

.protected-panel-navigation .ui-navigation-entry.ui-button[data-selected="true"] {
  border-color: transparent;
  background: var(--brand-soft);
  color: var(--brand-dark);
}

.protected-panel-navigation .ui-navigation-entry__label {
  display: block;
  max-width: 100%;
  color: inherit;
  font-size: 0.66rem;
  font-weight: 750;
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.admin-dashboard__metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: var(--space-3);
}

.admin-dashboard__metric-link {
  min-width: 0;
  color: inherit;
  text-decoration: none;
  border-radius: var(--radius-lg);
}

.admin-dashboard__metric-link:hover .admin-dashboard__metric {
  border-color: var(--brand);
}

.admin-dashboard__metric {
  min-height: 116px;
  transition: border-color 160ms ease;
}

.admin-dashboard__metric-value {
  color: var(--ink);
  font-size: clamp(1.65rem, 3vw, 2.15rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
}

.admin-dashboard__metric-label {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.admin-dashboard__metric-heading,
.admin-metric-list__row-heading,
.admin-metric-list__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.admin-metric-list__toolbar > :first-child {
  flex: 1 1 320px;
}

.admin-metric-list__counter,
.admin-metric-list__notice {
  color: var(--muted);
  font-size: 0.78rem;
}

.admin-metric-list__rows {
  display: grid;
  gap: var(--space-3);
}

.admin-metric-list__details {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--space-2) var(--space-4);
  margin: 0;
}

.admin-metric-list__details > div {
  min-width: 0;
}

.admin-metric-list__details dt {
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 700;
}

.admin-metric-list__details dd {
  margin: 2px 0 0;
  overflow-wrap: anywhere;
  font-size: 0.82rem;
}

.admin-dashboard__metric-action {
  color: var(--brand-dark);
  font-size: 0.78rem;
  font-weight: 750;
}

.admin-seo-crawler__config,
.admin-seo-crawler__filters,
.admin-seo-crawler__summary,
.admin-seo-crawler__sources {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--space-3);
}

.admin-seo-crawler__summary {
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
}

.admin-seo-crawler__url {
  overflow-wrap: anywhere;
}

.admin-seo-crawler__table {
  min-width: 980px;
}

.admin-seo-crawler__table th,
.admin-seo-crawler__table td {
  vertical-align: top;
}

@media (max-width: 767px) {
  .protected-panel-shell,
  .admin-workspace-shell,
  .moderator-workspace-shell,
  .operational-workspace-shell {
    display: block;
  }

  .protected-panel-shell > .ui-screen-context {
    position: static;
    max-height: none;
    overflow: visible;
    margin-bottom: var(--space-3);
  }

  .protected-panel-navigation {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    flex-direction: row;
    align-items: flex-start;
    gap: 3px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 4px;
    scrollbar-width: none;
  }

  .protected-panel-navigation::-webkit-scrollbar,
  .protected-panel-navigation .ui-navigation-items::-webkit-scrollbar {
    display: none;
  }

  .protected-panel-navigation--hub.ui-navigation-hub {
    display: block;
    padding: 4px;
    overflow: hidden;
  }

  .protected-panel-navigation--hub .ui-navigation-items {
    display: flex;
    flex-direction: row;
    gap: 3px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }

  .protected-panel-navigation .ui-navigation-entry.ui-button {
    width: 62px;
    min-width: 62px;
    min-height: 50px;
    flex: 0 0 62px;
    gap: 2px;
    padding: 5px 2px;
  }

  .protected-panel-navigation .ui-navigation-entry__label {
    max-width: 58px;
    font-size: 0.56rem;
    line-height: 1.04;
  }

  .admin-dashboard__metrics {
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
  }

  .admin-metric-list__toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-metric-list__toolbar > :first-child {
    flex-basis: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .protected-panel-navigation .ui-navigation-entry.ui-button,
  .admin-dashboard__metric {
    transition: none;
  }
}

/*!*************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/illustration-system.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Versioned product illustrations.
 * Geometry and color live in validated SVG assets; layout remains token based.
 */

.product-illustration {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
}


.ui-content-state--illustrated {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  text-align: center;
}

.ui-content-state__illustration {
  width: min(100%, 280px);
}

.ui-content-state--illustrated .ui-content-state__copy {
  justify-items: center;
}

.ui-content-state--illustrated .ui-content-state__actions {
  grid-column: auto;
  justify-content: center;
}

.ad-dog-empty-profile-header {
  display: grid;
  min-width: 0;
  gap: var(--ds-gap-card);
  align-items: center;
}

.ad-dog-empty-profile-illustration {
  width: min(100%, 360px);
  justify-self: center;
}

@media (min-width: 720px) {
  .ad-dog-empty-profile-header {
    grid-template-columns: minmax(0, 4fr) minmax(240px, 5fr);
  }
}

@media (forced-colors: active) {
  .product-illustration,
  .ui-content-state__illustration {
    display: none;
  }

  .ad-dog-empty-profile-header {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .product-illustration {
    animation: none;
    transition: none;
  }
}


/*!***********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/pwa-update-mobile.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************/
.ui-brand-symbol {
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
}

.ui-pwa-update-dot {
  position: absolute;
  top: -1px;
  right: -2px;
  width: 8px;
  height: 8px;
  box-sizing: content-box;
  border: 2px solid var(--ds-color-surface);
  border-radius: var(--ds-radius-circle);
  background: var(--color-danger-600);
  opacity: 0;
  pointer-events: none;
}

html[data-pwa-update-ready="true"] .ui-pwa-update-dot {
  opacity: 1;
}

@media (forced-colors: active) {
  .ui-pwa-update-dot {
    border-color: Canvas;
    background: CanvasText;
  }
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[3]!./components/ui/layer-feedback.module.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************/
.layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-update"] {
  right: max(var(--ds-space-4), var(--ds-safe-right));
  left: max(var(--ds-space-4), var(--ds-safe-left));
  width: min(calc(100% - var(--ds-space-8)), var(--ds-width-form));
}

.layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-install"] {
  top: auto;
  bottom: max(var(--ds-bottom-obstruction), var(--ds-safe-bottom));
  width: min(calc(100% - var(--ds-space-6)), var(--ds-width-system-banner));
}

.layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-install"] .ui-system-banner {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "content dismiss"
    "actions actions";
  align-items: start;
  gap: var(--ds-space-3);
  padding: var(--ds-space-4);
  border-color: var(--ds-color-border);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-overlay);
  box-shadow: var(--ds-shadow-floating);
}

.layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-install"] .ui-system-banner__media {
  display: none;
}

.layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-install"] .ui-system-banner__content {
  grid-area: content;
  gap: var(--ds-space-2);
  padding-block: var(--ds-space-1);
}

.layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-install"] .ui-system-banner__content > strong {
  color: var(--ds-color-ink);
  font-size: var(--ds-type-body-lg-size);
  font-weight: var(--ds-type-heading-weight);
  line-height: var(--ds-type-body-lg-line);
  letter-spacing: var(--ds-type-heading-tracking);
}

.layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-install"] .ui-system-banner__description {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-md-size);
  line-height: var(--ds-type-body-md-line);
}

.layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-install"] .ui-disclosure {
  border-block: 0;
}

.layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-install"] .ui-disclosure__summary {
  min-height: var(--ds-control-height-comfortable);
  padding-inline: var(--ds-space-3);
  border-radius: var(--ds-radius-control-md);
  background: var(--ds-color-brand-soft);
  color: var(--ds-color-brand-strong);
  font-size: var(--ds-type-label-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-label-line);
  transition: var(--ds-transition-interactive);
}

.layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-install"] .ui-disclosure__summary:hover {
  background: color-mix(in srgb, var(--ds-color-brand-soft) 78%, var(--ds-color-surface));
}

.layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-install"] .ui-disclosure__content {
  padding: var(--ds-space-3) var(--ds-space-1) 0;
}

.layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-install"] .ui-system-banner__actions {
  grid-area: actions;
  justify-content: flex-start;
  padding-top: var(--ds-space-1);
}

.layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-install"] .ui-system-banner__actions .ui-button[data-emphasis="outline"] {
  border-color: transparent;
  background: transparent;
  color: var(--ds-color-muted);
  box-shadow: none;
}

.layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-install"] .ui-system-banner > .ui-button:last-child {
  grid-area: dismiss;
  align-self: start;
  margin: calc(0px - var(--ds-space-2)) calc(0px - var(--ds-space-2)) 0 0;
}

@media (max-width: 480px) {
  .layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-install"] .ui-system-banner {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-install"] .ui-system-banner__actions {
    grid-column: auto;
  }
}

@media (min-width: 768px) {
  .layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-update"] {
    right: max(var(--ds-space-6), var(--ds-safe-right));
    left: max(var(--ds-space-6), var(--ds-safe-left));
    width: min(calc(100% - var(--ds-space-12)), var(--ds-width-content));
  }
}

@media (prefers-reduced-motion: reduce) {
  .layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-install"] .ui-disclosure__summary {
    transition: none;
  }
}

@media (forced-colors: active) {
  .layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-install"] .ui-disclosure__summary,
  .layer-feedback_systemBannerRegion__QQ_2Z[data-active-notice="pwa-install"] .ui-system-banner__actions .ui-button[data-emphasis="outline"] {
    border: var(--ds-border-width) solid ButtonText;
    background: Canvas;
    color: CanvasText;
    forced-color-adjust: auto;
  }
}

/*!************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[3]!./components/entry-announcement.module.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************/
.entry-announcement_layer__pbWNV {
  padding:
    max(var(--ds-space-4), var(--ds-safe-top))
    max(var(--ds-space-4), var(--ds-safe-right))
    max(var(--ds-space-4), var(--ds-safe-bottom))
    max(var(--ds-space-4), var(--ds-safe-left));
}

.entry-announcement_panel__hRhP_ {
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
  width: min(100%, var(--ds-width-content));
  min-height: min(700px, calc(100dvh - var(--ds-space-8)));
  max-height: calc(
    100dvh - max(var(--ds-space-4), var(--ds-safe-top)) -
      max(var(--ds-space-4), var(--ds-safe-bottom))
  );
  overflow: auto;
  border-color: color-mix(in srgb, var(--ds-color-brand) 20%, var(--ds-color-border));
  background: var(--ds-color-overlay);
}

.entry-announcement_content__j4mE2 {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: var(--ds-space-6);
  padding: clamp(var(--ds-space-8), 5vw, var(--ds-space-16));
}

.entry-announcement_logo__d0XRP {
  width: min(180px, 48vw);
  height: auto;
}

.entry-announcement_eyebrow__UGCKF {
  width: fit-content;
  padding: var(--ds-space-2) var(--ds-space-4);
  border-radius: var(--ds-radius-pill);
  background: var(--ds-color-brand-soft);
  color: var(--ds-color-brand-strong);
  font-size: var(--ds-type-label-size);
  font-weight: var(--ds-type-label-weight);
  line-height: var(--ds-type-label-line);
}

.entry-announcement_copy__Zwio6 {
  display: grid;
  gap: var(--ds-space-4);
  max-width: var(--ds-width-prose);
}

.entry-announcement_copy__Zwio6 h2 {
  margin: 0;
  color: var(--ds-color-ink);
  font-size: clamp(2.25rem, 4vw, 3.75rem);
  font-weight: var(--ds-type-heading-weight);
  line-height: var(--ds-type-display-line);
  letter-spacing: var(--ds-type-heading-tracking);
  text-wrap: balance;
}

.entry-announcement_copy__Zwio6 h2 span {
  color: var(--ds-color-brand);
}

.entry-announcement_copy__Zwio6 p {
  margin: 0;
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-lg-size);
  line-height: var(--ds-type-body-lg-line);
}

.entry-announcement_invitation__uvHwR {
  display: grid;
  gap: var(--ds-space-1);
  max-width: var(--ds-width-prose);
  padding: var(--ds-space-4);
  border: var(--ds-border-width) solid
    color-mix(in srgb, var(--ds-color-brand) 28%, var(--ds-color-border));
  border-radius: var(--ds-radius-card-sm);
  background: color-mix(in srgb, var(--ds-color-brand-soft) 55%, var(--ds-color-overlay));
  color: var(--ds-color-brand-strong);
}

.entry-announcement_invitation__uvHwR span {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.entry-announcement_actions__T_JiB {
  display: grid;
  width: fit-content;
  max-width: 100%;
  gap: var(--ds-space-3);
}

.entry-announcement_actions__T_JiB small {
  color: var(--ds-color-muted);
  font-size: var(--ds-type-body-sm-size);
  line-height: var(--ds-type-body-sm-line);
}

.entry-announcement_visual__s1XUO {
  position: relative;
  display: grid;
  min-width: 0;
  place-items: center;
  align-content: center;
  gap: var(--ds-space-6);
  overflow: hidden;
  padding: var(--ds-space-10);
  background:
    radial-gradient(circle at 80% 14%, rgb(255 255 255 / 82%) 0 8%, transparent 9%),
    radial-gradient(circle at 18% 80%, rgb(255 255 255 / 60%) 0 10%, transparent 11%),
    linear-gradient(145deg, var(--ds-color-brand-soft), #e7d9ff 52%, #f8f5ff);
}

.entry-announcement_visual__s1XUO::before,
.entry-announcement_visual__s1XUO::after {
  position: absolute;
  width: 180px;
  height: 180px;
  border: 2px dashed color-mix(in srgb, var(--ds-color-brand) 28%, transparent);
  border-radius: var(--ds-radius-circle);
  content: "";
}

.entry-announcement_visual__s1XUO::before {
  top: -90px;
  right: -50px;
}

.entry-announcement_visual__s1XUO::after {
  bottom: -100px;
  left: -70px;
}

.entry-announcement_visualCopy__8Ulgd {
  position: relative;
  z-index: 1;
  justify-self: end;
  color: var(--ds-color-brand-strong);
  font-size: var(--ds-type-body-lg-size);
  font-weight: var(--ds-type-label-weight);
  transform: rotate(-4deg);
}

.entry-announcement_imageFrame__va_6x {
  position: relative;
  z-index: 1;
  width: min(100%, 380px);
  overflow: hidden;
  border: var(--ds-border-width) solid rgb(255 255 255 / 70%);
  border-radius: var(--ds-radius-circle);
  box-shadow: var(--ds-shadow-overlay);
}

.entry-announcement_imageFrame__va_6x img {
  display: block;
  width: 100%;
  height: auto;
}

.entry-announcement_visualNote__vo1tE {
  position: relative;
  z-index: 2;
  max-width: 280px;
  margin-top: calc(0px - var(--ds-space-10));
  padding: var(--ds-space-3) var(--ds-space-5);
  border-radius: var(--ds-radius-card-sm);
  background: var(--ds-color-brand);
  color: var(--ds-color-overlay);
  font-size: var(--ds-type-body-lg-size);
  font-weight: var(--ds-type-label-weight);
  line-height: 1.25;
  text-align: center;
  transform: rotate(-3deg);
  box-shadow: var(--ds-shadow-floating);
}

.entry-announcement_close__y7mrt {
  position: absolute;
  z-index: 4;
  top: max(var(--ds-space-4), var(--ds-safe-top));
  right: max(var(--ds-space-4), var(--ds-safe-right));
  background: color-mix(in srgb, var(--ds-color-overlay) 88%, transparent);
  box-shadow: var(--ds-shadow-raised);
}

@media (max-width: 840px) {
  .entry-announcement_layer__pbWNV {
    padding: 0;
  }

  .entry-announcement_panel__hRhP_ {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    min-height: 100dvh;
    max-height: 100dvh;
    border: 0;
    border-radius: 0;
  }

  .entry-announcement_content__j4mE2 {
    gap: var(--ds-space-4);
    padding:
      max(var(--ds-space-6), var(--ds-safe-top))
      max(var(--ds-space-5), var(--ds-safe-right))
      var(--ds-space-8)
      max(var(--ds-space-5), var(--ds-safe-left));
  }

  .entry-announcement_copy__Zwio6 h2 {
    font-size: clamp(2rem, 9vw, 3rem);
  }

  .entry-announcement_visual__s1XUO {
    min-height: 300px;
    padding:
      var(--ds-space-8)
      max(var(--ds-space-5), var(--ds-safe-right))
      max(var(--ds-space-10), var(--ds-safe-bottom))
      max(var(--ds-space-5), var(--ds-safe-left));
  }

  .entry-announcement_imageFrame__va_6x {
    width: min(66vw, 240px);
  }

  .entry-announcement_visualCopy__8Ulgd {
    justify-self: center;
  }

  .entry-announcement_visualNote__vo1tE {
    max-width: 240px;
    margin-top: calc(0px - var(--ds-space-8));
    font-size: var(--ds-type-body-md-size);
  }

  .entry-announcement_close__y7mrt {
    position: fixed;
  }
}

@media (max-width: 480px) {
  .entry-announcement_actions__T_JiB,
  .entry-announcement_actions__T_JiB > button {
    width: 100%;
  }
}

@media (orientation: landscape) and (max-height: 600px) {
  .entry-announcement_panel__hRhP_ {
    min-height: 100dvh;
  }

  .entry-announcement_visual__s1XUO {
    min-height: 240px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .entry-announcement_visualCopy__8Ulgd,
  .entry-announcement_visualNote__vo1tE {
    transform: none;
  }
}

@media (forced-colors: active) {
  .entry-announcement_panel__hRhP_,
  .entry-announcement_invitation__uvHwR,
  .entry-announcement_visual__s1XUO,
  .entry-announcement_visualNote__vo1tE,
  .entry-announcement_close__y7mrt {
    border-color: ButtonText;
    background: Canvas;
    color: CanvasText;
    box-shadow: none;
    forced-color-adjust: auto;
  }

  .entry-announcement_copy__Zwio6 h2 span {
    color: Highlight;
  }
}

