/*! Tailwind CSS v4.1.10 */
/*
  1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
  2. Remove default margins and padding
  3. Reset all borders.
*/

*,
::after,
::before,
::backdrop,
::file-selector-button {
  box-sizing: border-box; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 2 */
  border: 0 solid; /* 3 */
}

/*
  1. Use a consistent sensible line-height in all browsers.
  2. Prevent adjustments of font size after orientation changes in iOS.
  3. Use a more readable tab size.
  4. Use the user's configured `sans` font-family by default.
  5. Use the user's configured `sans` font-feature-settings by default.
  6. Use the user's configured `sans` font-variation-settings by default.
  7. Disable tap highlights on iOS.
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  tab-size: 4; /* 3 */
  font-family: --theme(
    --default-font-family,
    ui-sans-serif,
    system-ui,
    sans-serif,
    'Apple Color Emoji',
    'Segoe UI Emoji',
    'Segoe UI Symbol',
    'Noto Color Emoji'
  ); /* 4 */
  font-feature-settings: --theme(--default-font-feature-settings, normal); /* 5 */
  font-variation-settings: --theme(--default-font-variation-settings, normal); /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
  1. Add the correct height in Firefox.
  2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
  3. Reset the default border style to a 1px solid border.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
  Add the correct text decoration in Chrome, Edge, and Safari.
*/

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

/*
  Remove the default font size and weight for headings.
*/

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

/*
  Reset links to optimize for opt-in styling instead of opt-out.
*/

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

/*
  Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
  1. Use the user's configured `mono` font-family by default.
  2. Use the user's configured `mono` font-feature-settings by default.
  3. Use the user's configured `mono` font-variation-settings by default.
  4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: --theme(
    --default-mono-font-family,
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    'Liberation Mono',
    'Courier New',
    monospace
  ); /* 1 */
  font-feature-settings: --theme(--default-mono-font-feature-settings, normal); /* 2 */
  font-variation-settings: --theme(--default-mono-font-variation-settings, normal); /* 3 */
  font-size: 1em; /* 4 */
}

/*
  Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
  Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
  1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
  2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
  3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
  Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
  Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
  Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
  Make lists unstyled by default.
*/

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

/*
  1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
  2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
      This can trigger a poorly considered lint error in some tools but is included by design.
*/

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

/*
  Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

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

/*
  1. Inherit font styles in all browsers.
  2. Remove border radius in all browsers.
  3. Remove background color in all browsers.
  4. Ensure consistent opacity for disabled states in all browsers.
*/

button,
input,
select,
optgroup,
textarea,
::file-selector-button {
  font: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  border-radius: 0; /* 2 */
  background-color: transparent; /* 3 */
  opacity: 1; /* 4 */
}

/*
  Restore default font weight.
*/

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

/*
  Restore indentation.
*/

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

/*
  Restore space after button.
*/

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

/*
  Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
*/

::placeholder {
  opacity: 1;
}

/*
  Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not
  crash when using `color-mix(…)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)
*/

@supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or
  (contain-intrinsic-size: 1px) /* Safari 17+ */ {
  ::placeholder {
    color: color-mix(in oklab, currentcolor 50%, transparent);
  }
}

/*
  Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
  Remove the inner padding in Chrome and Safari on macOS.
*/

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

/*
  1. Ensure date/time inputs have the same height when empty in iOS Safari.
  2. Ensure text alignment can be changed on date/time inputs in iOS Safari.
*/

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

/*
  Prevent height from changing on date/time inputs in macOS Safari when the input is set to `display: block`.
*/

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

/*
  Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.
*/

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

::-webkit-datetime-edit,
::-webkit-datetime-edit-year-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute-field,
::-webkit-datetime-edit-second-field,
::-webkit-datetime-edit-millisecond-field,
::-webkit-datetime-edit-meridiem-field {
  padding-block: 0;
}

/*
  Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

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

/*
  Correct the inability to style the border radius in iOS Safari.
*/

button,
input:where([type='button'], [type='reset'], [type='submit']),
::file-selector-button {
  appearance: button;
}

/*
  Correct the cursor style of increment and decrement buttons in Safari.
*/

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

/*
  Make elements with the HTML hidden attribute stay hidden by default.
*/

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

/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --color-red-50: oklch(97.1% 0.013 17.38);
  --color-red-200: oklch(88.5% 0.062 18.334);
  --color-red-700: oklch(50.5% 0.213 27.518);
  --color-orange-50: oklch(98% 0.016 73.684);
  --color-zinc-50: oklch(98.5% 0 0);
  --color-zinc-100: oklch(96.7% 0.001 286.375);
  --color-zinc-400: oklch(70.5% 0.015 286.067);
  --color-zinc-500: oklch(55.2% 0.016 285.938);
  --color-zinc-950: oklch(14.1% 0.005 285.823);
  --color-black: #000;
  --color-white: #fff;
  --spacing: 0.25rem;
  --container-sm: 24rem;
  --container-md: 28rem;
  --container-2xl: 42rem;
  --text-xs: 0.75rem;
  --text-xs--line-height: calc(1 / 0.75);
  --text-sm: 0.875rem;
  --text-sm--line-height: calc(1.25 / 0.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-5xl: 3rem;
  --text-5xl--line-height: 1;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-black: 900;
  --radius-2xl: 1rem;
  --color-brand: #FF3600;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.inset-y-0 {
  inset-block: calc(var(--spacing) * 0);
}
.top-0 {
  top: calc(var(--spacing) * 0);
}
.top-2 {
  top: calc(var(--spacing) * 2);
}
.top-24 {
  top: calc(var(--spacing) * 24);
}
.top-40 {
  top: calc(var(--spacing) * 40);
}
.-right-20 {
  right: calc(var(--spacing) * -20);
}
.-right-36 {
  right: calc(var(--spacing) * -36);
}
.right-0 {
  right: calc(var(--spacing) * 0);
}
.right-2 {
  right: calc(var(--spacing) * 2);
}
.z-20 {
  z-index: 20;
}
.mt-0\.5 {
  margin-top: calc(var(--spacing) * 0.5);
}
.mt-1 {
  margin-top: calc(var(--spacing) * 1);
}
.mt-2 {
  margin-top: calc(var(--spacing) * 2);
}
.mt-4 {
  margin-top: calc(var(--spacing) * 4);
}
.mt-5 {
  margin-top: calc(var(--spacing) * 5);
}
.mt-6 {
  margin-top: calc(var(--spacing) * 6);
}
.mt-7 {
  margin-top: calc(var(--spacing) * 7);
}
.mt-8 {
  margin-top: calc(var(--spacing) * 8);
}
.mt-9 {
  margin-top: calc(var(--spacing) * 9);
}
.mb-2 {
  margin-bottom: calc(var(--spacing) * 2);
}
.mb-3 {
  margin-bottom: calc(var(--spacing) * 3);
}
.mb-5 {
  margin-bottom: calc(var(--spacing) * 5);
}
.mb-8 {
  margin-bottom: calc(var(--spacing) * 8);
}
.mb-10 {
  margin-bottom: calc(var(--spacing) * 10);
}
.ml-auto {
  margin-left: auto;
}
.block {
  display: block;
}
.flex {
  display: flex;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.inline-flex {
  display: inline-flex;
}
.h-1 {
  height: calc(var(--spacing) * 1);
}
.h-2 {
  height: calc(var(--spacing) * 2);
}
.h-2\.5 {
  height: calc(var(--spacing) * 2.5);
}
.h-8 {
  height: calc(var(--spacing) * 8);
}
.h-10 {
  height: calc(var(--spacing) * 10);
}
.h-11 {
  height: calc(var(--spacing) * 11);
}
.h-12 {
  height: calc(var(--spacing) * 12);
}
.h-20 {
  height: calc(var(--spacing) * 20);
}
.h-40 {
  height: calc(var(--spacing) * 40);
}
.h-72 {
  height: calc(var(--spacing) * 72);
}
.h-px {
  height: 1px;
}
.min-h-screen {
  min-height: 100vh;
}
.w-2 {
  width: calc(var(--spacing) * 2);
}
.w-2\.5 {
  width: calc(var(--spacing) * 2.5);
}
.w-8 {
  width: calc(var(--spacing) * 8);
}
.w-10 {
  width: calc(var(--spacing) * 10);
}
.w-12 {
  width: calc(var(--spacing) * 12);
}
.w-16 {
  width: calc(var(--spacing) * 16);
}
.w-40 {
  width: calc(var(--spacing) * 40);
}
.w-72 {
  width: calc(var(--spacing) * 72);
}
.w-full {
  width: 100%;
}
.max-w-2xl {
  max-width: var(--container-2xl);
}
.max-w-36 {
  max-width: calc(var(--spacing) * 36);
}
.max-w-md {
  max-width: var(--container-md);
}
.max-w-sm {
  max-width: var(--container-sm);
}
.min-w-0 {
  min-width: calc(var(--spacing) * 0);
}
.flex-1 {
  flex: 1;
}
.grid-cols-\[110px_1fr_150px_120px_120px\] {
  grid-template-columns: 110px 1fr 150px 120px 120px;
}
.flex-col {
  flex-direction: column;
}
.place-items-center {
  place-items: center;
}
.items-center {
  align-items: center;
}
.items-end {
  align-items: flex-end;
}
.items-start {
  align-items: flex-start;
}
.justify-between {
  justify-content: space-between;
}
.justify-center {
  justify-content: center;
}
.gap-2 {
  gap: calc(var(--spacing) * 2);
}
.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);
}
.space-y-1 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.space-y-3 {
  :where(& > :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)));
  }
}
.space-y-5 {
  :where(& > :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)));
  }
}
.space-y-6 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.divide-y {
  :where(& > :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)));
  }
}
.divide-black\/5 {
  :where(& > :not(:last-child)) {
    border-color: color-mix(in srgb, #000 5%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-black) 5%, transparent);
    }
  }
}
.self-start {
  align-self: flex-start;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.overflow-hidden {
  overflow: hidden;
}
.rounded-2xl {
  border-radius: var(--radius-2xl);
}
.rounded-\[24px\] {
  border-radius: 24px;
}
.rounded-\[28px\] {
  border-radius: 28px;
}
.rounded-full {
  border-radius: calc(infinity * 1px);
}
.border {
  border-style: var(--tw-border-style);
  border-width: 1px;
}
.border-2 {
  border-style: var(--tw-border-style);
  border-width: 2px;
}
.border-t {
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
}
.border-b {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 1px;
}
.border-black {
  border-color: var(--color-black);
}
.border-black\/5 {
  border-color: color-mix(in srgb, #000 5%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-black) 5%, transparent);
  }
}
.border-brand\/20 {
  border-color: color-mix(in srgb, #FF3600 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-brand) 20%, transparent);
  }
}
.border-brand\/25 {
  border-color: color-mix(in srgb, #FF3600 25%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-brand) 25%, transparent);
  }
}
.border-red-200 {
  border-color: var(--color-red-200);
}
.border-white {
  border-color: var(--color-white);
}
.border-white\/10 {
  border-color: color-mix(in srgb, #fff 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
  }
}
.border-white\/15 {
  border-color: color-mix(in srgb, #fff 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-white) 15%, transparent);
  }
}
.bg-\[\#f5f5f5\] {
  background-color: #f5f5f5;
}
.bg-\[\#f5f5f5\]\/90 {
  background-color: color-mix(in oklab, #f5f5f5 90%, transparent);
}
.bg-black {
  background-color: var(--color-black);
}
.bg-brand {
  background-color: var(--color-brand);
}
.bg-orange-50 {
  background-color: var(--color-orange-50);
}
.bg-red-50 {
  background-color: var(--color-red-50);
}
.bg-white {
  background-color: var(--color-white);
}
.bg-white\/5 {
  background-color: color-mix(in srgb, #fff 5%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
  }
}
.bg-white\/\[\.04\] {
  background-color: color-mix(in srgb, #fff 4%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-white) 4%, transparent);
  }
}
.bg-zinc-50 {
  background-color: var(--color-zinc-50);
}
.bg-zinc-100 {
  background-color: var(--color-zinc-100);
}
.p-4 {
  padding: calc(var(--spacing) * 4);
}
.p-5 {
  padding: calc(var(--spacing) * 5);
}
.p-6 {
  padding: calc(var(--spacing) * 6);
}
.p-7 {
  padding: calc(var(--spacing) * 7);
}
.px-2 {
  padding-inline: calc(var(--spacing) * 2);
}
.px-3 {
  padding-inline: calc(var(--spacing) * 3);
}
.px-4 {
  padding-inline: calc(var(--spacing) * 4);
}
.px-5 {
  padding-inline: calc(var(--spacing) * 5);
}
.px-6 {
  padding-inline: calc(var(--spacing) * 6);
}
.px-12 {
  padding-inline: calc(var(--spacing) * 12);
}
.py-0\.5 {
  padding-block: calc(var(--spacing) * 0.5);
}
.py-1 {
  padding-block: calc(var(--spacing) * 1);
}
.py-1\.5 {
  padding-block: calc(var(--spacing) * 1.5);
}
.py-3 {
  padding-block: calc(var(--spacing) * 3);
}
.py-4 {
  padding-block: calc(var(--spacing) * 4);
}
.py-10 {
  padding-block: calc(var(--spacing) * 10);
}
.py-12 {
  padding-block: calc(var(--spacing) * 12);
}
.pt-7 {
  padding-top: calc(var(--spacing) * 7);
}
.pr-4 {
  padding-right: calc(var(--spacing) * 4);
}
.pr-12 {
  padding-right: calc(var(--spacing) * 12);
}
.pb-10 {
  padding-bottom: calc(var(--spacing) * 10);
}
.pb-16 {
  padding-bottom: calc(var(--spacing) * 16);
}
.pl-1\.5 {
  padding-left: calc(var(--spacing) * 1.5);
}
.text-center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.text-3xl {
  font-size: var(--text-3xl);
  line-height: var(--tw-leading, var(--text-3xl--line-height));
}
.text-5xl {
  font-size: var(--text-5xl);
  line-height: var(--tw-leading, var(--text-5xl--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-\[10px\] {
  font-size: 10px;
}
.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);
}
.leading-\[0\.96\] {
  --tw-leading: 0.96;
  line-height: 0.96;
}
.font-black {
  --tw-font-weight: var(--font-weight-black);
  font-weight: var(--font-weight-black);
}
.font-bold {
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
}
.font-semibold {
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
}
.tracking-\[-0\.02em\] {
  --tw-tracking: -0.02em;
  letter-spacing: -0.02em;
}
.tracking-\[-0\.03em\] {
  --tw-tracking: -0.03em;
  letter-spacing: -0.03em;
}
.tracking-\[-0\.04em\] {
  --tw-tracking: -0.04em;
  letter-spacing: -0.04em;
}
.tracking-\[0\.2em\] {
  --tw-tracking: 0.2em;
  letter-spacing: 0.2em;
}
.tracking-\[0\.12em\] {
  --tw-tracking: 0.12em;
  letter-spacing: 0.12em;
}
.tracking-\[0\.16em\] {
  --tw-tracking: 0.16em;
  letter-spacing: 0.16em;
}
.tracking-\[0\.18em\] {
  --tw-tracking: 0.18em;
  letter-spacing: 0.18em;
}
.tracking-\[0\.32em\] {
  --tw-tracking: 0.32em;
  letter-spacing: 0.32em;
}
.tracking-\[0\.35em\] {
  --tw-tracking: 0.35em;
  letter-spacing: 0.35em;
}
.text-brand {
  color: var(--color-brand);
}
.text-red-700 {
  color: var(--color-red-700);
}
.text-white {
  color: var(--color-white);
}
.text-white\/30 {
  color: color-mix(in srgb, #fff 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 30%, transparent);
  }
}
.text-white\/35 {
  color: color-mix(in srgb, #fff 35%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 35%, transparent);
  }
}
.text-white\/40 {
  color: color-mix(in srgb, #fff 40%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 40%, transparent);
  }
}
.text-white\/45 {
  color: color-mix(in srgb, #fff 45%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 45%, transparent);
  }
}
.text-white\/55 {
  color: color-mix(in srgb, #fff 55%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 55%, transparent);
  }
}
.text-white\/60 {
  color: color-mix(in srgb, #fff 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 60%, transparent);
  }
}
.text-white\/65 {
  color: color-mix(in srgb, #fff 65%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 65%, transparent);
  }
}
.text-white\/70 {
  color: color-mix(in srgb, #fff 70%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 70%, transparent);
  }
}
.text-zinc-400 {
  color: var(--color-zinc-400);
}
.text-zinc-500 {
  color: var(--color-zinc-500);
}
.text-zinc-950 {
  color: var(--color-zinc-950);
}
.uppercase {
  text-transform: uppercase;
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.shadow-\[0_0_0_5px_rgba\(255\,54\,0\,\.12\)\] {
  --tw-shadow: 0 0 0 5px var(--tw-shadow-color, rgba(255,54,0,.12));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-\[0_18px_45px_rgba\(255\,54\,0\,\.22\)\] {
  --tw-shadow: 0 18px 45px var(--tw-shadow-color, rgba(255,54,0,.22));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-\[0_24px_80px_rgba\(0\,0\,0\,0\.08\)\] {
  --tw-shadow: 0 24px 80px var(--tw-shadow-color, rgba(0,0,0,0.08));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.backdrop-blur {
  --tw-backdrop-blur: blur(8px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
}
.hover\:bg-orange-50 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-orange-50);
    }
  }
}
.hover\:text-black {
  &:hover {
    @media (hover: hover) {
      color: var(--color-black);
    }
  }
}
.hover\:underline {
  &:hover {
    @media (hover: hover) {
      text-decoration-line: underline;
    }
  }
}
.sm\:block {
  @media (width >= 40rem) {
    display: block;
  }
}
.sm\:grid-cols-2 {
  @media (width >= 40rem) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.sm\:flex-row {
  @media (width >= 40rem) {
    flex-direction: row;
  }
}
.sm\:items-center {
  @media (width >= 40rem) {
    align-items: center;
  }
}
.sm\:justify-between {
  @media (width >= 40rem) {
    justify-content: space-between;
  }
}
.sm\:p-6 {
  @media (width >= 40rem) {
    padding: calc(var(--spacing) * 6);
  }
}
.sm\:p-9 {
  @media (width >= 40rem) {
    padding: calc(var(--spacing) * 9);
  }
}
.sm\:px-7 {
  @media (width >= 40rem) {
    padding-inline: calc(var(--spacing) * 7);
  }
}
.sm\:px-8 {
  @media (width >= 40rem) {
    padding-inline: calc(var(--spacing) * 8);
  }
}
.sm\:text-4xl {
  @media (width >= 40rem) {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
}
.md\:block {
  @media (width >= 48rem) {
    display: block;
  }
}
.md\:grid {
  @media (width >= 48rem) {
    display: grid;
  }
}
.lg\:flex {
  @media (width >= 64rem) {
    display: flex;
  }
}
.lg\:grid {
  @media (width >= 64rem) {
    display: grid;
  }
}
.lg\:hidden {
  @media (width >= 64rem) {
    display: none;
  }
}
.lg\:min-h-0 {
  @media (width >= 64rem) {
    min-height: calc(var(--spacing) * 0);
  }
}
.lg\:grid-cols-\[280px_1fr\] {
  @media (width >= 64rem) {
    grid-template-columns: 280px 1fr;
  }
}
.lg\:grid-cols-\[minmax\(360px\,42\%\)_1fr\] {
  @media (width >= 64rem) {
    grid-template-columns: minmax(360px,42%) 1fr;
  }
}
.lg\:flex-col {
  @media (width >= 64rem) {
    flex-direction: column;
  }
}
.lg\:justify-between {
  @media (width >= 64rem) {
    justify-content: space-between;
  }
}
.lg\:p-6 {
  @media (width >= 64rem) {
    padding: calc(var(--spacing) * 6);
  }
}
.lg\:px-10 {
  @media (width >= 64rem) {
    padding-inline: calc(var(--spacing) * 10);
  }
}
.lg\:pt-10 {
  @media (width >= 64rem) {
    padding-top: calc(var(--spacing) * 10);
  }
}
.xl\:grid-cols-4 {
  @media (width >= 80rem) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.xl\:grid-cols-\[1\.45fr_\.85fr\] {
  @media (width >= 80rem) {
    grid-template-columns: 1.45fr .85fr;
  }
}
.xl\:flex-row {
  @media (width >= 80rem) {
    flex-direction: row;
  }
}
.xl\:items-end {
  @media (width >= 80rem) {
    align-items: flex-end;
  }
}
.xl\:self-auto {
  @media (width >= 80rem) {
    align-self: auto;
  }
}
.xl\:px-16 {
  @media (width >= 80rem) {
    padding-inline: calc(var(--spacing) * 16);
  }
}
.xl\:py-14 {
  @media (width >= 80rem) {
    padding-block: calc(var(--spacing) * 14);
  }
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@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: 0px;
}
@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-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-space-y-reverse: 0;
      --tw-divide-y-reverse: 0;
      --tw-border-style: solid;
      --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-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
    }
  }
}


/* FC Postventa components */
html,body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.field{display:block;width:100%;border:1px solid #e4e4e7;border-radius:14px;background:#fff;padding:13px 14px;font-size:14px;line-height:1.4;outline:none;transition:border-color .18s,box-shadow .18s,background .18s}.field::placeholder{color:#a1a1aa}.field:focus{border-color:#000;box-shadow:0 0 0 4px rgba(255,54,0,.10)}.btn-primary{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border:0;border-radius:14px;background:#FF3600;padding:0 20px;font-size:13px;font-weight:900;color:#fff;box-shadow:0 12px 28px rgba(255,54,0,.18);transition:transform .15s,box-shadow .15s,background .15s}.btn-primary:hover{background:#e83200;box-shadow:0 16px 34px rgba(255,54,0,.23);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.icon-btn{position:relative;display:grid;height:44px;width:44px;place-items:center;border:1px solid rgba(0,0,0,.05);border-radius:9999px;background:#fff;color:#18181b;box-shadow:0 4px 18px rgba(0,0,0,.04)}.nav-item{display:flex;min-height:44px;align-items:center;gap:12px;border-radius:13px;padding:0 12px;color:rgba(255,255,255,.55);font-weight:700;transition:background .15s,color .15s}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item-active{background:#fff;color:#000}.nav-item-active:hover{background:#fff;color:#000}.panel{border:1px solid rgba(0,0,0,.055);border-radius:24px;background:#fff;box-shadow:0 16px 50px rgba(0,0,0,.045)}.metric-card{min-height:164px;border:1px solid rgba(0,0,0,.055);border-radius:24px;background:#fff;padding:22px;box-shadow:0 16px 50px rgba(0,0,0,.04)}.metric-card-dark{background:#000}.metric-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.10em;color:#71717a}.metric-value{display:block;margin-top:28px;font-size:38px;line-height:1;font-weight:900;letter-spacing:-.045em}.metric-note{display:block;margin-top:10px;font-size:11px;color:#a1a1aa}.metric-dot{height:9px;width:9px;border-radius:50%;background:#FF3600;box-shadow:0 0 0 6px rgba(255,54,0,.12)}.chip{border:1px solid #e4e4e7;border-radius:9999px;background:#fff;padding:7px 11px;font-size:10px;font-weight:900;color:#71717a}.chip-active{border-color:#000;background:#000;color:#fff}.case-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:17px 20px;align-items:center;color:#18181b;transition:background .15s}.case-row:hover{background:#fafafa}.case-row small{display:block;margin-top:3px;color:#a1a1aa}.badge{display:inline-flex;align-items:center;border-radius:9999px;padding:6px 9px;font-size:9px;font-weight:900;font-style:normal;letter-spacing:.05em}.badge-danger{background:#fff0eb;color:#FF3600}.badge-warn{background:#fff8df;color:#9a6500}.badge-neutral{background:#f4f4f5;color:#52525b}@media(min-width:768px){.case-row{grid-template-columns:110px 1fr 150px 120px 120px;padding-left:24px;padding-right:24px}}

/* FC Postventa - RBAC / Users admin */
.fc-admin-header{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 28px;border-bottom:1px solid rgba(0,0,0,.055);background:rgba(245,245,245,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.fc-admin-header h1{margin:3px 0 0;font-size:24px;line-height:1.1;font-weight:900;letter-spacing:-.035em}.fc-eyebrow{margin:0;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.17em;color:#FF3600}.fc-admin-content{padding:30px 28px 64px}.fc-toolbar{padding:18px;margin-bottom:20px}.fc-filter-grid{display:grid;grid-template-columns:minmax(240px,1fr) 180px 220px auto;gap:12px;align-items:end}.fc-field-wrap{display:grid;gap:7px}.fc-field-wrap>span{font-size:11px;font-weight:800;color:#52525b}.fc-field-wrap small{font-size:11px;line-height:1.5;color:#a1a1aa}.fc-btn-dark,.fc-btn-secondary{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border-radius:14px;padding:0 18px;font-size:12px;font-weight:900;text-decoration:none}.fc-btn-dark{border:1px solid #000;background:#000;color:#fff}.fc-btn-secondary{border:1px solid #e4e4e7;background:#fff;color:#18181b}.fc-data-panel{overflow:hidden}.fc-section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid rgba(0,0,0,.055)}.fc-section-heading h2{margin:0;font-size:18px;font-weight:900;letter-spacing:-.02em}.fc-section-heading p{margin:5px 0 0;font-size:12px;color:#a1a1aa}.fc-link{font-size:12px;font-weight:900;color:#FF3600;text-decoration:none}.fc-table-wrap{overflow-x:auto}.fc-table{width:100%;border-collapse:collapse;min-width:820px}.fc-table th{padding:13px 18px;background:#fafafa;border-bottom:1px solid #eee;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#a1a1aa}.fc-table td{padding:16px 18px;border-bottom:1px solid #f1f1f1;vertical-align:middle;font-size:13px}.fc-table tbody tr:hover{background:#fcfcfc}.fc-user-cell{display:flex;align-items:center;gap:12px}.fc-user-cell strong{display:block;font-size:13px}.fc-user-cell small{display:block;margin-top:4px;color:#a1a1aa}.fc-avatar{display:grid;width:38px;height:38px;place-items:center;flex:0 0 38px;border-radius:12px;background:#000;color:#fff;font-size:13px;font-weight:900}.fc-role-text{font-size:12px;font-weight:700;color:#52525b}.fc-status{display:inline-flex;padding:6px 9px;border-radius:9999px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.fc-status-active{background:#ecfdf5;color:#047857}.fc-status-inactive{background:#f4f4f5;color:#71717a}.fc-status-locked{background:#fff1f2;color:#be123c}.fc-muted{font-size:12px;color:#71717a}.fc-actions{text-align:right}.fc-icon-link{font-size:11px;font-weight:900;color:#18181b;text-decoration:none;border-bottom:1px solid #d4d4d8}.fc-empty{display:grid;place-items:center;text-align:center;min-height:240px;padding:32px;color:#71717a}.fc-empty strong{color:#18181b;font-size:16px}.fc-empty span{margin-top:7px;font-size:12px}.fc-pagination{display:flex;gap:7px;padding:18px 24px}.fc-pagination a{display:grid;width:34px;height:34px;place-items:center;border:1px solid #e4e4e7;border-radius:10px;color:#52525b;text-decoration:none;font-size:11px;font-weight:900}.fc-pagination a.is-current{border-color:#000;background:#000;color:#fff}.fc-alert{margin-bottom:18px;padding:13px 16px;border:1px solid #e4e4e7;border-radius:14px;background:#fff;font-size:12px;line-height:1.55;color:#52525b}.fc-alert-success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.fc-alert-error{border-color:#fecaca;background:#fff7f7;color:#b91c1c}.fc-form-page{max-width:1100px}.fc-user-form{padding:28px}.fc-form-intro{padding-bottom:24px;border-bottom:1px solid #eee}.fc-form-intro>span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.16em;color:#FF3600}.fc-form-intro h2{margin:7px 0 5px;font-size:25px;font-weight:900;letter-spacing:-.03em}.fc-form-intro p{margin:0;max-width:720px;color:#71717a;font-size:12px;line-height:1.6}.fc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}.fc-span-2{grid-column:span 2}.fc-role-box{margin-top:28px;padding:0;border:0}.fc-role-box legend{margin-bottom:12px;font-size:12px;font-weight:900}.fc-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fc-role-option,.fc-permission-option{display:flex;gap:11px;align-items:flex-start;padding:14px;border:1px solid #e4e4e7;border-radius:14px;background:#fff;cursor:pointer}.fc-role-option:has(input:checked),.fc-permission-option:has(input:checked){border-color:#FF3600;box-shadow:0 0 0 3px rgba(255,54,0,.08)}.fc-role-option input,.fc-permission-option input{margin-top:3px;accent-color:#FF3600}.fc-role-option strong,.fc-permission-option strong{display:block;font-size:12px}.fc-role-option small,.fc-permission-option small{display:block;margin-top:4px;color:#a1a1aa;font-size:10px;line-height:1.45}.fc-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:28px;padding-top:22px;border-top:1px solid #eee}.fc-back-link{display:inline-block;margin-bottom:4px;color:#71717a;text-decoration:none;font-size:11px;font-weight:800}.fc-permissions-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px}.fc-role-list{overflow:hidden;align-self:start}.fc-role-list nav{padding:8px}.fc-role-nav{display:block;padding:13px 14px;border-radius:13px;text-decoration:none;color:#18181b}.fc-role-nav:hover{background:#fafafa}.fc-role-nav.is-active{background:#000;color:#fff}.fc-role-nav strong{display:block;font-size:12px}.fc-role-nav small{display:block;margin-top:4px;font-size:10px;line-height:1.4;color:#a1a1aa}.fc-role-nav.is-active small{color:rgba(255,255,255,.48)}.fc-permission-panel{overflow:hidden}.fc-permission-panel form{padding:0 24px 24px}.fc-permission-groups{display:grid;gap:18px;margin-top:20px}.fc-permission-group{padding:17px;border:1px solid #eee;border-radius:17px}.fc-permission-group legend{padding:0 8px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:#71717a}.fc-permission-group .fc-permission-option+ .fc-permission-option{margin-top:8px}@media(max-width:1023px){.fc-admin-header{padding:16px 20px}.fc-admin-content{padding:22px 18px 52px}.fc-filter-grid{grid-template-columns:1fr 1fr}.fc-filter-search{grid-column:span 2}.fc-permissions-layout{grid-template-columns:1fr}.fc-role-list nav{display:flex;overflow-x:auto;gap:6px}.fc-role-nav{min-width:200px}.fc-form-grid,.fc-role-grid{grid-template-columns:1fr}.fc-span-2{grid-column:auto}}@media(max-width:640px){.fc-filter-grid{grid-template-columns:1fr}.fc-filter-search{grid-column:auto}.fc-user-form{padding:20px}.fc-section-heading{align-items:flex-start;flex-direction:column}}

/* =========================================================
   FC POSTVENTA · UX STRUCTURAL PASS v1
   Sidebar fijo, navegación móvil, permisos compactos,
   toasts/modales y login responsive con logo real.
   ========================================================= */

:root{
  --fc-sidebar-width:280px;
  --fc-mobile-bar-height:64px;
  --fc-header-height:80px;
  --fc-brand:#FF3600;
  --fc-bg:#f5f5f5;
  --fc-border:#e9e9ec;
  --fc-muted:#71717a;
}

html{scroll-behavior:smooth}
body{overflow-x:hidden;background:var(--fc-bg)}
button,a,input,select,textarea{outline-color:var(--fc-brand)}

/* --- Shell principal --- */
.fc-app-shell{min-height:100vh;background:var(--fc-bg)}
.fc-main{min-width:0;margin-left:var(--fc-sidebar-width);min-height:100vh}

.fc-sidebar{
  position:fixed;
  inset:0 auto 0 0;
  z-index:70;
  width:var(--fc-sidebar-width);
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:28px;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:24px;
  background:#000;
  color:#fff;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.18) transparent;
}
.fc-sidebar::-webkit-scrollbar{width:6px}
.fc-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:99px}
.fc-sidebar-main{min-width:0}
.fc-sidebar-brand{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:36px}
.fc-sidebar-brand img{display:block;width:68px;height:auto;max-height:52px;object-fit:contain}
.fc-sidebar-pulse{width:10px;height:10px;flex:0 0 10px;border-radius:999px;background:var(--fc-brand);box-shadow:0 0 0 5px rgba(255,54,0,.12)}
.fc-sidebar-section-title{margin:0 0 10px;padding:0 12px;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.34)}
.fc-sidebar-section-title.is-spaced{margin-top:32px}
.fc-sidebar-nav{display:grid;gap:5px}
.fc-sidebar .nav-item{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 14px;border-radius:14px;color:rgba(255,255,255,.58);font-size:13px;font-weight:750;text-decoration:none;transition:background .18s ease,color .18s ease,transform .18s ease}
.fc-sidebar .nav-item i{width:18px;text-align:center;font-size:13px;color:rgba(255,255,255,.45)}
.fc-sidebar .nav-item:hover{background:rgba(255,255,255,.065);color:#fff}
.fc-sidebar .nav-item:hover i{color:var(--fc-brand)}
.fc-sidebar .nav-item-active{background:#fff;color:#000;box-shadow:0 14px 28px rgba(0,0,0,.2)}
.fc-sidebar .nav-item-active i{color:#000}
.fc-sidebar-session{flex:0 0 auto;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.035)}
.fc-sidebar-session-label{font-size:11px;color:rgba(255,255,255,.42)}
.fc-sidebar-session-name{margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:850}
.fc-sidebar-logout{display:inline-flex;align-items:center;gap:8px;margin-top:14px;color:var(--fc-brand);font-size:11px;font-weight:850;cursor:pointer}
.fc-sidebar-close{display:none;width:38px;height:38px;place-items:center;border-radius:12px;background:rgba(255,255,255,.08);color:#fff}

.fc-mobile-topbar{display:none}
.fc-sidebar-backdrop{display:none}

.fc-admin-header{
  min-height:var(--fc-header-height);
  position:sticky;
  top:0;
  z-index:45;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 30px;
  border-bottom:1px solid rgba(0,0,0,.055);
  background:rgba(245,245,245,.94);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.fc-admin-header h1{margin:3px 0 0;font-size:24px;line-height:1.1;font-weight:900;letter-spacing:-.035em}
.fc-admin-content{padding:30px 30px 72px}

/* --- Componentes de acción --- */
.fc-action-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 12px;border:1px solid #e4e4e7;border-radius:11px;background:#fff;color:#18181b;font-size:11px;font-weight:850;text-decoration:none;transition:.18s ease}
.fc-action-button:hover{border-color:#c7c7cc;background:#fafafa;transform:translateY(-1px)}
.fc-action-button i{font-size:11px}
.fc-icon-only{width:38px;padding:0}
.fc-btn-link{display:inline-flex;align-items:center;gap:7px;color:var(--fc-brand);font-size:12px;font-weight:850;text-decoration:none}

/* --- Roles y permisos compactos --- */
.fc-permissions-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start}
.fc-role-list{position:sticky;top:calc(var(--fc-header-height) + 20px);overflow:hidden;align-self:start;max-height:calc(100vh - var(--fc-header-height) - 40px)}
.fc-role-list nav{max-height:calc(100vh - 220px);overflow-y:auto;padding:8px}
.fc-role-nav{display:block;padding:13px 14px;border-radius:13px;text-decoration:none;color:#18181b;transition:.18s ease}
.fc-role-nav:hover{background:#f7f7f8}
.fc-role-nav.is-active{background:#000;color:#fff}
.fc-role-nav strong{display:block;font-size:12px}
.fc-role-nav small{display:block;margin-top:4px;font-size:10px;line-height:1.4;color:#a1a1aa}
.fc-role-nav.is-active small{color:rgba(255,255,255,.5)}
.fc-permission-panel{overflow:visible}
.fc-permission-panel form{padding:0 24px 0}
.fc-permission-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0 2px}
.fc-permission-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}
.fc-permission-meta{font-size:11px;color:#71717a}
.fc-permission-groups{display:grid;gap:10px;margin-top:16px}
.fc-permission-group{padding:0;border:1px solid #e7e7ea;border-radius:16px;background:#fff;overflow:hidden}
.fc-permission-group[open]{box-shadow:0 10px 30px rgba(0,0,0,.035)}
.fc-permission-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:0 16px;cursor:pointer;list-style:none;user-select:none}
.fc-permission-summary::-webkit-details-marker{display:none}
.fc-permission-summary-left{display:flex;align-items:center;gap:10px;min-width:0}
.fc-permission-summary-icon{display:grid;width:30px;height:30px;place-items:center;flex:0 0 30px;border-radius:10px;background:#f4f4f5;color:#52525b;font-size:12px}
.fc-permission-group[open] .fc-permission-summary-icon{background:#fff1eb;color:var(--fc-brand)}
.fc-permission-summary strong{font-size:12px}
.fc-permission-summary-count{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:24px;padding:0 8px;border-radius:999px;background:#f4f4f5;color:#71717a;font-size:10px;font-weight:850}
.fc-permission-summary-chevron{font-size:11px;color:#a1a1aa;transition:transform .18s ease}
.fc-permission-group[open] .fc-permission-summary-chevron{transform:rotate(180deg)}
.fc-permission-group-body{padding:0 14px 14px;border-top:1px solid #f1f1f2}
.fc-permission-group-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 0 8px}
.fc-permission-mini-action{border:0;background:transparent;color:#71717a;font-size:10px;font-weight:800;cursor:pointer}
.fc-permission-mini-action:hover{color:var(--fc-brand)}
.fc-permission-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.fc-permission-option{display:flex;gap:10px;align-items:flex-start;min-height:64px;padding:11px 12px;border:1px solid #ececef;border-radius:12px;background:#fff;cursor:pointer}
.fc-permission-option:hover{border-color:#d7d7dc;background:#fcfcfc}
.fc-permission-option:has(input:checked){border-color:rgba(255,54,0,.48);background:#fffaf8;box-shadow:none}
.fc-permission-option input{margin-top:3px;accent-color:var(--fc-brand)}
.fc-permission-option strong{display:block;font-size:11px;line-height:1.35}
.fc-permission-option small{display:block;margin-top:3px;color:#a1a1aa;font-size:9px;line-height:1.35}
.fc-permissions-savebar{position:sticky;bottom:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px -24px 0;padding:14px 24px;border-top:1px solid #ececef;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.fc-unsaved-indicator{display:flex;align-items:center;gap:8px;font-size:10px;color:#71717a;opacity:0;transition:opacity .18s ease}
.fc-unsaved-indicator::before{content:"";width:7px;height:7px;border-radius:999px;background:var(--fc-brand)}
.fc-unsaved-indicator.is-visible{opacity:1}

/* --- Toasts --- */
.fc-toast-stack{position:fixed;top:20px;right:20px;z-index:120;display:grid;gap:10px;width:min(390px,calc(100vw - 32px));pointer-events:none}
.fc-toast{display:grid;grid-template-columns:36px 1fr auto;align-items:start;gap:11px;padding:13px 13px;border:1px solid #e5e5e8;border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 18px 50px rgba(0,0,0,.15);backdrop-filter:blur(12px);pointer-events:auto;transform:translateY(-10px);opacity:0;animation:fcToastIn .2s ease forwards}
.fc-toast-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:#f4f4f5;color:#18181b}
.fc-toast-success .fc-toast-icon{background:#ecfdf5;color:#047857}
.fc-toast-error .fc-toast-icon{background:#fff1f2;color:#be123c}
.fc-toast-warning .fc-toast-icon{background:#fff7ed;color:#c2410c}
.fc-toast-title{font-size:12px;font-weight:900;color:#18181b}
.fc-toast-message{margin-top:2px;font-size:11px;line-height:1.45;color:#71717a}
.fc-toast-close{display:grid;width:26px;height:26px;place-items:center;border-radius:8px;color:#a1a1aa;cursor:pointer}
.fc-toast-close:hover{background:#f4f4f5;color:#18181b}
.fc-toast.is-leaving{animation:fcToastOut .18s ease forwards}
@keyframes fcToastIn{to{transform:translateY(0);opacity:1}}
@keyframes fcToastOut{to{transform:translateY(-8px);opacity:0}}

/* --- Modal / confirmación base --- */
.fc-modal-backdrop{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.52);backdrop-filter:blur(3px);opacity:0;transition:opacity .16s ease}
.fc-modal-backdrop.is-open{opacity:1}
.fc-modal{width:min(460px,100%);border-radius:22px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.28);transform:translateY(8px) scale(.985);transition:transform .16s ease;overflow:hidden}
.fc-modal-backdrop.is-open .fc-modal{transform:translateY(0) scale(1)}
.fc-modal-body{padding:24px}
.fc-modal-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:14px;background:#fff1eb;color:var(--fc-brand);font-size:15px}
.fc-modal h3{margin:16px 0 7px;font-size:20px;font-weight:900;letter-spacing:-.025em}
.fc-modal p{margin:0;color:#71717a;font-size:12px;line-height:1.65}
.fc-modal-actions{display:flex;justify-content:flex-end;gap:9px;padding:14px 24px;border-top:1px solid #eee;background:#fafafa}
body.fc-modal-open{overflow:hidden}

/* --- Drawer base para ediciones futuras --- */
.fc-drawer-backdrop{position:fixed;inset:0;z-index:125;background:rgba(0,0,0,.42);opacity:0;pointer-events:none;transition:.2s ease}
.fc-drawer{position:fixed;top:0;right:0;bottom:0;z-index:126;width:min(520px,92vw);background:#fff;box-shadow:-24px 0 70px rgba(0,0,0,.18);transform:translateX(105%);transition:transform .22s ease;overflow-y:auto}
.fc-drawer-backdrop.is-open{opacity:1;pointer-events:auto}.fc-drawer.is-open{transform:translateX(0)}

/* --- Login definitivo responsive --- */
.fc-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(390px,40%) minmax(0,1fr);background:#f7f7f7}
.fc-login-brand-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:48px;background:#000;color:#fff}
.fc-login-logo{display:block;width:92px;height:auto;max-height:64px;object-fit:contain}
.fc-login-brand-copy{position:relative;z-index:2;margin:auto 0;max-width:430px}
.fc-login-brand-copy h1{font-size:clamp(2.1rem,3vw,3.35rem);font-weight:900;text-transform:uppercase;line-height:1.03;letter-spacing:-.045em}
.fc-login-brand-copy p{margin-top:24px;max-width:360px;font-size:16px;line-height:1.7;color:rgba(255,255,255,.72)}
.fc-login-brand-accent{width:80px;height:4px;margin-top:24px;border-radius:99px;background:var(--fc-brand)}
.fc-login-stage{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:40px 32px}
.fc-login-wrap{width:min(460px,100%)}
.fc-login-mobile-brand{display:none}
.fc-login-card{padding:36px;border:1px solid rgba(0,0,0,.05);border-radius:26px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.065)}
.fc-login-card h2{font-size:30px;font-weight:900;letter-spacing:-.035em}
.fc-login-card header p{margin-top:8px;color:#71717a;font-size:14px;line-height:1.55}
.fc-login-form{display:grid;gap:20px;margin-top:28px}
.fc-login-mobile-logo{width:76px;height:auto;filter:brightness(0);object-fit:contain}
.fc-login-mobile-title{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.14em;text-align:right}

/* --- Responsive --- */
@media(max-width:1023px){
  .fc-main{margin-left:0;padding-top:var(--fc-mobile-bar-height)}
  .fc-mobile-topbar{position:fixed;top:0;left:0;right:0;z-index:65;height:var(--fc-mobile-bar-height);display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #ececef;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
  .fc-mobile-topbar img{display:block;width:58px;height:auto;filter:brightness(0)}
  .fc-mobile-menu-button{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:#000;color:#fff;font-size:14px}
  .fc-sidebar{width:min(320px,88vw);transform:translateX(-105%);transition:transform .22s ease;box-shadow:24px 0 70px rgba(0,0,0,.25)}
  .fc-sidebar.is-open{transform:translateX(0)}
  .fc-sidebar-close{display:grid}
  .fc-sidebar-backdrop{position:fixed;inset:0;z-index:66;display:block;background:rgba(0,0,0,.46);opacity:0;pointer-events:none;transition:opacity .2s ease}
  .fc-sidebar-backdrop.is-open{opacity:1;pointer-events:auto}
  .fc-admin-header{top:var(--fc-mobile-bar-height);padding:15px 20px;min-height:72px}
  .fc-admin-content{padding:22px 18px 56px}
  .fc-permissions-layout{grid-template-columns:1fr}
  .fc-role-list{position:static;max-height:none}
  .fc-role-list nav{display:flex;max-height:none;overflow-x:auto;overflow-y:hidden;gap:6px;padding:8px;scroll-snap-type:x proximity}
  .fc-role-nav{min-width:200px;scroll-snap-align:start}
  .fc-permission-options-grid{grid-template-columns:1fr}
  .fc-permissions-savebar{margin-left:-24px;margin-right:-24px}
  .fc-login-shell{display:block}
  .fc-login-brand-panel{display:none}
  .fc-login-stage{min-height:100vh;padding:28px 20px}
  .fc-login-mobile-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
}

@media(max-width:640px){
  .fc-admin-header{align-items:flex-start;min-height:auto;padding:14px 16px}
  .fc-admin-header h1{font-size:21px}
  .fc-admin-content{padding:18px 14px 46px}
  .fc-permission-panel form{padding-left:14px;padding-right:14px}
  .fc-permissions-savebar{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px;align-items:flex-start;flex-direction:column}
  .fc-permission-toolbar{align-items:flex-start;flex-direction:column}
  .fc-permission-summary{padding:0 13px}
  .fc-login-stage{align-items:flex-start;padding-top:26px}
  .fc-login-card{padding:25px 21px;border-radius:22px}
  .fc-login-card h2{font-size:27px}
  .fc-toast-stack{top:76px;right:12px;width:calc(100vw - 24px)}
}

/* =========================================================
   UX FIX v2 — uniformidad de permisos + edición modal usuario
   ========================================================= */

/* Todas las tarjetas de permisos conservan exactamente la misma geometría en PC. */
.fc-permission-options-grid{
  grid-auto-rows:76px;
  align-items:stretch;
}
.fc-permission-option{
  width:100%;
  height:76px;
  min-height:76px;
  box-sizing:border-box;
  align-items:center;
  overflow:hidden;
}
.fc-permission-option>span{
  min-width:0;
}
.fc-permission-option strong{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.fc-permission-option small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Modal de edición de usuarios. */
.fc-form-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:140;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(0,0,0,.56);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  opacity:0;
  transition:opacity .18s ease;
}
.fc-form-modal-backdrop[hidden]{display:none}
.fc-form-modal-backdrop.is-open{opacity:1}
.fc-form-modal{
  width:min(820px,100%);
  max-height:min(88vh,820px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  background:#fff;
  box-shadow:0 30px 110px rgba(0,0,0,.3);
  transform:translateY(12px) scale(.985);
  transition:transform .18s ease;
}
.fc-form-modal-backdrop.is-open .fc-form-modal{transform:translateY(0) scale(1)}
.fc-form-modal-header{
  flex:0 0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:22px 24px 18px;
  border-bottom:1px solid #ececef;
}
.fc-form-modal-header h2{
  margin:5px 0 0;
  font-size:23px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.03em;
}
.fc-form-modal-header p{
  margin:6px 0 0;
  color:#71717a;
  font-size:11px;
  line-height:1.55;
}
.fc-form-modal-close{
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  flex:0 0 38px;
  border:1px solid #e4e4e7;
  border-radius:12px;
  background:#fff;
  color:#52525b;
  cursor:pointer;
  transition:.18s ease;
}
.fc-form-modal-close:hover{border-color:#c8c8ce;background:#fafafa;color:#000}
.fc-form-modal form{display:flex;min-height:0;flex:1;flex-direction:column}
.fc-form-modal-scroll{
  min-height:0;
  flex:1;
  overflow-y:auto;
  padding:22px 24px 8px;
  overscroll-behavior:contain;
}
.fc-modal-form-grid{margin-top:0}
.fc-modal-role-box{margin-top:22px;padding-bottom:12px}
.fc-form-modal-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  padding:14px 24px;
  border-top:1px solid #ececef;
  background:#fafafa;
}
.fc-modal-form-error{margin:0 0 18px}
.fc-user-saving{pointer-events:none;opacity:.72}
.fc-user-saving i{animation:fcSpin .75s linear infinite}
@keyframes fcSpin{to{transform:rotate(360deg)}}

@media(max-width:1023px){
  /* En móvil dejamos altura flexible para no cortar textos largos. */
  .fc-permission-options-grid{grid-auto-rows:auto}
  .fc-permission-option{height:auto;min-height:70px}
}

@media(max-width:640px){
  .fc-form-modal-backdrop{padding:0;place-items:end stretch}
  .fc-form-modal{
    width:100%;
    max-height:92vh;
    border-radius:22px 22px 0 0;
    transform:translateY(28px);
  }
  .fc-form-modal-header{padding:18px 18px 15px}
  .fc-form-modal-scroll{padding:18px 16px 6px}
  .fc-form-modal-actions{padding:12px 16px calc(12px + env(safe-area-inset-bottom));}
  .fc-form-modal-actions>*{flex:1}
}

/* Lista de perfiles: el activo no debe verse físicamente más grande que el resto. */
.fc-role-nav{
  min-height:66px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.fc-role-nav small{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

/* =========================================================
   FC POSTVENTA · MÓDULO PROYECTOS
   ========================================================= */
.fc-project-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}
.fc-project-summary article{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:86px;padding:18px 20px;border:1px solid rgba(0,0,0,.06);border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(0,0,0,.035)}
.fc-project-summary span{font-size:11px;font-weight:800;color:#71717a}.fc-project-summary strong{font-size:24px;line-height:1;font-weight:950;letter-spacing:-.045em;color:#18181b}
.fc-project-filter-grid{display:grid;grid-template-columns:minmax(300px,1fr) 210px auto auto;gap:12px;align-items:end}
.fc-project-cell{display:flex;align-items:center;gap:12px;min-width:250px}.fc-project-cell>div{min-width:0}.fc-project-cell strong{display:block;font-size:13px}.fc-project-cell small{display:block;max-width:360px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a1a1aa;font-size:10px}
.fc-project-code{display:grid;min-width:64px;height:36px;place-items:center;padding:0 10px;border-radius:11px;background:#000;color:#fff;font-size:10px;font-weight:950;letter-spacing:.05em}
.fc-project-location{display:block;max-width:260px;color:#52525b;font-size:12px;line-height:1.45}.fc-table-subtext{display:block;margin-top:4px;color:#a1a1aa;font-size:10px;font-weight:500}.fc-textarea{min-height:104px;resize:vertical;line-height:1.5;padding-top:12px;padding-bottom:12px}.fc-project-modal{max-width:760px}

@media(max-width:1023px){.fc-project-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.fc-project-filter-grid{grid-template-columns:1fr 180px auto}.fc-project-filter-grid .fc-btn-secondary{grid-column:1/-1;justify-self:start}}
@media(max-width:700px){
  .fc-project-summary{grid-template-columns:1fr}.fc-project-summary article{min-height:68px;padding:15px 17px}
  .fc-project-filter-grid{grid-template-columns:1fr}.fc-project-filter-grid .fc-btn-secondary{grid-column:auto;width:100%}.fc-project-filter-grid .fc-btn-dark{width:100%}
  .fc-project-table{min-width:0}.fc-project-table thead{display:none}.fc-project-table,.fc-project-table tbody,.fc-project-table tr,.fc-project-table td{display:block;width:100%}.fc-project-table tbody{display:grid;gap:12px;padding:14px}.fc-project-table tr{overflow:hidden;border:1px solid #ececef;border-radius:17px;background:#fff}.fc-project-table td{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid #f2f2f3;text-align:right}.fc-project-table td:last-child{border-bottom:0}.fc-project-table td::before{content:attr(data-label);flex:0 0 auto;color:#a1a1aa;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.fc-project-table td:first-child{display:block;text-align:left}.fc-project-table td:first-child::before{display:none}.fc-project-table .fc-project-cell{min-width:0}.fc-project-table .fc-actions{justify-content:flex-end}.fc-project-table .fc-action-button{width:100%}.fc-project-location{max-width:190px}.fc-section-heading>.fc-muted{display:none}
}

/* =========================================================
   ETAPA 2 · FASE 2B · MOBILE FIX v3
   Drawer con sesión accesible en viewport dinámico.
   ========================================================= */
@media(max-width:1023px){
  .fc-sidebar{
    top:0;
    bottom:auto;
    height:100vh;
    height:100dvh;
    min-height:0;
    max-height:100dvh;
    overflow:hidden;
    justify-content:flex-start;
    gap:0;
    padding:20px 20px calc(16px + env(safe-area-inset-bottom,0px));
  }
  .fc-sidebar-main{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding-right:3px;
    padding-bottom:14px;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.16) transparent;
  }
  .fc-sidebar-main::-webkit-scrollbar{width:4px}
  .fc-sidebar-main::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:99px}
  .fc-sidebar-session{
    position:relative;
    z-index:2;
    flex:0 0 auto;
    margin-top:12px;
    padding:13px 14px;
    background:#090909;
    box-shadow:0 -12px 28px rgba(0,0,0,.22);
  }
  .fc-sidebar-session-label{font-size:10px}
  .fc-sidebar-session-name{font-size:12px}
  .fc-sidebar-logout{
    min-height:36px;
    margin-top:9px;
    padding:0 2px;
  }
  .fc-sidebar-brand{margin-bottom:28px}
}
@media(max-width:420px){
  .fc-sidebar{width:min(340px,88vw);padding-left:18px;padding-right:18px}
  .fc-sidebar .nav-item{min-height:48px}
}


/* FC v7 · alineación Estado inicial / Contraseña temporal en Usuarios */
.fc-user-access-field{align-self:start;align-content:start}
.fc-user-access-field>.fc-user-access-control,
.fc-user-access-field>.fc-password-wrap>.fc-user-access-control{
  height:48px;
  min-height:48px;
  padding-top:0;
  padding-bottom:0;
  box-sizing:border-box;
}
.fc-user-access-field>select.fc-user-access-control{padding-top:0;padding-bottom:0}
.fc-user-access-field>.fc-password-wrap{display:block;width:100%}
.fc-user-access-field>.fc-password-wrap [data-password-toggle]{height:40px;min-height:40px}
.fc-user-password-row-help{
  grid-column:1/-1;
  display:block;
  margin-top:-10px;
  padding-left:calc(50% + 9px);
  color:#a1a1aa;
  font-size:11px;
  line-height:1.45;
}
@media(max-width:1023px){
  .fc-user-password-row-help{padding-left:0;margin-top:-8px}
}
