/* Passeport Auto — feuille de styles publique, chargée directement par Blade. */
/*! Base utilitaire générée antérieurement avec Tailwind CSS v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-divide-x-reverse: 0;
      --tw-border-style: solid;
      --tw-divide-y-reverse: 0;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-duration: initial;
      --tw-ease: initial;
    }
  }
}

.passport-activation-page {
    min-height: calc(100dvh - 69px);
    display: grid;
    place-items: center;
    padding: 2rem 1rem;
}

.passport-activation-card {
    width: min(100%, 720px);
    display: grid;
    gap: 1rem;
    padding: 1.25rem;
    border: 1px solid rgba(181, 138, 50, .28);
    border-radius: 22px;
    background: #f7f3eb;
    color: #172433;
    box-shadow: 14px 14px 32px rgba(50, 44, 33, .14), -10px -10px 26px rgba(255, 255, 255, .78);
}

.passport-activation-card > header h1 {
    margin: .25rem 0;
    font-size: clamp(1.5rem, 4vw, 2rem);
}

.passport-activation-card > header p:last-child {
    margin: 0;
    color: #735f42;
}

.passport-activation-section {
    min-width: 0;
    margin: 0;
    padding: 1rem;
    border: 1px solid rgba(107, 84, 45, .16);
    border-radius: 16px;
    background: rgba(255, 252, 246, .72);
}

.passport-activation-section legend {
    padding: 0 .35rem;
    font-weight: 800;
}

.passport-activation-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
}

.passport-activation-fields label {
    display: grid;
    min-width: 0;
    gap: .35rem;
    font-size: .8rem;
    font-weight: 700;
}

.passport-activation-fields label.is-wide {
    grid-column: 1 / -1;
}

.passport-activation-fields small {
    color: #a22f38;
    font-weight: 600;
}

.passport-activation-submit {
    justify-self: end;
    min-width: 220px;
}

@media (max-width: 600px) {
    .passport-activation-page { padding: 1rem .65rem; }
    .passport-activation-card { padding: .9rem; border-radius: 18px; }
    .passport-activation-section { padding: .8rem; }
    .passport-activation-fields { grid-template-columns: 1fr; }
    .passport-activation-fields label.is-wide { grid-column: auto; }
    .passport-activation-submit { width: 100%; min-width: 0; }
}

@layer theme {
  :root, :host {
    --font-sans: "Instrument Sans", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
        "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-red-400: oklch(70.4% .191 22.216);
    --color-red-700: oklch(50.5% .213 27.518);
    --color-amber-200: oklch(92.4% .12 95.746);
    --color-amber-300: oklch(87.9% .169 91.605);
    --color-amber-500: oklch(76.9% .188 70.08);
    --color-amber-600: oklch(66.6% .179 58.318);
    --color-amber-800: oklch(47.3% .137 46.201);
    --color-amber-900: oklch(41.4% .112 45.904);
    --color-amber-950: oklch(27.9% .077 45.635);
    --color-emerald-200: oklch(90.5% .093 164.15);
    --color-emerald-400: oklch(76.5% .177 163.223);
    --color-emerald-500: oklch(69.6% .17 162.48);
    --color-emerald-600: oklch(59.6% .145 163.225);
    --color-emerald-900: oklch(37.8% .077 168.94);
    --color-blue-100: oklch(93.2% .032 255.585);
    --color-blue-300: oklch(80.9% .105 251.813);
    --color-blue-500: oklch(62.3% .214 259.815);
    --color-blue-600: oklch(54.6% .245 262.881);
    --color-blue-700: oklch(48.8% .243 264.376);
    --color-blue-800: oklch(42.4% .199 265.638);
    --color-blue-900: oklch(37.9% .146 265.522);
    --color-blue-950: oklch(28.2% .091 267.935);
    --color-rose-100: oklch(94.1% .03 12.58);
    --color-rose-200: oklch(89.2% .058 10.001);
    --color-rose-500: oklch(64.5% .246 16.439);
    --color-rose-600: oklch(58.6% .253 17.585);
    --color-rose-900: oklch(41% .159 10.272);
    --color-rose-950: oklch(27.1% .105 12.094);
    --color-gray-100: oklch(96.7% .003 264.542);
    --color-gray-200: oklch(92.8% .006 264.531);
    --color-gray-300: oklch(87.2% .01 258.338);
    --color-gray-400: oklch(70.7% .022 261.325);
    --color-gray-500: oklch(55.1% .027 264.364);
    --color-gray-600: oklch(44.6% .03 256.802);
    --color-gray-700: oklch(37.3% .034 259.733);
    --color-gray-800: oklch(27.8% .033 256.848);
    --color-gray-900: oklch(21% .034 264.665);
    --color-neutral-50: oklch(98.5% 0 none);
    --color-neutral-100: oklch(97% 0 none);
    --color-neutral-200: oklch(92.2% 0 none);
    --color-neutral-300: oklch(87% 0 none);
    --color-neutral-400: oklch(70.8% 0 none);
    --color-neutral-500: oklch(55.6% 0 none);
    --color-neutral-600: oklch(43.9% 0 none);
    --color-neutral-700: oklch(37.1% 0 none);
    --color-neutral-800: oklch(26.9% 0 none);
    --color-neutral-900: oklch(20.5% 0 none);
    --color-neutral-950: oklch(14.5% 0 none);
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-sm: 24rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-6xl: 72rem;
    --container-7xl: 80rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;
    --font-weight-light: 300;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-tight: -.025em;
    --tracking-wider: .05em;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

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

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

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

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

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

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

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

  b, strong {
    font-weight: bolder;
  }

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

  small {
    font-size: 80%;
  }

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

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

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

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

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

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

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

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

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

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

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

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

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

  ::placeholder {
    opacity: 1;
  }

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

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

  textarea {
    resize: vertical;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@layer components {
  .neu-page {
    min-height: 100dvh;
    padding-bottom: env(safe-area-inset-bottom);
    background: radial-gradient(circle at 88% 8%, #ffffffc7, transparent 26rem), linear-gradient(145deg, #f0f1f2 0%, var(--pa-bg) 58%, #dde0e3 100%);
  }

  .neu-header {
    z-index: 40;
    padding-top: env(safe-area-inset-top);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    background: #e7e8eae0;
    border-bottom: 1px solid #ffffffbf;
    position: sticky;
    top: 0;
    box-shadow: 0 10px 26px #9da3ab3d;
  }

  .header-language {
    background: linear-gradient(145deg, #fff, #e5e6e8);
    border: 1px solid #ffffffd6;
    box-shadow: 5px 5px 11px #c0c3c7, -5px -5px 11px #fff, inset 1px 1px 2px #ffffff14;
  }

  .header-login-button {
    color: #fff;
    background: linear-gradient(145deg, #242528, #0d0e10);
    border: 1px solid #b58a3257;
    border-radius: .75rem;
    justify-content: center;
    align-items: center;
    transition: transform .15s, color .15s;
    display: inline-flex;
    box-shadow: 5px 5px 11px #bec1c5, -5px -5px 11px #fff, inset 1px 1px 1px #ffffff1f;
  }

  .header-login-button:hover {
    color: #dfc373;
    transform: translateY(-1px);
  }

  .neu-logo {
    background: linear-gradient(145deg, var(--pa-gold-light), var(--pa-gold));
    color: #263442;
    border: 1px solid #ffffffa6;
    border-radius: .9rem;
    place-items: center;
    width: 3.2rem;
    height: 3.2rem;
    font-size: 1rem;
    font-weight: 900;
    display: grid;
    overflow: hidden;
    box-shadow: 6px 6px 13px #bdc0c4, -6px -6px 13px #fff, inset 1px 1px 2px #ffffff8c;
  }

  .neu-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0;
    transform: scale(1.22);
  }

  .landing-brand-logo {
    display: block;
    margin-top: 1rem;
    width: min(19rem, 72vw);
    filter: drop-shadow(0 12px 20px #17181626);
  }

  .neu-surface {
    box-shadow: 18px 18px 38px var(--pa-shadow), -18px -18px 38px var(--pa-highlight);
    background: linear-gradient(145deg, #f1f2f3, #d9dbde);
    border: 1px solid #ffffffb8;
    border-radius: 1.75rem;
  }

  .neu-card {
    background: linear-gradient(145deg, #f1f2f3, #d9dbde);
    border: 1px solid #ffffffc7;
    border-radius: 1.4rem;
    transition: transform .18s, box-shadow .18s;
    position: relative;
    overflow: hidden;
    box-shadow: 11px 11px 23px #c3c6ca, -11px -11px 23px #fff;
  }

  .neu-card:hover {
    transform: translateY(-3px);
    box-shadow: 15px 15px 28px #bec1c5, -15px -15px 28px #fff;
  }

  .neu-inset {
    background: #e5e7e9;
    border: 1px solid #ffffff85;
    box-shadow: inset 6px 6px 12px #c4c7cb, inset -6px -6px 12px #fff;
  }

  .neu-input {
    width: 100%;
    color: var(--pa-text);
    background: #e5e7e9;
    border: 1px solid #ffffffa6;
    border-radius: .9rem;
    outline: none;
    font-size: 1rem;
    transition: box-shadow .16s, border-color .16s;
    box-shadow: inset 5px 5px 10px #c4c7cb, inset -5px -5px 10px #fff;
  }

  .neu-input:focus {
    border-color: #19558f8c;
    box-shadow: inset 4px 4px 9px #c4c7cb, inset -4px -4px 9px #fff, 0 0 0 3px #19558f24;
  }

  .neu-button-blue {
    background: linear-gradient(145deg, var(--pa-gold-light), var(--pa-gold));
    color: #17191c;
    border: 1px solid #ffffff3d;
    border-radius: .8rem;
    transition: transform .15s, box-shadow .15s;
    box-shadow: 7px 7px 14px #bec1c5, -7px -7px 14px #fff, inset 1px 1px 1px #ffffff4d;
  }

  .neu-button-blue:hover {
    transform: translateY(-1px);
    box-shadow: 9px 9px 17px #b9bdc1, -9px -9px 17px #fff, inset 1px 1px 1px #ffffff4d;
  }

  .neu-button-blue:active {
    transform: translateY(1px);
    box-shadow: inset 4px 4px 8px #85651f, inset -3px -3px 7px #e4ca7f;
  }

  .neu-button-light {
    color: var(--pa-blue);
    background: linear-gradient(145deg, #f3f4f5, #d8dadd);
    border: 1px solid #ffffffb8;
    border-radius: .8rem;
    transition: transform .15s, box-shadow .15s;
    box-shadow: 6px 6px 13px #c0c3c7, -6px -6px 13px #fff;
  }

  .neu-button-light:hover {
    color: var(--pa-blue-light);
    transform: translateY(-1px);
  }

  .neu-kicker {
    color: var(--pa-gold);
    text-shadow: 1px 1px #ffffffb3;
  }

  .neu-icon-well {
    width: 2.75rem;
    height: 2.75rem;
    color: var(--pa-blue);
    border-radius: .85rem;
    place-items: center;
    display: grid;
  }

  .neu-menu > summary {
    list-style: none;
  }

  .neu-menu > summary::-webkit-details-marker {
    display: none;
  }

  .neu-menu-trigger {
    cursor: pointer;
    background: linear-gradient(145deg, #f3f4f5, #d8dadd);
    border: 1px solid #ffffffb8;
    border-radius: .8rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: .25rem;
    width: 2.75rem;
    height: 2.75rem;
    display: flex;
    box-shadow: 5px 5px 11px #c0c3c7, -5px -5px 11px #fff;
  }

  .neu-menu-trigger span {
    background: var(--pa-gold);
    border-radius: 999px;
    width: 1.15rem;
    height: 2px;
    transition: transform .16s, opacity .16s;
  }

  .neu-menu[open] .neu-menu-trigger span:first-child {
    transform: translateY(6px) rotate(45deg);
  }

  .neu-menu[open] .neu-menu-trigger span:nth-child(2) {
    opacity: 0;
  }

  .neu-menu[open] .neu-menu-trigger span:last-child {
    transform: translateY(-6px) rotate(-45deg);
  }

  .neu-menu-panel {
    z-index: 60;
    background: #e7e8ea;
    border: 1px solid #ffffffc7;
    border-radius: 1rem;
    width: 13rem;
    padding: .45rem;
    position: absolute;
    top: calc(100% + .75rem);
    right: 0;
    overflow: hidden;
    box-shadow: 12px 12px 26px #b9bdc2, -8px -8px 22px #fff;
  }

  .neu-menu-item {
    min-height: 2.75rem;
    color: var(--pa-text);
    text-align: left;
    border-radius: .7rem;
    align-items: center;
    gap: .7rem;
    padding: .65rem .8rem;
    font-size: .875rem;
    font-weight: 600;
    transition: background .14s, color .14s;
    display: flex;
  }

  .neu-menu-item:hover, .neu-menu-item:focus-visible {
    color: #8b6a27;
    background: #fff9;
    outline: none;
  }

  .neu-menu-item svg {
    width: 1.2rem;
    height: 1.2rem;
    color: var(--pa-gold);
    flex: none;
  }

  .auth-card {
    color: #fff;
    background: linear-gradient(145deg, #202124, #0c0d0f);
    border: 1px solid #b58a327a;
    border-radius: 1.25rem;
    box-shadow: 16px 16px 32px #bec1c5, -12px -12px 26px #fff, inset 1px 1px 1px #dfc37329;
  }

  .auth-card .auth-muted {
    color: #d6d8db;
  }

  .auth-card .auth-input {
    color: #fff;
    background: #17181a;
    border-color: #b58a324d;
    box-shadow: inset 5px 5px 10px #08090a, inset -5px -5px 10px #292b2f;
  }

  .auth-card .auth-input::placeholder {
    color: #8f949a;
  }

  .auth-card .auth-input:focus {
    border-color: #dfc373b8;
    box-shadow: inset 4px 4px 9px #08090a, inset -4px -4px 9px #292b2f, 0 0 0 3px #b58a322e;
  }

  .auth-card input[type="password"]::-ms-reveal {
    display: none;
  }

  .auth-card input[type="password"]::-ms-clear {
    display: none;
  }

  .password-toggle {
    color: #fff;
    transition: color .14s, transform .14s;
  }

  .password-toggle:hover, .password-toggle:focus-visible {
    color: #dfc373;
    outline: none;
  }

  .password-toggle:active {
    transform: scale(.92);
  }

  .password-toggle svg {
    width: 1.2rem;
    height: 1.2rem;
  }

  .auth-card .auth-link, .login-card {
    color: #fff;
  }

  .login-card .auth-muted {
    color: #d6d8db;
  }

  .login-card .auth-link, .login-card .auth-google-button, .login-card .auth-input {
    color: #fff;
  }

  .login-card .auth-input::placeholder {
    color: #8f949a;
  }

  .auth-card .neu-button-blue {
    box-shadow: 5px 5px 11px #070809, -4px -4px 10px #2b2d31, inset 1px 1px 1px #ffffff47;
  }

  .auth-card .neu-button-blue:hover {
    box-shadow: 7px 7px 13px #060708, -5px -5px 12px #2e3034, inset 1px 1px 1px #ffffff47;
  }

  .auth-google-button {
    cursor: pointer;
    color: #dfc373;
    background: linear-gradient(145deg, #232529, #111214);
    border: 1px solid #b58a326b;
    border-radius: .8rem;
    justify-content: center;
    align-items: center;
    gap: .6rem;
    display: flex;
    box-shadow: 5px 5px 11px #070809, -4px -4px 10px #2b2d31;
    transition: color .15s ease, background .15s ease, transform .15s ease, box-shadow .15s ease;
  }

  .auth-google-button:not(:disabled):hover {
    color: #101113;
    background: linear-gradient(145deg, #dfc373, #bd8f35);
    transform: translateY(-1px);
  }

  .auth-google-button:not(:disabled):active {
    transform: translateY(1px);
    box-shadow: inset 3px 3px 7px #85651f, inset -2px -2px 6px #e4ca7f;
  }

  .auth-google-button:disabled {
    cursor: not-allowed;
    opacity: .82;
  }

  .auth-google-button svg {
    flex: none;
    width: 1.15rem;
    height: 1.15rem;
  }

  .auth-provider-form {
    margin-bottom: .75rem;
  }

  .auth-provider-separator {
    color: #b9bcc1;
    align-items: center;
    gap: .65rem;
    margin: 0 0 .75rem;
    font-size: .68rem;
    display: flex;
  }

  .auth-provider-separator::before,
  .auth-provider-separator::after {
    content: "";
    background: #b58a3242;
    flex: 1;
    height: 1px;
  }

  .auth-provider-feedback {
    color: #ffd1d1;
    background: #a43f3f24;
    border: 1px solid #d96a6a59;
    border-radius: .7rem;
    margin-bottom: .75rem;
    padding: .55rem .7rem;
    font-size: .72rem;
    line-height: 1.4;
  }

  .neu-menu-trigger.header-menu-trigger {
    background: linear-gradient(145deg, #242528, #0d0e10);
    border-color: #b58a3257;
    box-shadow: 5px 5px 11px #c0c3c7, -5px -5px 11px #fff, inset 1px 1px 1px #ffffff1a;
  }

  .dashboard-body {
    background: var(--pa-color-canvas);
    min-width: 20rem;
    min-height: 100dvh;
    color: var(--pa-color-text-strong);
    overflow-x: hidden;
  }

  .dashboard-body :where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid var(--pa-color-focus);
    outline-offset: 2px;
  }

  .dashboard-body :where(button, input, select, textarea):disabled, .dashboard-body [aria-disabled="true"] {
    cursor: not-allowed;
    opacity: .5;
  }

  .dashboard-skip-link {
    z-index: 100;
    border-radius: var(--pa-radius-sm);
    background: var(--pa-color-gold-400);
    color: var(--pa-color-charcoal-950);
    transition: transform var(--pa-transition-fast);
    padding: .7rem 1rem;
    font-size: .875rem;
    font-weight: 700;
    position: fixed;
    top: .75rem;
    left: .75rem;
    transform: translateY(-180%);
  }

  .dashboard-skip-link:focus {
    transform: translateY(0);
  }

  .dashboard-shell {
    min-height: 100dvh;
  }

  .dashboard-sidebar {
    z-index: 70;
    width: min(var(--pa-sidebar-width), calc(100vw - 2.75rem));
    background: radial-gradient(circle at 8% 0%, #d0ad661a, transparent 17rem), linear-gradient(165deg, var(--pa-color-charcoal-800), var(--pa-color-charcoal-950));
    box-shadow: var(--pa-shadow-raised);
    color: #f7f3e9;
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
    border-right: 1px solid #d0ad6638;
    flex-direction: column;
    transition: transform .22s;
    display: flex;
    position: fixed;
    inset: 0 auto 0 0;
    overflow-y: auto;
    transform: translateX(-105%);
  }

  .dashboard-shell[data-sidebar-open="true"] .dashboard-sidebar {
    transform: translateX(0);
  }

  .dashboard-sidebar-header {
    min-height: var(--pa-header-height);
    border-bottom: 1px solid var(--pa-color-border-dark);
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    padding: .75rem 1rem .75rem 1.25rem;
    display: flex;
  }

  .dashboard-brand {
    color: #f8f5ee;
    letter-spacing: -.01em;
    align-items: center;
    gap: .75rem;
    font-size: .95rem;
    font-weight: 600;
    display: inline-flex;
  }

  .dashboard-brand strong {
    color: var(--pa-color-gold-400);
    font-weight: 750;
  }

  .dashboard-brand-mark {
    background: linear-gradient(145deg, var(--pa-color-gold-400), var(--pa-color-gold-600));
    width: 3.1rem;
    height: 3.1rem;
    color: var(--pa-color-charcoal-950);
    border: 1px solid #ffffff24;
    border-radius: .8rem;
    flex: none;
    place-items: center;
    font-size: .82rem;
    font-weight: 900;
    display: grid;
    overflow: hidden;
    box-shadow: 4px 4px 10px #00000042, inset 1px 1px 1px #ffffff5c;
  }

  .dashboard-brand-mark img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0;
    transform: scale(1.24);
  }

  .dashboard-sidebar-close, .dashboard-icon-button {
    cursor: pointer;
    border-radius: var(--pa-radius-sm);
    min-width: 2.75rem;
    min-height: 2.75rem;
    transition: background-color var(--pa-transition-fast), color var(--pa-transition-fast), transform var(--pa-transition-fast), border-color var(--pa-transition-fast);
    place-items: center;
    display: inline-grid;
  }

  .dashboard-sidebar-close {
    border: 1px solid var(--pa-color-border-dark);
    color: #ddd8cc;
  }

  .dashboard-sidebar-close:hover {
    color: var(--pa-color-gold-400);
    background: #ffffff14;
  }

  .dashboard-sidebar-close svg, .dashboard-icon-button svg {
    width: 1.3rem;
    height: 1.3rem;
  }

  .dashboard-sidebar-nav {
    flex: 1;
    padding: 1.35rem .85rem;
  }

  .dashboard-sidebar-label {
    color: #ffffff6b;
    letter-spacing: .16em;
    text-transform: uppercase;
    margin: 0 .65rem .7rem;
    font-size: .68rem;
    font-weight: 700;
  }

  .dashboard-nav-item {
    border-radius: var(--pa-radius-sm);
    color: #ffffffb3;
    min-height: 3rem;
    transition: background-color var(--pa-transition-fast), color var(--pa-transition-fast), border-color var(--pa-transition-fast), transform var(--pa-transition-fast);
    border: 1px solid #0000;
    align-items: center;
    gap: .8rem;
    margin-top: .3rem;
    padding: .7rem .85rem;
    font-size: .9rem;
    font-weight: 600;
    display: flex;
    position: relative;
  }

  .dashboard-nav-item:hover {
    color: #fff;
    background: #ffffff0d;
    border-color: #ffffff12;
    transform: translateX(2px);
  }

  .dashboard-nav-item.is-active {
    color: var(--pa-color-gold-400);
    background: linear-gradient(105deg, #b58b4233, #b58b420d);
    border-color: #d0ad6633;
    box-shadow: inset 1px 1px #ffffff0d;
  }

  .dashboard-nav-item.is-active:before {
    background: var(--pa-color-gold-400);
    content: "";
    border-radius: 0 999px 999px 0;
    width: 3px;
    position: absolute;
    top: .72rem;
    bottom: .72rem;
    left: -.85rem;
  }

  .dashboard-nav-item svg {
    flex: none;
    width: 1.25rem;
    height: 1.25rem;
  }

  .dashboard-sidebar-footer {
    border: 1px solid var(--pa-color-border-dark);
    border-radius: var(--pa-radius-md);
    background: #ffffff0a;
    align-items: center;
    gap: .7rem;
    margin: .85rem;
    padding: .85rem;
    display: flex;
  }

  .dashboard-sidebar-footer p {
    color: #ffffff7a;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .68rem;
  }

  .dashboard-sidebar-footer span:not(.dashboard-role-dot) {
    color: #f5f1e8;
    margin-top: .1rem;
    font-size: .82rem;
    font-weight: 600;
    display: block;
  }

  .dashboard-role-dot {
    background: var(--pa-color-gold-400);
    border-radius: 999px;
    flex: none;
    width: .55rem;
    height: .55rem;
    box-shadow: 0 0 0 4px #d0ad661c;
  }

  .dashboard-overlay {
    z-index: 60;
    visibility: hidden;
    cursor: default;
    opacity: 0;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    background: #10110f8f;
    transition: opacity .22s, visibility .22s;
    position: fixed;
    inset: 0;
  }

  .dashboard-shell[data-sidebar-open="true"] .dashboard-overlay {
    visibility: visible;
    opacity: 1;
  }

  .dashboard-workspace {
    min-width: 0;
    min-height: 100dvh;
  }

  .dashboard-topbar {
    z-index: 50;
    min-height: calc(var(--pa-header-height) + env(safe-area-inset-top));
    border-bottom: 1px solid var(--pa-color-border);
    padding: calc(.65rem + env(safe-area-inset-top)) var(--pa-space-page) .65rem;
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    background: #faf8f3e0;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    display: flex;
    position: sticky;
    top: 0;
    box-shadow: 0 7px 20px #3c362b0f;
  }

  .dashboard-topbar-leading, .dashboard-topbar-actions {
    align-items: center;
    min-width: 0;
    display: flex;
  }

  .dashboard-topbar-leading {
    gap: .75rem;
  }

  .dashboard-topbar-actions {
    flex: none;
    gap: .5rem;
    margin-left: auto;
  }

  .dashboard-title-wrap {
    min-width: 0;
  }

  .dashboard-context-label {
    color: var(--pa-color-gold-600);
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: .64rem;
    font-weight: 750;
    line-height: 1;
  }

  .dashboard-page-title {
    color: var(--pa-color-text-strong);
    letter-spacing: -.02em;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: .25rem;
    font-size: clamp(1rem, 2.2vw, 1.25rem);
    font-weight: 750;
    line-height: 1.2;
    overflow: hidden;
  }

  .dashboard-icon-button {
    border: 1px solid var(--pa-color-border);
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    color: var(--pa-color-charcoal-700);
    position: relative;
    box-shadow: 3px 3px 8px #433b2f17, -3px -3px 8px #ffffffbf;
  }

  .dashboard-icon-button:hover {
    color: var(--pa-color-gold-600);
    border-color: #b58b423d;
    transform: translateY(-1px);
  }

  .dashboard-language {
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-sm);
    background: var(--pa-color-surface-soft);
    padding: .2rem;
    display: flex;
    box-shadow: inset 2px 2px 5px #4741361a, inset -2px -2px 5px #ffffffc2;
  }

  .dashboard-language-option {
    cursor: pointer;
    min-width: 2.25rem;
    min-height: 2.25rem;
    color: var(--pa-color-text-muted);
    transition: background-color var(--pa-transition-fast), color var(--pa-transition-fast), box-shadow var(--pa-transition-fast);
    border-radius: .55rem;
    place-items: center;
    font-size: .7rem;
    font-weight: 800;
    display: grid;
  }

  .dashboard-language-option:hover {
    color: var(--pa-color-charcoal-950);
  }

  .dashboard-language-option.is-active {
    background: var(--pa-color-charcoal-950);
    color: var(--pa-color-gold-400);
    box-shadow: 0 3px 8px #10110f38;
  }

  .dashboard-popover {
    position: relative;
  }

  .dashboard-popover > summary {
    list-style: none;
  }

  .dashboard-popover > summary::-webkit-details-marker {
    display: none;
  }

  .dashboard-popover[open] > summary {
    color: var(--pa-color-gold-600);
    border-color: #b58b4252;
  }

  .dashboard-notification-count {
    border: 2px solid var(--pa-color-surface);
    background: var(--pa-color-gold-500);
    min-width: 1.15rem;
    min-height: 1.15rem;
    color: var(--pa-color-charcoal-950);
    border-radius: 999px;
    place-items: center;
    font-size: .62rem;
    font-weight: 900;
    line-height: 1;
    position: absolute;
    top: -.2rem;
    right: -.2rem;
  }

  .dashboard-notification-count:not([hidden]) {
    display: grid;
  }

  .dashboard-popover-panel {
    z-index: 80;
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-lg);
    background: var(--pa-color-surface-raised);
    width: min(21rem, 100vw - 2rem);
    box-shadow: var(--pa-shadow-raised);
    color: var(--pa-color-text-strong);
    position: absolute;
    top: calc(100% + .75rem);
    right: 0;
    overflow: hidden;
  }

  .dashboard-popover-heading {
    border-bottom: 1px solid var(--pa-color-border);
    padding: 1rem 1.1rem;
  }

  .dashboard-popover-heading h2 {
    font-size: .95rem;
    font-weight: 750;
  }

  .dashboard-empty-notifications {
    text-align: center;
    flex-direction: column;
    align-items: center;
    padding: 1.8rem 1.25rem;
    display: flex;
  }

  .dashboard-empty-notifications strong {
    margin-top: .75rem;
    font-size: .9rem;
  }

  .dashboard-empty-notifications p {
    max-width: 16rem;
    color: var(--pa-color-text-muted);
    margin-top: .35rem;
    font-size: .8rem;
    line-height: 1.5;
  }

  .dashboard-empty-icon {
    background: var(--pa-color-surface-soft);
    width: 2.75rem;
    height: 2.75rem;
    box-shadow: var(--pa-shadow-soft);
    color: var(--pa-color-gold-600);
    border-radius: 999px;
    place-items: center;
    display: grid;
  }

  .dashboard-empty-icon svg {
    width: 1.25rem;
    height: 1.25rem;
  }

  .dashboard-account-panel {
    width: min(18rem, 100vw - 2rem);
    padding: .45rem;
  }

  .dashboard-account-identity {
    border-bottom: 1px solid var(--pa-color-border);
    flex-direction: column;
    margin: 0 .35rem .35rem;
    padding: .75rem .45rem .9rem;
    display: flex;
  }

  .dashboard-account-identity strong {
    font-size: .88rem;
  }

  .dashboard-account-identity span {
    color: var(--pa-color-text-muted);
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: .1rem;
    font-size: .75rem;
    overflow: hidden;
  }

  .dashboard-popover-link {
    width: 100%;
    min-height: 2.75rem;
    color: var(--pa-color-text-strong);
    text-align: left;
    transition: background-color var(--pa-transition-fast), color var(--pa-transition-fast);
    border-radius: .75rem;
    align-items: center;
    gap: .7rem;
    padding: .65rem .75rem;
    font-size: .84rem;
    font-weight: 650;
    display: flex;
  }

  .dashboard-popover-link:hover {
    background: var(--pa-color-surface-soft);
    color: var(--pa-color-gold-600);
  }

  .dashboard-popover-link svg {
    flex: none;
    width: 1.15rem;
    height: 1.15rem;
  }

  .dashboard-main {
    min-height: calc(100vh - var(--pa-header-height));
    min-height: calc(100dvh - var(--pa-header-height));
    background: radial-gradient(circle at 100% 0%, #d0ad660f, transparent 24rem), var(--pa-color-canvas);
  }

  .dashboard-page {
    width: min(100%, 86rem);
    padding: clamp(1.4rem, 4vw, 3rem) var(--pa-space-page);
    margin-inline: auto;
  }

  .dashboard-admin-page {
    padding-top: clamp(1rem, 2vw, 1.5rem);
  }

  .dashboard-header-context, .dashboard-admin-greeting-desktop {
    display: none;
  }

  .dashboard-admin-greeting h1 {
    color: var(--pa-color-text-strong);
    letter-spacing: -.02em;
    font-size: clamp(1.05rem, 2vw, 1.3rem);
    font-weight: 750;
    line-height: 1.25;
  }

  .dashboard-admin-greeting p {
    color: var(--pa-color-text-muted);
    margin-top: .25rem;
    font-size: .78rem;
    line-height: 1.4;
  }

  .dashboard-admin-section-page {
    padding-top: clamp(1rem, 2vw, 1.5rem);
  }

  .dashboard-section-heading h1 {
    color: var(--pa-color-text-strong);
    letter-spacing: -.02em;
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    font-weight: 750;
    line-height: 1.25;
  }

  .dashboard-section-empty {
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-md);
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    box-shadow: var(--pa-shadow-soft);
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1rem 1.1rem;
    display: flex;
    position: relative;
    overflow: hidden;
  }

  .dashboard-section-empty:before {
    background: linear-gradient(180deg, var(--pa-color-gold-400), var(--pa-color-gold-600));
    content: "";
    width: 2px;
    position: absolute;
    inset: 0 auto 0 0;
  }

  .dashboard-section-empty h2 {
    color: var(--pa-color-text-strong);
    font-size: .9rem;
    font-weight: 750;
    line-height: 1.35;
  }

  .dashboard-section-empty p {
    color: var(--pa-color-text-muted);
    margin-top: .25rem;
    font-size: .78rem;
    line-height: 1.5;
  }

  .dashboard-section-empty-action {
    flex: none;
  }

  .dashboard-main .neu-card, .dashboard-main .neu-surface {
    border-color: var(--pa-color-border);
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    box-shadow: var(--pa-shadow-soft);
  }

  .dashboard-main .neu-card:hover {
    box-shadow: 7px 7px 18px #433b2f1c, -5px -5px 14px #ffffffd1;
  }

  .dashboard-main .neu-inset {
    border-color: var(--pa-color-border);
    background: var(--pa-color-surface-soft);
    box-shadow: inset 3px 3px 7px #463e3217, inset -3px -3px 7px #ffffffc7;
  }

  .dashboard-main .neu-icon-well, .dashboard-main .dashboard-accent {
    color: var(--pa-color-gold-600);
  }

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

  .dashboard-compact-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: .9rem;
    margin-top: 2rem;
    display: grid;
  }

  .dashboard-compact-card-grid.dashboard-admin-card-grid {
    margin-top: 1.1rem;
  }

  .dashboard-compact-card {
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-md);
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    transition: border-color var(--pa-transition-fast), box-shadow var(--pa-transition-fast), transform var(--pa-transition-fast);
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: .85rem;
    padding: 1rem 1.05rem;
    display: grid;
    position: relative;
    overflow: hidden;
    box-shadow: 4px 4px 12px #433b2f14, -3px -3px 10px #ffffffbd;
  }

  .dashboard-compact-card:before {
    background: linear-gradient(180deg, var(--pa-color-gold-400), var(--pa-color-gold-600));
    content: "";
    width: 2px;
    position: absolute;
    inset: 0 auto 0 0;
  }

  .dashboard-compact-card:hover {
    border-color: #b58b4233;
    transform: translateY(-1px);
    box-shadow: 6px 6px 15px #433b2f1a, -4px -4px 12px #fffc;
  }

  .dashboard-compact-card-icon {
    background: var(--pa-color-surface-soft);
    width: 2.65rem;
    height: 2.65rem;
    color: var(--pa-color-gold-600);
    border: 1px solid #b58b4226;
    border-radius: .8rem;
    flex: none;
    place-items: center;
    display: grid;
    box-shadow: inset 2px 2px 5px #463e3214, inset -2px -2px 5px #ffffffb8;
  }

  .dashboard-compact-card-icon svg {
    width: 1.3rem;
    height: 1.3rem;
  }

  .dashboard-compact-card-content {
    min-width: 0;
  }

  .dashboard-compact-card-heading {
    justify-content: space-between;
    align-items: center;
    gap: .6rem;
    display: flex;
  }

  .dashboard-compact-card-heading h2 {
    min-width: 0;
    color: var(--pa-color-text-strong);
    letter-spacing: -.01em;
    font-size: .95rem;
    font-weight: 750;
    line-height: 1.3;
  }

  .dashboard-compact-card-content > p {
    color: var(--pa-color-text-muted);
    margin-top: .3rem;
    font-size: .78rem;
    line-height: 1.5;
  }

  .dashboard-compact-card-status {
    color: var(--pa-color-gold-600);
    letter-spacing: .02em;
    white-space: nowrap;
    background: #d0ad661a;
    border: 1px solid #b58b422e;
    border-radius: 999px;
    flex: none;
    padding: .22rem .45rem;
    font-size: .6rem;
    font-weight: 750;
    line-height: 1.2;
  }

  .pa-card {
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-lg);
    background: var(--pa-color-surface-raised);
    box-shadow: var(--pa-shadow-soft);
  }

  .pa-button-primary {
    border-radius: var(--pa-radius-sm);
    background: linear-gradient(145deg, var(--pa-color-gold-400), var(--pa-color-gold-500));
    min-height: 2.75rem;
    color: var(--pa-color-charcoal-950);
    transition: transform var(--pa-transition-fast), box-shadow var(--pa-transition-fast);
    border: 1px solid #8f692d52;
    justify-content: center;
    align-items: center;
    padding: .65rem 1rem;
    font-weight: 750;
    display: inline-flex;
  }

  .pa-button-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 7px 16px #8f692d33;
  }

  .pa-field {
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-sm);
    background: var(--pa-color-surface);
    width: 100%;
    min-height: 2.75rem;
    color: var(--pa-color-text-strong);
    transition: border-color var(--pa-transition-fast), box-shadow var(--pa-transition-fast);
    padding: .65rem .8rem;
  }

  .pa-field:focus {
    border-color: var(--pa-color-gold-500);
    box-shadow: 0 0 0 3px var(--pa-color-focus);
    outline: none;
  }

  .pa-badge {
    color: var(--pa-color-gold-600);
    background: #d0ad661f;
    border: 1px solid #b58b423d;
    border-radius: 999px;
    align-items: center;
    padding: .3rem .6rem;
    font-size: .72rem;
    font-weight: 750;
    display: inline-flex;
  }

  .dashboard-section-toolbar {
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    display: flex;
  }

  .dashboard-section-toolbar h1, .admin-workshop-detail-heading h1 {
    color: var(--pa-color-text-strong);
    letter-spacing: -.02em;
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    font-weight: 750;
    line-height: 1.25;
  }

  .admin-workshops-primary-action, .admin-workshop-form-actions .pa-button-primary, .dashboard-section-empty-action .pa-button-primary {
    gap: .45rem;
    min-height: 2.5rem;
    padding: .55rem .8rem;
    font-size: .8rem;
  }

  .admin-workshops-primary-action svg {
    width: 1rem;
    height: 1rem;
  }

  .admin-workshops-summary {
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-md);
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    box-shadow: 3px 3px 10px #433b2f12, -3px -3px 9px #ffffffb8;
    margin-top: .8rem;
    padding: .7rem;
  }

  .admin-workshops-overview {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
    display: grid;
  }

  .admin-workshops-overview article {
    border: 1px solid var(--pa-color-border);
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border-radius: .8rem;
    justify-content: space-between;
    align-items: center;
    gap: .55rem;
    min-width: 0;
    padding: .6rem .7rem;
    display: flex;
    box-shadow: 6px 6px 15px #433b2f24, -5px -5px 12px #ffffffe6;
  }

  .admin-workshop-metric-content {
    align-items: center;
    gap: .55rem;
    min-width: 0;
    display: flex;
  }

  .admin-workshop-metric-content > span:last-child {
    color: var(--pa-color-text-muted);
    font-size: .68rem;
    font-weight: 650;
    line-height: 1.25;
  }

  .admin-workshop-metric-icon {
    color: var(--pa-color-gold-600);
    background: #b58b4214;
    border: 1px solid #b58b4233;
    border-radius: .55rem;
    flex: none;
    place-items: center;
    width: 1.9rem;
    height: 1.9rem;
    display: grid;
    box-shadow: inset 1px 1px 2px #433b2f0f, inset -1px -1px 2px #fff;
  }

  .admin-workshop-metric-icon svg {
    width: 1rem;
    height: 1rem;
  }

  .admin-workshops-overview strong {
    color: var(--pa-color-gold-700);
    font-variant-numeric: tabular-nums;
    flex: none;
    font-size: .95rem;
    line-height: 1;
  }

  .admin-workshop-filters {
    scrollbar-width: none;
    gap: .35rem;
    margin-top: .75rem;
    padding-bottom: .15rem;
    display: flex;
    overflow-x: auto;
  }

  .admin-workshop-filters::-webkit-scrollbar {
    display: none;
  }

  .admin-workshop-filters button {
    cursor: pointer;
    border: 1px solid var(--pa-color-border);
    background: var(--pa-color-surface-raised);
    min-height: 2.25rem;
    color: var(--pa-color-text-muted);
    transition: border-color var(--pa-transition-fast), background-color var(--pa-transition-fast), color var(--pa-transition-fast);
    border-radius: 999px;
    flex: none;
    padding: .45rem .7rem;
    font-size: .72rem;
    font-weight: 700;
    align-items: center;
    gap: .4rem;
    display: inline-flex;
    box-shadow: 3px 3px 7px #433b2f17, -2px -2px 6px #fff;
  }

  .admin-workshop-filters button strong {
    color: var(--pa-color-text-strong);
    background: var(--pa-color-surface-soft);
    border-radius: 999px;
    min-width: 1.25rem;
    padding: .12rem .35rem;
    font-size: .64rem;
    font-variant-numeric: tabular-nums;
    line-height: 1.25;
    text-align: center;
  }

  .admin-workshop-filters button:hover {
    color: var(--pa-color-text-strong);
    border-color: #b58b4242;
  }

  .admin-workshop-filters button.is-active {
    border-color: var(--pa-color-charcoal-950);
    background: var(--pa-color-charcoal-950);
    color: var(--pa-color-gold-400);
  }

  .admin-workshop-filters button.is-active strong {
    color: var(--pa-color-charcoal-950);
    background: var(--pa-color-gold-400);
  }

  .admin-workshops-list {
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-md);
    background: var(--pa-color-surface-raised);
    box-shadow: var(--pa-shadow-soft);
    margin-top: 1rem;
    overflow: hidden;
  }

  .admin-workshops-table {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
  }

  .admin-workshops-table th {
    border-bottom: 1px solid var(--pa-color-border);
    color: var(--pa-color-text-muted);
    letter-spacing: .07em;
    text-align: left;
    text-transform: uppercase;
    background: #ece7de8c;
    padding: .75rem .9rem;
    font-size: .66rem;
    font-weight: 750;
  }

  .admin-workshops-table th:first-child {
    width: 36%;
  }

  .admin-workshops-table th:not(:first-child) {
    width: 17%;
  }

  .admin-workshops-table th.admin-workshops-action-column {
    width: 13%;
  }

  .admin-workshops-table td {
    border-bottom: 1px solid var(--pa-color-border);
    color: var(--pa-color-text-muted);
    vertical-align: middle;
    padding: .8rem .9rem;
    font-size: .78rem;
  }

  .admin-workshops-table tbody tr:last-child td {
    border-bottom: 0;
  }

  .admin-workshops-table tbody tr:not([data-workshop-filter-empty]):hover {
    background: #ece7de57;
  }

  .admin-workshop-name, .admin-workshop-name-link {
    color: var(--pa-color-text-strong);
    font-weight: 750;
  }

  .admin-workshop-name-link:hover {
    color: var(--pa-color-gold-600);
  }

  .admin-workshop-count {
    font-variant-numeric: tabular-nums;
  }

  .admin-workshop-row-action {
    text-align: center;
  }

  .admin-workshop-row-action a {
    width: 2.25rem;
    height: 2.25rem;
    color: var(--pa-color-gold-600);
    transition: background-color var(--pa-transition-fast), transform var(--pa-transition-fast);
    border-radius: .65rem;
    place-items: center;
    display: inline-grid;
  }

  .admin-workshop-row-action a:hover {
    background: #d0ad661f;
    transform: translateX(1px);
  }

  .admin-workshop-row-action svg {
    width: 1rem;
    height: 1rem;
  }

  .admin-workshops-empty-row {
    color: var(--pa-color-text-muted);
    text-align: center;
    justify-content: center;
    align-items: baseline;
    gap: .5rem;
    font-size: .78rem;
    display: flex;
  }

  .admin-workshops-empty-row strong, .admin-workshops-mobile-empty strong {
    color: var(--pa-color-text-strong);
    font-weight: 700;
  }

  .admin-workshops-mobile-empty {
    display: none;
  }

  .admin-workshop-secondary-button {
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-sm);
    background: var(--pa-color-surface-raised);
    min-height: 2.5rem;
    color: var(--pa-color-text-strong);
    transition: border-color var(--pa-transition-fast), color var(--pa-transition-fast), transform var(--pa-transition-fast);
    justify-content: center;
    align-items: center;
    padding: .55rem .75rem;
    font-size: .78rem;
    font-weight: 700;
    display: inline-flex;
  }

  .admin-workshop-secondary-button:hover {
    color: var(--pa-color-gold-600);
    border-color: #b58b424d;
    transform: translateY(-1px);
  }

  .admin-workshops-mobile-list {
    display: none;
  }

  .admin-workshop-form-page {
    max-width: 40rem;
  }

  .admin-workshop-form {
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-md);
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    box-shadow: var(--pa-shadow-soft);
    margin-top: 1rem;
    padding: 1.1rem;
  }

  .admin-workshop-form label, .admin-workshop-invitation-content label {
    color: var(--pa-color-text-strong);
    margin-bottom: .45rem;
    font-size: .78rem;
    font-weight: 700;
    display: block;
  }

  .pa-field.is-invalid {
    border-color: #a94442;
    box-shadow: inset 3px 3px 7px #433b2f14, inset -3px -3px 7px #fff, 0 0 0 3px #a9444217;
  }

  .admin-workshop-field-error {
    color: #8f3533;
    margin-top: .4rem;
    font-size: .72rem;
    font-weight: 650;
  }

  .admin-workshop-form-actions {
    justify-content: flex-end;
    gap: .55rem;
    margin-top: 1rem;
    display: flex;
  }

  .admin-workshop-detail-page {
    max-width: 76rem;
  }

  .admin-workshop-back-link {
    color: var(--pa-color-text-muted);
    align-items: center;
    gap: .25rem;
    margin-bottom: .8rem;
    font-size: .75rem;
    font-weight: 650;
    display: inline-flex;
  }

  .admin-workshop-back-link:hover {
    color: var(--pa-color-gold-600);
  }

  .admin-workshop-back-link svg {
    width: 1rem;
    height: 1rem;
  }

  .admin-workshop-detail-heading {
    align-items: center;
    gap: .65rem;
    display: flex;
  }

  .admin-workshop-public-code {
    color: var(--pa-color-text-muted);
    align-items: baseline;
    gap: .45rem;
    margin-top: .45rem;
    font-size: .7rem;
    display: flex;
  }

  .admin-workshop-public-code span {
    font-weight: 650;
  }

  .admin-workshop-public-code strong {
    color: var(--pa-color-text-strong);
    letter-spacing: .05em;
    font-size: .75rem;
  }

  .admin-workshop-success {
    color: #356540;
    border: 1px solid #46785238;
    background: #46785212;
    border-radius: var(--pa-radius-sm);
    width: fit-content;
    margin-top: .7rem;
    padding: .45rem .65rem;
    font-size: .72rem;
    font-weight: 700;
    box-shadow: 3px 3px 8px #433b2f12, -2px -2px 7px #fff;
  }

  .admin-workshop-status {
    border: 1px solid;
    border-radius: 999px;
    align-items: center;
    padding: .25rem .55rem;
    font-size: .65rem;
    font-weight: 750;
    line-height: 1.2;
    display: inline-flex;
  }

  .admin-workshop-status.is-pending, .admin-workshop-status.is-pending_registration {
    color: var(--pa-color-gold-600);
    background: #d0ad661f;
    border-color: #b58b4247;
  }

  .admin-workshop-status.is-active {
    color: #3f704b;
    background: #46785217;
    border-color: #46785238;
  }

  .admin-workshop-status.is-inactive {
    color: var(--pa-color-text-muted);
    background: #64615a14;
    border-color: #64615a33;
  }

  .admin-workshop-invitation {
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-lg);
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    box-shadow: var(--pa-shadow-soft);
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 1.1rem;
    margin-top: 1rem;
    padding: 1.1rem;
    display: grid;
  }

  .admin-workshop-qr-placeholder {
    aspect-ratio: 1;
    border-radius: var(--pa-radius-md);
    background: var(--pa-color-surface-soft);
    width: 100%;
    color: var(--pa-color-gold-600);
    letter-spacing: .12em;
    border: 1px dashed #8f692d6b;
    place-items: center;
    font-size: .78rem;
    font-weight: 850;
    display: grid;
    box-shadow: inset 3px 3px 7px #463e3214, inset -3px -3px 7px #ffffffb8;
  }

  .admin-workshop-qr-image {
    border-radius: calc(var(--pa-radius-md) - 2px);
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }

  .admin-workshop-qr-panel {
    width: 8rem;
  }

  .admin-workshop-qr-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .4rem;
    margin-top: .55rem;
    display: grid;
  }

  .admin-workshop-qr-actions button {
    cursor: pointer;
    color: var(--pa-color-text-strong);
    border: 1px solid var(--pa-color-border);
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border-radius: .65rem;
    justify-content: center;
    align-items: center;
    gap: .22rem;
    min-width: 0;
    min-height: 2.55rem;
    padding: .35rem .2rem;
    font-size: .58rem;
    font-weight: 750;
    display: flex;
    box-shadow: 4px 4px 9px #433b2f1f, -3px -3px 8px #ffffffd9;
  }

  .admin-workshop-qr-actions button:hover {
    color: var(--pa-color-gold-600);
    border-color: #b58b424d;
  }

  .admin-workshop-qr-actions button:active {
    transform: translateY(1px);
    box-shadow: inset 2px 2px 5px #433b2f1a, inset -2px -2px 5px #fff;
  }

  .admin-workshop-qr-actions svg {
    flex: none;
    width: .9rem;
    height: .9rem;
  }

  .admin-workshop-qr-dialog {
    color: var(--pa-color-text-strong);
    background: transparent;
    border: 0;
    max-width: none;
    max-height: none;
    margin: auto;
    padding: 1rem;
  }

  .admin-workshop-qr-dialog::backdrop {
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    background: #10110fa3;
  }

  .admin-workshop-qr-dialog-card {
    border: 1px solid #ffffffb8;
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border-radius: var(--pa-radius-lg);
    flex-direction: column;
    align-items: center;
    gap: .8rem;
    padding: 1.15rem;
    display: flex;
    position: relative;
    box-shadow: 14px 14px 32px #090a096b, -8px -8px 24px #ffffff4d;
  }

  .admin-workshop-qr-dialog-card > p {
    color: var(--pa-color-gold-600);
    letter-spacing: .06em;
    padding: 0 2.5rem;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
  }

  .admin-workshop-qr-dialog-card > strong {
    font-size: .9rem;
  }

  .admin-workshop-qr-placeholder.is-enlarged {
    width: min(18rem, calc(100vw - 5rem));
  }

  .admin-workshop-qr-dialog-close {
    cursor: pointer;
    color: var(--pa-color-text-strong);
    border: 1px solid var(--pa-color-border);
    background: var(--pa-color-surface-raised);
    border-radius: .65rem;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    display: grid;
    position: absolute;
    top: .7rem;
    right: .7rem;
    box-shadow: 3px 3px 7px #433b2f1f, -2px -2px 6px #fff;
  }

  .admin-workshop-qr-dialog-close svg {
    width: 1rem;
    height: 1rem;
  }

  .admin-workshop-invitation-content {
    min-width: 0;
  }

  .admin-workshop-link-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .55rem;
    display: grid;
  }

  .admin-workshop-link-row .pa-field {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .admin-workshop-invitation-actions {
    gap: .5rem;
    margin-top: .65rem;
    display: flex;
  }

  .admin-workshop-invitation-actions .pa-button-primary {
    min-height: 2.5rem;
    padding: .55rem .8rem;
    font-size: .78rem;
  }

  .admin-workshop-share-fallback {
    border-top: 1px solid var(--pa-color-border);
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: .65rem;
    padding-top: .65rem;
    display: flex;
  }

  .admin-workshop-share-fallback[hidden] {
    display: none;
  }

  .admin-workshop-share-fallback a, .admin-workshop-share-fallback button {
    cursor: pointer;
    border: 1px solid var(--pa-color-border);
    background: var(--pa-color-surface-raised);
    min-height: 2.25rem;
    color: var(--pa-color-text-strong);
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    padding: .45rem .7rem;
    font-size: .72rem;
    font-weight: 700;
    display: inline-flex;
  }

  .admin-workshop-share-fallback a:hover, .admin-workshop-share-fallback button:hover {
    color: var(--pa-color-gold-600);
    border-color: #b58b424d;
  }

  .admin-workshop-invitation-content > p {
    color: var(--pa-color-text-muted);
    margin-top: .7rem;
    font-size: .78rem;
    line-height: 1.45;
  }

  .admin-workshop-generate-form {
    margin-top: .7rem;
  }

  .admin-workshop-generate-form .pa-button-primary {
    min-height: 2.5rem;
    padding: .55rem .9rem;
    font-size: .78rem;
  }

  .auth-context-label {
    color: #dfc373;
    border: 1px solid #b58a3252;
    background: #0e0f10;
    border-radius: .7rem;
    margin-top: .7rem;
    padding: .5rem .7rem;
    text-align: center;
    font-size: .75rem;
    line-height: 1.35;
    box-shadow: inset 2px 2px 5px #0008, inset -1px -1px 3px #ffffff0d;
  }

  .admin-workshop-tabs {
    border-bottom: 1px solid var(--pa-color-border);
    flex-wrap: wrap;
    gap: .2rem;
    margin-top: 1rem;
    display: flex;
  }

  .admin-workshop-tabs a {
    color: var(--pa-color-text-muted);
    flex: none;
    padding: .65rem .75rem;
    font-size: .77rem;
    font-weight: 700;
    line-height: 1.25;
    position: relative;
  }

  .admin-workshop-tabs a:hover, .admin-workshop-tabs a.is-active {
    color: var(--pa-color-text-strong);
  }

  .admin-workshop-tabs a.is-active:after {
    background: var(--pa-color-gold-500);
    content: "";
    border-radius: 999px 999px 0 0;
    height: 2px;
    position: absolute;
    bottom: -1px;
    left: .7rem;
    right: .7rem;
  }

  .admin-workshop-tab-content {
    margin-top: 1rem;
  }

  .admin-workshop-tab-content > .dashboard-section-empty {
    margin-top: 0;
  }

  .admin-workshop-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .7rem;
    display: grid;
  }

  .admin-workshop-metrics article {
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-md);
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    justify-content: space-between;
    align-items: center;
    gap: .65rem;
    min-width: 0;
    padding: .8rem;
    display: flex;
    box-shadow: 3px 3px 9px #433b2f12, -3px -3px 8px #ffffffb3;
  }

  .admin-workshop-metrics span {
    color: var(--pa-color-text-muted);
    font-size: .7rem;
    font-weight: 650;
    line-height: 1.3;
  }

  .admin-workshop-metrics strong {
    color: var(--pa-color-gold-600);
    flex: none;
    font-size: 1rem;
    font-weight: 750;
  }
}

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

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .inset-y-0 {
    inset-block: 0;
  }

  .top-0 {
    top: 0;
  }

  .top-\[-1px\] {
    top: -1px;
  }

  .right-0 {
    right: 0;
  }

  .bottom-0 {
    bottom: 0;
  }

  .left-0 {
    left: 0;
  }

  .-z-10 {
    z-index: calc(10 * -1);
  }

  .z-50 {
    z-index: 50;
  }

  .container {
    width: 100%;
  }

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

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

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

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

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

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

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

  .-mt-5 {
    margin-top: calc(var(--spacing) * -5);
  }

  .-mt-px {
    margin-top: -1px;
  }

  .mt-0\.5 {
    margin-top: calc(var(--spacing) * .5);
  }

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

  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

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

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mt-7 {
    margin-top: calc(var(--spacing) * 7);
  }

  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }

  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }

  .mr-6 {
    margin-right: calc(var(--spacing) * 6);
  }

  .mb-1\.5 {
    margin-bottom: calc(var(--spacing) * 1.5);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }

  .-ml-px {
    margin-left: -1px;
  }

  .ml-1 {
    margin-left: var(--spacing);
  }

  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }

  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }

  .ml-12 {
    margin-left: calc(var(--spacing) * 12);
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

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

  .table {
    display: table;
  }

  .size-2 {
    width: calc(var(--spacing) * 2);
    height: calc(var(--spacing) * 2);
  }

  .size-3 {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
  }

  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .h-0 {
    height: 0;
  }

  .h-2\.5 {
    height: calc(var(--spacing) * 2.5);
  }

  .h-3 {
    height: calc(var(--spacing) * 3);
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-6 {
    height: calc(var(--spacing) * 6);
  }

  .h-7 {
    height: calc(var(--spacing) * 7);
  }

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

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .h-11 {
    height: calc(var(--spacing) * 11);
  }

  .h-16 {
    height: calc(var(--spacing) * 16);
  }

  .h-\[18px\] {
    height: 18px;
  }

  .h-\[56px\] {
    height: 56px;
  }

  .min-h-7 {
    min-height: calc(var(--spacing) * 7);
  }

  .min-h-8 {
    min-height: calc(var(--spacing) * 8);
  }

  .min-h-9 {
    min-height: calc(var(--spacing) * 9);
  }

  .min-h-10 {
    min-height: calc(var(--spacing) * 10);
  }

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

  .min-h-12 {
    min-height: calc(var(--spacing) * 12);
  }

  .min-h-\[calc\(100dvh-69px\)\] {
    min-height: calc(100dvh - 69px);
  }

  .min-h-dvh {
    min-height: 100dvh;
  }

  .min-h-screen {
    min-height: 100vh;
  }

  .w-2\.5 {
    width: calc(var(--spacing) * 2.5);
  }

  .w-3 {
    width: calc(var(--spacing) * 3);
  }

  .w-5 {
    width: calc(var(--spacing) * 5);
  }

  .w-6 {
    width: calc(var(--spacing) * 6);
  }

  .w-8 {
    width: calc(var(--spacing) * 8);
  }

  .w-11 {
    width: calc(var(--spacing) * 11);
  }

  .w-\[18px\] {
    width: 18px;
  }

  .w-auto {
    width: auto;
  }

  .w-fit {
    width: fit-content;
  }

  .w-full {
    width: 100%;
  }

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

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

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

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

  .max-w-\[340px\] {
    max-width: 340px;
  }

  .max-w-full {
    max-width: 100%;
  }

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

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

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

  .min-w-5 {
    min-width: calc(var(--spacing) * 5);
  }

  .min-w-6 {
    min-width: calc(var(--spacing) * 6);
  }

  .flex-1 {
    flex: 1;
  }

  .flex-shrink-0, .shrink-0 {
    flex-shrink: 0;
  }

  .grow {
    flex-grow: 1;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .cursor-default {
    cursor: default;
  }

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

  .cursor-not-allowed\! {
    cursor: not-allowed !important;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .resize {
    resize: both;
  }

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

  .flex-col {
    flex-direction: column;
  }

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

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

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

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

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

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

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

  .gap-0\.5 {
    gap: calc(var(--spacing) * .5);
  }

  .gap-1 {
    gap: var(--spacing);
  }

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

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

  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }

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

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

  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }

  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }

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

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

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

  :where(.divide-x > :not(:last-child)) {
    --tw-divide-x-reverse: 0;
    border-inline-style: var(--tw-border-style);
    border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));
    border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :where(.divide-y > :not(:last-child)) {
    --tw-divide-y-reverse: 0;
    border-bottom-style: var(--tw-border-style);
    border-top-style: var(--tw-border-style);
    border-top-width: calc(1px * var(--tw-divide-y-reverse));
    border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  }

  :where(.divide-neutral-200 > :not(:last-child)) {
    border-color: var(--color-neutral-200);
  }

  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .overflow-hidden {
    overflow: hidden;
  }

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

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

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

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

  .rounded-full {
    border-radius: 3.40282e38px;
  }

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

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

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

  .rounded-t-lg {
    border-top-left-radius: var(--radius-lg);
    border-top-right-radius: var(--radius-lg);
  }

  .rounded-l-md {
    border-top-left-radius: var(--radius-md);
    border-bottom-left-radius: var(--radius-md);
  }

  .rounded-r-md {
    border-top-right-radius: var(--radius-md);
    border-bottom-right-radius: var(--radius-md);
  }

  .rounded-b-lg {
    border-bottom-right-radius: var(--radius-lg);
    border-bottom-left-radius: var(--radius-lg);
  }

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

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

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

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

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

  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }

  .border-dotted {
    --tw-border-style: dotted;
    border-style: dotted;
  }

  .border-\[\#b58a32\]\/30 {
    border-color: oklab(65.88% .016378 .114236 / .3);
  }

  .border-\[\#b58a32\]\/50 {
    border-color: oklab(65.88% .016378 .114236 / .5);
  }

  .border-gray-200 {
    border-color: var(--color-gray-200);
  }

  .border-gray-300 {
    border-color: var(--color-gray-300);
  }

  .border-gray-400 {
    border-color: var(--color-gray-400);
  }

  .border-neutral-100 {
    border-color: var(--color-neutral-100);
  }

  .border-neutral-200 {
    border-color: var(--color-neutral-200);
  }

  .border-neutral-300 {
    border-color: var(--color-neutral-300);
  }

  .bg-\[\#17181a\] {
    background-color: #17181a;
  }

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

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

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

  .bg-black\/8 {
    background-color: #00000014;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/8 {
      background-color: color-mix(in oklab, var(--color-black) 8%, transparent);
    }
  }

  .bg-black\/10 {
    background-color: #0000001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/10 {
      background-color: color-mix(in oklab, var(--color-black) 10%, transparent);
    }
  }

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

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

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

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

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

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

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

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

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

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

  .bg-rose-200\! {
    background-color: var(--color-rose-200) !important;
  }

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

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

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

  .bg-white\/5 {
    background-color: #ffffff0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/5 {
      background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
    }
  }

  .bg-white\/\[2\%\] {
    background-color: #ffffff05;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/\[2\%\] {
      background-color: color-mix(in oklab, var(--color-white) 2%, transparent);
    }
  }

  .p-1 {
    padding: var(--spacing);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }

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

  .p-5 {
    padding: calc(var(--spacing) * 5);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }

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

  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-3\.5 {
    padding-inline: calc(var(--spacing) * 3.5);
  }

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

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .px-\[6px\] {
    padding-inline: 6px;
  }

  .py-0 {
    padding-block: 0;
  }

  .py-1 {
    padding-block: var(--spacing);
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }

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

  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }

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

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

  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }

  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }

  .pt-14 {
    padding-top: calc(var(--spacing) * 14);
  }

  .pr-2\.5 {
    padding-right: calc(var(--spacing) * 2.5);
  }

  .pr-12 {
    padding-right: calc(var(--spacing) * 12);
  }

  .pb-0 {
    padding-bottom: 0;
  }

  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }

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

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

  .font-mono {
    font-family: var(--font-mono);
  }

  .font-sans {
    font-family: var(--font-sans);
  }

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

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

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

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

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

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

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

  .text-xs\/none {
    font-size: var(--text-xs);
    line-height: 1;
  }

  .text-\[13px\] {
    font-size: 13px;
  }

  .leading-3 {
    --tw-leading: calc(var(--spacing) * 3);
    line-height: calc(var(--spacing) * 3);
  }

  .leading-5 {
    --tw-leading: calc(var(--spacing) * 5);
    line-height: calc(var(--spacing) * 5);
  }

  .leading-6 {
    --tw-leading: calc(var(--spacing) * 6);
    line-height: calc(var(--spacing) * 6);
  }

  .leading-7 {
    --tw-leading: calc(var(--spacing) * 7);
    line-height: calc(var(--spacing) * 7);
  }

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

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

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

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

  .tracking-\[0\.2em\] {
    --tw-tracking: .2em;
    letter-spacing: .2em;
  }

  .tracking-\[0\.24em\] {
    --tw-tracking: .24em;
    letter-spacing: .24em;
  }

  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }

  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }

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

  .text-\[\#5d6975\] {
    color: #5d6975;
  }

  .text-\[\#8b6a27\] {
    color: #8b6a27;
  }

  .text-\[\#19558f\] {
    color: #19558f;
  }

  .text-\[\#59636e\] {
    color: #59636e;
  }

  .text-\[\#263442\] {
    color: #263442;
  }

  .text-\[\#b58a32\] {
    color: #b58a32;
  }

  .text-\[\#dfc373\] {
    color: #dfc373;
  }

  .text-amber-900 {
    color: var(--color-amber-900);
  }

  .text-blue-500 {
    color: var(--color-blue-500);
  }

  .text-blue-900 {
    color: var(--color-blue-900);
  }

  .text-emerald-500 {
    color: var(--color-emerald-500);
  }

  .text-emerald-900 {
    color: var(--color-emerald-900);
  }

  .text-gray-200 {
    color: var(--color-gray-200);
  }

  .text-gray-300 {
    color: var(--color-gray-300);
  }

  .text-gray-400 {
    color: var(--color-gray-400);
  }

  .text-gray-500 {
    color: var(--color-gray-500);
  }

  .text-gray-600 {
    color: var(--color-gray-600);
  }

  .text-gray-700 {
    color: var(--color-gray-700);
  }

  .text-gray-800 {
    color: var(--color-gray-800);
  }

  .text-gray-900 {
    color: var(--color-gray-900);
  }

  .text-neutral-100 {
    color: var(--color-neutral-100);
  }

  .text-neutral-400 {
    color: var(--color-neutral-400);
  }

  .text-neutral-500 {
    color: var(--color-neutral-500);
  }

  .text-neutral-500\! {
    color: var(--color-neutral-500) !important;
  }

  .text-neutral-600 {
    color: var(--color-neutral-600);
  }

  .text-neutral-800 {
    color: var(--color-neutral-800);
  }

  .text-neutral-900 {
    color: var(--color-neutral-900);
  }

  .text-neutral-950 {
    color: var(--color-neutral-950);
  }

  .text-red-400 {
    color: var(--color-red-400);
  }

  .text-red-700 {
    color: var(--color-red-700);
  }

  .text-rose-900 {
    color: var(--color-rose-900);
  }

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

  .uppercase {
    text-transform: uppercase;
  }

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

  .decoration-neutral-400 {
    -webkit-text-decoration-color: var(--color-neutral-400);
    -webkit-text-decoration-color: var(--color-neutral-400);
    text-decoration-color: var(--color-neutral-400);
  }

  .underline-offset-4 {
    text-underline-offset: 4px;
  }

  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .scheme-light-dark {
    color-scheme: light dark;
  }

  .opacity-90 {
    opacity: .9;
  }

  .shadow, .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xs {
    --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-gray-300 {
    --tw-ring-color: var(--color-gray-300);
  }

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

  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .duration-150 {
    --tw-duration: .15s;
    transition-duration: .15s;
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  @media (hover: hover) {
    .group-hover\:text-blue-500:is(:where(.group):hover *) {
      color: var(--color-blue-500);
    }
  }

  .odd\:bg-white\/2:nth-child(odd) {
    background-color: #ffffff05;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .odd\:bg-white\/2:nth-child(odd) {
      background-color: color-mix(in oklab, var(--color-white) 2%, transparent);
    }
  }

  .even\:bg-white:nth-child(2n) {
    background-color: var(--color-white);
  }

  @media (hover: hover) {
    .hover\:bg-gray-100:hover {
      background-color: var(--color-gray-100);
    }

    .hover\:bg-neutral-100:hover {
      background-color: var(--color-neutral-100);
    }

    .hover\:bg-neutral-200:hover {
      background-color: var(--color-neutral-200);
    }

    .hover\:bg-white\/50:hover {
      background-color: #ffffff80;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/50:hover {
        background-color: color-mix(in oklab, var(--color-white) 50%, transparent);
      }
    }

    .hover\:text-black:hover {
      color: var(--color-black);
    }

    .hover\:text-gray-400:hover {
      color: var(--color-gray-400);
    }

    .hover\:text-gray-700:hover {
      color: var(--color-gray-700);
    }

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

  .focus\:border-blue-300:focus {
    border-color: var(--color-blue-300);
  }

  .focus\:ring:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-2:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-\[\#b58a32\]:focus {
    --tw-ring-color: #b58a32;
  }

  .focus\:ring-\[\#b58a32\]\/30:focus {
    --tw-ring-color: oklab(65.88% .016378 .114236 / .3);
  }

  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  .active\:bg-gray-100:active {
    background-color: var(--color-gray-100);
  }

  .active\:text-gray-500:active {
    color: var(--color-gray-500);
  }

  .active\:text-gray-700:active {
    color: var(--color-gray-700);
  }

  .active\:text-gray-800:active {
    color: var(--color-gray-800);
  }

  @media (min-width: 40rem) {
    .sm\:mt-5 {
      margin-top: calc(var(--spacing) * 5);
    }

    .sm\:mt-8 {
      margin-top: calc(var(--spacing) * 8);
    }

    .sm\:mt-10 {
      margin-top: calc(var(--spacing) * 10);
    }

    .sm\:mb-16 {
      margin-bottom: calc(var(--spacing) * 16);
    }

    .sm\:flex {
      display: flex;
    }

    .sm\:hidden {
      display: none;
    }

    .sm\:flex-1 {
      flex: 1;
    }

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

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

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

    .sm\:justify-start {
      justify-content: flex-start;
    }

    .sm\:gap-2 {
      gap: calc(var(--spacing) * 2);
    }

    .sm\:gap-3 {
      gap: calc(var(--spacing) * 3);
    }

    .sm\:gap-4 {
      gap: calc(var(--spacing) * 4);
    }

    .sm\:p-5 {
      padding: calc(var(--spacing) * 5);
    }

    .sm\:p-7 {
      padding: calc(var(--spacing) * 7);
    }

    .sm\:p-8 {
      padding: calc(var(--spacing) * 8);
    }

    .sm\:p-14 {
      padding: calc(var(--spacing) * 14);
    }

    .sm\:px-4 {
      padding-inline: calc(var(--spacing) * 4);
    }

    .sm\:px-6 {
      padding-inline: calc(var(--spacing) * 6);
    }

    .sm\:py-0 {
      padding-block: 0;
    }

    .sm\:py-4 {
      padding-block: calc(var(--spacing) * 4);
    }

    .sm\:py-20 {
      padding-block: calc(var(--spacing) * 20);
    }

    .sm\:pt-0 {
      padding-top: 0;
    }

    .sm\:pt-16 {
      padding-top: calc(var(--spacing) * 16);
    }

    .sm\:pb-0 {
      padding-bottom: 0;
    }

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

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

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

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

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

    .sm\:leading-8 {
      --tw-leading: calc(var(--spacing) * 8);
      line-height: calc(var(--spacing) * 8);
    }
  }

  @media (min-width: 64rem) {
    .lg\:px-8 {
      padding-inline: calc(var(--spacing) * 8);
    }
  }

  .rtl\:flex-row-reverse:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
    flex-direction: row-reverse;
  }

  @media (prefers-color-scheme: dark) {
    :where(.dark\:divide-white\/5 > :not(:last-child)) {
      border-color: #ffffff0d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      :where(.dark\:divide-white\/5 > :not(:last-child)) {
        border-color: color-mix(in oklab, var(--color-white) 5%, transparent);
      }
    }

    :where(.dark\:divide-white\/10 > :not(:last-child)) {
      border-color: #ffffff1a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      :where(.dark\:divide-white\/10 > :not(:last-child)) {
        border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
      }
    }

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

    .dark\:border-none {
      --tw-border-style: none;
      border-style: none;
    }

    .dark\:border-amber-500 {
      border-color: var(--color-amber-500);
    }

    .dark\:border-amber-800 {
      border-color: var(--color-amber-800);
    }

    .dark\:border-blue-600 {
      border-color: var(--color-blue-600);
    }

    .dark\:border-blue-800 {
      border-color: var(--color-blue-800);
    }

    .dark\:border-emerald-500 {
      border-color: var(--color-emerald-500);
    }

    .dark\:border-emerald-600 {
      border-color: var(--color-emerald-600);
    }

    .dark\:border-gray-600 {
      border-color: var(--color-gray-600);
    }

    .dark\:border-neutral-500 {
      border-color: var(--color-neutral-500);
    }

    .dark\:border-neutral-700 {
      border-color: var(--color-neutral-700);
    }

    .dark\:border-neutral-800 {
      border-color: var(--color-neutral-800);
    }

    .dark\:border-rose-500 {
      border-color: var(--color-rose-500);
    }

    .dark\:border-rose-900 {
      border-color: var(--color-rose-900);
    }

    .dark\:border-white\/5 {
      border-color: #ffffff0d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:border-white\/5 {
        border-color: color-mix(in oklab, var(--color-white) 5%, transparent);
      }
    }

    .dark\:border-white\/8 {
      border-color: #ffffff14;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:border-white\/8 {
        border-color: color-mix(in oklab, var(--color-white) 8%, transparent);
      }
    }

    .dark\:border-white\/10 {
      border-color: #ffffff1a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:border-white\/10 {
        border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
      }
    }

    .dark\:border-white\/20 {
      border-color: #fff3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:border-white\/20 {
        border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
      }
    }

    .dark\:border-white\/\[9\%\] {
      border-color: #ffffff17;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:border-white\/\[9\%\] {
        border-color: color-mix(in oklab, var(--color-white) 9%, transparent);
      }
    }

    .dark\:bg-\[\#1a1a1a\] {
      background-color: #1a1a1a;
    }

    .dark\:bg-amber-600 {
      background-color: var(--color-amber-600);
    }

    .dark\:bg-amber-950 {
      background-color: var(--color-amber-950);
    }

    .dark\:bg-blue-700 {
      background-color: var(--color-blue-700);
    }

    .dark\:bg-blue-950 {
      background-color: var(--color-blue-950);
    }

    .dark\:bg-emerald-600 {
      background-color: var(--color-emerald-600);
    }

    .dark\:bg-emerald-900\/70 {
      background-color: #004e3bb3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:bg-emerald-900\/70 {
        background-color: color-mix(in oklab, var(--color-emerald-900) 70%, transparent);
      }
    }

    .dark\:bg-gray-700 {
      background-color: var(--color-gray-700);
    }

    .dark\:bg-gray-800 {
      background-color: var(--color-gray-800);
    }

    .dark\:bg-gray-900 {
      background-color: var(--color-gray-900);
    }

    .dark\:bg-neutral-400 {
      background-color: var(--color-neutral-400);
    }

    .dark\:bg-neutral-600 {
      background-color: var(--color-neutral-600);
    }

    .dark\:bg-neutral-700 {
      background-color: var(--color-neutral-700);
    }

    .dark\:bg-neutral-800 {
      background-color: var(--color-neutral-800);
    }

    .dark\:bg-neutral-900 {
      background-color: var(--color-neutral-900);
    }

    .dark\:bg-rose-600 {
      background-color: var(--color-rose-600);
    }

    .dark\:bg-rose-900\! {
      background-color: var(--color-rose-900) !important;
    }

    .dark\:bg-rose-950 {
      background-color: var(--color-rose-950);
    }

    .dark\:bg-transparent {
      background-color: #0000;
    }

    .dark\:bg-white {
      background-color: var(--color-white);
    }

    .dark\:bg-white\/1 {
      background-color: #ffffff03;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:bg-white\/1 {
        background-color: color-mix(in oklab, var(--color-white) 1%, transparent);
      }
    }

    .dark\:bg-white\/3 {
      background-color: #ffffff08;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:bg-white\/3 {
        background-color: color-mix(in oklab, var(--color-white) 3%, transparent);
      }
    }

    .dark\:bg-white\/5 {
      background-color: #ffffff0d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:bg-white\/5 {
        background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
      }
    }

    .dark\:bg-white\/10 {
      background-color: #ffffff1a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:bg-white\/10 {
        background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
      }
    }

    .dark\:bg-white\/\[2\%\] {
      background-color: #ffffff05;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:bg-white\/\[2\%\] {
        background-color: color-mix(in oklab, var(--color-white) 2%, transparent);
      }
    }

    .dark\:bg-white\/\[3\%\] {
      background-color: #ffffff08;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:bg-white\/\[3\%\] {
        background-color: color-mix(in oklab, var(--color-white) 3%, transparent);
      }
    }

    .dark\:text-amber-300 {
      color: var(--color-amber-300);
    }

    .dark\:text-blue-300 {
      color: var(--color-blue-300);
    }

    .dark\:text-emerald-400 {
      color: var(--color-emerald-400);
    }

    .dark\:text-emerald-500 {
      color: var(--color-emerald-500);
    }

    .dark\:text-gray-200 {
      color: var(--color-gray-200);
    }

    .dark\:text-gray-300 {
      color: var(--color-gray-300);
    }

    .dark\:text-gray-400 {
      color: var(--color-gray-400);
    }

    .dark\:text-gray-600 {
      color: var(--color-gray-600);
    }

    .dark\:text-neutral-100 {
      color: var(--color-neutral-100);
    }

    .dark\:text-neutral-200 {
      color: var(--color-neutral-200);
    }

    .dark\:text-neutral-300 {
      color: var(--color-neutral-300);
    }

    .dark\:text-neutral-400 {
      color: var(--color-neutral-400);
    }

    .dark\:text-neutral-500 {
      color: var(--color-neutral-500);
    }

    .dark\:text-neutral-600 {
      color: var(--color-neutral-600);
    }

    .dark\:text-neutral-600\! {
      color: var(--color-neutral-600) !important;
    }

    .dark\:text-neutral-900 {
      color: var(--color-neutral-900);
    }

    .dark\:text-rose-100 {
      color: var(--color-rose-100);
    }

    .dark\:text-white {
      color: var(--color-white);
    }

    .dark\:text-white\! {
      color: var(--color-white) !important;
    }
  }

  @media (hover: hover) {
    @media (prefers-color-scheme: dark) {
      .group-hover\:dark\:text-emerald-500:is(:where(.group):hover *) {
        color: var(--color-emerald-500);
      }
    }
  }

  @media (prefers-color-scheme: dark) {
    .odd\:dark\:bg-white\/4:nth-child(odd) {
      background-color: #ffffff0a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .odd\:dark\:bg-white\/4:nth-child(odd) {
        background-color: color-mix(in oklab, var(--color-white) 4%, transparent);
      }
    }

    .even\:dark\:bg-white\/2:nth-child(2n) {
      background-color: #ffffff05;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .even\:dark\:bg-white\/2:nth-child(2n) {
        background-color: color-mix(in oklab, var(--color-white) 2%, transparent);
      }
    }

    @media (hover: hover) {
      .dark\:hover\:bg-gray-900:hover {
        background-color: var(--color-gray-900);
      }

      .dark\:hover\:bg-white\/2:hover {
        background-color: #ffffff05;
      }

      @supports (color: color-mix(in lab, red, red)) {
        .dark\:hover\:bg-white\/2:hover {
          background-color: color-mix(in oklab, var(--color-white) 2%, transparent);
        }
      }

      .dark\:hover\:bg-white\/5:hover {
        background-color: #ffffff0d;
      }

      @supports (color: color-mix(in lab, red, red)) {
        .dark\:hover\:bg-white\/5:hover {
          background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
        }
      }

      .dark\:hover\:bg-white\/10:hover {
        background-color: #ffffff1a;
      }

      @supports (color: color-mix(in lab, red, red)) {
        .dark\:hover\:bg-white\/10:hover {
          background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
        }
      }
    }
  }

  @media (hover: hover) {
    @media (prefers-color-scheme: dark) {
      .hover\:dark\:bg-white\/5:hover {
        background-color: #ffffff0d;
      }

      @supports (color: color-mix(in lab, red, red)) {
        .hover\:dark\:bg-white\/5:hover {
          background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
        }
      }
    }
  }

  @media (prefers-color-scheme: dark) {
    @media (hover: hover) {
      .dark\:hover\:text-gray-200:hover {
        color: var(--color-gray-200);
      }

      .dark\:hover\:text-gray-300:hover {
        color: var(--color-gray-300);
      }
    }
  }

  @media (hover: hover) {
    @media (prefers-color-scheme: dark) {
      .hover\:dark\:text-white:hover {
        color: var(--color-white);
      }
    }
  }

  @media (prefers-color-scheme: dark) {
    .dark\:focus\:border-blue-700:focus {
      border-color: var(--color-blue-700);
    }

    .dark\:focus\:border-blue-800:focus {
      border-color: var(--color-blue-800);
    }

    .dark\:active\:bg-gray-700:active {
      background-color: var(--color-gray-700);
    }

    .dark\:active\:text-gray-300:active {
      color: var(--color-gray-300);
    }
  }

  .\[\&_svg\]\:size-2\.5 svg {
    width: calc(var(--spacing) * 2.5);
    height: calc(var(--spacing) * 2.5);
  }

  .\[\&_svg\]\:\!text-white svg {
    color: var(--color-white) !important;
  }

  @media (hover: hover) {
    .hover\:\[\&_svg\]\:stroke-emerald-500:hover svg {
      stroke: var(--color-emerald-500);
    }
  }

  @media (prefers-color-scheme: dark) {
    .dark\:\[\&_svg\]\:\!text-white svg {
      color: var(--color-white) !important;
    }
  }
}

:root {
  --pa-bg: #e7e8ea;
  --pa-surface: #e7e8ea;
  --pa-highlight: #fff;
  --pa-shadow: #c2c5c9;
  --pa-text: #263442;
  --pa-muted: #6c7783;
  --pa-blue: #19558f;
  --pa-blue-light: #2877bd;
  --pa-gold: #b58a32;
  --pa-gold-light: #dfc373;
  --pa-silver: #8b96a3;
  --pa-color-canvas: #f5f2ec;
  --pa-color-surface: #faf8f3;
  --pa-color-surface-raised: #fffdf8;
  --pa-color-surface-soft: #ece7de;
  --pa-color-charcoal-950: #10110f;
  --pa-color-charcoal-900: #171816;
  --pa-color-charcoal-800: #23241f;
  --pa-color-charcoal-700: #35362f;
  --pa-color-gold-600: #8f692d;
  --pa-color-gold-500: #b58b42;
  --pa-color-gold-400: #d0ad66;
  --pa-color-text-strong: #25251f;
  --pa-color-text-muted: #716c62;
  --pa-color-border: #302d261a;
  --pa-color-border-dark: #ffffff1a;
  --pa-color-focus: #b58b4247;
  --pa-shadow-soft: 5px 5px 14px #433b2f17, -4px -4px 12px #ffffffc7;
  --pa-shadow-raised: 0 14px 34px #18171321;
  --pa-radius-sm: .75rem;
  --pa-radius-md: 1rem;
  --pa-radius-lg: 1.25rem;
  --pa-radius-xl: 1.5rem;
  --pa-space-page: clamp(1rem, 3vw, 2.5rem);
  --pa-transition-fast: .15s ease;
  --pa-sidebar-width: 14.5rem;
  --pa-header-height: 4.75rem;
}

body {
  background: var(--pa-bg);
  color: var(--pa-text);
  -webkit-tap-highlight-color: transparent;
  overscroll-behavior-y: none;
}

button, a, input, label {
  touch-action: manipulation;
}

@media (max-width: 639px) {
  .neu-logo {
    border-radius: .8rem;
    width: 2.85rem;
    height: 2.85rem;
    box-shadow: 5px 5px 10px #bdc0c4, -5px -5px 10px #fff, inset 1px 1px 2px #ffffff8c;
  }

  .neu-surface {
    box-shadow: 11px 11px 24px var(--pa-shadow), -11px -11px 24px var(--pa-highlight);
    border-radius: 1.4rem;
  }

  .neu-card {
    box-shadow: 8px 8px 18px #c3c6ca, -8px -8px 18px #fff;
  }
}

@media (max-width: 359px) {
  .brand-name {
    display: none;
  }
}

@media (min-width: 1024px) {
  .dashboard-sidebar {
    transform: translateX(0);
  }

  .dashboard-workspace {
    margin-left: var(--pa-sidebar-width);
  }

  .dashboard-mobile-menu, .dashboard-sidebar-close, .dashboard-overlay {
    display: none;
  }

  .dashboard-header-context, .dashboard-admin-greeting-desktop {
    display: block;
  }

  .dashboard-admin-greeting-mobile {
    display: none;
  }
}

@media (max-width: 639px) {
  .dashboard-topbar {
    gap: .5rem;
  }

  .dashboard-context-label {
    display: none;
  }

  .dashboard-page-title {
    max-width: 8.5rem;
    margin-top: 0;
  }

  .dashboard-topbar-actions {
    gap: .35rem;
  }

  .dashboard-language {
    padding: .15rem;
  }

  .dashboard-language-option {
    min-width: 1.95rem;
    min-height: 2.2rem;
  }

  .dashboard-popover-panel {
    top: calc(var(--pa-header-height) + env(safe-area-inset-top) + .55rem);
    width: auto;
    position: fixed;
    left: 1rem;
    right: 1rem;
  }

  .dashboard-page {
    padding-top: 1.5rem;
    padding-bottom: calc(1.75rem + env(safe-area-inset-bottom));
  }

  .dashboard-admin-page {
    padding-top: 1rem;
  }

  .dashboard-compact-card-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: .7rem;
    margin-top: 1.5rem;
  }

  .dashboard-compact-card-grid.dashboard-admin-card-grid {
    margin-top: 1rem;
  }

  .dashboard-compact-card {
    gap: .75rem;
    padding: .85rem .9rem;
  }

  .dashboard-compact-card-icon {
    width: 2.5rem;
    height: 2.5rem;
  }

  .dashboard-section-empty {
    flex-direction: column;
    align-items: flex-start;
  }

  .dashboard-section-empty-action, .dashboard-section-empty-action .pa-button-primary {
    width: 100%;
  }

  .dashboard-section-toolbar h1, .admin-workshop-detail-heading h1 {
    font-size: 1.1rem;
  }

  .admin-workshops-primary-action {
    white-space: nowrap;
  }

  .admin-workshop-form {
    padding: .9rem;
  }

  .admin-workshop-form-actions > * {
    flex: 1;
  }

  .admin-workshop-detail-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: .4rem;
  }

  .admin-workshop-invitation {
    grid-template-columns: minmax(0, 1fr);
    padding: .9rem;
  }

  .admin-workshop-qr-panel {
    width: 7.5rem;
    margin-inline: auto;
  }

  .admin-workshop-qr-placeholder {
    width: 100%;
  }

  .admin-workshop-link-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-workshop-link-row .admin-workshop-secondary-button {
    width: 100%;
  }

  .admin-workshop-invitation-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
  }

  .admin-workshop-invitation-actions > * {
    width: 100%;
  }

  .admin-workshop-metrics {
    grid-template-columns: minmax(0, 1fr);
    gap: .55rem;
  }

  .admin-workshop-metrics article {
    padding: .7rem .8rem;
  }

  .admin-workshop-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    display: grid;
  }

  .admin-workshop-tabs a {
    text-align: center;
    justify-content: center;
    align-items: center;
    min-height: 2.75rem;
    padding: .55rem .35rem;
    display: flex;
  }
}

@media (max-width: 767px) {
  .admin-workshops-summary {
    margin-top: .7rem;
    padding: .55rem;
  }

  .admin-workshops-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
  }

  .admin-workshops-overview article {
    padding: .55rem .6rem;
  }

  .admin-workshop-metric-content {
    gap: .45rem;
  }

  .admin-workshop-metric-icon {
    width: 1.75rem;
    height: 1.75rem;
  }

  .admin-workshops-table-wrap {
    display: none;
  }

  .admin-workshops-mobile-list {
    gap: .5rem;
    padding: .55rem;
    display: grid;
  }

  .admin-workshop-mobile-card {
    border: 1px solid var(--pa-color-border);
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border-radius: .8rem;
    min-width: 0;
    padding: .7rem 3rem .7rem .75rem;
    position: relative;
    box-shadow: 2px 2px 7px #433b2f0f, -2px -2px 6px #ffffffa6;
  }

  .admin-workshop-mobile-heading {
    justify-content: space-between;
    align-items: center;
    gap: .55rem;
    min-width: 0;
    display: flex;
  }

  .admin-workshop-mobile-heading > strong {
    color: var(--pa-color-text-strong);
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .8rem;
    font-weight: 750;
    overflow: hidden;
  }

  .admin-workshop-mobile-meta {
    color: var(--pa-color-text-muted);
    gap: .75rem;
    margin-top: .35rem;
    font-size: .68rem;
    display: flex;
  }

  .admin-workshop-mobile-meta strong {
    color: var(--pa-color-text-strong);
    margin-left: .15rem;
  }

  .admin-workshop-mobile-access {
    width: 2.25rem;
    height: 2.25rem;
    color: var(--pa-color-gold-600);
    border-radius: .65rem;
    place-items: center;
    display: grid;
    position: absolute;
    top: 50%;
    right: .55rem;
    transform: translateY(-50%);
  }

  .admin-workshop-mobile-access svg {
    width: 1rem;
    height: 1rem;
  }

  .admin-workshops-mobile-empty {
    color: var(--pa-color-text-muted);
    flex-direction: column;
    align-items: flex-start;
    gap: .25rem;
    padding: 1rem;
    font-size: .78rem;
    display: flex;
  }

  .admin-workshops-mobile-empty[hidden], [data-workshop-item][hidden] {
    display: none !important;
  }
}

@media (min-width: 640px) and (max-width: 1180px) {
  .dashboard-compact-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (display-mode: standalone) {
  .dashboard-sidebar, .dashboard-topbar {
    -webkit-user-select: none;
    user-select: none;
  }
}

.superadmin-settings-page {
  max-width: 76rem;
}

.settings-tabs {
  border: 1px solid var(--pa-color-border);
  border-radius: var(--pa-radius-md);
  background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
  box-shadow: var(--pa-shadow-soft);
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: .8rem;
  padding: .4rem;
  display: flex;
}

.settings-tab {
  color: var(--pa-color-text-muted);
  border: 1px solid transparent;
  border-radius: .75rem;
  flex: 1 1 8rem;
  justify-content: center;
  align-items: center;
  min-height: 2.4rem;
  padding: .5rem .7rem;
  font-size: .76rem;
  font-weight: 750;
  line-height: 1.2;
  display: flex;
}

.settings-tab:hover {
  color: var(--pa-color-text-strong);
  border-color: #b58b4230;
}

.settings-tab.is-active {
  color: var(--pa-color-gold-400);
  background: linear-gradient(145deg, var(--pa-color-charcoal-800), var(--pa-color-charcoal-950));
  border-color: #b58b4252;
  box-shadow: 4px 4px 9px #433b2f2b, -2px -2px 7px #ffffffb0;
}

.settings-panel {
  border: 1px solid var(--pa-color-border);
  border-radius: var(--pa-radius-lg);
  background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
  box-shadow: 7px 7px 18px #433b2f1f, -6px -6px 16px #ffffffd4;
  margin-top: .8rem;
  padding: 1rem;
}

.settings-panel-heading {
  justify-content: space-between;
  align-items: flex-start;
  gap: .75rem;
  display: flex;
}

.settings-panel-heading h2 {
  color: var(--pa-color-text-strong);
  letter-spacing: -.01em;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.3;
}

.settings-panel-heading p {
  color: var(--pa-color-text-muted);
  max-width: 42rem;
  margin-top: .2rem;
  font-size: .75rem;
  line-height: 1.45;
}

.settings-status-group {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .35rem;
  display: flex;
}

.settings-placeholder-badge,
.settings-status {
  border-radius: 999px;
  flex: none;
  padding: .28rem .55rem;
  font-size: .64rem;
  font-weight: 800;
  line-height: 1.2;
}

.settings-placeholder-badge,
.settings-status.is-inactive,
.settings-status.is-disabled {
  color: var(--pa-color-gold-600);
  background: #d0ad6617;
  border: 1px solid #b58b423d;
}

.settings-status.is-active {
  color: #356743;
  background: #46785217;
  border: 1px solid #46785238;
}

.settings-field-grid {
  border: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .7rem;
  min-width: 0;
  margin: .85rem 0 0;
  padding: 0;
  display: grid;
}

.settings-field {
  color: var(--pa-color-text-strong);
  grid-column: span 2;
  min-width: 0;
  font-size: .72rem;
  font-weight: 750;
}

.settings-field > span:first-child,
.settings-field > label:first-child {
  min-height: 1.8em;
  margin-bottom: .35rem;
  display: block;
}

.settings-field-full {
  grid-column: 1 / -1;
}

.settings-field .pa-field {
  min-height: 2.55rem;
  padding: .55rem .7rem;
  font-size: .78rem;
  box-shadow: inset 2px 2px 6px #433b2f12, inset -2px -2px 5px #fff;
}

.settings-field-grid:disabled .pa-field {
  cursor: not-allowed;
  color: var(--pa-color-text-muted);
  opacity: .88;
}

.settings-field-error {
  color: #a43f3f;
  margin-top: .3rem;
  font-size: .67rem;
  font-weight: 650;
  line-height: 1.35;
  display: block;
}

.settings-feedback {
  border-radius: .75rem;
  margin-top: .75rem;
  padding: .55rem .7rem;
  font-size: .74rem;
  font-weight: 700;
  line-height: 1.4;
}

.settings-feedback.is-success {
  color: #356743;
  background: #46785212;
  border: 1px solid #46785230;
}

.settings-feedback.is-error {
  color: #943838;
  background: #a43f3f0d;
  border: 1px solid #a43f3f30;
}

.settings-actions {
  border-top: 1px solid var(--pa-color-border);
  justify-content: flex-end;
  gap: .5rem;
  margin-top: .85rem;
  padding-top: .75rem;
  display: flex;
}

.settings-action,
.settings-secondary-action {
  min-height: 2.45rem;
  padding: .5rem .8rem;
  font-size: .76rem;
}

.settings-secondary-action {
  color: var(--pa-color-gold-400);
  border: 1px solid #b58b425c;
  border-radius: var(--pa-radius-sm);
  background: linear-gradient(145deg, var(--pa-color-charcoal-800), var(--pa-color-charcoal-950));
  justify-content: center;
  align-items: center;
  font-weight: 750;
  display: inline-flex;
  transition: color var(--pa-transition-fast), background var(--pa-transition-fast), transform var(--pa-transition-fast), box-shadow var(--pa-transition-fast);
  box-shadow: 4px 4px 9px #433b2f2b, -3px -3px 8px #ffffffbd;
}

.settings-secondary-action:not(:disabled):hover {
  color: var(--pa-color-charcoal-950);
  background: linear-gradient(145deg, var(--pa-color-gold-400), var(--pa-color-gold-500));
  transform: translateY(-1px);
  box-shadow: 0 7px 16px #8f692d33;
}

.settings-secondary-action:not(:disabled):active {
  transform: translateY(1px);
  box-shadow: inset 3px 3px 7px #85651f, inset -2px -2px 6px #e4ca7f;
}

.pa-button-primary:not(:disabled):hover,
.neu-button-blue:not(:disabled):hover {
  color: var(--pa-color-gold-400);
  background: linear-gradient(145deg, var(--pa-color-charcoal-800), var(--pa-color-charcoal-950));
  border-color: #b58b425c;
}

.pa-button-primary:not(:disabled):active {
  transform: translateY(1px);
  box-shadow: inset 3px 3px 7px #070809, inset -2px -2px 6px #36383a;
}

.header-login-button:hover,
.dashboard-language-option.is-active:hover {
  color: var(--pa-color-charcoal-950);
  background: linear-gradient(145deg, var(--pa-color-gold-400), var(--pa-color-gold-500));
}

.settings-action:disabled,
.settings-secondary-action:disabled {
  cursor: not-allowed;
  opacity: .68;
  transform: none;
}

button[aria-busy="true"] {
  gap: .45rem;
  cursor: wait;
  opacity: .9;
}

button[aria-busy="true"]::before {
  content: "";
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  width: .85rem;
  height: .85rem;
  animation: pa-button-spin .7s linear infinite;
}

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

.settings-provider-row {
  border: 1px solid var(--pa-color-border);
  border-radius: .8rem;
  background: var(--pa-color-surface);
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  margin-top: .75rem;
  padding: .6rem .7rem;
  font-size: .75rem;
  font-weight: 750;
  display: flex;
  box-shadow: 3px 3px 8px #433b2f14, -3px -3px 7px #ffffffbd;
}

.settings-future-label {
  color: var(--pa-color-gold-600);
  display: block;
  font-size: .62rem;
  font-weight: 700;
  margin-top: .12rem;
}

.settings-inline-field {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .5rem;
  display: grid;
}

.settings-copy-field .pa-field[readonly] {
  color: var(--pa-color-text-muted);
  cursor: text;
}

.settings-test-form {
  border-top: 1px solid var(--pa-color-border);
  margin-top: .85rem;
  padding-top: .8rem;
}

.settings-mode-options {
  border: 1px solid var(--pa-color-border);
  background: var(--pa-color-surface);
  border-radius: var(--pa-radius-sm);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: 2.55rem;
  padding: .25rem;
  display: grid;
  box-shadow: inset 2px 2px 6px #433b2f12, inset -2px -2px 5px #fff;
}

.settings-mode-options button {
  color: var(--pa-color-text-muted);
  border-radius: .55rem;
  font-size: .72rem;
  font-weight: 750;
}

.settings-mode-options button.is-selected {
  color: var(--pa-color-gold-400);
  background: var(--pa-color-charcoal-900);
}

.settings-toggle-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  margin-top: .85rem;
  display: grid;
}

.settings-toggle-row {
  border: 1px solid var(--pa-color-border);
  border-radius: .85rem;
  background: var(--pa-color-surface);
  justify-content: space-between;
  align-items: center;
  gap: .65rem;
  min-width: 0;
  padding: .65rem .7rem;
  font-size: .74rem;
  font-weight: 750;
  display: flex;
  box-shadow: 4px 4px 10px #433b2f1b, -4px -4px 9px #ffffffc7;
}

.settings-switch {
  color: var(--pa-color-text-muted);
  border: 1px solid var(--pa-color-border);
  border-radius: 999px;
  background: var(--pa-color-surface-soft);
  flex: none;
  align-items: center;
  gap: .3rem;
  min-width: 3.6rem;
  padding: .2rem .4rem .2rem .25rem;
  font-size: .6rem;
  display: flex;
  box-shadow: inset 2px 2px 5px #433b2f1a, inset -2px -2px 5px #fff;
}

.settings-switch > span {
  background: var(--pa-color-text-muted);
  border-radius: 50%;
  width: .85rem;
  height: .85rem;
}

.settings-switch strong {
  flex: 1;
  text-align: center;
}

.settings-switch.is-on {
  color: #24724b;
  border-color: #31885b4d;
  background: #edf8f1;
}

.settings-switch.is-on > span {
  background: #2f8f5b;
  box-shadow: 0 0 0 3px #2f8f5b1f;
}

.settings-switch.is-off {
  color: #a83f36;
  border-color: #c9574d4d;
  background: #fff0ee;
}

.settings-switch.is-off > span {
  background: #c94f45;
  box-shadow: 0 0 0 3px #c94f451a;
}

.settings-switch-control {
  cursor: pointer;
  transition: transform var(--pa-transition-fast), box-shadow var(--pa-transition-fast), border-color var(--pa-transition-fast);
}

.settings-switch-control:not(:disabled):hover {
  border-color: var(--pa-color-charcoal-800);
  box-shadow: 3px 3px 8px #433b2f24, -2px -2px 7px #ffffffc7;
  transform: translateY(-1px);
}

.settings-switch-control:not(:disabled):active {
  box-shadow: inset 2px 2px 5px #433b2f1f, inset -2px -2px 5px #fff;
  transform: translateY(1px);
}

.settings-explanation {
  color: var(--pa-color-text-muted);
  border-left: 2px solid var(--pa-color-gold-500);
  background: #d0ad660d;
  border-radius: 0 .7rem .7rem 0;
  margin-top: .75rem;
  padding: .6rem .75rem;
  font-size: .75rem;
  line-height: 1.5;
}

@media (max-width: 767px) {
  .settings-tabs {
    gap: .3rem;
    padding: .35rem;
  }

  .settings-tab {
    flex-basis: 29%;
    min-height: 2.5rem;
    padding-inline: .4rem;
  }

  .settings-panel {
    padding: .8rem;
  }

  .settings-field-grid,
  .settings-toggle-list {
    grid-template-columns: minmax(0, 1fr);
    gap: .6rem;
  }

  .settings-field,
  .settings-field-full {
    grid-column: 1;
  }

  .settings-inline-field {
    grid-template-columns: minmax(0, 1fr);
  }

  .settings-inline-field .settings-secondary-action {
    width: 100%;
  }

  .settings-actions > * {
    flex: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-body *, .dashboard-body :before, .dashboard-body :after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-divide-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}
/* Contextual account verification */
.verification-email-correction {
    border-top: 1px solid rgba(181, 138, 50, .2);
    padding-top: .875rem;
}

.verification-email-correction > summary {
    color: #b58a32;
    cursor: pointer;
    font-size: .8rem;
    font-weight: 700;
    list-style-position: inside;
    min-height: 2.5rem;
    text-align: center;
}

.dashboard-status-message {
    background: #f5efe2;
    border: 1px solid rgba(181, 138, 50, .3);
    border-radius: 14px;
    box-shadow: 5px 5px 12px rgba(72, 61, 43, .09), -4px -4px 10px rgba(255, 255, 255, .72);
    color: #68501f;
    font-size: .82rem;
    margin-bottom: 1rem;
    padding: .7rem .9rem;
}

/* Workshop initial onboarding */
.workshop-onboarding-page {
    padding-top: clamp(1rem, 2vw, 1.5rem);
}

.workshop-onboarding-heading,
.workshop-onboarding-form {
    margin-inline: auto;
    max-width: 68rem;
}

.workshop-onboarding-heading h1 {
    color: var(--pa-color-text-strong);
    font-size: clamp(1.25rem, 2.4vw, 1.65rem);
    font-weight: 750;
    letter-spacing: -.025em;
    line-height: 1.2;
    margin-top: .25rem;
}

.workshop-onboarding-heading > p:last-child {
    color: var(--pa-color-text-muted);
    font-size: .82rem;
    line-height: 1.5;
    margin-top: .35rem;
}

.workshop-onboarding-form {
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    box-shadow: 7px 7px 20px rgba(67, 59, 47, .12), -5px -5px 16px rgba(255, 255, 255, .78);
    margin-top: .9rem;
    padding: clamp(1rem, 2.2vw, 1.35rem);
}

.workshop-onboarding-grid {
    display: grid;
    gap: .85rem 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.workshop-onboarding-field {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    min-width: 0;
}

.workshop-onboarding-field > span:first-child {
    color: var(--pa-color-text-strong);
    font-size: .75rem;
    font-weight: 750;
    line-height: 1.3;
}

.workshop-onboarding-field-full {
    grid-column: 1 / -1;
}

.workshop-onboarding-location {
    display: grid;
    gap: .85rem 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.workshop-slug-input {
    align-items: center;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    position: relative;
}

.workshop-slug-input > span {
    color: var(--pa-color-gold-600);
    font-size: 1rem;
    font-weight: 800;
    left: .85rem;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.workshop-slug-input .pa-field {
    padding-left: 1.35rem;
}

.workshop-slug-preview {
    color: var(--pa-color-text-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: .68rem;
    gap: .25rem;
    line-height: 1.4;
}

.workshop-slug-preview strong {
    color: var(--pa-color-gold-600);
    overflow-wrap: anywhere;
}

.workshop-onboarding-error {
    color: #b42318;
    font-size: .68rem;
    font-weight: 650;
    line-height: 1.35;
}

.workshop-onboarding-actions {
    border-top: 1px solid var(--pa-color-border);
    display: flex;
    justify-content: flex-end;
    margin-top: 1rem;
    padding-top: 1rem;
}

.workshop-onboarding-actions .pa-button-primary {
    min-height: 2.6rem;
    padding: .55rem .9rem;
}

.salesperson-vehicle-field {
    border: 0;
    margin: 0;
    padding: 0;
}

.salesperson-vehicle-field legend {
    color: var(--pa-color-text-strong);
    font-size: .75rem;
    font-weight: 750;
    line-height: 1.3;
    margin-bottom: .45rem;
}

.salesperson-vehicle-options {
    display: grid;
    gap: .6rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 24rem;
}

.salesperson-vehicle-options label {
    align-items: center;
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border: 1px solid var(--pa-color-border);
    border-radius: .75rem;
    box-shadow: 4px 4px 10px rgba(67, 59, 47, .12), -3px -3px 8px rgba(255, 255, 255, .75);
    cursor: pointer;
    display: flex;
    font-size: .75rem;
    font-weight: 700;
    gap: .5rem;
    min-height: 2.7rem;
    padding: .55rem .7rem;
}

.salesperson-vehicle-options input {
    accent-color: var(--pa-color-gold-600);
    height: 1rem;
    margin: 0;
    width: 1rem;
}

@media (max-width: 639px) {
    .workshop-onboarding-page {
        padding-top: 1rem;
    }

    .workshop-onboarding-heading h1 {
        font-size: 1.2rem;
    }

    .workshop-onboarding-form {
        border-radius: 1rem;
        padding: .9rem;
    }

    .workshop-onboarding-grid,
    .workshop-onboarding-location {
        gap: .75rem;
        grid-template-columns: minmax(0, 1fr);
    }

    .workshop-onboarding-actions .pa-button-primary {
        width: 100%;
    }
}

/* Admin Workshop details populated by onboarding */
.admin-workshop-public-profile,
.admin-workshop-information {
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-md);
    box-shadow: 5px 5px 14px rgba(67, 59, 47, .1), -4px -4px 12px rgba(255, 255, 255, .74);
}

.admin-workshop-public-profile {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-top: .75rem;
    padding: .75rem .85rem;
    position: relative;
}

.admin-workshop-public-profile > div {
    display: flex;
    flex-direction: column;
    gap: .18rem;
    min-width: 0;
}

.admin-workshop-public-profile span,
.admin-workshop-information dt {
    color: var(--pa-color-text-muted);
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
}

.admin-workshop-public-profile strong {
    color: var(--pa-color-gold-600);
    font-size: .78rem;
    overflow-wrap: anywhere;
}

.admin-workshop-public-profile strong.is-empty {
    color: var(--pa-color-text-muted);
    font-weight: 650;
}

.admin-workshop-public-profile .admin-workshop-secondary-button {
    flex: none;
    min-height: 2.4rem;
}

.admin-workshop-summary-details {
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(0, 2fr) minmax(15rem, .8fr);
    margin-top: .75rem;
}

.admin-workshop-summary-salespeople,
.admin-workshop-summary-services {
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-md);
    box-shadow: 5px 5px 14px rgba(67, 59, 47, .1), -4px -4px 12px rgba(255, 255, 255, .74);
    padding: .8rem .85rem;
}

.admin-workshop-summary-salespeople > header {
    align-items: center;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
}

.admin-workshop-summary-salespeople h2,
.admin-workshop-summary-services h2 {
    color: var(--pa-color-text-strong);
    font-size: .82rem;
    font-weight: 750;
    line-height: 1.3;
}

.admin-workshop-summary-salespeople header p,
.admin-workshop-summary-services p,
.admin-workshop-summary-empty {
    color: var(--pa-color-text-muted);
    font-size: .7rem;
    line-height: 1.4;
    margin-top: .16rem;
}

.admin-workshop-summary-salespeople > header > strong,
.admin-workshop-summary-services > strong {
    color: var(--pa-color-gold-600);
    font-size: 1rem;
}

.admin-workshop-summary-salespeople ul {
    display: grid;
    gap: 0;
    list-style: none;
    margin-top: .55rem;
}

.admin-workshop-summary-salespeople li {
    align-items: center;
    border-top: 1px solid var(--pa-color-border);
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    min-width: 0;
    padding: .55rem 0;
}

.admin-workshop-summary-salespeople li > span {
    color: var(--pa-color-text-strong);
    font-size: .76rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.admin-workshop-summary-salespeople li > strong {
    color: var(--pa-color-gold-600);
    flex: none;
    font-size: .7rem;
    font-weight: 750;
}

.admin-workshop-summary-services {
    align-items: center;
    display: grid;
    gap: .7rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.admin-workshop-summary-services-icon {
    align-items: center;
    background: linear-gradient(145deg, #f7f3eb, #ebe4d8);
    border: 1px solid rgba(181, 135, 45, .2);
    border-radius: .7rem;
    color: var(--pa-color-gold-600);
    display: inline-flex;
    height: 2.5rem;
    justify-content: center;
    width: 2.5rem;
}

.admin-workshop-summary-services-icon svg {
    height: 1.2rem;
    width: 1.2rem;
}

.admin-workshop-copy-source {
    height: 1px;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    width: 1px;
}

.admin-workshop-information {
    padding: .85rem;
}

.admin-workshop-information h2 {
    color: var(--pa-color-text-strong);
    font-size: .9rem;
    font-weight: 750;
    line-height: 1.3;
}

.admin-information-heading {
    align-items: center;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
}

.admin-contracts-control { flex: none; }
.admin-contracts-button { gap: .4rem; min-height: 2.35rem; padding: .45rem .7rem; }
.admin-contracts-button svg { height: .95rem; width: .95rem; }
.admin-contracts-button > span {
    align-items: center;
    background: #171816;
    border-radius: 999px;
    color: #f7e3ae;
    display: inline-flex;
    font-size: .6rem;
    height: 1.15rem;
    justify-content: center;
    min-width: 1.15rem;
    padding: 0 .25rem;
}

.admin-contracts-dialog { max-width: min(44rem, calc(100vw - 2rem)); }
.admin-contract-upload {
    background: var(--pa-color-surface-soft);
    border: 1px solid var(--pa-color-border);
    border-radius: .8rem;
    display: grid;
    gap: .5rem;
    padding: .75rem;
}
.admin-contract-upload label { margin: 0; }
.admin-contract-upload small, .admin-contract-empty { color: var(--pa-color-text-muted); font-size: .68rem; }
.admin-contract-upload .pa-button-primary { justify-self: end; }
.admin-contract-list { display: grid; gap: .5rem; margin-top: .25rem; }
.admin-contract-list h3 { font-size: .78rem; }
.admin-contract-list ul { display: grid; gap: .45rem; max-height: 18rem; overflow-y: auto; padding: .1rem; }
.admin-contract-list li {
    align-items: center;
    background: var(--pa-color-surface-raised);
    border: 1px solid var(--pa-color-border);
    border-radius: .75rem;
    box-shadow: 3px 3px 8px #433b2f12, -3px -3px 8px #ffffffad;
    display: grid;
    gap: .65rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: .6rem;
}
.admin-contract-type {
    align-items: center;
    background: #d0ad6621;
    border: 1px solid #b58b4242;
    border-radius: .55rem;
    color: var(--pa-color-gold-700);
    display: inline-flex;
    font-size: .55rem;
    font-weight: 800;
    height: 2.25rem;
    justify-content: center;
    width: 2.55rem;
}
.admin-contract-list li div { min-width: 0; }
.admin-contract-list li strong { display: block; font-size: .72rem; overflow-wrap: anywhere; }
.admin-contract-list li small { color: var(--pa-color-text-muted); display: block; font-size: .6rem; margin-top: .15rem; }
.admin-contract-list nav { display: flex; gap: .35rem; }
.admin-contract-list nav a {
    border: 1px solid var(--pa-color-border);
    border-radius: .5rem;
    color: var(--pa-color-text-strong);
    font-size: .62rem;
    font-weight: 750;
    padding: .38rem .48rem;
    white-space: nowrap;
}
.admin-contract-list nav a:hover { border-color: #b58b425c; color: var(--pa-color-gold-700); }

.salesperson-license-details {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.salesperson-license-details[hidden] { display: none; }
.salesperson-license-details .workshop-onboarding-field { margin: 0; }
.salesperson-license-details small { color: var(--pa-color-text-muted); }

.admin-workshop-information dl {
    display: grid;
    gap: 0 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: .55rem;
}

.admin-workshop-information dl > div {
    border-top: 1px solid var(--pa-color-border);
    min-width: 0;
    padding: .65rem 0;
}

.admin-workshop-information dl > div.is-wide {
    grid-column: span 2;
}

.admin-workshop-information dd {
    color: var(--pa-color-text-strong);
    font-size: .78rem;
    font-weight: 650;
    line-height: 1.45;
    margin-top: .2rem;
    overflow-wrap: anywhere;
}

.admin-access-management {
    align-items: center;
    background: var(--pa-color-surface-soft);
    border: 1px solid var(--pa-color-border);
    border-radius: .85rem;
    box-shadow: inset 2px 2px 5px #433b2f0b, inset -2px -2px 5px #ffffff8f;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-top: .7rem;
    padding: .8rem;
}

.admin-access-management strong {
    color: var(--pa-color-text-strong);
    display: block;
    font-size: .76rem;
}

.admin-access-management p,
.admin-access-history-note {
    color: var(--pa-color-text-muted);
    font-size: .68rem;
    line-height: 1.5;
    margin-top: .2rem;
}

.admin-workshop-secondary-button.is-danger {
    border-color: #a6424242;
    color: #8c3030;
}

.admin-workshop-secondary-button.is-danger:hover {
    border-color: #a6424273;
    color: #742525;
}

.admin-salesperson-state-dialog .admin-passeports-dialog-card {
    gap: .75rem;
}

.admin-salesperson-state-dialog .admin-access-impact {
    background: #d0ad6612;
    border: 1px solid #b58b4229;
    border-radius: .75rem;
    color: var(--pa-color-text-strong);
    font-size: .78rem;
    line-height: 1.6;
    margin: 0;
    padding: .75rem .8rem;
}

.admin-salesperson-state-dialog .admin-access-history-note {
    line-height: 1.55;
    margin: 0;
    padding: 0 .15rem;
}

.admin-salesperson-state-dialog .admin-passeports-dialog-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    justify-content: center;
    margin-top: .2rem;
}

.admin-salesperson-state-dialog .admin-passeports-dialog-actions > * {
    min-height: 2.7rem;
    padding: .65rem 1rem;
}

@media (max-width: 767px) {
    .admin-workshop-summary-details {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-workshop-information dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 639px) {
    .admin-workshop-public-profile {
        align-items: stretch;
        flex-direction: column;
        gap: .65rem;
    }

    .admin-workshop-public-profile .admin-workshop-secondary-button {
        width: 100%;
    }

    .admin-workshop-summary-salespeople li {
        align-items: flex-start;
        flex-direction: column;
        gap: .18rem;
    }

    .admin-workshop-information {
        padding: .75rem;
    }

    .admin-workshop-information dl {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-workshop-information dl > div.is-wide {
        grid-column: auto;
    }

    .admin-access-management {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-access-management button {
        width: 100%;
    }

    .admin-salesperson-state-dialog .admin-passeports-dialog-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .admin-salesperson-state-dialog .admin-passeports-dialog-actions > * {
        width: 100%;
    }

    .admin-contracts-button { font-size: .68rem; }
    .admin-contract-list li { align-items: start; grid-template-columns: auto minmax(0, 1fr); }
    .admin-contract-list nav { grid-column: 1 / -1; justify-content: flex-end; }
    .salesperson-license-details { grid-template-columns: minmax(0, 1fr); }
}

/* Admin · inventaire des Passeports */
.admin-salesperson-create-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-salesperson-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-passeports-panel,
.admin-passeport-detail-card,
.admin-passeport-services-placeholder {
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-md);
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    box-shadow: var(--pa-shadow-soft);
}

.admin-passeports-panel {
    overflow: hidden;
}

.admin-passeports-panel > .admin-workshop-success {
    margin: .75rem .8rem 0;
}

.admin-passeports-toolbar {
    align-items: center;
    display: flex;
    gap: .8rem;
    justify-content: space-between;
    padding: .8rem;
}

.admin-passeports-toolbar h2,
.admin-passeport-detail-card h2 {
    color: var(--pa-color-text-strong);
    font-size: .9rem;
    font-weight: 750;
    line-height: 1.3;
}

.admin-passeports-toolbar p,
.admin-passeports-note,
.admin-passeports-dialog-available {
    color: var(--pa-color-text-muted);
    font-size: .7rem;
    line-height: 1.4;
    margin-top: .2rem;
}

.admin-passeports-actions {
    align-items: center;
    display: flex;
    flex: none;
    gap: .5rem;
}

.admin-passeports-actions .pa-button-primary {
    gap: .4rem;
    min-height: 2.5rem;
    padding: .55rem .8rem;
    font-size: .78rem;
}

.admin-passeports-actions svg {
    height: 1rem;
    width: 1rem;
}

.admin-passeports-actions button:disabled {
    cursor: not-allowed;
    opacity: .48;
    transform: none;
}

.admin-passeports-note {
    border-top: 1px solid var(--pa-color-border);
    margin: 0;
    padding: .55rem .8rem;
}

.admin-passeports-empty {
    border-top: 1px solid var(--pa-color-border);
    align-items: baseline;
    display: flex;
    gap: .5rem;
    padding: 1rem .8rem;
}

.admin-passeports-empty strong {
    color: var(--pa-color-text-strong);
    font-size: .78rem;
}

.admin-passeports-empty span {
    color: var(--pa-color-text-muted);
    font-size: .72rem;
}

.admin-passeports-table-wrap {
    border-top: 1px solid var(--pa-color-border);
    overflow-x: auto;
}

.admin-passeports-table {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
}

.admin-passeports-table th {
    background: #ece7de8c;
    border-bottom: 1px solid var(--pa-color-border);
    color: var(--pa-color-text-muted);
    font-size: .64rem;
    font-weight: 750;
    letter-spacing: .06em;
    padding: .65rem .8rem;
    text-align: left;
    text-transform: uppercase;
}

.admin-passeports-table th:first-child {
    width: 24%;
}

.admin-passeports-table th.is-action {
    width: 8%;
}

.admin-passeports-table td {
    border-bottom: 1px solid var(--pa-color-border);
    color: var(--pa-color-text-muted);
    font-size: .75rem;
    padding: .7rem .8rem;
    vertical-align: middle;
}

.admin-passeports-table tbody tr:last-child td {
    border-bottom: 0;
}

.admin-passeports-table tbody tr:hover {
    background: #ece7de57;
}

.admin-passeports-table td:first-child a {
    color: var(--pa-color-text-strong);
    font-variant-numeric: tabular-nums;
    font-weight: 750;
}

.admin-passeports-table td:first-child a:hover {
    color: var(--pa-color-gold-600);
}

.admin-passeports-table .is-action {
    text-align: center;
}

.admin-passeports-table .is-action a {
    border-radius: .6rem;
    color: var(--pa-color-gold-600);
    display: inline-grid;
    height: 2rem;
    place-items: center;
    transition: background-color var(--pa-transition-fast), transform var(--pa-transition-fast);
    width: 2rem;
}

.admin-passeports-table .is-action a:hover {
    background: #d0ad661f;
    transform: translateX(1px);
}

.admin-dashboard-metric-link {
    color: inherit;
    text-decoration: none;
}

.admin-dashboard-metric-link article {
    height: 100%;
}

.admin-dashboard-metric-link:hover article,
.admin-dashboard-metric-link:focus-visible article {
    border-color: #b5872d77;
    box-shadow: 4px 4px 10px #433b2f1f, -3px -3px 8px #ffffffcc;
    outline: none;
    transform: translateY(-1px);
}

.salesperson-sell-button {
    font-size: .68rem;
    min-height: 2rem;
    padding: .35rem .55rem;
}

.salesperson-activation-action {
    align-items: center;
    background: #d0ad661f;
    border: 1px solid #b5872d66;
    border-radius: .62rem;
    color: var(--pa-color-gold-700);
    display: inline-flex;
    height: 2rem;
    justify-content: center;
    transition: background var(--pa-transition-fast), transform var(--pa-transition-fast);
    width: 2rem;
}

.salesperson-activation-action:hover,
.salesperson-activation-action:focus-visible {
    background: #d0ad6638;
    outline: none;
    transform: translateY(-1px);
}

.salesperson-activation-action svg { height: 1rem; width: 1rem; }

.salesperson-sale-unavailable {
    color: var(--pa-color-text-muted);
    display: inline-block;
    font-size: .65rem;
    line-height: 1.35;
    max-width: 13rem;
    text-align: left;
}

.salesperson-sale-summary {
    border-bottom: 1px solid var(--pa-color-border);
    margin: .5rem 0 .8rem;
    padding-bottom: .7rem;
}

.salesperson-sale-summary dt,
.salesperson-sale-payment-methods legend,
.salesperson-sale-link > span {
    color: var(--pa-color-text-muted);
    font-size: .68rem;
    font-weight: 750;
}

.salesperson-sale-summary dd {
    color: var(--pa-color-text-strong);
    font-size: .82rem;
    font-weight: 750;
    margin-top: .16rem;
}

.salesperson-sale-payment-methods {
    border: 0;
    display: grid;
    gap: .5rem;
    margin: 0;
    padding: 0;
}

.salesperson-sale-payment-methods legend { margin-bottom: .3rem; }
.salesperson-sale-payment-methods label { align-items: center; cursor: pointer; display: flex; gap: .5rem; }
.salesperson-sale-payment-methods input { accent-color: var(--pa-color-gold-600); }
.salesperson-sale-payment-methods span { color: var(--pa-color-text-strong); font-size: .8rem; font-weight: 650; }
.salesperson-sale-payment-methods label.is-disabled { color: var(--pa-color-text-muted); cursor: not-allowed; }
.salesperson-sale-payment-methods label.is-disabled span { color: var(--pa-color-text-muted); }
.salesperson-sale-payment-methods em {
    color: var(--pa-color-gold-700);
    font-size: .67rem;
    font-style: normal;
    font-weight: 750;
}
.salesperson-sale-total {
    background: var(--pa-color-surface-raised);
    border: 1px solid var(--pa-color-border);
    border-radius: .7rem;
    box-shadow: inset 1px 1px 2px #ffffff, 3px 3px 8px #433b2f12;
    display: grid;
    gap: .35rem;
    margin: .8rem 0 0;
    padding: .65rem .75rem;
}
.salesperson-sale-total div { align-items: baseline; display: flex; justify-content: space-between; gap: 1rem; }
.salesperson-sale-total div.is-total { border-top: 1px solid var(--pa-color-border); margin-top: .15rem; padding-top: .5rem; }
.salesperson-sale-total dt { color: var(--pa-color-text-muted); font-size: .72rem; font-weight: 750; }
.salesperson-sale-total dd { color: var(--pa-color-gold-700); font-size: .95rem; font-weight: 800; margin: 0; }
.pa-money,
.pa-money-copy,
.pa-currency-symbol {
    font-family: Arial, Helvetica, sans-serif;
}
.pa-currency-symbol { font-weight: 700; letter-spacing: 0; }
.salesperson-sale-cash-confirmation {
    align-items: flex-start;
    border-top: 1px solid var(--pa-color-border);
    color: var(--pa-color-text-strong);
    cursor: pointer;
    display: flex;
    font-size: .78rem;
    font-weight: 650;
    gap: .55rem;
    line-height: 1.35;
    margin-top: .85rem;
    padding-top: .8rem;
}
.salesperson-sale-cash-confirmation input { accent-color: var(--pa-color-gold-600); margin-top: .08rem; }
.salesperson-sale-dialog .admin-passeports-dialog-actions { margin-top: 1rem; }
.salesperson-sale-discount { margin-top: .9rem; }
.salesperson-sale-discount small { color: var(--pa-color-text-muted); }
.salesperson-sale-review-dialog .admin-passeports-dialog-card { max-width: 31rem; }
.salesperson-sale-review-dialog .admin-passeports-dialog-actions {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: .65rem;
    justify-content: flex-end;
    margin-top: .35rem;
}
.salesperson-sale-review-dialog .admin-passeports-dialog-actions > * {
    box-sizing: border-box;
    flex: 0 0 auto;
    min-height: 2.75rem;
    min-width: 7.5rem;
    padding: .65rem 1rem;
    white-space: nowrap;
}
.salesperson-sale-verification-copy { display: grid; gap: .7rem; text-align: center; }
.salesperson-sale-verification-copy p { color: var(--pa-color-text-muted); margin: 0; }
.salesperson-sale-verification-copy strong {
    background: var(--pa-color-surface-soft);
    border: 1px solid var(--pa-color-border);
    border-radius: .8rem;
    box-shadow: inset 2px 2px 5px #3a302012, inset -2px -2px 5px #fff9;
    color: var(--pa-color-text);
    font-size: 1.45rem;
    letter-spacing: .04em;
    padding: .8rem 1rem;
}

.superadmin-finance-page { display: grid; gap: 1rem; }
.superadmin-finance-filters { grid-template-columns: repeat(2, minmax(10rem, 14rem)) auto; }
.superadmin-finance-section-title { font-size: 1rem; margin: 0 0 .65rem; }
.superadmin-finance-metrics { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.superadmin-finance-breakdowns { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.superadmin-finance-note { color: var(--pa-color-text-muted); font-size: .78rem; margin: 0; }
@media (max-width: 1100px) {
    .superadmin-finance-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .superadmin-finance-breakdowns { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
    .superadmin-finance-filters, .superadmin-finance-metrics { grid-template-columns: 1fr; }
}

.salesperson-sale-result-page { display: grid; place-items: start center; }
.salesperson-sale-result-card {
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-lg);
    box-shadow: 9px 9px 20px #433b2f14, -7px -7px 16px #ffffffc4;
    display: grid;
    gap: .85rem;
    max-width: 31rem;
    padding: 1.15rem;
    width: 100%;
}
.salesperson-sale-result-card h1 { font-size: 1.25rem; }
.salesperson-sale-result-number { color: var(--pa-color-text-strong); font-size: 1.1rem; }
.salesperson-sale-result-card dl { display: grid; gap: .65rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.salesperson-sale-result-card dl div { background: #ffffff75; border: 1px solid #b5872d22; border-radius: .7rem; padding: .6rem; }
.salesperson-sale-result-card dt { color: var(--pa-color-text-muted); font-size: .62rem; font-weight: 750; }
.salesperson-sale-result-card dd { color: var(--pa-color-text-strong); font-size: .75rem; font-weight: 750; margin-top: .2rem; }
.salesperson-sale-result-qr { background: #f6f2ea; border-radius: .75rem; justify-self: center; max-width: 11rem; padding: .4rem; width: 100%; }
.salesperson-sale-link { display: grid; gap: .28rem; }
.salesperson-sale-link input { font-size: .67rem; }
.salesperson-sale-result-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.salesperson-sale-result-actions > * { flex: 1; }

@media (min-width: 640px) {
    .salesperson-passeport-detail-page .admin-workshop-detail-heading {
        justify-content: space-between;
        width: 100%;
    }

    .salesperson-passeport-detail-page .salesperson-sell-button {
        margin-left: auto;
    }
}

@media (max-width: 639px) {
    .salesperson-sale-result-card dl { grid-template-columns: minmax(0, 1fr); }
    .admin-passeports-table td.is-action { align-items: center; display: flex; gap: .25rem; }
    .salesperson-sale-unavailable { max-width: 10rem; }
}

.admin-passeports-table .is-action svg {
    height: .95rem;
    width: .95rem;
}

.admin-passeport-status {
    align-items: center;
    border: 1px solid;
    border-radius: 999px;
    display: inline-flex;
    font-size: .63rem;
    font-weight: 750;
    line-height: 1.2;
    padding: .22rem .5rem;
    white-space: nowrap;
}

.admin-passeport-status.is-available {
    background: #46785212;
    border-color: #46785238;
    color: #356540;
}

.admin-passeport-status.is-assigned {
    background: #d0ad661f;
    border-color: #b58b4247;
    color: var(--pa-color-gold-700);
}

.admin-passeport-status.is-sold_pending_activation {
    background: #a86f2514;
    border-color: #a86f2540;
    color: #8a5d22;
}

.admin-passeport-status.is-active {
    background: #346f5b14;
    border-color: #346f5b40;
    color: #346f5b;
}

.admin-passeport-status.is-expired {
    background: #8f353312;
    border-color: #8f35333d;
    color: #8f3533;
}

.admin-passeports-pagination {
    align-items: center;
    border-top: 1px solid var(--pa-color-border);
    display: flex;
    gap: .55rem;
    justify-content: flex-end;
    padding: .6rem .8rem;
}

.admin-passeports-pagination a,
.admin-passeports-pagination span,
.admin-passeports-pagination strong {
    color: var(--pa-color-text-muted);
    font-size: .68rem;
    font-weight: 700;
}

.admin-passeports-pagination a:hover {
    color: var(--pa-color-gold-600);
}

.admin-passeports-pagination span {
    opacity: .5;
}

.admin-passeports-dialog {
    background: transparent;
    border: 0;
    color: var(--pa-color-text-strong);
    margin: auto;
    max-height: calc(100vh - 2rem);
    max-width: min(31rem, calc(100vw - 2rem));
    padding: 1rem;
    width: 100%;
}

.admin-passeports-dialog::backdrop {
    backdrop-filter: blur(5px);
    background: #10110fa3;
}

.admin-passeports-dialog-card {
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border: 1px solid #ffffffb8;
    border-radius: var(--pa-radius-lg);
    box-shadow: 14px 14px 32px #090a096b, -8px -8px 24px #ffffff4d;
    display: grid;
    gap: .55rem;
    padding: 1rem;
}

.admin-passeports-dialog-card header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: .2rem;
}

.admin-passeports-dialog-card h2 {
    font-size: .95rem;
    font-weight: 750;
}

.admin-passeports-dialog-card header button {
    background: var(--pa-color-surface-raised);
    border: 1px solid var(--pa-color-border);
    border-radius: .55rem;
    box-shadow: 3px 3px 7px #433b2f1f, -2px -2px 6px #fff;
    color: var(--pa-color-text-strong);
    cursor: pointer;
    font-size: 1.2rem;
    height: 2rem;
    line-height: 1;
    width: 2rem;
}

.admin-passeports-dialog-card label {
    color: var(--pa-color-text-strong);
    font-size: .75rem;
    font-weight: 700;
    margin-top: .25rem;
}

.admin-passeports-range-preview {
    background: #d0ad6614;
    border: 1px solid #b58b4233;
    border-radius: var(--pa-radius-sm);
    display: grid;
    gap: .2rem;
    margin-top: .2rem;
    padding: .65rem .75rem;
}

.admin-passeports-range-preview span {
    color: var(--pa-color-text-muted);
    font-size: .68rem;
}

.admin-passeports-range-preview strong {
    color: var(--pa-color-gold-700);
    font-size: .82rem;
    font-variant-numeric: tabular-nums;
}

.admin-passeport-detail-card {
    margin-top: 1rem;
    padding: .85rem;
}

.admin-passeport-detail-card dl {
    display: grid;
    gap: .55rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: .65rem;
}

.admin-passeport-detail-card dl > div {
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border: 1px solid var(--pa-color-border);
    border-radius: .75rem;
    box-shadow: 3px 3px 8px #433b2f14, -3px -3px 7px #ffffffb5;
    min-width: 0;
    padding: .65rem .7rem;
}

.admin-passeport-detail-card dt {
    color: var(--pa-color-text-muted);
    font-size: .62rem;
    font-weight: 750;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.admin-passeport-detail-card dd {
    color: var(--pa-color-text-strong);
    font-size: .78rem;
    font-weight: 650;
    margin-top: .2rem;
    overflow-wrap: anywhere;
}

.admin-passeport-assignment-card {
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-md);
    box-shadow: var(--pa-shadow-soft);
    display: grid;
    gap: .8rem;
    margin-top: .85rem;
    padding: .85rem;
}

.admin-passeport-assignment-card > header {
    align-items: flex-start;
    display: flex;
    gap: .8rem;
    justify-content: space-between;
}

.admin-passeport-assignment-card h2 {
    color: var(--pa-color-text-strong);
    font-size: .9rem;
    font-weight: 750;
}

.admin-passeport-assignment-card header p {
    color: var(--pa-color-text-muted);
    font-size: .7rem;
    line-height: 1.5;
    margin-top: .2rem;
}

.admin-passeport-assignment-lock {
    background: #8d6c2d12;
    border: 1px solid #b58b423d;
    border-radius: 999px;
    color: var(--pa-color-gold-700);
    flex: none;
    font-size: .62rem;
    font-weight: 800;
    padding: .35rem .55rem;
}

.admin-passeport-current-salesperson {
    background: #d0ad6612;
    border: 1px solid #b58b4229;
    border-radius: .75rem;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    padding: .65rem .75rem;
}

.admin-passeport-current-salesperson span {
    color: var(--pa-color-text-muted);
    font-size: .68rem;
}

.admin-passeport-current-salesperson strong {
    color: var(--pa-color-text-strong);
    font-size: .75rem;
}

.admin-passeport-assignment-form {
    display: grid;
    gap: .45rem;
}

.admin-passeport-assignment-form > label {
    color: var(--pa-color-text-strong);
    font-size: .7rem;
    font-weight: 750;
}

.admin-passeport-assignment-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    justify-content: flex-end;
    margin-top: .25rem;
}

.admin-passeport-unassign-dialog .admin-passeports-dialog-card > p {
    color: var(--pa-color-text-strong);
    font-size: .78rem;
    line-height: 1.55;
}

.admin-passeport-unassign-dialog .admin-passeports-dialog-card > small {
    color: var(--pa-color-text-muted);
    font-size: .66rem;
}

.admin-passeport-services-placeholder {
    align-items: baseline;
    display: flex;
    gap: .55rem;
    margin-top: .7rem;
    padding: .75rem .85rem;
}

.admin-passeport-services-placeholder strong {
    color: var(--pa-color-text-strong);
    font-size: .78rem;
}

.admin-passeport-services-placeholder span {
    color: var(--pa-color-text-muted);
    font-size: .7rem;
}

/* Admin · services Passeport d’un atelier */
.admin-services-panel {
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-md);
    box-shadow: var(--pa-shadow-soft);
    overflow: hidden;
}

.admin-services-panel > .admin-workshop-success {
    margin: .75rem .8rem 0;
}

.admin-services-toolbar {
    align-items: center;
    display: flex;
    gap: .8rem;
    justify-content: space-between;
    padding: .8rem;
}

.admin-services-toolbar h2 {
    color: var(--pa-color-text-strong);
    font-size: .9rem;
    font-weight: 750;
    line-height: 1.3;
}

.admin-services-toolbar p {
    color: var(--pa-color-text-muted);
    font-size: .7rem;
    margin-top: .15rem;
}

.admin-services-toolbar .pa-button-primary {
    font-size: .78rem;
    gap: .4rem;
    min-height: 2.5rem;
    padding: .55rem .8rem;
}

.admin-services-toolbar .pa-button-primary svg {
    height: 1rem;
    width: 1rem;
}

.admin-services-empty {
    align-items: baseline;
    border-top: 1px solid var(--pa-color-border);
    display: flex;
    gap: .5rem;
    padding: 1rem .8rem;
}

.admin-services-empty strong {
    color: var(--pa-color-text-strong);
    font-size: .78rem;
}

.admin-services-empty span {
    color: var(--pa-color-text-muted);
    font-size: .72rem;
}

.admin-services-list {
    border-top: 1px solid var(--pa-color-border);
    display: grid;
    gap: .55rem;
    padding: .65rem;
}

.admin-service-card {
    align-items: center;
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border: 1px solid var(--pa-color-border);
    border-radius: .85rem;
    box-shadow: 4px 4px 10px #433b2f1c, -4px -4px 9px #ffffffcf;
    display: grid;
    gap: .7rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-width: 0;
    padding: .65rem .7rem;
    transition: border-color var(--pa-transition-fast), opacity var(--pa-transition-fast), box-shadow var(--pa-transition-fast);
}

.admin-service-card.is-inactive {
    border-color: #c9574d2e;
    opacity: .76;
}

.admin-service-icon {
    align-items: center;
    background: linear-gradient(145deg, #fffdf9, #e9e3d8);
    border: 1px solid #b58b4238;
    border-radius: .72rem;
    box-shadow: 3px 3px 7px #433b2f1c, -3px -3px 7px #fff;
    color: var(--pa-color-gold-700);
    display: inline-flex;
    height: 2.55rem;
    justify-content: center;
    width: 2.55rem;
}

.admin-service-icon svg {
    height: 1.15rem;
    width: 1.15rem;
}

.admin-service-content {
    min-width: 0;
}

.admin-service-content strong {
    color: var(--pa-color-text-strong);
    display: block;
    font-size: .8rem;
    font-weight: 750;
}

.admin-service-content p {
    color: var(--pa-color-text-muted);
    font-size: .7rem;
    line-height: 1.4;
    margin-top: .12rem;
    overflow-wrap: anywhere;
}

.admin-service-content > span {
    color: var(--pa-color-gold-700);
    display: block;
    font-size: .65rem;
    font-weight: 750;
    margin-top: .22rem;
}

.admin-service-actions {
    align-items: center;
    display: flex;
    gap: .45rem;
}

.admin-service-edit {
    align-items: center;
    background: var(--pa-color-surface-raised);
    border: 1px solid var(--pa-color-border);
    border-radius: .65rem;
    box-shadow: 3px 3px 7px #433b2f1a, -3px -3px 7px #fff;
    color: var(--pa-color-text-strong);
    cursor: pointer;
    display: inline-flex;
    font-size: .68rem;
    font-weight: 750;
    gap: .18rem;
    min-height: 2rem;
    padding: .35rem .5rem;
    transition: background-color var(--pa-transition-fast), color var(--pa-transition-fast), transform var(--pa-transition-fast);
}

.admin-service-edit:hover {
    background: var(--pa-color-charcoal-900);
    color: var(--pa-color-gold-400);
    transform: translateY(-1px);
}

.admin-service-edit:active {
    transform: translateY(1px);
}

.admin-service-edit svg {
    height: .8rem;
    width: .8rem;
}

.admin-service-form textarea.pa-field {
    min-height: 5rem;
    resize: vertical;
}

.admin-service-icon-picker {
    border: 0;
    margin-top: .2rem;
    min-width: 0;
    padding: 0;
}

.admin-service-icon-picker legend {
    color: var(--pa-color-text-strong);
    font-size: .75rem;
    font-weight: 700;
    margin-bottom: .45rem;
}

.admin-service-icon-options {
    display: grid;
    gap: .38rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-service-icon-options label {
    cursor: pointer;
    margin: 0;
    min-width: 0;
    position: relative;
}

.admin-service-icon-options input {
    height: 1px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.admin-service-icon-options label > span {
    align-items: center;
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border: 1px solid var(--pa-color-border);
    border-radius: .68rem;
    box-shadow: 2px 2px 6px #433b2f18, -2px -2px 6px #fff;
    color: var(--pa-color-text-muted);
    display: flex;
    flex-direction: column;
    gap: .2rem;
    justify-content: center;
    min-height: 3.7rem;
    padding: .35rem .2rem;
    text-align: center;
    transition: border-color var(--pa-transition-fast), box-shadow var(--pa-transition-fast), color var(--pa-transition-fast), transform var(--pa-transition-fast);
}

.admin-service-icon-options svg {
    height: 1.15rem;
    width: 1.15rem;
}

.admin-service-icon-options small {
    font-size: .54rem;
    font-weight: 700;
    line-height: 1.15;
}

.admin-service-icon-options label:hover > span {
    border-color: #b58b4261;
    color: var(--pa-color-gold-700);
    transform: translateY(-1px);
}

.admin-service-icon-options input:checked + span {
    background: #d0ad6618;
    border-color: var(--pa-color-gold-500);
    box-shadow: inset 2px 2px 5px #7d5f2521, inset -2px -2px 5px #fff;
    color: var(--pa-color-gold-700);
}

.admin-service-icon-options input:focus-visible + span {
    outline: 3px solid #d0ad6652;
    outline-offset: 2px;
}

.admin-service-icon-picker.is-invalid .admin-service-icon-options {
    border: 1px solid #b73535;
    border-radius: .75rem;
    padding: .2rem;
}

.admin-service-create-status {
    align-items: center;
    display: flex;
    justify-content: space-between;
    position: relative;
}

.admin-service-status-input {
    height: 1px;
    opacity: 0;
    position: absolute;
    right: 0;
    width: 1px;
}

.admin-service-status-control {
    align-items: center;
    background: #fff0ee;
    border: 1px solid #c9574d4d;
    border-radius: 999px;
    color: #a83f36;
    cursor: pointer;
    display: grid;
    font-size: .6rem;
    grid-template-columns: auto 1fr;
    min-width: 3.8rem;
    padding: .2rem .4rem .2rem .25rem;
}

.admin-service-status-control > span {
    background: #c94f45;
    border-radius: 50%;
    box-shadow: 0 0 0 3px #c94f451a;
    height: .85rem;
    width: .85rem;
}

.admin-service-status-control strong {
    text-align: center;
}

.admin-service-status-control .is-on-label,
.admin-service-status-input:checked + .admin-service-status-control .is-off-label {
    display: none;
}

.admin-service-status-input:checked + .admin-service-status-control {
    background: #edf8f1;
    border-color: #31885b4d;
    color: #24724b;
}

.admin-service-status-input:checked + .admin-service-status-control > span {
    background: #2f8f5b;
    box-shadow: 0 0 0 3px #2f8f5b1f;
}

.admin-service-status-input:checked + .admin-service-status-control .is-on-label {
    display: block;
}

.admin-service-status-input:focus-visible + .admin-service-status-control {
    outline: 3px solid #d0ad6652;
    outline-offset: 2px;
}

/* Vendeur · inventaire de Passeports */
.dashboard-compact-card-link {
    color: inherit;
    text-decoration: none;
}

.dashboard-compact-card-link:focus-visible {
    border-color: var(--pa-color-gold-500);
    outline: 3px solid #d0ad6652;
    outline-offset: 3px;
}

.dashboard-compact-card-description {
    color: var(--pa-color-text-muted);
    display: block;
    font-size: .78rem;
    line-height: 1.5;
    margin-top: .3rem;
}

.salesperson-passeports-heading h1 {
    color: var(--pa-color-text-strong);
    font-size: 1.45rem;
    font-weight: 780;
    letter-spacing: -.025em;
    margin-top: .25rem;
}

.salesperson-passeports-heading > div > p:last-child {
    color: var(--pa-color-text-muted);
    font-size: .78rem;
    line-height: 1.45;
    margin-top: .3rem;
}

.salesperson-passeport-metrics {
    margin-top: .9rem;
}

.passeport-list-filters {
    align-items: end;
    background: #f3efe8a8;
    border: 1px solid var(--pa-color-border);
    border-radius: .9rem;
    box-shadow: 3px 3px 8px #433b2f12, -3px -3px 8px #ffffffad;
    display: grid;
    gap: .55rem;
    grid-template-columns: minmax(10rem, 1fr) minmax(9rem, .75fr) minmax(12rem, 1fr) auto;
    margin-top: .75rem;
    padding: .6rem;
}

.passeport-list-filters label {
    min-width: 0;
}

.passeport-list-filters label > span {
    color: var(--pa-color-text-strong);
    display: block;
    font-size: .66rem;
    font-weight: 750;
    margin: 0 0 .25rem .1rem;
}

.passeport-list-filters .pa-field {
    font-size: .72rem;
    min-height: 2.4rem;
    padding: .48rem .65rem;
}

.passeport-list-filter-actions {
    align-items: center;
    display: flex;
    gap: .4rem;
}

.passeport-list-filter-actions .pa-button-primary,
.passeport-list-filter-actions .admin-workshop-secondary-button {
    font-size: .7rem;
    min-height: 2.4rem;
    padding: .45rem .7rem;
    white-space: nowrap;
}

.salesperson-passeports-list,
.salesperson-passeport-services {
    margin-top: .8rem;
}

.admin-salesperson-passeports-list {
    margin-top: .7rem;
}

.passeport-list-filters + .admin-passeports-empty {
    margin-top: .7rem;
}

.salesperson-service-status {
    min-width: 4.5rem;
}

@media (max-width: 767px) {
    .admin-workshop-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-passeports-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-services-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-services-toolbar .pa-button-primary {
        width: 100%;
    }

    .admin-service-card {
        align-items: start;
        grid-template-columns: auto minmax(0, 1fr);
    }

    .admin-service-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .admin-service-icon-options {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .passeport-list-filters {
        align-items: stretch;
        grid-template-columns: minmax(0, 1fr);
    }

    .passeport-list-filter-actions > * {
        flex: 1;
    }

    .admin-passeports-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-passeports-actions button {
        width: 100%;
    }

    .admin-passeports-table thead {
        display: none;
    }

    .admin-passeports-table,
    .admin-passeports-table tbody {
        display: block;
    }

    .admin-passeports-table tbody {
        display: grid;
        gap: .45rem;
        padding: .55rem;
    }

    .admin-passeports-table tr {
        background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
        border: 1px solid var(--pa-color-border);
        border-radius: .75rem;
        box-shadow: 2px 2px 7px #433b2f12, -2px -2px 6px #ffffffa6;
        display: grid;
        gap: .35rem .65rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: .65rem 3rem .65rem .7rem;
        position: relative;
    }

    .admin-passeports-table td {
        align-items: baseline;
        border: 0;
        display: flex;
        flex-direction: column;
        gap: .1rem;
        min-width: 0;
        padding: 0;
    }

    .admin-passeports-table td::before {
        color: var(--pa-color-text-muted);
        content: attr(data-label);
        font-size: .56rem;
        font-weight: 750;
        letter-spacing: .04em;
        text-transform: uppercase;
    }

    .admin-passeports-table td.is-action {
        display: grid;
        position: absolute;
        right: .5rem;
        top: 50%;
        transform: translateY(-50%);
    }

    .admin-passeports-table td.is-action::before {
        display: none;
    }

    .admin-passeport-detail-card dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 479px) {
    .admin-salesperson-create-grid,
    .admin-salesperson-metrics {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-passeports-actions {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-passeports-empty,
    .admin-passeport-services-placeholder {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-passeport-detail-card dl {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-passeport-assignment-card > header,
    .admin-passeport-current-salesperson {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-passeport-assignment-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .admin-passeport-assignment-actions > * {
        width: 100%;
    }

    .admin-passeports-dialog {
        max-width: calc(100vw - 1rem);
        padding: .5rem;
    }
}

/* Superadmin · administrators */
.superadmin-administrators-page {
    display: grid;
    gap: .8rem;
}

.superadmin-administrators-table {
    min-width: 48rem;
}

.superadmin-administrator-actions {
    text-align: right;
    white-space: nowrap;
}

.superadmin-administrator-actions .pa-button-primary,
.superadmin-administrator-actions .admin-workshop-secondary-button {
    font-size: .66rem;
    min-height: 2rem;
    padding: .35rem .6rem;
}

.superadmin-administrator-profile-card,
.superadmin-administrator-summary {
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-md);
    box-shadow: var(--pa-shadow-soft);
    padding: .9rem;
}

.superadmin-administrator-profile-card dl {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.superadmin-administrator-profile-card dt {
    color: var(--pa-color-text-muted);
    font-size: .63rem;
    font-weight: 750;
    text-transform: uppercase;
}

.superadmin-administrator-profile-card dd {
    color: var(--pa-color-text-strong);
    font-size: .76rem;
    font-weight: 700;
    margin-top: .18rem;
    overflow-wrap: anywhere;
}

.superadmin-administrator-detail-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: .8rem;
}

.superadmin-administrator-summary > header {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.superadmin-administrator-summary .admin-dashboard-metrics {
    margin-top: .7rem;
}

.superadmin-administrator-summary .admin-dashboard-metrics strong {
    overflow-wrap: anywhere;
}

.superadmin-dashboard-page {
    display: grid;
    gap: .8rem;
}

.superadmin-dashboard-heading h1 {
    color: var(--pa-color-text-strong);
    font-size: clamp(1.45rem, 2.3vw, 2rem);
    font-weight: 820;
    letter-spacing: -.035em;
    margin-top: .2rem;
}

.superadmin-dashboard-heading .dashboard-muted {
    font-size: .75rem;
    margin-top: .25rem;
}

.superadmin-platform-metrics {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: .7rem;
}

.superadmin-platform-metric {
    align-items: center;
    background: rgba(255, 253, 249, .68);
    border: 1px solid var(--pa-color-border);
    border-radius: .85rem;
    box-shadow: 3px 3px 9px rgba(73, 61, 42, .08), -3px -3px 8px rgba(255, 255, 255, .78);
    display: flex;
    gap: .65rem;
    min-height: 4.55rem;
    min-width: 0;
    padding: .65rem .7rem;
}

a.superadmin-platform-metric {
    transition: color var(--pa-transition-fast), transform var(--pa-transition-fast);
}

a.superadmin-platform-metric:hover,
a.superadmin-platform-metric:focus-visible {
    color: var(--pa-color-gold-700);
    transform: translateY(-1px);
}

.superadmin-dashboard-icon {
    align-items: center;
    background: linear-gradient(145deg, rgba(255, 255, 255, .92), rgba(232, 225, 211, .72));
    border: 1px solid rgba(181, 135, 45, .18);
    border-radius: .7rem;
    color: var(--pa-color-gold-700);
    display: inline-flex;
    flex: 0 0 auto;
    height: 2.35rem;
    justify-content: center;
    width: 2.35rem;
}

.superadmin-dashboard-icon svg {
    height: 1.15rem;
    width: 1.15rem;
}

.superadmin-platform-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
}

.superadmin-platform-copy small,
.superadmin-commercial-metrics dt {
    color: var(--pa-color-text-muted);
    font-size: .62rem;
    font-style: normal;
    font-weight: 720;
    line-height: 1.25;
}

.superadmin-platform-copy strong {
    color: var(--pa-color-text-strong);
    font-size: .88rem;
    font-weight: 820;
    line-height: 1.25;
    margin-top: .18rem;
    overflow-wrap: anywhere;
}

.superadmin-platform-copy em {
    color: #287055;
    font-size: .58rem;
    font-style: normal;
    font-weight: 780;
    margin-top: .15rem;
    text-transform: uppercase;
}

.superadmin-dashboard-arrow {
    color: var(--pa-color-gold-600);
    flex: 0 0 auto;
    height: .95rem;
    width: .95rem;
}

.superadmin-dashboard-middle-grid {
    align-items: start;
    display: grid;
    gap: .8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.superadmin-system-list {
    display: grid;
    margin-top: .55rem;
}

.superadmin-system-list > a {
    align-items: center;
    border-top: 1px solid var(--pa-color-border);
    display: grid;
    gap: .6rem;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    min-height: 3rem;
    padding: .42rem .1rem;
    transition: color var(--pa-transition-fast), padding var(--pa-transition-fast);
}

.superadmin-system-list > a:hover,
.superadmin-system-list > a:focus-visible {
    color: var(--pa-color-gold-700);
    padding-left: .3rem;
}

.superadmin-system-list .superadmin-dashboard-icon {
    height: 1.85rem;
    width: 1.85rem;
}

.superadmin-system-list .superadmin-dashboard-icon svg {
    height: .95rem;
    width: .95rem;
}

.superadmin-system-list strong {
    color: var(--pa-color-text-strong);
    font-size: .72rem;
}

.superadmin-system-list em {
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: .57rem;
    font-style: normal;
    font-weight: 780;
    padding: .18rem .42rem;
    white-space: nowrap;
}

.superadmin-system-list em.is-connected,
.superadmin-system-list em.is-configured,
.superadmin-system-list em.is-operational,
.superadmin-system-list em.is-on {
    background: rgba(40, 112, 85, .08);
    color: #287055;
}

.superadmin-system-list em.is-incomplete {
    background: rgba(181, 135, 45, .08);
    color: var(--pa-color-gold-700);
}

.superadmin-system-list em.is-inactive,
.superadmin-system-list em.is-off {
    background: rgba(90, 78, 61, .06);
    color: var(--pa-color-text-muted);
}

.superadmin-commercial-metrics {
    display: grid;
    gap: .6rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: .7rem;
}

.superadmin-commercial-metrics > div {
    background: rgba(255, 253, 249, .68);
    border: 1px solid var(--pa-color-border);
    border-radius: .75rem;
    min-width: 0;
    padding: .62rem .7rem;
}

.superadmin-commercial-metrics dd {
    color: var(--pa-color-gold-700);
    font-size: .85rem;
    font-weight: 820;
    margin-top: .15rem;
    overflow-wrap: anywhere;
}

.superadmin-dashboard-empty {
    border-top: 1px solid var(--pa-color-border);
    display: flex;
    flex-direction: column;
    gap: .2rem;
    margin-top: .65rem;
    padding: .8rem .1rem .2rem;
}

.superadmin-dashboard-empty strong {
    color: var(--pa-color-text-strong);
    font-size: .74rem;
}

.superadmin-dashboard-empty span {
    color: var(--pa-color-text-muted);
    font-size: .67rem;
}

.superadmin-activity-list {
    list-style: none;
    margin-top: .55rem;
}

.superadmin-activity-list li {
    border-top: 1px solid var(--pa-color-border);
}

.superadmin-activity-list li > a,
.superadmin-activity-list li > div {
    align-items: center;
    display: grid;
    gap: .65rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 3.45rem;
    padding: .45rem .1rem;
}

.superadmin-activity-list li > a {
    transition: padding var(--pa-transition-fast);
}

.superadmin-activity-list li > a:hover,
.superadmin-activity-list li > a:focus-visible {
    padding-left: .3rem;
}

.superadmin-activity-list .superadmin-dashboard-icon {
    height: 2rem;
    width: 2rem;
}

.superadmin-activity-list .superadmin-dashboard-icon svg {
    height: 1rem;
    width: 1rem;
}

.superadmin-activity-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.superadmin-activity-copy time,
.superadmin-activity-copy small {
    color: var(--pa-color-text-muted);
    font-size: .59rem;
}

.superadmin-activity-copy strong {
    color: var(--pa-color-text-strong);
    font-size: .71rem;
    line-height: 1.35;
    margin: .08rem 0;
}

@media (max-width: 639px) {
    .superadmin-administrator-profile-card dl {
        grid-template-columns: minmax(0, 1fr);
    }

    .superadmin-administrator-summary > header {
        align-items: flex-start;
        flex-direction: column;
    }

    .superadmin-administrator-detail-actions form,
    .superadmin-administrator-detail-actions button {
        width: 100%;
    }

    .superadmin-platform-metrics,
    .superadmin-dashboard-middle-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .superadmin-dashboard-middle-grid > section {
        grid-column: 1 / -1;
    }

    .superadmin-dashboard-commercial > header {
        align-items: flex-start;
        gap: .55rem;
    }
}

@media (max-width: 419px) {
    .superadmin-platform-metrics,
    .superadmin-commercial-metrics {
        grid-template-columns: minmax(0, 1fr);
    }

    .superadmin-system-list > a {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .superadmin-system-list .superadmin-dashboard-arrow {
        display: none;
    }
}

.superadmin-services-page .dashboard-section-toolbar {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.superadmin-services-page .admin-services-empty {
    border-top: 0;
}

.service-catalog-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem .65rem;
}

.service-benefit-badge,
.service-global-inactive {
    background: rgba(184, 137, 47, .1);
    border: 1px solid rgba(184, 137, 47, .28);
    border-radius: 999px;
    color: var(--pa-color-gold-700);
    display: inline-flex;
    font-size: .7rem;
    font-weight: 750;
    padding: .25rem .55rem;
    width: fit-content;
}

.service-global-inactive {
    background: rgba(110, 101, 88, .08);
    border-color: rgba(110, 101, 88, .2);
    color: var(--pa-color-text-muted);
}

.service-benefit-choice {
    border: 0;
    display: flex;
    gap: .65rem;
    margin: 0;
    padding: 0;
}

.service-benefit-choice legend {
    font-size: .76rem;
    font-weight: 750;
    margin-bottom: .45rem;
}

.service-benefit-choice label {
    align-items: center;
    background: var(--pa-color-surface, #f8f5ee);
    border: 1px solid rgba(137, 111, 63, .2);
    border-radius: .75rem;
    cursor: pointer;
    display: inline-flex;
    gap: .4rem;
    padding: .65rem .85rem;
}

.service-currency-field {
    align-items: center;
    display: grid;
    gap: .5rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.service-currency-field > span {
    color: var(--pa-color-text-muted);
    font-size: .78rem;
    font-weight: 800;
}

@media (max-width: 600px) {
    .superadmin-services-page .dashboard-section-toolbar {
        align-items: stretch;
        gap: .8rem;
    }

    .service-benefit-choice {
        flex-direction: column;
    }
}

/* Workshop customer operations */
.workshop-workspace-heading {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.workshop-qr-open {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    gap: .45rem;
}

.workshop-qr-open svg {
    height: 1rem;
    width: 1rem;
}

.workshop-clients-search,
.workshop-service-history,
.workshop-client-history {
    margin-top: 1rem;
}

.workshop-clients-search + .admin-passeports-panel {
    margin-top: 1rem;
}

.workshop-clients-page .workshop-workspace-heading {
    margin-bottom: 1.2rem;
    padding-top: .25rem;
}

.workshop-client-search-grid {
    display: grid;
    gap: .8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0 .8rem .85rem;
}

.workshop-client-search-form,
.workshop-history-filters label {
    display: grid;
    gap: .35rem;
}

.workshop-client-search-form label,
.workshop-history-filters label span {
    color: var(--pa-color-text);
    font-size: .72rem;
    font-weight: 750;
}

.workshop-client-search-form > div,
.workshop-client-fixed-prefix {
    align-items: center;
    display: flex;
    gap: .45rem;
}

.workshop-client-search-form input {
    min-width: 0;
    width: 100%;
}

.workshop-client-search-form button {
    flex: 0 0 auto;
    min-height: 2.55rem;
}

.workshop-client-search-form .pa-button-secondary,
.workshop-history-filters .pa-button-secondary {
    align-items: center;
    background: var(--pa-color-surface-raised);
    border: 1px solid var(--pa-color-gold-500);
    border-radius: .7rem;
    box-shadow: 2px 2px 7px #433b2f12, -2px -2px 6px #ffffffa6;
    color: var(--pa-color-text-strong);
    cursor: pointer;
    display: inline-flex;
    font-size: .76rem;
    font-weight: 800;
    justify-content: center;
    padding: .5rem .8rem;
    text-decoration: none;
    white-space: nowrap;
}

.workshop-client-search-form .pa-button-secondary:hover,
.workshop-client-search-form .pa-button-secondary:focus-visible,
.workshop-history-filters .pa-button-secondary:hover,
.workshop-history-filters .pa-button-secondary:focus-visible {
    background: #fbf5e7;
    border-color: var(--pa-color-gold-600);
    outline: none;
}

.workshop-client-fixed-prefix {
    border: 1px solid var(--pa-color-border);
    border-radius: .7rem;
    box-shadow: inset 1px 1px 3px #433b2f0e;
    min-width: 0;
    padding-left: .7rem;
}

.workshop-client-fixed-prefix > span {
    color: var(--pa-color-gold-deep);
    font-size: .82rem;
    font-weight: 800;
    white-space: nowrap;
}

.workshop-client-fixed-prefix .pa-field {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.workshop-client-fixed-prefix .pa-field:focus {
    box-shadow: none;
}

.workshop-history-filters {
    align-items: end;
    display: grid;
    gap: .6rem;
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
    margin: 0;
    padding: 0 .8rem .85rem;
}

.workshop-history-filters .pa-field {
    min-width: 0;
    width: 100%;
}

.workshop-history-filters .pa-button-secondary {
    min-height: 2.55rem;
}

.workshop-qr-dialog {
    width: min(31rem, calc(100vw - 1rem));
}

.workshop-qr-dialog .admin-passeports-dialog-card > p {
    color: var(--pa-color-text-muted);
    font-size: .8rem;
    line-height: 1.45;
}

.workshop-qr-video {
    background: var(--pa-color-charcoal);
    border-radius: .65rem;
    display: block;
    max-height: 17rem;
    min-height: 9rem;
    object-fit: cover;
    width: 100%;
}

.workshop-qr-status {
    margin: .65rem 0;
}

.workshop-qr-dialog form {
    display: grid;
    gap: .45rem;
}

.workshop-qr-dialog form label {
    font-size: .75rem;
}

.workshop-qr-dialog form .pa-button-primary {
    justify-self: end;
}

.workshop-service-quantities {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .65rem;
}

.workshop-service-quantities span {
    color: var(--pa-color-text-muted);
    font-size: .72rem;
    font-weight: 700;
}

.workshop-service-consume,
.workshop-service-exhausted {
    align-self: center;
    flex: 0 0 auto;
    font-size: .72rem;
    min-height: 2.35rem;
    white-space: nowrap;
}

.workshop-service-exhausted {
    align-items: center;
    background: #f4eee3;
    border: 1px solid var(--pa-color-border);
    border-radius: .6rem;
    color: var(--pa-color-text-muted);
    display: inline-flex;
    font-weight: 750;
    padding: 0 .75rem;
}

.workshop-confirm-actions {
    align-items: stretch;
    display: flex;
    gap: .65rem;
    justify-content: flex-end;
    margin-top: 1rem;
}

.workshop-confirm-actions .workshop-confirm-cancel {
    min-height: 2.75rem;
    padding: .65rem 1rem;
}

.workshop-consume-confirmation {
    margin-top: 1rem;
    max-width: 48rem;
}

.workshop-consume-confirmation > p {
    color: var(--pa-color-text-muted);
    margin-top: -.45rem;
}

/* Client Passeport workspace */
.client-dashboard-mobile-heading,
.client-workspace-heading {
    margin-bottom: .9rem;
}

.client-workspace-heading h1 {
    color: var(--pa-color-text-strong);
    font-size: clamp(1.35rem, 2vw, 1.85rem);
    font-weight: 800;
    line-height: 1.2;
}

.client-workspace-heading p:last-child {
    color: var(--pa-color-text-muted);
    font-size: .78rem;
    line-height: 1.45;
    margin-top: .3rem;
}

.client-service-rule-notice {
    align-items: center;
    background: linear-gradient(145deg, #fffaf0, #f3ead8);
    border: 1px solid #b5872d45;
    border-radius: var(--pa-radius-sm);
    box-shadow: 4px 4px 10px #433b2f18, -3px -3px 8px #fff;
    color: var(--pa-color-text-strong);
    display: flex;
    gap: .55rem;
    margin-bottom: .75rem;
    padding: .65rem .75rem;
    font-size: .75rem;
    font-weight: 700;
    line-height: 1.4;
}

.client-service-rule-notice svg {
    color: var(--pa-color-gold-700);
    flex: none;
    height: 1.1rem;
    width: 1.1rem;
}

.client-empty-state,
.client-dashboard-section,
.client-dashboard-passeport-card,
.client-services-list article {
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-md);
    box-shadow: var(--pa-shadow-soft);
}

.client-empty-state {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: .2rem;
    padding: 1rem;
}

.client-empty-state strong { color: var(--pa-color-text-strong); font-size: .9rem; }
.client-empty-state span { color: var(--pa-color-text-muted); font-size: .75rem; line-height: 1.45; }

.client-dashboard-passeport-card {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: .9rem 1rem;
}

.client-dashboard-passeport-card h2 {
    color: var(--pa-color-text-strong);
    font-size: 1.15rem;
    font-weight: 820;
    margin-top: .16rem;
}

.client-dashboard-passeport-card p { color: var(--pa-color-text-muted); font-size: .75rem; margin: .18rem 0 .45rem; }
.client-dashboard-passeport-card small { color: var(--pa-color-text-muted); display: block; font-size: .64rem; margin-top: .42rem; }
.client-dashboard-passeport-card .pa-button-primary { flex: none; min-height: 2.65rem; }

.client-dashboard-section { margin-top: .85rem; padding: .85rem; }
.client-dashboard-section > header { align-items: center; display: flex; gap: .7rem; justify-content: space-between; }
.client-dashboard-section > header span { color: var(--pa-color-gold-700); display: block; font-size: .61rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.client-dashboard-section > header h2 { color: var(--pa-color-text-strong); font-size: .92rem; font-weight: 800; margin-top: .1rem; }
.client-dashboard-section > header a { color: var(--pa-color-gold-700); font-size: .7rem; font-weight: 800; text-decoration: none; }
.client-dashboard-section > header a:hover, .client-dashboard-section > header a:focus-visible { text-decoration: underline; }

.client-dashboard-metrics { margin-top: .7rem; }
.client-dashboard-grid { display: grid; gap: .85rem; grid-template-columns: minmax(0, 1.45fr) repeat(2, minmax(0, 1fr)); }
.client-dashboard-grid .client-dashboard-section { margin-top: 0; }

.client-dashboard-service-summary { display: grid; margin-top: .65rem; }
.client-dashboard-service-summary article { align-items: center; border-top: 1px solid var(--pa-color-border); display: grid; gap: .55rem; grid-template-columns: auto minmax(0, 1fr) auto; padding: .55rem 0; }
.client-dashboard-service-summary strong { color: var(--pa-color-text-strong); display: block; font-size: .75rem; font-weight: 780; }
.client-dashboard-service-summary article div span, .client-dashboard-service-summary > p { color: var(--pa-color-text-muted); display: block; font-size: .67rem; margin-top: .12rem; }
.client-dashboard-service-summary b { color: var(--pa-color-gold-700); font-size: .66rem; text-align: right; }
.client-dashboard-vehicle > p, .client-dashboard-workshop > p { color: var(--pa-color-text-muted); font-size: .73rem; line-height: 1.45; margin-top: .65rem; }
.client-dashboard-workshop > strong { color: var(--pa-color-text-strong); display: block; font-size: .82rem; margin-top: .65rem; }
.client-dashboard-workshop .admin-workshop-secondary-button { display: inline-flex; font-size: .68rem; margin-top: .55rem; min-height: 2.1rem; padding: .4rem .6rem; }

.client-dashboard-activity ul { display: grid; margin-top: .65rem; }
.client-dashboard-activity li { align-items: baseline; border-top: 1px solid var(--pa-color-border); display: grid; gap: .45rem; grid-template-columns: 5.8rem minmax(0, 1fr) auto; padding: .58rem 0; }
.client-dashboard-activity li span, .client-dashboard-activity li small, .client-dashboard-empty { color: var(--pa-color-text-muted); font-size: .68rem; }
.client-dashboard-activity li strong { color: var(--pa-color-text-strong); font-size: .74rem; }
.client-dashboard-empty { margin-top: .65rem; }

.client-digital-passeport-stage { aspect-ratio: 3 / 2; margin-inline: auto; max-width: 45rem; width: 100%; }
.client-digital-passeport { background: transparent var(--client-passeport-background) center / 100% 100% no-repeat; border: 0; border-radius: 0; box-shadow: none; color: #241b0e; column-gap: 1.15rem; display: grid; filter: drop-shadow(0 18px 24px #36220f52); grid-template-columns: minmax(0, 1fr) 14rem; grid-template-rows: auto minmax(0, 1fr) auto; height: 100%; overflow: hidden; padding: 9% 9% 12%; position: relative; width: 100%; }
.client-digital-passeport > header { align-items: center; display: flex; gap: .8rem; grid-column: 1 / -1; grid-row: 1; justify-content: space-between; min-width: 0; }
.client-digital-passeport-identity { align-items: center; display: flex; gap: .65rem; margin-left: 2.35rem; min-width: 0; }
.client-digital-passeport-logo { display: block; filter: drop-shadow(0 3px 5px #35210938); flex: none; height: 3.7rem; object-fit: contain; width: 3.7rem; }
.client-digital-passeport-identity > div { min-width: 0; }
.client-digital-passeport-brand { color: #241b0e; display: block; font-size: 1.05rem; font-weight: 850; line-height: 1.05; white-space: nowrap; }
.client-digital-passeport-identity > div > span:last-child { color: #684715; display: block; font-size: .58rem; font-weight: 850; letter-spacing: .1em; margin-top: .22rem; text-transform: uppercase; white-space: nowrap; }
.client-digital-passeport .admin-passeport-status { background: #241b0ee3; border-color: #241b0e; color: #f8dea0; margin-right: 1.15rem; }
.client-digital-passeport-main { display: contents; }
.client-digital-passeport-main > div:first-child { align-self: center; grid-column: 1; grid-row: 2; min-width: 0; padding-left: 1.25rem; }
.client-digital-passeport-main > div > span { color: #684715; display: block; font-size: .66rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.client-digital-passeport-main strong { color: #20170c; display: block; font-size: clamp(1.5rem, 3vw, 2rem); letter-spacing: .025em; line-height: 1.1; margin-top: .22rem; text-shadow: 0 1px 0 #fff1ba7a; white-space: nowrap; }
.client-digital-passeport-main p { color: #3e2b12; font-size: 1rem; font-weight: 800; margin-top: .5rem; text-shadow: 0 1px 0 #fff0b870; }
.client-digital-passeport-qr-frame { align-items: center; align-self: center; aspect-ratio: 1; background: linear-gradient(145deg, #2b2114, #0f0c08); border: 1px solid #f5dc94; border-radius: 1rem; box-shadow: 0 10px 22px #3b260f52, inset 0 0 0 2px #a9772a; display: flex; grid-column: 2; grid-row: 2; justify-content: center; justify-self: center; padding: .48rem; transform: translate(-1.25rem, -.85rem); width: 12.92rem; }
.client-digital-passeport-qr-frame img { background: #fffdf7; border: 1px solid #5d421b33; border-radius: .62rem; box-shadow: inset 0 0 0 1px #fff; display: block; height: 100%; padding: .3rem; width: 100%; }
.client-digital-passeport dl { align-self: end; border-top: 1px solid #50361157; display: grid; gap: .5rem .7rem; grid-column: 1 / -1; grid-row: 3; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-inline: 1.4rem; padding-top: .5rem; text-align: center; transform: translateY(-.6rem); }
.client-digital-passeport dl > div { background: #f6da8338; border: 1px solid #51330f24; border-radius: .48rem; box-shadow: 0 5px 10px #3f250d29, inset 0 1px 0 #fff0b87a; min-width: 0; padding: .3rem .35rem; }
.client-digital-passeport dl > div:nth-child(1) { order: 1; }
.client-digital-passeport dl > div:nth-child(2) { order: 4; }
.client-digital-passeport dl > div:nth-child(3) { order: 2; }
.client-digital-passeport dl > div:nth-child(4) { order: 3; }
.client-digital-passeport dt { color: #684715; font-size: .56rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.client-digital-passeport dd { color: #241b0e; font-size: .7rem; font-weight: 750; line-height: 1.25; margin-top: .12rem; overflow-wrap: anywhere; text-shadow: 0 1px 0 #fff0b8a3, 0 2px 4px #4a2d1029; }

.client-passeport-actions { display: flex; flex-wrap: wrap; gap: .65rem; justify-content: center; margin: .9rem auto 0; max-width: 45rem; }
.client-passeport-actions > * { gap: .45rem; min-width: 10.5rem; text-decoration: none; }
.client-passeport-actions svg { height: 1rem; width: 1rem; }
.client-passeport-action-status { color: var(--pa-color-text-muted); font-size: .68rem; margin: .4rem auto 0; max-width: 45rem; min-height: 1em; text-align: center; }

.client-services-list { display: grid; gap: .65rem; }
.client-services-list article { align-items: center; display: grid; gap: .65rem; grid-template-columns: auto minmax(0, 1fr) auto auto; padding: .75rem; }
.client-services-list article > div > strong { color: var(--pa-color-text-strong); display: block; font-size: .82rem; font-weight: 800; }
.client-services-list article > div > p { color: var(--pa-color-text-muted); font-size: .7rem; margin-top: .16rem; }
.client-service-availability { text-align: right; }
.client-service-availability strong { color: var(--pa-color-gold-700); display: block; font-size: 1rem; }
.client-service-availability span { color: var(--pa-color-text-muted); font-size: .62rem; }
.client-service-status { border: 1px solid #b5872d44; border-radius: 999px; color: var(--pa-color-gold-700); font-size: .62rem; font-weight: 780; padding: .3rem .45rem; white-space: nowrap; }
.client-services-list article.is-exhausted .client-service-status { border-color: #99615c55; color: #9a4f49; }
.client-history-panel { margin-top: 0; }
.client-service-history-section { margin-top: 1rem; }
.client-service-history-section > header { margin-bottom: .65rem; }
.client-service-history-section > header h2 { color: var(--pa-color-text-strong); font-size: 1rem; font-weight: 820; margin-top: .12rem; }

.client-passeport-dialog { background: transparent; border: 0; margin: auto; max-height: calc(100dvh - 2rem); max-width: min(45rem, calc(100vw - 2rem)); overflow: visible; padding: 0; width: min(45rem, calc(100vw - 2rem)); }
.client-passeport-dialog::backdrop { background: #151510b8; backdrop-filter: blur(4px); }
.client-passeport-dialog > div { position: relative; width: 100%; }
.client-passeport-dialog .client-digital-passeport-stage { max-width: none; width: 100%; }
.client-passeport-dialog .client-digital-passeport > header { padding-right: 2.2rem; }
.client-passeport-dialog-close { align-items: center; background: #241b0e; border: 1px solid #f7dfa0; border-radius: 999px; color: #f8dea0; cursor: pointer; display: flex; font-size: 1.15rem; height: 2rem; justify-content: center; position: absolute; right: -.65rem; top: -.65rem; width: 2rem; z-index: 3; }

.client-workshop-information dl { display: grid; gap: .6rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: .8rem; }
.client-workshop-information dl > div { background: #ffffff6b; border: 1px solid #b5872d22; border-radius: .7rem; min-width: 0; padding: .65rem; }
.client-workshop-information .client-workshop-public-url { grid-column: 1 / -1; }
.client-workshop-information dt { color: var(--pa-color-text-muted); font-size: .63rem; font-weight: 750; }
.client-workshop-information dd { color: var(--pa-color-text-strong); font-size: .78rem; font-weight: 700; margin-top: .2rem; overflow-wrap: anywhere; }
.client-workshop-information dd a { color: var(--pa-color-gold-700); text-decoration: none; }
.client-workshop-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .8rem; }
.client-workshop-actions > * { min-height: 2.3rem; }

@media (max-width: 900px) { .client-dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .client-dashboard-grid > :first-child { grid-column: 1 / -1; } }
@media (max-width: 639px) { .client-dashboard-passeport-card { align-items: stretch; flex-direction: column; } .client-dashboard-passeport-card .pa-button-primary { justify-content: center; width: 100%; } .client-dashboard-grid { grid-template-columns: minmax(0, 1fr); } .client-dashboard-grid > :first-child { grid-column: auto; } .client-dashboard-activity li { grid-template-columns: 1fr auto; } .client-dashboard-activity li small { grid-column: 1 / -1; } .client-services-list article { grid-template-columns: auto minmax(0, 1fr) auto; } .client-service-status { grid-column: 2 / -1; justify-self: start; } .client-workshop-information dl { grid-template-columns: minmax(0, 1fr); } .client-workshop-information .client-workshop-public-url { grid-column: auto; } .client-workshop-actions > * { flex: 1; justify-content: center; } }

@media (max-width: 480px) { .client-passeport-actions > * { flex: 1 1 100%; width: 100%; } }

@media (max-width: 639px) and (orientation: portrait) {
    .client-digital-passeport-stage {
        aspect-ratio: 3 / 2;
        container-type: inline-size;
        height: auto;
        max-width: none;
        position: relative;
        width: 100%;
    }

    .client-digital-passeport {
        column-gap: 2.56cqw;
        grid-template-columns: minmax(0, 1fr) 31.11cqw;
        height: 100%;
        left: auto;
        position: relative;
        top: auto;
        transform: none;
        width: 100%;
    }

    .client-digital-passeport > header { gap: 1.78cqw; }
    .client-digital-passeport-identity { gap: 1.44cqw; margin-left: 5.22cqw; }
    .client-digital-passeport-logo { height: 8.22cqw; width: 8.22cqw; }
    .client-digital-passeport-brand { font-size: clamp(.58rem, 2.33cqw, 1.05rem); }
    .client-digital-passeport-identity > div > span:last-child { font-size: clamp(.4rem, 1.29cqw, .58rem); margin-top: .49cqw; }
    .client-digital-passeport .admin-passeport-status { font-size: clamp(.45rem, 1.4cqw, .64rem); margin-right: 2.56cqw; padding: .55cqw 1.15cqw; }
    .client-digital-passeport-main > div:first-child { padding-left: 2.78cqw; }
    .client-digital-passeport-main > div > span { font-size: clamp(.46rem, 1.47cqw, .66rem); }
    .client-digital-passeport-main strong { font-size: clamp(1rem, 4.44cqw, 2rem); margin-top: .49cqw; }
    .client-digital-passeport-main p { font-size: clamp(.62rem, 2.22cqw, 1rem); margin-top: 1.11cqw; }
    .client-digital-passeport-qr-frame { border-radius: 2.22cqw; padding: 1.07cqw; transform: translate(-2.78cqw, -1.89cqw); width: 28.71cqw; }
    .client-digital-passeport-qr-frame img { border-radius: 1.38cqw; padding: .67cqw; }
    .client-digital-passeport dl { gap: 1.11cqw 1.56cqw; margin-inline: 3.11cqw; padding-top: 1.11cqw; transform: translateY(-1.33cqw); }
    .client-digital-passeport dl > div { border-radius: 1.07cqw; padding: .67cqw .78cqw; }
    .client-digital-passeport dt { font-size: clamp(.42rem, 1.24cqw, .56rem); }
    .client-digital-passeport dd { font-size: clamp(.5rem, 1.56cqw, .7rem); margin-top: .27cqw; }

    .client-passeport-dialog {
        background: #25251f;
        height: 100dvh;
        margin: 0;
        max-height: 100dvh;
        max-width: 100vw;
        width: 100vw;
    }

    .client-passeport-dialog > div {
        display: grid;
        height: 100%;
        place-items: center;
    }

    .client-passeport-dialog .client-digital-passeport-stage {
        height: auto;
        left: calc(50% - .55rem);
        max-width: 45rem;
        position: absolute;
        top: calc(50% - 1.5rem);
        transform: translate(-50%, -50%) rotate(90deg);
        transform-origin: center;
        width: min(92dvh, 180vw, 45rem);
    }

    .client-passeport-dialog-close {
        position: fixed;
        right: max(.75rem, env(safe-area-inset-right));
        top: max(.75rem, env(safe-area-inset-top));
    }
}

@media (max-width: 767px) {
    .workshop-workspace-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .workshop-qr-open {
        justify-content: center;
    }

    .workshop-client-search-grid,
    .workshop-history-filters {
        grid-template-columns: minmax(0, 1fr);
    }

    .workshop-client-search-form > div {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .workshop-client-search-form > div > input {
        flex: 1 1 10rem;
    }

    .workshop-client-search-form button,
    .workshop-history-filters .pa-button-secondary {
        flex: 1 1 auto;
    }

    .workshop-client-fixed-prefix .pa-field {
        flex: 1 1 4rem;
        width: auto;
    }

    .workshop-client-fixed-prefix .pa-button-primary {
        flex: 1 0 100%;
    }

    .workshop-service-consume,
    .workshop-service-exhausted {
        grid-column: 1 / -1;
        justify-self: stretch;
        text-align: center;
    }

    .workshop-service-consume {
        justify-content: center;
    }

    .workshop-service-exhausted {
        justify-content: center;
    }

    .workshop-confirm-actions {
        flex-direction: column-reverse;
    }

    .workshop-confirm-actions > * {
        width: 100%;
    }
}

/* Admin functional dashboard */
.admin-dashboard-mobile-heading {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: flex-end;
    margin-bottom: .8rem;
}

.admin-dashboard-quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    justify-content: flex-end;
}

.admin-dashboard-quick-actions > a {
    align-items: center;
    display: inline-flex;
    font-size: .72rem;
    font-weight: 750;
    gap: .4rem;
    min-height: 2.35rem;
    padding: .55rem .8rem;
}

.admin-dashboard-quick-actions svg {
    height: 1rem;
    width: 1rem;
}

.salesperson-dashboard-toolbar {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 .8rem;
}

.salesperson-dashboard-toolbar .admin-dashboard-secondary-action {
    align-items: center;
    display: inline-flex;
    font-size: .72rem;
    font-weight: 750;
    gap: .4rem;
    min-height: 2.3rem;
    padding: .5rem .75rem;
}

.salesperson-dashboard-toolbar svg {
    height: 1rem;
    width: 1rem;
}

.workshop-dashboard-heading {
    margin-bottom: .8rem;
}

.workshop-dashboard-heading > div > span {
    color: var(--pa-color-gold-600);
    font-size: .65rem;
    font-weight: 750;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.workshop-dashboard-heading h1 {
    color: var(--pa-color-text-strong);
    font-size: clamp(1.35rem, 2vw, 1.85rem);
    font-weight: 800;
    line-height: 1.18;
    margin-top: .16rem;
}

.workshop-dashboard-heading p {
    color: var(--pa-color-text-muted);
    font-size: .77rem;
    line-height: 1.45;
    margin-top: .25rem;
}

.workshop-dashboard-section-link {
    color: var(--pa-color-gold-700);
    font-size: .68rem;
    font-weight: 760;
}

.workshop-dashboard-section-link:hover,
.workshop-dashboard-section-link:focus-visible {
    color: var(--pa-color-charcoal-900);
    text-decoration: underline;
}

.workshop-dashboard-two-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.workshop-dashboard-services-list {
    border-top: 1px solid var(--pa-color-border);
    display: grid;
    list-style: none;
    margin-top: .7rem;
}

.workshop-dashboard-services-list li {
    align-items: center;
    border-bottom: 1px solid var(--pa-color-border);
    display: grid;
    gap: .6rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 3rem;
    padding: .42rem .1rem;
}

.workshop-dashboard-services-list .admin-service-icon {
    height: 2rem;
    width: 2rem;
}

.workshop-dashboard-services-list .admin-service-icon svg {
    height: 1rem;
    width: 1rem;
}

.workshop-dashboard-services-list li > span:not(.admin-service-icon) {
    color: var(--pa-color-text-strong);
    font-size: .73rem;
    font-weight: 700;
    line-height: 1.3;
}

.workshop-dashboard-services-list strong {
    color: var(--pa-color-gold-700);
    font-size: .72rem;
    font-weight: 800;
}

.workshop-dashboard-empty-list {
    align-items: flex-start;
    border-top: 1px solid var(--pa-color-border);
    display: flex;
    flex-direction: column;
    gap: .15rem;
    margin-top: .7rem;
    padding: .7rem .1rem .15rem;
}

.workshop-dashboard-empty-list strong {
    color: var(--pa-color-text-strong);
    font-size: .74rem;
}

.workshop-dashboard-empty-list span {
    color: var(--pa-color-text-muted);
    font-size: .68rem;
    line-height: 1.4;
}

.workshop-dashboard-public-url {
    align-items: center;
    background: rgba(255, 253, 249, .54);
    border: 1px solid rgba(90, 78, 61, .12);
    border-radius: .78rem;
    box-shadow: inset 1px 1px 0 rgba(255, 255, 255, .72), 3px 3px 9px rgba(67, 59, 47, .07);
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    margin-top: .7rem;
    padding: .65rem .7rem;
}

.workshop-dashboard-public-url > div {
    min-width: 0;
}

.workshop-dashboard-public-url span {
    color: var(--pa-color-text-muted);
    display: block;
    font-size: .62rem;
    font-weight: 720;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.workshop-dashboard-public-url strong {
    color: var(--pa-color-gold-700);
    display: block;
    font-size: .71rem;
    font-weight: 750;
    margin-top: .18rem;
    overflow-wrap: anywhere;
}

.workshop-dashboard-view-profile {
    background: var(--pa-color-surface-soft);
    border: 1px solid var(--pa-color-border);
    border-radius: .62rem;
    color: var(--pa-color-text-muted);
    cursor: not-allowed;
    flex: none;
    font-size: .67rem;
    font-weight: 750;
    min-height: 2.15rem;
    padding: .42rem .65rem;
}

.workshop-workspace-heading {
    margin-bottom: .9rem;
}

.workshop-workspace-heading .neu-kicker {
    margin-bottom: .2rem;
}

.workshop-workspace-heading h1 {
    color: var(--pa-color-text-strong);
    font-size: clamp(1.35rem, 2vw, 1.85rem);
    font-weight: 800;
    line-height: 1.2;
}

.workshop-workspace-heading p:last-child {
    color: var(--pa-color-text-muted);
    font-size: .78rem;
    line-height: 1.45;
    margin-top: .3rem;
}

.workshop-services-readonly-panel {
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-md);
    box-shadow: 5px 5px 15px rgba(67, 59, 47, .1), -4px -4px 12px rgba(255, 255, 255, .76);
    padding: .85rem;
}

.workshop-services-readonly-panel > header h2 {
    color: var(--pa-color-text-strong);
    font-size: .95rem;
    font-weight: 780;
}

.workshop-services-readonly-panel > header p {
    color: var(--pa-color-text-muted);
    font-size: .7rem;
    margin-top: .15rem;
}

.workshop-services-readonly-list {
    display: grid;
    gap: .55rem;
    margin-top: .75rem;
}

.workshop-services-readonly-list article {
    align-items: center;
    background: rgba(255, 253, 249, .54);
    border: 1px solid rgba(90, 78, 61, .12);
    border-radius: .78rem;
    box-shadow: inset 1px 1px 0 rgba(255, 255, 255, .72), 3px 3px 9px rgba(67, 59, 47, .07);
    display: grid;
    gap: .65rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: .65rem;
}

.workshop-services-readonly-list article > div > strong {
    color: var(--pa-color-text-strong);
    display: block;
    font-size: .78rem;
    font-weight: 780;
}

.workshop-services-readonly-list article > div > p {
    color: var(--pa-color-text-muted);
    font-size: .69rem;
    line-height: 1.35;
    margin-top: .15rem;
}

.workshop-services-readonly-list article > div > span {
    color: var(--pa-color-gold-700);
    display: block;
    font-size: .66rem;
    font-weight: 740;
    margin-top: .22rem;
}

.workshop-service-readonly-status {
    border: 1px solid rgba(181, 135, 45, .2);
    border-radius: 999px;
    color: var(--pa-color-gold-700);
    font-size: .62rem;
    font-weight: 760;
    padding: .28rem .42rem;
    white-space: nowrap;
}

.workshop-services-readonly-list article.is-inactive .workshop-service-readonly-status {
    border-color: rgba(90, 78, 61, .18);
    color: var(--pa-color-text-muted);
}

.admin-dashboard-secondary-action {
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border: 1px solid var(--pa-color-border);
    border-radius: .72rem;
    box-shadow: 4px 4px 11px rgba(67, 59, 47, .1), -3px -3px 9px rgba(255, 255, 255, .78);
    color: var(--pa-color-text-strong);
    transition: background-color var(--pa-transition-fast), border-color var(--pa-transition-fast), color var(--pa-transition-fast), transform var(--pa-transition-fast);
}

.admin-dashboard-secondary-action:hover,
.admin-dashboard-secondary-action:focus-visible {
    background: var(--pa-color-charcoal-900);
    border-color: var(--pa-color-charcoal-900);
    color: var(--pa-color-gold-400);
    transform: translateY(-1px);
}

.admin-dashboard-layout {
    align-items: start;
    display: grid;
    gap: .8rem;
    grid-template-columns: minmax(0, 1.55fr) minmax(19rem, .85fr);
}

.admin-dashboard-sections {
    display: grid;
    gap: .8rem;
}

.admin-dashboard-section {
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-md);
    box-shadow: 5px 5px 15px rgba(67, 59, 47, .1), -4px -4px 12px rgba(255, 255, 255, .76);
    min-width: 0;
    padding: .85rem;
}

.admin-dashboard-section > header {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.admin-dashboard-section > header span {
    color: var(--pa-color-gold-600);
    font-size: .6rem;
    font-weight: 750;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.admin-dashboard-section > header h2 {
    color: var(--pa-color-text-strong);
    font-size: 1rem;
    font-weight: 780;
    line-height: 1.3;
    margin-top: .08rem;
}

.admin-dashboard-metrics {
    display: grid;
    gap: .55rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: .7rem;
}

.admin-dashboard-metrics article {
    align-items: center;
    background: rgba(255, 253, 249, .54);
    border: 1px solid rgba(90, 78, 61, .12);
    border-radius: .78rem;
    box-shadow: inset 1px 1px 0 rgba(255, 255, 255, .72), 3px 3px 9px rgba(67, 59, 47, .07);
    display: flex;
    gap: .55rem;
    justify-content: space-between;
    min-height: 3.3rem;
    padding: .65rem .7rem;
}

.admin-dashboard-metrics span {
    color: var(--pa-color-text-muted);
    font-size: .67rem;
    font-weight: 680;
    line-height: 1.3;
}

.admin-dashboard-metrics strong {
    color: var(--pa-color-gold-600);
    flex: none;
    font-size: 1rem;
    font-weight: 800;
}

.admin-dashboard-commercial-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-dashboard-commercial-metrics article {
    align-items: flex-start;
    flex-direction: column;
    gap: .18rem;
    justify-content: center;
    min-width: 0;
}

.admin-dashboard-commercial-metrics strong {
    max-width: 100%;
    white-space: nowrap;
}

/* Landing publique */
.landing-header {
    background: rgba(19, 18, 16, .94);
    border-bottom: 1px solid rgba(220, 181, 88, .24);
    min-height: 4.75rem;
    padding: env(safe-area-inset-top) 1rem 0;
    position: sticky;
    top: 0;
    z-index: 60;
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

.landing-header-inner,
.landing-container {
    margin: 0 auto;
    max-width: 76rem;
    width: 100%;
}

.landing-header-inner {
    align-items: center;
    display: flex;
    gap: 1.35rem;
    justify-content: space-between;
    min-height: 4.75rem;
}

.landing-brand,
.landing-header-actions,
.landing-navigation {
    align-items: center;
    display: flex;
}

.landing-brand {
    color: #fffaf0;
    flex: none;
    font-size: 1rem;
    font-weight: 760;
    gap: .55rem;
    letter-spacing: -.025em;
}

.landing-brand b,
.landing-footer-brand b { color: #d6a842; }

.landing-brand img {
    border: 1px solid rgba(225, 187, 90, .55);
    border-radius: .6rem;
    height: 2.45rem;
    object-fit: contain;
    width: 2.45rem;
}

.landing-navigation { gap: 1.35rem; }

.landing-navigation a {
    color: rgba(255, 250, 240, .73);
    font-size: .75rem;
    font-weight: 650;
    transition: color .16s ease;
}

.landing-navigation a:hover,
.landing-navigation a:focus-visible { color: #e9c870; }

.landing-header-actions { flex: none; gap: .6rem; }

.landing-header .header-language {
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .12);
    box-shadow: none;
}

.landing-login,
.landing-header-cta {
    align-items: center;
    border-radius: .6rem;
    display: inline-flex;
    font-size: .72rem;
    font-weight: 750;
    justify-content: center;
    min-height: 2.35rem;
    padding: 0 .8rem;
    white-space: nowrap;
}

.landing-login { color: rgba(255, 250, 240, .86); }
.landing-login:hover { color: #e9c870; }

.landing-header-cta {
    background: linear-gradient(135deg, #e6c46e, #b88222);
    box-shadow: inset 0 1px rgba(255, 255, 255, .38);
    color: #1a1711;
}

.landing-page {
    background: #f8f5ef;
    color: #25231f;
    overflow: hidden;
}

.landing-hero {
    background: radial-gradient(circle at 74% 25%, rgba(200, 151, 49, .23), transparent 27rem), linear-gradient(115deg, #151411 0%, #1e1b16 48%, #302519 100%);
    color: #fffaf0;
    min-height: min(43rem, calc(100dvh - 4.75rem));
}

.landing-hero-grid {
    align-items: center;
    display: grid;
    gap: 2.25rem;
    grid-template-columns: minmax(0, .95fr) minmax(26rem, 1.05fr);
    min-height: min(43rem, calc(100dvh - 4.75rem));
    padding: 4.5rem 1rem;
}

.landing-hero-copy { max-width: 38rem; position: relative; z-index: 1; }

.landing-eyebrow {
    color: #cfa447;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .13em;
    margin: 0 0 .9rem;
    text-transform: uppercase;
}

.landing-hero h1,
.landing-section h2,
.landing-activation h2 {
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 700;
    letter-spacing: -.045em;
    line-height: 1.02;
    margin: 0;
}

.landing-hero h1 { font-size: clamp(2.65rem, 5.15vw, 5rem); }

.landing-hero-description {
    color: rgba(255, 250, 240, .76);
    font-size: clamp(1rem, 1.7vw, 1.2rem);
    line-height: 1.65;
    margin: 1.4rem 0 0;
    max-width: 37rem;
}

.landing-hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }

.landing-button {
    align-items: center;
    border: 1px solid transparent;
    border-radius: .7rem;
    display: inline-flex;
    font-size: .84rem;
    font-weight: 780;
    gap: .5rem;
    justify-content: center;
    min-height: 3rem;
    padding: .75rem 1.05rem;
    transition: transform .16s ease, background .16s ease, border-color .16s ease;
}

.landing-button:hover,
.landing-button:focus-visible { transform: translateY(-2px); }
.landing-button svg { height: 1rem; width: 1rem; }

.landing-button-primary {
    background: linear-gradient(135deg, #ead17d, #bd8827);
    box-shadow: 0 .7rem 1.8rem rgba(0, 0, 0, .2), inset 0 1px rgba(255, 255, 255, .48);
    color: #1b1812;
}

.landing-button-secondary {
    border-color: rgba(240, 221, 174, .45);
    color: #fffaf0;
}

.landing-button-secondary:hover,
.landing-button-secondary:focus-visible { background: rgba(255, 255, 255, .09); }

.landing-hero-note {
    color: rgba(255, 250, 240, .64);
    font-size: .75rem;
    margin: 1.15rem 0 0;
}

.landing-hero-note span,
.landing-trust-mark span { color: #d7ad4e; font-weight: 900; margin-right: .3rem; }

.landing-hero-visual {
    filter: drop-shadow(0 2rem 2.4rem rgba(0, 0, 0, .5));
    margin: 0 -5rem 0 0;
    max-width: 48rem;
}

.landing-hero-visual > img { border-radius: 1.1rem; height: auto; width: 100%; }

.landing-hero-passeport {
    aspect-ratio: 16 / 10;
    background: url('../images/branding/passeport-auto-studio.png') center / cover no-repeat;
    border-radius: 1.1rem;
    filter: none;
    margin-right: -3rem;
    width: 100%;
    overflow: hidden;
    position: relative;
}


.landing-section { padding: clamp(4rem, 8vw, 7rem) 1rem; }
.landing-section h2,
.landing-activation h2 { color: #27231c; font-size: clamp(2rem, 4vw, 3.4rem); }

.landing-section-description {
    color: #6e6659;
    font-size: 1.05rem;
    line-height: 1.7;
    margin: 1.25rem 0 0;
    max-width: 39rem;
}

.landing-trust { background: #f8f5ef; }

.landing-trust-grid {
    align-items: center;
    display: grid;
    gap: clamp(2rem, 6vw, 7rem);
    grid-template-columns: minmax(0, 1fr) minmax(18rem, .75fr);
}

.landing-trust-mark {
    color: #5c564b;
    font-size: .75rem;
    font-weight: 760;
    margin-top: 1.35rem;
}

.landing-workshop-gallery {
    min-width: 0;
    filter: drop-shadow(.8rem 1rem 1.5rem rgba(58, 45, 26, .16));
}

.landing-workshop-gallery img {
    display: block;
    height: auto;
    width: 100%;
}

.landing-workshop-card {
    background: linear-gradient(145deg, #fffdf8, #eee9df);
    border: 1px solid rgba(112, 91, 49, .15);
    border-radius: 1.35rem;
    box-shadow: 1.15rem 1.15rem 2.4rem rgba(77, 62, 39, .11), -.7rem -.7rem 1.9rem rgba(255, 255, 255, .85);
    min-width: 0;
    padding: 1.5rem;
}

.landing-workshop-icon {
    align-items: center;
    background: #201d17;
    border-radius: .7rem;
    color: #d6ad55;
    display: flex;
    height: 2.8rem;
    justify-content: center;
    margin-bottom: 1.4rem;
    width: 2.8rem;
}

.landing-workshop-icon svg { height: 1.35rem; width: 1.35rem; }
.landing-workshop-card > p { color: #957124; font-size: .65rem; font-weight: 800; letter-spacing: .1em; margin: 0; text-transform: uppercase; }
.landing-workshop-card h3 { color: #25231e; font-size: 1.35rem; margin: .45rem 0 1.25rem; }
.landing-workshop-card dl { border-top: 1px solid rgba(96, 77, 44, .14); display: grid; gap: .75rem; margin: 0; padding-top: 1rem; }
.landing-workshop-card dt { color: #8f7750; font-size: .62rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.landing-workshop-card dd { color: #4d473e; font-size: .78rem; line-height: 1.45; margin: .2rem 0 0; }
.landing-workshop-card > span { color: #6e6659; font-size: .8rem; line-height: 1.5; }

.landing-offer { background: #191714; color: #fffaf0; }
.landing-offer .landing-section-heading h2 { color: #fffaf0; }
.landing-section-heading { max-width: 42rem; }
.landing-offer-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 2rem; }

.landing-benefit-card {
    border: 1px solid rgba(255, 247, 226, .16);
    border-radius: 1.15rem;
    min-width: 0;
    padding: 1.45rem;
}

.landing-benefit-card.is-free { background: linear-gradient(145deg, #c8993a, #8e641e); color: #18150f; }
.landing-benefit-card.is-discount { background: rgba(255, 255, 255, .055); }
.landing-benefit-label { display: block; font-size: .7rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.landing-benefit-card ul { display: grid; gap: .85rem; margin: 1.25rem 0 0; }
.landing-benefit-card li { align-items: flex-start; display: flex; font-size: .96rem; font-weight: 700; gap: .55rem; line-height: 1.25; }
.landing-benefit-card li span { align-items: center; border: 1px solid currentColor; border-radius: 50%; display: inline-flex; flex: none; font-size: .67rem; height: 1.1rem; justify-content: center; margin-top: .05rem; width: 1.1rem; }

.landing-value-band {
    align-items: center;
    background: linear-gradient(100deg, #f0d582, #b88425);
    border-radius: 1rem;
    color: #1e1910;
    display: flex;
    justify-content: space-between;
    margin-top: 1rem;
    padding: 1.15rem 1.35rem;
}

.landing-value-band span { display: block; font-size: 1rem; font-weight: 850; }
.landing-value-band p { font-size: .73rem; margin: .2rem 0 0; opacity: .76; }
.landing-value-band strong { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 5vw, 3.3rem); letter-spacing: -.07em; }
.landing-value-band strong.pa-money { font-family: Arial, Helvetica, sans-serif; letter-spacing: -.04em; }
.landing-condition { color: rgba(255, 250, 240, .56); font-size: .68rem; line-height: 1.45; margin: .9rem 0 0; }

.landing-how { background: #f2eee5; }
.landing-steps { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 2rem 0 0; }
.landing-steps li { background: rgba(255, 253, 248, .66); border: 1px solid rgba(112, 91, 49, .12); border-radius: 1rem; min-width: 0; padding: 1.2rem; }
.landing-steps li > span { color: #bd8b2d; display: block; font-family: Georgia, 'Times New Roman', serif; font-size: 1.7rem; font-weight: 700; }
.landing-steps h3 { color: #28241d; font-size: 1rem; margin: 1.3rem 0 .45rem; }
.landing-steps p { color: #6e6659; font-size: .8rem; line-height: 1.55; margin: 0; }

.landing-legal { background: #fffdf8; }
.landing-legal-grid { display: grid; gap: .8rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 2rem; }
.landing-legal-grid article { border-top: 2px solid #c59538; min-width: 0; padding: .9rem .15rem; }
.landing-legal-grid article > span { color: #b98426; font-family: Georgia, 'Times New Roman', serif; font-size: 1.25rem; font-weight: 700; }
.landing-legal-grid h3 { color: #29251f; font-size: .86rem; line-height: 1.3; margin: .8rem 0 .55rem; }
.landing-legal-grid p { color: #6e6659; font-size: .72rem; line-height: 1.55; margin: 0; }
.landing-faq { background: #f2eee5; }
.landing-faq-grid { align-items: start; display: grid; gap: 3rem; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); }
.landing-faq-list { display: grid; gap: .65rem; }
.landing-faq-list details { background: #fffdf8; border: 1px solid rgba(112, 91, 49, .13); border-radius: .75rem; padding: 0 1rem; }
.landing-faq-list summary { align-items: center; color: #2d2922; cursor: pointer; display: flex; font-size: .84rem; font-weight: 780; gap: 1rem; justify-content: space-between; list-style: none; min-height: 3.8rem; }
.landing-faq-list summary::-webkit-details-marker { display: none; }
.landing-faq-list summary span { color: #b68428; font-size: 1.25rem; font-weight: 400; }
.landing-faq-list details[open] summary span { transform: rotate(45deg); }
.landing-faq-list p { color: #6e6659; font-size: .79rem; line-height: 1.6; margin: -.25rem 0 1rem; }

.landing-activation { background: radial-gradient(circle at 80% 0, rgba(204, 154, 47, .25), transparent 25rem), #191714; color: #fffaf0; padding: 3.5rem 1rem; }
.landing-activation-inner { align-items: center; display: flex; gap: 2rem; justify-content: space-between; }
.landing-activation .landing-eyebrow { margin-bottom: .7rem; }
.landing-activation h2 { color: #fffaf0; font-size: clamp(1.9rem, 3.5vw, 3rem); }
.landing-activation p:not(.landing-eyebrow) { color: rgba(255, 250, 240, .7); font-size: .88rem; line-height: 1.6; margin: .85rem 0 0; max-width: 40rem; }
.landing-activation-actions { align-items: center; display: flex; flex: none; gap: 1rem; }

.landing-qr-frame { background: #fffaf0; border: .35rem solid #d1a142; border-radius: .55rem; display: grid; gap: .2rem; grid-template-columns: repeat(2, 1fr); height: 4rem; padding: .35rem; transform: rotate(-3deg); width: 4rem; }
.landing-qr-frame::before,
.landing-qr-frame::after,
.landing-qr-frame span { background: #201d17; content: ''; display: block; }
.landing-qr-frame::before { grid-column: 1; grid-row: 1; }
.landing-qr-frame::after { grid-column: 2; grid-row: 2; }
.landing-qr-frame span:first-child { grid-column: 2; grid-row: 1; }
.landing-qr-frame span:nth-child(2) { grid-column: 1; grid-row: 2; }
.landing-qr-frame span:last-child { background: linear-gradient(45deg, #201d17 45%, transparent 45%, transparent 55%, #201d17 55%); grid-column: 1 / -1; grid-row: 1 / -1; opacity: .45; }

.landing-footer { background: #11100e; color: rgba(255, 250, 240, .62); padding: 2.5rem 1rem 1.1rem; }
.landing-footer-main { align-items: start; display: grid; gap: 1.5rem; grid-template-columns: 1.35fr 1fr auto; }
.landing-footer-brand { align-items: center; color: #fffaf0; display: flex; flex-wrap: wrap; font-size: 1rem; font-weight: 750; gap: .55rem; }
.landing-footer-brand img { border-radius: .45rem; height: 2.3rem; width: 2.3rem; }
.landing-footer-brand p { color: rgba(255, 250, 240, .54); flex-basis: 100%; font-size: .72rem; font-weight: 450; line-height: 1.45; margin: .25rem 0 0; max-width: 20rem; }
.landing-footer-contact { display: grid; font-size: .75rem; gap: .45rem; }
.landing-footer-contact a { color: #dfbc65; }
.landing-footer-contact strong { color: rgba(255, 250, 240, .82); font-size: .67rem; font-weight: 700; }
.landing-footer nav { display: grid; font-size: .72rem; gap: .45rem; text-align: right; }
.landing-footer nav a:hover { color: #dfbc65; }
.landing-footer-bottom { align-items: center; border-top: 1px solid rgba(255, 255, 255, .1); display: flex; font-size: .65rem; justify-content: space-between; margin-top: 1.8rem; padding-top: 1rem; }
.landing-footer-bottom a { color: #dfbc65; font-weight: 700; }

@media (max-width: 1050px) {
    .landing-navigation { display: none; }
    .landing-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(22rem, .9fr); }
    .landing-hero-visual { margin-right: -2.5rem; }
}

@media (max-width: 720px) {
    .landing-header { padding-inline: .7rem; }
    .landing-header-inner { gap: .4rem; }
    .landing-brand { font-size: .84rem; gap: .35rem; }
    .landing-brand img { height: 2.1rem; width: 2.1rem; }
    .landing-header-actions { gap: .3rem; }
    .landing-login {
        border: 1px solid rgba(233, 200, 112, .35);
        font-size: .65rem;
        min-height: 2.1rem;
        padding: 0 .5rem;
    }
    .landing-login:hover,
    .landing-login:focus-visible { border-color: rgba(233, 200, 112, .72); }
    .landing-header-cta { font-size: .65rem; min-height: 2.1rem; padding: 0 .55rem; }
    .landing-header .header-language button { padding-inline: .45rem; }
    .landing-hero { min-height: 0; }
    .landing-hero-grid { display: flex; flex-direction: column; min-height: 0; padding: 3.4rem 1rem 2.6rem; }
    .landing-hero h1 { font-size: clamp(2.5rem, 12vw, 4rem); }
    .landing-hero-visual { margin: .5rem -1rem -2.6rem; order: 2; width: calc(100% + 2rem); }
    .landing-hero-visual > img { border-radius: 0; }
    .landing-hero-passeport { margin: .5rem 0 -1.25rem; width: 100%; }
    .landing-trust-grid,
    .landing-faq-grid { grid-template-columns: 1fr; }
    .landing-workshop-gallery { max-width: 31rem; width: 100%; }
    .landing-offer-grid,
    .landing-steps { grid-template-columns: 1fr; }
    .landing-legal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .landing-value-band { align-items: flex-start; flex-direction: column; }
    .landing-activation-inner { align-items: flex-start; flex-direction: column; }
    .landing-footer-main { grid-template-columns: 1fr; }
    .landing-footer nav { text-align: left; }
    .landing-footer-bottom { align-items: flex-start; flex-direction: column; gap: .4rem; }
}

@media (max-width: 390px) {
    .landing-header-cta { display: none; }
    .landing-legal-grid { grid-template-columns: 1fr; }
    .landing-hero-actions .landing-button { width: 100%; }
    .landing-activation-actions { align-items: stretch; flex-direction: column; }
    .landing-activation-actions .landing-button { width: 100%; }
}

.salesperson-dashboard-operation-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.salesperson-dashboard-alerts {
    border-top: 1px solid var(--pa-color-border);
    display: grid;
    margin-top: .7rem;
}

.salesperson-dashboard-alerts > div {
    align-items: center;
    border-bottom: 1px solid var(--pa-color-border);
    color: var(--pa-color-text-strong);
    display: grid;
    font-size: .72rem;
    font-weight: 680;
    gap: .55rem;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 2.55rem;
    padding: .5rem .15rem;
}

.salesperson-dashboard-alerts strong {
    align-items: center;
    background: rgba(181, 135, 45, .1);
    border: 1px solid rgba(181, 135, 45, .2);
    border-radius: 999px;
    color: var(--pa-color-gold-600);
    display: inline-flex;
    font-size: .65rem;
    height: 1.35rem;
    justify-content: center;
    min-width: 1.35rem;
    padding: 0 .35rem;
}

.admin-dashboard-pending-list {
    border-top: 1px solid var(--pa-color-border);
    display: grid;
    margin-top: .7rem;
}

.admin-dashboard-pending-list a {
    align-items: center;
    border-bottom: 1px solid var(--pa-color-border);
    color: var(--pa-color-text-strong);
    display: grid;
    font-size: .72rem;
    font-weight: 680;
    gap: .55rem;
    grid-template-columns: minmax(0, 1fr) auto auto;
    min-height: 2.55rem;
    padding: .5rem .15rem;
    transition: color var(--pa-transition-fast), padding var(--pa-transition-fast);
}

.admin-dashboard-pending-list a:hover,
.admin-dashboard-pending-list a:focus-visible {
    color: var(--pa-color-gold-600);
    padding-left: .35rem;
}

.admin-dashboard-pending-list strong {
    align-items: center;
    background: rgba(181, 135, 45, .1);
    border: 1px solid rgba(181, 135, 45, .2);
    border-radius: 999px;
    color: var(--pa-color-gold-600);
    display: inline-flex;
    font-size: .65rem;
    height: 1.35rem;
    justify-content: center;
    min-width: 1.35rem;
    padding: 0 .35rem;
}

.admin-dashboard-pending-list svg,
.admin-dashboard-activity-list svg {
    color: var(--pa-color-gold-600);
    height: 1rem;
    width: 1rem;
}

.admin-dashboard-finance-movement {
    border-top: 1px solid var(--pa-color-border);
    display: grid;
    margin-top: .7rem;
}

.admin-dashboard-finance-movement h3 {
    color: var(--pa-color-text-muted);
    font-size: .65rem;
    font-weight: 760;
    letter-spacing: .06em;
    padding: .6rem .15rem .28rem;
    text-transform: uppercase;
}

.admin-dashboard-finance-movement > div {
    align-items: center;
    border-top: 1px solid var(--pa-color-border);
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    min-height: 2.4rem;
    padding: .42rem .15rem;
}

.admin-dashboard-finance-movement > a {
    align-items: center;
    border-top: 1px solid var(--pa-color-border);
    color: inherit;
    display: grid;
    gap: .55rem;
    grid-template-columns: minmax(0, 1fr) auto auto;
    min-height: 2.4rem;
    padding: .42rem .15rem;
    transition: color var(--pa-transition-fast), padding var(--pa-transition-fast);
}

.admin-dashboard-finance-movement > a:hover,
.admin-dashboard-finance-movement > a:focus-visible {
    color: var(--pa-color-gold-600);
    padding-left: .35rem;
}

.admin-dashboard-finance-movement > a svg {
    color: var(--pa-color-gold-600);
    height: 1rem;
    width: 1rem;
}

.admin-dashboard-finance-movement span {
    color: var(--pa-color-text-strong);
    font-size: .72rem;
    font-weight: 680;
}

.admin-dashboard-finance-movement strong {
    color: var(--pa-color-gold-600);
    font-size: .75rem;
    font-weight: 800;
    text-align: right;
}

.admin-dashboard-activity-list {
    list-style: none;
    margin-top: .6rem;
}

.admin-dashboard-activity-list li {
    border-top: 1px solid var(--pa-color-border);
}

.admin-dashboard-activity-list a,
.admin-dashboard-activity-list li > div {
    display: grid;
    gap: .15rem .6rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: .58rem .1rem;
}

.admin-dashboard-activity-list a {
    transition: padding var(--pa-transition-fast);
}

.admin-dashboard-activity-list a:hover,
.admin-dashboard-activity-list a:focus-visible {
    padding-left: .3rem;
}

.admin-dashboard-activity-list time {
    color: var(--pa-color-text-muted);
    font-size: .6rem;
    font-weight: 680;
    grid-column: 1;
}

.admin-dashboard-activity-list span {
    color: var(--pa-color-text-strong);
    font-size: .71rem;
    font-weight: 680;
    grid-column: 1;
    line-height: 1.38;
}

.admin-dashboard-activity-list svg {
    align-self: center;
    grid-column: 2;
    grid-row: 1 / span 2;
}

.admin-dashboard-activity-empty {
    align-items: flex-start;
    border-top: 1px solid var(--pa-color-border);
    display: flex;
    flex-direction: column;
    gap: .15rem;
    margin-top: .65rem;
    padding: .8rem .1rem .2rem;
}

.admin-dashboard-activity-empty strong {
    color: var(--pa-color-text-strong);
    font-size: .75rem;
}

.admin-dashboard-activity-empty span {
    color: var(--pa-color-text-muted);
    font-size: .68rem;
    line-height: 1.4;
}

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

@media (max-width: 639px) {
    .admin-dashboard-mobile-heading {
        align-items: stretch;
        flex-direction: column;
        margin-bottom: .75rem;
    }

    .admin-dashboard-quick-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-dashboard-quick-actions > a {
        justify-content: center;
    }

    .admin-dashboard-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-dashboard-commercial-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .salesperson-dashboard-operation-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .salesperson-dashboard-toolbar {
        justify-content: flex-start;
        margin-top: .7rem;
    }

    .workshop-dashboard-public-url {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-dashboard-section {
        padding: .75rem;
    }
}

@media (max-width: 399px) {
    .admin-dashboard-quick-actions,
    .admin-dashboard-metrics {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-dashboard-commercial-metrics {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Admin · finances */
.admin-finance-page,
.admin-finance-detail-page {
    display: grid;
    gap: .8rem;
}

.admin-finance-heading,
.admin-finance-detail-page .admin-workshop-detail-heading,
.admin-finance-detail-card {
    margin: 0;
}

.admin-finance-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-finance-filters {
    grid-template-columns: minmax(9rem, .8fr) minmax(11rem, 1fr) minmax(9rem, .7fr) minmax(9rem, .7fr) auto;
    margin-top: 0;
}

.admin-finance-table {
    min-width: 66rem;
    table-layout: auto;
}

.admin-finance-table th:first-child {
    width: auto;
}

.admin-finance-table th.is-action {
    min-width: 9.5rem;
    width: 9.5rem;
}

.admin-finance-actions {
    align-items: center;
    display: flex;
    gap: .35rem;
    justify-content: flex-end;
    white-space: nowrap;
}

.admin-finance-settle-button {
    font-size: .65rem;
    min-height: 2rem;
    padding: .35rem .55rem;
}

.admin-finance-settlement-summary {
    display: grid;
    gap: .45rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-finance-settlement-summary > div {
    background: rgba(255, 253, 249, .58);
    border: 1px solid var(--pa-color-border);
    border-radius: .7rem;
    min-width: 0;
    padding: .55rem .65rem;
}

.admin-finance-settlement-summary dt {
    color: var(--pa-color-text-muted);
    font-size: .6rem;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.admin-finance-settlement-summary dd {
    color: var(--pa-color-text-strong);
    font-size: .76rem;
    font-weight: 700;
    margin-top: .18rem;
    overflow-wrap: anywhere;
}

.admin-finance-detail-page {
    max-width: 62rem;
    width: 100%;
}

.admin-finance-detail-title-line {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: .15rem;
}

.admin-finance-summary-card,
.admin-finance-amount-card {
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-md);
    box-shadow: var(--pa-shadow-soft);
    padding: .9rem;
}

.admin-finance-summary-facts {
    display: grid;
    gap: 0 1.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-finance-summary-facts > div {
    align-items: baseline;
    border-bottom: 1px solid var(--pa-color-border);
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(6.5rem, .55fr) minmax(0, 1fr);
    padding: .52rem .1rem;
}

.admin-finance-summary-card dt,
.admin-finance-amount-card dt {
    color: var(--pa-color-text-muted);
    font-size: .65rem;
    font-weight: 730;
}

.admin-finance-summary-card dd,
.admin-finance-amount-card dd {
    color: var(--pa-color-text-strong);
    font-size: .76rem;
    font-weight: 700;
    margin: 0;
    overflow-wrap: anywhere;
}

.admin-finance-summary-total {
    align-items: center;
    border-bottom: 1px solid var(--pa-color-border);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: .85rem .1rem;
}

.admin-finance-summary-total > span {
    color: var(--pa-color-text-strong);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.admin-finance-summary-total strong {
    color: var(--pa-color-gold-700);
    font-size: 1.35rem;
    font-variant-numeric: tabular-nums;
    font-weight: 820;
}

.admin-finance-summary-total strong.is-unavailable {
    color: var(--pa-color-text-muted);
    font-size: .75rem;
    font-weight: 700;
}

.admin-finance-summary-statuses {
    display: grid;
    gap: .6rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-top: .75rem;
}

.admin-finance-summary-statuses > div {
    min-width: 0;
}

.admin-finance-summary-statuses dd {
    margin-top: .28rem;
}

.admin-finance-summary-statuses small {
    color: var(--pa-color-text-muted);
    display: block;
    font-size: .62rem;
    line-height: 1.35;
    margin-top: .28rem;
}

.admin-finance-summary-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: .75rem;
}

.admin-finance-amount-card h2 {
    color: var(--pa-color-text-strong);
    font-size: .88rem;
    font-weight: 780;
}

.admin-finance-amount-breakdown {
    margin-top: .5rem;
}

.admin-finance-amount-breakdown > div {
    align-items: baseline;
    border-top: 1px solid var(--pa-color-border);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: .48rem .05rem;
}

.admin-finance-amount-breakdown dd {
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.admin-finance-amount-breakdown > div.is-total dt,
.admin-finance-amount-breakdown > div.is-total dd {
    color: var(--pa-color-gold-700);
    font-size: .8rem;
    font-weight: 820;
}

.admin-finance-amount-empty {
    border-top: 1px solid var(--pa-color-border);
    color: var(--pa-color-text-muted);
    font-size: .72rem;
    line-height: 1.45;
    margin-top: .55rem;
    padding-top: .7rem;
}

.admin-finance-technical-reference {
    color: var(--pa-color-text-muted);
    font-size: .62rem;
    padding: 0 .15rem;
}

.admin-finance-technical-reference span {
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    overflow-wrap: anywhere;
}

.admin-passeport-status.is-pending,
.admin-passeport-status.is-payment_pending {
    background: #a86f2514;
    border-color: #a86f2540;
    color: #8a5d22;
}

.admin-passeport-status.is-settled,
.admin-passeport-status.is-paid {
    background: #346f5b14;
    border-color: #346f5b40;
    color: #346f5b;
}

.admin-passeport-status.is-not_applicable {
    background: rgba(90, 78, 61, .07);
    border-color: rgba(90, 78, 61, .2);
    color: var(--pa-color-text-muted);
}

@media (max-width: 1099px) {
    .admin-finance-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-finance-filters .passeport-list-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}

@media (max-width: 767px) {
    .admin-finance-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-finance-filters {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-finance-filters .passeport-list-filter-actions {
        grid-column: auto;
    }

    .admin-finance-table {
        min-width: 0;
    }

    .admin-finance-table tr {
        padding-right: .7rem;
    }

    .admin-finance-table td.admin-finance-actions {
        align-items: center;
        display: flex;
        flex-direction: row;
        grid-column: 1 / -1;
        justify-content: flex-end;
        margin-top: .15rem;
        position: static;
        transform: none;
    }

    .admin-finance-summary-facts {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-finance-summary-statuses {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 479px) {
    .admin-finance-settlement-summary {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-finance-summary-card,
    .admin-finance-amount-card {
        padding: .75rem;
    }

    .admin-finance-summary-facts > div {
        grid-template-columns: minmax(5.75rem, .55fr) minmax(0, 1fr);
    }

    .admin-finance-summary-statuses {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-finance-summary-actions .admin-finance-settle-button {
        width: 100%;
    }
}

/* Admin - clients */
.admin-clients-page,
.admin-client-detail-page {
    display: grid;
    gap: .8rem;
}

.admin-clients-heading {
    margin: 0;
}

.admin-client-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-client-filters {
    grid-template-columns: minmax(13rem, 1.35fr) repeat(3, minmax(10rem, 1fr)) auto;
    margin-top: 0;
}

.admin-client-table {
    min-width: 72rem;
    table-layout: auto;
}

.admin-client-table th:first-child {
    min-width: 11rem;
    width: auto;
}

.admin-client-table th.is-action {
    min-width: 5.5rem;
    width: 5.5rem;
}

.admin-client-table td strong,
.admin-client-table td small {
    display: block;
}

.admin-client-table td strong {
    color: var(--pa-color-text-strong);
    font-size: .75rem;
}

.admin-client-table td small {
    color: var(--pa-color-text-muted);
    font-size: .64rem;
    line-height: 1.45;
    margin-top: .12rem;
}

.admin-passeport-status.is-expiring {
    background: #a86f2514;
    border-color: #a86f2540;
    color: #8a5d22;
}

.admin-client-open-action {
    align-items: center;
    color: var(--pa-color-gold-700);
    display: inline-flex;
    font-size: .68rem;
    font-weight: 750;
    gap: .2rem;
    justify-content: flex-end;
    white-space: nowrap;
}

.admin-client-open-action svg {
    height: .9rem;
    width: .9rem;
}

.admin-client-mobile-list {
    display: none;
}

.admin-client-detail-page {
    max-width: 68rem;
    width: 100%;
}

.admin-client-detail-heading {
    align-items: center;
    display: flex;
    gap: .8rem;
    justify-content: space-between;
}

.admin-client-detail-heading h1 {
    color: var(--pa-color-text-strong);
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    font-weight: 820;
}

.admin-client-detail-heading p {
    color: var(--pa-color-gold-700);
    font-size: .72rem;
    font-weight: 760;
    margin-top: .14rem;
}

.admin-client-detail-summary {
    display: grid;
    gap: .7rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-client-detail-summary article,
.admin-client-detail-section {
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-md);
    box-shadow: var(--pa-shadow-soft);
}

.admin-client-detail-summary article {
    padding: .75rem .85rem;
}

.admin-client-detail-summary h2,
.admin-client-detail-section h2 {
    color: var(--pa-color-text-strong);
    font-size: .84rem;
    font-weight: 790;
}

.admin-client-detail-summary dl {
    margin-top: .45rem;
}

.admin-client-detail-summary dl > div {
    align-items: baseline;
    border-top: 1px solid var(--pa-color-border);
    display: grid;
    gap: .65rem;
    grid-template-columns: minmax(5.5rem, .55fr) minmax(0, 1fr);
    padding: .42rem 0;
}

.admin-client-detail-summary dt,
.admin-client-service-list dt {
    color: var(--pa-color-text-muted);
    font-size: .63rem;
    font-weight: 720;
}

.admin-client-detail-summary dd,
.admin-client-service-list dd {
    color: var(--pa-color-text-strong);
    font-size: .72rem;
    font-weight: 700;
    margin: 0;
    overflow-wrap: anywhere;
}

.admin-client-detail-section {
    overflow: hidden;
}

.admin-client-detail-section > header {
    padding: .75rem .85rem;
}

.admin-client-detail-section > header p,
.admin-client-detail-empty {
    color: var(--pa-color-text-muted);
    font-size: .68rem;
    line-height: 1.45;
    margin-top: .15rem;
}

.admin-client-detail-empty {
    border-top: 1px solid var(--pa-color-border);
    margin: 0;
    padding: .75rem .85rem;
}

.admin-client-detail-summary .admin-client-detail-empty {
    border: 0;
    padding: 0;
}

.admin-client-service-list,
.admin-client-history-list {
    border-top: 1px solid var(--pa-color-border);
}

.admin-client-service-list article {
    align-items: center;
    border-bottom: 1px solid var(--pa-color-border);
    display: grid;
    gap: .75rem;
    grid-template-columns: auto minmax(0, 1fr) minmax(15rem, auto);
    padding: .65rem .85rem;
}

.admin-client-service-list article:last-child,
.admin-client-history-list article:last-child {
    border-bottom: 0;
}

.admin-client-service-name strong,
.admin-client-service-name span {
    display: block;
}

.admin-client-service-name strong {
    color: var(--pa-color-text-strong);
    font-size: .75rem;
}

.admin-client-service-name span {
    color: var(--pa-color-text-muted);
    font-size: .65rem;
    line-height: 1.35;
    margin-top: .12rem;
}

.admin-client-service-list dl {
    display: grid;
    gap: .35rem;
    grid-template-columns: repeat(3, minmax(4.5rem, 1fr));
}

.admin-client-service-list dl > div {
    background: rgba(255, 253, 249, .55);
    border: 1px solid var(--pa-color-border);
    border-radius: .62rem;
    padding: .38rem .5rem;
}

.admin-client-service-list dd {
    color: var(--pa-color-gold-700);
    font-size: .78rem;
    margin-top: .08rem;
}

.admin-client-history-list article {
    align-items: center;
    border-bottom: 1px solid var(--pa-color-border);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: .62rem .85rem;
}

.admin-client-history-list article > div:last-child {
    text-align: right;
}

.admin-client-history-list strong,
.admin-client-history-list span {
    display: block;
}

.admin-client-history-list strong {
    color: var(--pa-color-text-strong);
    font-size: .72rem;
}

.admin-client-history-list span {
    color: var(--pa-color-text-muted);
    font-size: .64rem;
    margin-top: .12rem;
}

@media (max-width: 1099px) {
    .admin-client-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-client-filters .passeport-list-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}

@media (max-width: 899px) {
    .admin-client-table-wrap {
        display: none;
    }

    .admin-client-mobile-list {
        border-top: 1px solid var(--pa-color-border);
        display: grid;
        gap: .6rem;
        padding: .7rem;
    }

    .admin-client-mobile-card {
        background: rgba(255, 253, 249, .58);
        border: 1px solid var(--pa-color-border);
        border-radius: .75rem;
        box-shadow: 3px 3px 8px #433b2f10, -2px -2px 6px #ffffffa8;
        padding: .7rem;
    }

    .admin-client-mobile-card header {
        align-items: flex-start;
        display: flex;
        gap: .65rem;
        justify-content: space-between;
    }

    .admin-client-mobile-card header strong,
    .admin-client-mobile-card header span {
        display: block;
    }

    .admin-client-mobile-card header strong {
        color: var(--pa-color-text-strong);
        font-size: .78rem;
    }

    .admin-client-mobile-card header div span {
        color: var(--pa-color-gold-700);
        font-size: .65rem;
        font-weight: 740;
        margin-top: .1rem;
    }

    .admin-client-mobile-card dl {
        display: grid;
        gap: .35rem .75rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: .55rem;
    }

    .admin-client-mobile-card dl > div {
        border-top: 1px solid var(--pa-color-border);
        padding-top: .35rem;
    }

    .admin-client-mobile-card dt {
        color: var(--pa-color-text-muted);
        font-size: .58rem;
        font-weight: 720;
    }

    .admin-client-mobile-card dd {
        color: var(--pa-color-text-strong);
        font-size: .68rem;
        font-weight: 680;
        margin-top: .1rem;
    }

    .admin-client-mobile-card > .admin-client-open-action {
        border-top: 1px solid var(--pa-color-border);
        margin-top: .5rem;
        padding-top: .5rem;
        width: 100%;
    }
}

@media (max-width: 767px) {
    .admin-client-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-client-filters,
    .admin-client-detail-summary {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-client-filters .passeport-list-filter-actions {
        grid-column: auto;
    }

    .admin-client-service-list article {
        align-items: start;
        grid-template-columns: auto minmax(0, 1fr);
    }

    .admin-client-service-list dl {
        grid-column: 1 / -1;
        width: 100%;
    }
}

@media (max-width: 479px) {
    .admin-client-mobile-card dl,
    .admin-client-service-list dl {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-client-detail-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-client-history-list article {
        align-items: flex-start;
        flex-direction: column;
        gap: .35rem;
    }

    .admin-client-history-list article > div:last-child {
        text-align: left;
    }
}

/* Admin - inactive access */
.admin-access-inactive-page {
    display: grid;
    gap: .8rem;
}

.admin-access-inactive-card {
    max-width: 52rem;
}

.admin-access-inactive-content {
    align-items: center;
    display: grid;
    gap: .8rem;
    grid-template-columns: auto minmax(0, 1fr);
    margin-top: .8rem;
}

.admin-access-inactive-icon {
    align-items: center;
    background: linear-gradient(145deg, rgba(255, 253, 249, .9), rgba(233, 226, 214, .78));
    border: 1px solid rgba(180, 139, 62, .24);
    border-radius: .8rem;
    box-shadow: 3px 3px 8px rgba(71, 60, 43, .1), -3px -3px 8px rgba(255, 255, 255, .75);
    color: var(--pa-color-gold-700);
    display: inline-flex;
    height: 2.8rem;
    justify-content: center;
    width: 2.8rem;
}

.admin-access-inactive-icon svg {
    height: 1.35rem;
    width: 1.35rem;
}

.admin-access-inactive-content p {
    color: var(--pa-color-text-muted);
    font-size: .78rem;
    line-height: 1.55;
    margin: 0;
}

.admin-access-inactive-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: .85rem;
}

@media (max-width: 639px) {
    .admin-access-inactive-content {
        align-items: start;
    }

    .admin-access-inactive-actions,
    .admin-access-inactive-actions form,
    .admin-access-inactive-actions button {
        width: 100%;
    }
}

/* Salesperson - sales and finances */
.salesperson-sales-page,
.salesperson-finances-page,
.salesperson-sale-detail-page {
    display: grid;
    gap: .8rem;
}

.salesperson-sales-filters {
    grid-template-columns: repeat(4, minmax(9rem, 1fr)) auto;
}

.salesperson-sales-table {
    min-width: 72rem;
}

.salesperson-finance-table {
    min-width: 58rem;
}

.salesperson-finance-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.salesperson-finance-date-filters {
    background: var(--pa-color-surface);
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-md);
    box-shadow: var(--pa-shadow-soft);
    display: grid;
    gap: .7rem;
    padding: .75rem;
}

.salesperson-finance-periods {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.salesperson-finance-periods a {
    border: 1px solid var(--pa-color-border);
    border-radius: 999px;
    color: var(--pa-color-text-muted);
    font-size: .7rem;
    font-weight: 780;
    min-height: 2.2rem;
    padding: .48rem .75rem;
    text-decoration: none;
}

.salesperson-finance-periods a:hover,
.salesperson-finance-periods a:focus-visible,
.salesperson-finance-periods a.is-active {
    background: var(--pa-color-charcoal-900);
    border-color: var(--pa-color-charcoal-900);
    color: var(--pa-color-gold-400);
}

.salesperson-finance-custom-range {
    align-items: end;
    display: grid;
    gap: .55rem;
    grid-template-columns: repeat(2, minmax(10rem, 14rem)) auto;
}

.salesperson-finance-custom-range label span {
    color: var(--pa-color-text-muted);
    display: block;
    font-size: .64rem;
    font-weight: 750;
    margin-bottom: .25rem;
}

.salesperson-finance-custom-range .pa-field,
.salesperson-finance-custom-range .pa-button-primary {
    min-height: 2.45rem;
}

.salesperson-finance-custom-range .pa-button-primary {
    justify-self: start;
    min-width: 0;
    padding-inline: 1rem;
    width: auto;
}

@media (max-width: 639px) {
    .salesperson-finance-periods {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .salesperson-finance-periods a { text-align: center; }
    .salesperson-finance-custom-range { grid-template-columns: minmax(0, 1fr); }
    .salesperson-finance-custom-range .pa-button-primary { justify-self: start; width: auto; }
}

.admin-passeports-table .is-action a.salesperson-sales-open {
    align-items: center;
    display: inline-flex;
    font-size: .68rem;
    font-weight: 750;
    gap: .2rem;
    height: 2rem;
    justify-content: center;
    padding: .3rem .55rem;
    width: auto;
}

.salesperson-sale-detail-page {
    max-width: 64rem;
    width: 100%;
}

.salesperson-sale-detail-heading {
    margin: 0;
}

.salesperson-sale-detail-grid {
    display: grid;
    gap: .7rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.salesperson-sale-detail-card,
.salesperson-sale-activation-card {
    background: linear-gradient(145deg, var(--pa-color-surface-raised), var(--pa-color-surface-soft));
    border: 1px solid var(--pa-color-border);
    border-radius: var(--pa-radius-md);
    box-shadow: var(--pa-shadow-soft);
    min-width: 0;
    padding: .85rem;
}

.salesperson-sale-detail-card h2,
.salesperson-sale-activation-card h2 {
    color: var(--pa-color-text-strong);
    font-size: .86rem;
    font-weight: 780;
}

.salesperson-sale-detail-card dl {
    margin-top: .4rem;
}

.salesperson-sale-detail-card dl > div {
    align-items: baseline;
    border-top: 1px solid var(--pa-color-border);
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    padding: .45rem 0;
}

.salesperson-sale-detail-card dt {
    color: var(--pa-color-text-muted);
    font-size: .64rem;
    font-weight: 730;
}

.salesperson-sale-detail-card dd {
    color: var(--pa-color-text-strong);
    font-size: .74rem;
    font-weight: 700;
    margin: 0;
    overflow-wrap: anywhere;
    text-align: right;
}

.salesperson-sale-detail-card dd.is-amount {
    color: var(--pa-color-gold-700);
    font-size: .88rem;
    font-variant-numeric: tabular-nums;
    font-weight: 820;
}

.salesperson-sale-client-card {
    grid-column: 1 / -1;
}

.salesperson-sale-client-card dl {
    display: grid;
    gap: 0 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.salesperson-sale-client-pending,
.salesperson-sale-activation-card > div:first-child p {
    color: var(--pa-color-text-muted);
    font-size: .72rem;
    line-height: 1.45;
    margin-top: .35rem;
}

.salesperson-sale-activation-content {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: 9rem minmax(0, 1fr);
    margin-top: .75rem;
}

.salesperson-sale-activation-content .salesperson-sale-result-qr {
    max-width: 9rem;
}

.salesperson-sale-qr-panel {
    width: 9.5rem;
}

.salesperson-sale-qr-panel .admin-workshop-qr-actions button {
    white-space: nowrap;
}

.salesperson-sale-activation-link-area {
    display: grid;
    gap: .55rem;
    min-width: 0;
}

.admin-passeport-status.is-pending_activation {
    background: #a86f2514;
    border-color: #a86f2540;
    color: #8a5d22;
}

.admin-passeport-status.is-activated {
    background: #346f5b14;
    border-color: #346f5b40;
    color: #346f5b;
}

@media (max-width: 1099px) {
    .salesperson-sales-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .salesperson-sales-filters .passeport-list-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}

@media (max-width: 767px) {
    .salesperson-finance-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .salesperson-sales-filters,
    .salesperson-sale-detail-grid,
    .salesperson-sale-client-card dl {
        grid-template-columns: minmax(0, 1fr);
    }

    .salesperson-sales-filters .passeport-list-filter-actions {
        grid-column: auto;
    }

    .salesperson-sales-table,
    .salesperson-finance-table {
        min-width: 0;
    }

    .salesperson-sale-client-card {
        grid-column: auto;
    }

    .salesperson-sale-activation-content {
        grid-template-columns: minmax(0, 1fr);
    }

    .salesperson-sale-qr-panel {
        justify-self: center;
    }
}

@media (max-width: 419px) {
    .salesperson-sales-metrics,
    .salesperson-finance-metrics {
        grid-template-columns: minmax(0, 1fr);
    }
}
