@import "https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&family=IBM+Plex+Mono:wght@400;500&display=swap";

/*! tailwindcss v4.1.17 | 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-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-x-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-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-content: "";
    }
  }
}
@font-face {
  font-family: Roboto Fallback;
  src: local(Segoe UI), local(Tahoma), local(Arial);
  font-weight: 300;
}
@font-face {
  font-family: Roboto Fallback;
  src: local(Segoe UI), local(Tahoma), local(Arial);
  font-weight: 400;
}
@font-face {
  font-family: Roboto Fallback;
  src: local(Segoe UI Semibold), local(Segoe UI), local(Tahoma);
  font-weight: 700;
}
@font-face {
  font-family: Roboto Fallback;
  src: local(Segoe UI Black), local(Segoe UI), local(Arial Black);
  font-weight: 900;
}
@font-face {
  font-family: IBM Plex Mono Fallback;
  src: local(Consolas), local(Cascadia Code), local(Courier New);
  font-weight: 400;
}
@layer theme {
  :root, :host {
    --font-sans: "Roboto", "Roboto Fallback", "Segoe UI", "Tahoma", "Arial", ui-sans-serif, system-ui;
    --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
    --font-mono: "IBM Plex Mono", "IBM Plex Mono Fallback", "Consolas", "Cascadia Code", ui-monospace, monospace;
    --color-red-50: oklch(97.1% .013 17.38);
    --color-red-100: oklch(93.6% .032 17.717);
    --color-red-200: oklch(88.5% .062 18.334);
    --color-red-300: oklch(80.8% .114 19.571);
    --color-red-400: oklch(70.4% .191 22.216);
    --color-red-500: oklch(63.7% .237 25.331);
    --color-red-600: oklch(57.7% .245 27.325);
    --color-red-700: oklch(50.5% .213 27.518);
    --color-red-800: oklch(44.4% .177 26.899);
    --color-red-900: oklch(39.6% .141 25.723);
    --color-red-950: oklch(25.8% .092 26.042);
    --color-orange-50: oklch(98% .016 73.684);
    --color-orange-100: oklch(95.4% .038 75.164);
    --color-orange-200: oklch(90.1% .076 70.697);
    --color-orange-300: oklch(83.7% .128 66.29);
    --color-orange-400: oklch(75% .183 55.934);
    --color-orange-500: oklch(70.5% .213 47.604);
    --color-orange-600: oklch(64.6% .222 41.116);
    --color-orange-700: oklch(55.3% .195 38.402);
    --color-orange-800: oklch(47% .157 37.304);
    --color-orange-900: oklch(40.8% .123 38.172);
    --color-orange-950: oklch(26.6% .079 36.259);
    --color-amber-50: oklch(98.7% .022 95.277);
    --color-amber-100: oklch(96.2% .059 95.617);
    --color-amber-200: oklch(92.4% .12 95.746);
    --color-amber-300: oklch(87.9% .169 91.605);
    --color-amber-400: oklch(82.8% .189 84.429);
    --color-amber-500: oklch(76.9% .188 70.08);
    --color-amber-600: oklch(66.6% .179 58.318);
    --color-amber-700: oklch(55.5% .163 48.998);
    --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-yellow-50: oklch(98.7% .026 102.212);
    --color-yellow-100: oklch(97.3% .071 103.193);
    --color-yellow-200: oklch(94.5% .129 101.54);
    --color-yellow-300: oklch(90.5% .182 98.111);
    --color-yellow-400: oklch(85.2% .199 91.936);
    --color-yellow-500: oklch(79.5% .184 86.047);
    --color-yellow-600: oklch(68.1% .162 75.834);
    --color-yellow-700: oklch(55.4% .135 66.442);
    --color-yellow-800: oklch(47.6% .114 61.907);
    --color-yellow-900: oklch(42.1% .095 57.708);
    --color-yellow-950: oklch(28.6% .066 53.813);
    --color-lime-50: oklch(98.6% .031 120.757);
    --color-lime-100: oklch(96.7% .067 122.328);
    --color-lime-200: oklch(93.8% .127 124.321);
    --color-lime-300: oklch(89.7% .196 126.665);
    --color-lime-400: oklch(84.1% .238 128.85);
    --color-lime-500: oklch(76.8% .233 130.85);
    --color-lime-600: oklch(64.8% .2 131.684);
    --color-lime-700: oklch(53.2% .157 131.589);
    --color-lime-800: oklch(45.3% .124 130.933);
    --color-lime-900: oklch(40.5% .101 131.063);
    --color-lime-950: oklch(27.4% .072 132.109);
    --color-green-50: oklch(98.2% .018 155.826);
    --color-green-100: oklch(96.2% .044 156.743);
    --color-green-200: oklch(92.5% .084 155.995);
    --color-green-300: oklch(87.1% .15 154.449);
    --color-green-400: oklch(79.2% .209 151.711);
    --color-green-500: oklch(72.3% .219 149.579);
    --color-green-600: oklch(62.7% .194 149.214);
    --color-green-700: oklch(52.7% .154 150.069);
    --color-green-800: oklch(44.8% .119 151.328);
    --color-green-900: oklch(39.3% .095 152.535);
    --color-green-950: oklch(26.6% .065 152.934);
    --color-emerald-50: oklch(97.9% .021 166.113);
    --color-emerald-100: oklch(95% .052 163.051);
    --color-emerald-200: oklch(90.5% .093 164.15);
    --color-emerald-300: oklch(84.5% .143 164.978);
    --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-700: oklch(50.8% .118 165.612);
    --color-emerald-800: oklch(43.2% .095 166.913);
    --color-emerald-900: oklch(37.8% .077 168.94);
    --color-emerald-950: oklch(26.2% .051 172.552);
    --color-teal-50: oklch(98.4% .014 180.72);
    --color-teal-100: oklch(95.3% .051 180.801);
    --color-teal-200: oklch(91% .096 180.426);
    --color-teal-300: oklch(85.5% .138 181.071);
    --color-teal-400: oklch(77.7% .152 181.912);
    --color-teal-500: oklch(70.4% .14 182.503);
    --color-teal-600: oklch(60% .118 184.704);
    --color-teal-700: oklch(51.1% .096 186.391);
    --color-teal-800: oklch(43.7% .078 188.216);
    --color-teal-900: oklch(38.6% .063 188.416);
    --color-teal-950: oklch(27.7% .046 192.524);
    --color-cyan-50: oklch(98.4% .019 200.873);
    --color-cyan-100: oklch(95.6% .045 203.388);
    --color-cyan-200: oklch(91.7% .08 205.041);
    --color-cyan-300: oklch(86.5% .127 207.078);
    --color-cyan-400: oklch(78.9% .154 211.53);
    --color-cyan-500: oklch(71.5% .143 215.221);
    --color-cyan-600: oklch(60.9% .126 221.723);
    --color-cyan-700: oklch(52% .105 223.128);
    --color-cyan-800: oklch(45% .085 224.283);
    --color-cyan-900: oklch(39.8% .07 227.392);
    --color-cyan-950: oklch(30.2% .056 229.695);
    --color-sky-50: oklch(97.7% .013 236.62);
    --color-sky-100: oklch(95.1% .026 236.824);
    --color-sky-200: oklch(90.1% .058 230.902);
    --color-sky-300: oklch(82.8% .111 230.318);
    --color-sky-400: oklch(74.6% .16 232.661);
    --color-sky-500: oklch(68.5% .169 237.323);
    --color-sky-600: oklch(58.8% .158 241.966);
    --color-sky-700: oklch(50% .134 242.749);
    --color-sky-800: oklch(44.3% .11 240.79);
    --color-sky-900: oklch(39.1% .09 240.876);
    --color-sky-950: oklch(29.3% .066 243.157);
    --color-blue-50: oklch(97% .014 254.604);
    --color-blue-100: oklch(93.2% .032 255.585);
    --color-blue-200: oklch(88.2% .059 254.128);
    --color-blue-300: oklch(80.9% .105 251.813);
    --color-blue-400: oklch(70.7% .165 254.624);
    --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-indigo-50: oklch(96.2% .018 272.314);
    --color-indigo-100: oklch(93% .034 272.788);
    --color-indigo-200: oklch(87% .065 274.039);
    --color-indigo-300: oklch(78.5% .115 274.713);
    --color-indigo-400: oklch(67.3% .182 276.935);
    --color-indigo-500: oklch(58.5% .233 277.117);
    --color-indigo-600: oklch(51.1% .262 276.966);
    --color-indigo-700: oklch(45.7% .24 277.023);
    --color-indigo-800: oklch(39.8% .195 277.366);
    --color-indigo-900: oklch(35.9% .144 278.697);
    --color-indigo-950: oklch(25.7% .09 281.288);
    --color-violet-50: oklch(96.9% .016 293.756);
    --color-violet-100: oklch(94.3% .029 294.588);
    --color-violet-200: oklch(89.4% .057 293.283);
    --color-violet-300: oklch(81.1% .111 293.571);
    --color-violet-400: oklch(70.2% .183 293.541);
    --color-violet-500: oklch(60.6% .25 292.717);
    --color-violet-600: oklch(54.1% .281 293.009);
    --color-violet-700: oklch(49.1% .27 292.581);
    --color-violet-800: oklch(43.2% .232 292.759);
    --color-violet-900: oklch(38% .189 293.745);
    --color-violet-950: oklch(28.3% .141 291.089);
    --color-purple-50: oklch(97.7% .014 308.299);
    --color-purple-100: oklch(94.6% .033 307.174);
    --color-purple-200: oklch(90.2% .063 306.703);
    --color-purple-300: oklch(82.7% .119 306.383);
    --color-purple-400: oklch(71.4% .203 305.504);
    --color-purple-500: oklch(62.7% .265 303.9);
    --color-purple-600: oklch(55.8% .288 302.321);
    --color-purple-700: oklch(49.6% .265 301.924);
    --color-purple-800: oklch(43.8% .218 303.724);
    --color-purple-900: oklch(38.1% .176 304.987);
    --color-purple-950: oklch(29.1% .149 302.717);
    --color-fuchsia-50: oklch(97.7% .017 320.058);
    --color-fuchsia-100: oklch(95.2% .037 318.852);
    --color-fuchsia-200: oklch(90.3% .076 319.62);
    --color-fuchsia-300: oklch(83.3% .145 321.434);
    --color-fuchsia-400: oklch(74% .238 322.16);
    --color-fuchsia-500: oklch(66.7% .295 322.15);
    --color-fuchsia-600: oklch(59.1% .293 322.896);
    --color-fuchsia-700: oklch(51.8% .253 323.949);
    --color-fuchsia-800: oklch(45.2% .211 324.591);
    --color-fuchsia-900: oklch(40.1% .17 325.612);
    --color-fuchsia-950: oklch(29.3% .136 325.661);
    --color-pink-50: oklch(97.1% .014 343.198);
    --color-pink-100: oklch(94.8% .028 342.258);
    --color-pink-200: oklch(89.9% .061 343.231);
    --color-pink-300: oklch(82.3% .12 346.018);
    --color-pink-400: oklch(71.8% .202 349.761);
    --color-pink-500: oklch(65.6% .241 354.308);
    --color-pink-600: oklch(59.2% .249 .584);
    --color-pink-700: oklch(52.5% .223 3.958);
    --color-pink-800: oklch(45.9% .187 3.815);
    --color-pink-900: oklch(40.8% .153 2.432);
    --color-pink-950: oklch(28.4% .109 3.907);
    --color-rose-50: oklch(96.9% .015 12.422);
    --color-rose-100: oklch(94.1% .03 12.58);
    --color-rose-200: oklch(89.2% .058 10.001);
    --color-rose-300: oklch(81% .117 11.638);
    --color-rose-400: oklch(71.2% .194 13.428);
    --color-rose-500: oklch(64.5% .246 16.439);
    --color-rose-600: oklch(58.6% .253 17.585);
    --color-rose-700: oklch(51.4% .222 16.935);
    --color-rose-800: oklch(45.5% .188 13.697);
    --color-rose-900: oklch(41% .159 10.272);
    --color-rose-950: oklch(27.1% .105 12.094);
    --color-slate-50: oklch(98.4% .003 247.858);
    --color-slate-100: oklch(96.8% .007 247.896);
    --color-slate-200: oklch(92.9% .013 255.508);
    --color-slate-300: oklch(86.9% .022 252.894);
    --color-slate-400: oklch(70.4% .04 256.788);
    --color-slate-500: oklch(55.4% .046 257.417);
    --color-slate-600: oklch(44.6% .043 257.281);
    --color-slate-700: oklch(37.2% .044 257.287);
    --color-slate-800: oklch(27.9% .041 260.031);
    --color-slate-900: oklch(20.8% .042 265.755);
    --color-slate-950: oklch(12.9% .042 264.695);
    --color-gray-50: oklch(98.5% .002 247.839);
    --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-gray-950: oklch(13% .028 261.692);
    --color-zinc-50: oklch(98.5% 0 0);
    --color-zinc-100: oklch(96.7% .001 286.375);
    --color-zinc-200: oklch(92% .004 286.32);
    --color-zinc-300: oklch(87.1% .006 286.286);
    --color-zinc-400: oklch(70.5% .015 286.067);
    --color-zinc-500: oklch(55.2% .016 285.938);
    --color-zinc-600: oklch(44.2% .017 285.786);
    --color-zinc-700: oklch(37% .013 285.805);
    --color-zinc-800: oklch(27.4% .006 286.033);
    --color-zinc-900: oklch(21% .006 285.885);
    --color-zinc-950: oklch(14.1% .005 285.823);
    --color-neutral-50: oklch(98.5% 0 0);
    --color-neutral-100: oklch(97% 0 0);
    --color-neutral-200: oklch(92.2% 0 0);
    --color-neutral-300: oklch(87% 0 0);
    --color-neutral-400: oklch(70.8% 0 0);
    --color-neutral-500: oklch(55.6% 0 0);
    --color-neutral-600: oklch(43.9% 0 0);
    --color-neutral-700: oklch(37.1% 0 0);
    --color-neutral-800: oklch(26.9% 0 0);
    --color-neutral-900: oklch(20.5% 0 0);
    --color-neutral-950: oklch(14.5% 0 0);
    --color-stone-50: oklch(98.5% .001 106.423);
    --color-stone-100: oklch(97% .001 106.424);
    --color-stone-200: oklch(92.3% .003 48.717);
    --color-stone-300: oklch(86.9% .005 56.366);
    --color-stone-400: oklch(70.9% .01 56.259);
    --color-stone-500: oklch(55.3% .013 58.071);
    --color-stone-600: oklch(44.4% .011 73.639);
    --color-stone-700: oklch(37.4% .01 67.558);
    --color-stone-800: oklch(26.8% .007 34.298);
    --color-stone-900: oklch(21.6% .006 56.043);
    --color-stone-950: oklch(14.7% .004 49.25);
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --breakpoint-sm: 40rem;
    --breakpoint-md: 48rem;
    --breakpoint-lg: 64rem;
    --breakpoint-xl: 80rem;
    --breakpoint-2xl: 96rem;
    --container-3xs: 16rem;
    --container-2xs: 18rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --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-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --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;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;
    --text-8xl: 6rem;
    --text-8xl--line-height: 1;
    --text-9xl: 8rem;
    --text-9xl--line-height: 1;
    --font-weight-thin: 100;
    --font-weight-extralight: 200;
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --font-weight-black: 900;
    --tracking-tighter: -.05em;
    --tracking-tight: -.025em;
    --tracking-normal: 0em;
    --tracking-wide: .025em;
    --tracking-wider: .05em;
    --tracking-widest: .1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --leading-loose: 2;
    --radius-xs: .125rem;
    --radius-sm: .25rem;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --radius-4xl: 2rem;
    --shadow-2xs: 0 1px #0000000d;
    --shadow-xs: 0 1px 2px 0 #0000000d;
    --shadow-sm: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
    --shadow-md: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
    --shadow-lg: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
    --shadow-xl: 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;
    --shadow-2xl: 0 25px 50px -12px #00000040;
    --inset-shadow-2xs: inset 0 1px #0000000d;
    --inset-shadow-xs: inset 0 1px 1px #0000000d;
    --inset-shadow-sm: inset 0 2px 4px #0000000d;
    --drop-shadow-xs: 0 1px 1px #0000000d;
    --drop-shadow-sm: 0 1px 2px #00000026;
    --drop-shadow-md: 0 3px 3px #0000001f;
    --drop-shadow-lg: 0 4px 4px #00000026;
    --drop-shadow-xl: 0 9px 7px #0000001a;
    --drop-shadow-2xl: 0 25px 25px #00000026;
    --ease-in: cubic-bezier(.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --animate-bounce: bounce 1s infinite;
    --blur-xs: 4px;
    --blur-sm: 8px;
    --blur-md: 12px;
    --blur-lg: 16px;
    --blur-xl: 24px;
    --blur-2xl: 40px;
    --blur-3xl: 64px;
    --perspective-dramatic: 100px;
    --perspective-near: 300px;
    --perspective-normal: 500px;
    --perspective-midrange: 800px;
    --perspective-distant: 1200px;
    --aspect-video: 16 / 9;
    --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, ui-sans-serif, system-ui, 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 {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

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

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

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

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

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

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

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

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

  ::placeholder {
    opacity: 1;
  }

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

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

  textarea {
    resize: vertical;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer components;
@layer utilities {
  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }

  .top-0 {
    top: calc(var(--spacing) * 0);
  }

  .right-0 {
    right: calc(var(--spacing) * 0);
  }

  .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-\[6\.6rem\] {
    margin-top: -6.6rem;
  }

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

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

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

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

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

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

  .-mb-px {
    margin-bottom: -1px;
  }

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

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

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

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

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

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

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

  .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;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

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

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

  .table {
    display: table;
  }

  .aspect-\[335\/364\] {
    aspect-ratio: 335 / 364;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .w-auto {
    width: auto;
  }

  .w-full {
    width: 100%;
  }

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

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

  .max-w-none {
    max-width: none;
  }

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

  .flex-1 {
    flex: 1;
  }

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

  .translate-y-0 {
    --tw-translate-y: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .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;
  }

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

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

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

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

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

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

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

  .justify-end {
    justify-content: flex-end;
  }

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

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

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

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

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

  .overflow-hidden {
    overflow: hidden;
  }

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

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

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

  .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-br-lg {
    border-bottom-right-radius: var(--radius-lg);
  }

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

  .border {
    border-style: var(--tw-border-style);
    border-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-\[\#19140035\] {
    border-color: #19140035;
  }

  .border-\[\#e3e3e0\] {
    border-color: #e3e3e0;
  }

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

  .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-transparent {
    border-color: #0000;
  }

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

  .bg-\[\#FDFDFC\] {
    background-color: #fdfdfc;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }

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

  .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-\[13px\] {
    font-size: 13px;
  }

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

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

  .leading-\[20px\] {
    --tw-leading: 20px;
    line-height: 20px;
  }

  .leading-normal {
    --tw-leading: var(--leading-normal);
    line-height: var(--leading-normal);
  }

  .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-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }

  .text-\[\#1B1B18\], .text-\[\#1b1b18\] {
    color: #1b1b18;
  }

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

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

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

  .text-\[\#F53003\], .text-\[\#f53003\] {
    color: #f53003;
  }

  .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-white {
    color: var(--color-white);
  }

  .lowercase {
    text-transform: lowercase;
  }

  .uppercase {
    text-transform: uppercase;
  }

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

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

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

  .opacity-100 {
    opacity: 1;
  }

  .mix-blend-color {
    mix-blend-mode: color;
  }

  .mix-blend-darken {
    mix-blend-mode: darken;
  }

  .mix-blend-hard-light {
    mix-blend-mode: hard-light;
  }

  .mix-blend-multiply {
    mix-blend-mode: multiply;
  }

  .shadow {
    --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-\[0px_0px_1px_0px_rgba\(0\,0\,0\,0\.03\)\,0px_1px_2px_0px_rgba\(0\,0\,0\,0\.06\)\] {
    --tw-shadow: 0px 0px 1px 0px var(--tw-shadow-color, #00000008), 0px 1px 2px 0px var(--tw-shadow-color, #0000000f);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[inset_0px_0px_0px_1px_rgba\(26\,26\,0\,0\.16\)\] {
    --tw-shadow: inset 0px 0px 0px 1px var(--tw-shadow-color, #1a1a0029);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-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);
  }

  .ring {
    --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);
  }

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

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

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

  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .delay-200 {
    transition-delay: .2s;
  }

  .delay-300 {
    transition-delay: .3s;
  }

  .delay-400 {
    transition-delay: .4s;
  }

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

  .duration-750 {
    --tw-duration: .75s;
    transition-duration: .75s;
  }

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

  .\[--stroke-color\:\#1B1B18\] {
    --stroke-color: #1b1b18;
  }

  .not-has-\[nav\]\:hidden:not(:has(:is(nav))) {
    display: none;
  }

  .before\:absolute:before {
    content: var(--tw-content);
    position: absolute;
  }

  .before\:top-0:before {
    content: var(--tw-content);
    top: calc(var(--spacing) * 0);
  }

  .before\:top-1\/2:before {
    content: var(--tw-content);
    top: 50%;
  }

  .before\:bottom-0:before {
    content: var(--tw-content);
    bottom: calc(var(--spacing) * 0);
  }

  .before\:bottom-1\/2:before {
    content: var(--tw-content);
    bottom: 50%;
  }

  .before\:left-\[0\.4rem\]:before {
    content: var(--tw-content);
    left: .4rem;
  }

  .before\:border-l:before {
    content: var(--tw-content);
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }

  .before\:border-\[\#e3e3e0\]:before {
    content: var(--tw-content);
    border-color: #e3e3e0;
  }

  @media (hover: hover) {
    .hover\:border-\[\#1915014a\]:hover {
      border-color: #1915014a;
    }

    .hover\:border-\[\#19140035\]:hover {
      border-color: #19140035;
    }

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

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

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

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

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

  .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\: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\:flex {
      display: flex;
    }

    .sm\:hidden {
      display: none;
    }

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

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

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

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

  @media (min-width: 64rem) {
    .lg\:mt-10 {
      margin-top: calc(var(--spacing) * 10);
    }

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

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

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

    .lg\:ml-0 {
      margin-left: calc(var(--spacing) * 0);
    }

    .lg\:block {
      display: block;
    }

    .lg\:aspect-auto {
      aspect-ratio: auto;
    }

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

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

    .lg\:grow {
      flex-grow: 1;
    }

    .lg\:flex-row {
      flex-direction: row;
    }

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

    .lg\:rounded-t-none {
      border-top-left-radius: 0;
      border-top-right-radius: 0;
    }

    .lg\:rounded-tl-lg {
      border-top-left-radius: var(--radius-lg);
    }

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

    .lg\:rounded-br-none {
      border-bottom-right-radius: 0;
    }

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

    .lg\:p-20 {
      padding: calc(var(--spacing) * 20);
    }

    .lg\:pb-10 {
      padding-bottom: calc(var(--spacing) * 10);
    }
  }

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

  @media (prefers-color-scheme: dark) {
    .dark\:border-\[\#3E3E3A\] {
      border-color: #3e3e3a;
    }

    .dark\:border-\[\#eeeeec\] {
      border-color: #eeeeec;
    }

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

    .dark\:bg-\[\#0a0a0a\] {
      background-color: #0a0a0a;
    }

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

    .dark\:bg-\[\#3E3E3A\] {
      background-color: #3e3e3a;
    }

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

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

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

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

    .dark\:text-\[\#1C1C1A\] {
      color: #1c1c1a;
    }

    .dark\:text-\[\#4B0600\] {
      color: #4b0600;
    }

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

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

    .dark\:text-\[\#A1A09A\] {
      color: #a1a09a;
    }

    .dark\:text-\[\#EDEDEC\] {
      color: #ededec;
    }

    .dark\:text-\[\#F61500\] {
      color: #f61500;
    }

    .dark\:text-\[\#FF4433\] {
      color: #f43;
    }

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

    .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\:mix-blend-hard-light {
      mix-blend-mode: hard-light;
    }

    .dark\:mix-blend-normal {
      mix-blend-mode: normal;
    }

    .dark\:shadow-\[inset_0px_0px_0px_1px_\#fffaed2d\] {
      --tw-shadow: inset 0px 0px 0px 1px var(--tw-shadow-color, #fffaed2d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .dark\:\[--stroke-color\:\#FF750F\] {
      --stroke-color: #ff750f;
    }

    .dark\:before\:border-\[\#3E3E3A\]:before {
      content: var(--tw-content);
      border-color: #3e3e3a;
    }

    @media (hover: hover) {
      .dark\:hover\:border-\[\#3E3E3A\]:hover {
        border-color: #3e3e3a;
      }

      .dark\:hover\:border-\[\#62605b\]:hover {
        border-color: #62605b;
      }

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

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

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

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

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

    .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);
    }
  }

  @starting-style {
    .starting\:opacity-0 {
      opacity: 0;
    }
  }

  @media (prefers-reduced-motion: no-preference) {
    @starting-style {
      .motion-safe\:starting\:-translate-x-\[26px\] {
        --tw-translate-x: calc(26px * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }

    @starting-style {
      .motion-safe\:starting\:-translate-x-\[51px\] {
        --tw-translate-x: calc(51px * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }

    @starting-style {
      .motion-safe\:starting\:-translate-x-\[78px\] {
        --tw-translate-x: calc(78px * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }

    @starting-style {
      .motion-safe\:starting\:-translate-x-\[102px\] {
        --tw-translate-x: calc(102px * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }

    @starting-style {
      .motion-safe\:starting\:translate-y-6 {
        --tw-translate-y: calc(var(--spacing) * 6);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
}
:root {
  --pms-navy: #072949;
  --pms-deep: #031b33;
  --pms-sea: #0e5f95;
  --pms-gold: #f2ae2e;
  --pms-surface: #f2f7fc;
  --pms-white: #fff;
  --pms-ink: #0f2035;
  --pms-muted: #5a6d82;
  --pms-line: #d6e2ef;
  --pms-medium: #0b396a;
  --pms-teal: #5894ac;
  --pms-green: #007236;
  --pms-green-soft: #00723614;
  --pms-gold-soft: #f2ae2e1a;
  --pms-gold-bright: #f5bb42;
  --pms-teal-soft: #5894ac1a;
  --pms-corporate-bg: #fff;
}
* {
  box-sizing: border-box;
}
body {
  font-family: var(--font-sans);
  color: var(--pms-ink);
  background: radial-gradient(at 18% 8%, #f2ae2e40 0%, #0000 50%), radial-gradient(at 82% 12%, #00723629 0%, #0000 45%), radial-gradient(at 50% 92%, #5894ac38 0%, #0000 40%), linear-gradient(#f5f9ff 0%, #f0f6fe 30%, #eaf2fa 70%, #eef5fc 100%);
  margin: 0;
}
#app {
  min-height: 100vh;
}
.shell {
  flex-direction: column;
  max-width: 100vw;
  min-height: 100vh;
  display: flex;
  overflow-x: hidden;
}
.app-shell {
  background: radial-gradient(at 10% 30%, #f2ae2e2e, #0000 40%), radial-gradient(at 95% 70%, #5894ac33, #0000 35%), linear-gradient(#0b396a1f, #0b396a0d 25%, #0000 60%);
}
.topbar {
  border-bottom: 1px solid var(--pms-line);
  justify-content: space-between;
  align-items: center;
  padding: 14px 20px;
  display: flex;
}
.app-topbar {
  z-index: 5;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #ffffffe6;
  position: sticky;
  top: 0;
}
.brand {
  letter-spacing: .02em;
  font-weight: 700;
}
.brand-stack {
  align-items: center;
  gap: 10px;
  display: flex;
}
.brand-stack small {
  color: var(--pms-muted);
  font-size: 11px;
  display: block;
}
.brand-stack strong {
  color: var(--pms-navy);
  font-size: 14px;
  display: block;
}
.brand-logo {
  object-fit: contain;
  width: 48px;
  height: 48px;
}
.menu {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}
.menu a {
  color: var(--pms-muted);
  border-radius: 999px;
  padding: 6px 10px;
  font-weight: 600;
  text-decoration: none;
}
.menu a.router-link-active {
  background: var(--pms-navy);
  color: var(--pms-white);
}
.content {
  width: min(1000px, 92vw);
  margin: 24px auto;
}
.panel {
  background: var(--pms-white);
  border: 1px solid var(--pms-line);
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 16px 34px #04192e14;
}
.stack {
  gap: 10px;
  margin: 12px 0;
  display: grid;
}
.list {
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.list li {
  border: 1px solid var(--pms-line);
  border-radius: 10px;
  padding: 10px 12px;
  font-family: IBM Plex Mono, ui-monospace, monospace;
  font-size: 13px;
}
input, button {
  font: inherit;
  border: 1px solid var(--pms-line);
  border-radius: 10px;
  padding: 10px 12px;
}
button {
  background: var(--pms-navy);
  color: var(--pms-white);
  cursor: pointer;
  border: 0;
}
.dropzone {
  border: 1px dashed var(--pms-line);
  text-align: center;
  border-radius: 14px;
  padding: 24px;
}
.hidden {
  display: none;
}
.menu-row {
  gap: 8px;
  display: flex;
}
.btn-primary {
  background: var(--pms-navy);
  color: var(--pms-white);
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  padding: 12px 18px;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
}
.btn-ghost {
  color: var(--pms-navy);
  background: #07294914;
  border: 1px solid #07294924;
}
.install-chip {
  color: #fff;
  background: linear-gradient(135deg, #0d5f95, #072949);
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 700;
  box-shadow: 0 10px 18px #07294938;
}
.pwa-prompt-backdrop {
  z-index: 120;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: radial-gradient(circle at 100% 0, #f2ae2e29, #0000 28%), linear-gradient(#02122270, #0212229e);
  place-items: center;
  padding: 20px;
  display: grid;
  position: fixed;
  inset: 0;
}
.pwa-prompt-card {
  background: radial-gradient(circle at 100% 0, #f2ae2e1f, #0000 26%), linear-gradient(#fffffffa, #f4f9fefa);
  border: 1px solid #0729491f;
  border-radius: 26px;
  width: min(520px, 100vw - 28px);
  padding: 24px;
  position: relative;
  box-shadow: 0 28px 56px #031b3338;
}
.pwa-prompt-close {
  width: 34px;
  height: 34px;
  color: var(--pms-navy);
  cursor: pointer;
  background: #ffffffe0;
  border: 1px solid #07294929;
  border-radius: 50%;
  font-size: 22px;
  line-height: 1;
  position: absolute;
  top: 14px;
  right: 14px;
}
.pwa-prompt-close:hover {
  background: var(--pms-soft);
}
.pwa-prompt-art {
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 16px;
  display: grid;
}
.pwa-prompt-icon {
  border: 1px solid #07294924;
  border-radius: 22px;
  width: 76px;
  height: 76px;
  box-shadow: 0 16px 30px #07294929;
}
.pwa-kicker {
  color: var(--pms-sea);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 700;
}
.pwa-prompt-card h3 {
  color: var(--pms-deep);
  margin: 0;
  font-size: clamp(24px, 3vw, 30px);
  line-height: 1.1;
}
.pwa-copy {
  color: var(--pms-muted);
  margin: 18px 0 0;
  line-height: 1.6;
}
.pwa-bullets {
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
  display: flex;
}
.pwa-bullets span {
  color: var(--pms-navy);
  background: #0729490f;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
}
.pwa-bullets span:before {
  content: "";
  background: linear-gradient(135deg, var(--pms-gold), #f7c25b);
  border-radius: 999px;
  width: 8px;
  height: 8px;
  box-shadow: 0 0 0 3px #f2ae2e24;
}
.pwa-actions {
  gap: 10px;
  margin-top: 20px;
  display: flex;
}
.pwa-actions .btn-primary, .pwa-actions .btn-ghost {
  flex: 1;
  min-height: 48px;
}
.public-shell {
  background: none;
  min-height: 100vh;
}
.public-shell .content, .public-shell .content.content-wide {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
.splash-shell {
  isolation: isolate;
  border-radius: 0;
  width: 100vw;
  max-width: 100vw;
  min-height: 100vh;
  margin: 0;
  padding: clamp(18px, 3vw, 36px);
  position: relative;
  overflow: hidden;
}
.splash-video-wrap {
  z-index: -2;
  position: absolute;
  inset: 0;
}
.splash-video {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.splash-video-overlay {
  background: linear-gradient(120deg, #031b33b8, #031b3366 42%, #031b33a6), radial-gradient(circle at 80% 18%, #f2ae2e2e, #0000 42%);
  position: absolute;
  inset: 0;
}
.splash-content {
  z-index: 1;
  align-content: center;
  gap: 14px;
  min-height: calc(100vh - clamp(36px, 6vw, 72px));
  display: grid;
  position: relative;
}
.splash-copy {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #051b34b8;
  border: 1px solid #ffffff4d;
  border-radius: 16px;
  width: min(650px, 95vw);
  padding: clamp(18px, 2.8vw, 30px);
  box-shadow: 0 20px 42px #031b3357;
}
.splash-hero {
  grid-template-columns: 1.25fr .75fr;
  gap: 20px;
  width: min(1180px, 100%);
  margin-inline: auto;
  display: grid;
}
.splash-card {
  -webkit-backdrop-filter: blur(9px);
  backdrop-filter: blur(9px);
  background: #051b34a3;
  border: 1px solid #ffffff3d;
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 18px 34px #031b3347;
}
.splash-card h2 {
  color: #ebf5ff;
  margin: 0;
  font-size: 1.9rem;
}
.splash-card ul {
  color: #d3e6f7;
  margin: 12px 0 0;
  padding-left: 18px;
  line-height: 1.7;
}
.splash-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  width: min(1180px, 100%);
  margin-inline: auto;
  display: grid;
}
.splash-metrics article {
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background: #051b3494;
  border: 1px solid #ffffff42;
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 14px 24px #031b3338;
}
.splash-metrics strong {
  color: #f2f8ff;
  font-size: 33px;
  line-height: 1;
  display: block;
}
.splash-metrics span {
  color: #cfe0ef;
  margin-top: 7px;
  font-size: 13px;
  display: block;
}
.splash-head {
  align-items: center;
  gap: 14px;
  display: flex;
}
.splash-logo {
  object-fit: contain;
  width: 92px;
  height: 92px;
}
.splash-kicker {
  color: #d0e4f4;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin: 0;
  font-size: 11px;
  font-weight: 700;
}
.splash-copy h1 {
  color: #f3f9ff;
  max-width: 14ch;
  margin: 14px 0 0;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.12;
}
.splash-copy p {
  color: #d9ebf9;
  max-width: 58ch;
  margin: 14px 0 0;
  line-height: 1.6;
}
.splash-cta-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
  display: flex;
}
.splash-login-btn {
  min-height: 50px;
  color: var(--pms-navy);
  background: #f4f9ff;
  border: 1px solid #ffffffbf;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  padding: 13px 20px;
  font-weight: 800;
  text-decoration: none;
  transition: transform .16s, box-shadow .16s, background .16s;
  display: inline-flex;
  box-shadow: 0 14px 26px #0003;
}
.splash-login-btn:hover {
  background: #fff;
  transform: translateY(-1px);
  box-shadow: 0 18px 30px #00000042;
}
.splash-doc-actions {
  background: #ffffff14;
  border: 1px solid #ffffff38;
  border-radius: 10px;
  align-items: center;
  gap: 6px;
  min-height: 50px;
  padding: 5px;
  display: inline-flex;
}
.splash-doc-link {
  color: #eef8ff;
  white-space: nowrap;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 9px 12px;
  font-weight: 700;
  text-decoration: none;
  transition: background .16s, color .16s;
  display: inline-flex;
}
.splash-doc-link:hover {
  color: #fff;
  background: #ffffff26;
}
.splash-doc-link__icon {
  color: #ffd98b;
  background: #f2ae2e33;
  border-radius: 999px;
  place-items: center;
  width: 18px;
  height: 18px;
  font-size: 12px;
  display: inline-grid;
}
.login-shell {
  background: linear-gradient(135deg, #f0f7ff 0%, #e8f0fa 50%, #f5f0e8 100%);
  place-items: center;
  min-height: 100vh;
  padding: 26px;
  display: grid;
}
.login-panel {
  background: var(--pms-white);
  border: 1px solid var(--pms-line);
  border-radius: 22px;
  width: min(460px, 100%);
  padding: 30px;
  box-shadow: 0 22px 44px #031b331f;
}
.login-logo {
  object-fit: contain;
  width: 86px;
  height: 86px;
}
.login-label {
  color: var(--pms-sea);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin: 10px 0 6px;
  font-size: 12px;
  font-weight: 700;
}
.login-panel h1 {
  color: var(--pms-deep);
  margin: 0;
}
.login-subtitle {
  color: var(--pms-muted);
  margin-top: 8px;
}
.login-panel label {
  color: var(--pms-muted);
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  display: grid;
}
.login-back {
  color: var(--pms-sea);
  margin-top: 14px;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
}
.login-error {
  color: #b10f2e;
  margin: 2px 0 0;
  font-size: 13px;
  font-weight: 700;
}
.register-panel {
  width: min(560px, 100%);
}
.reg-modal-backdrop {
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  z-index: 20;
  background: #030f1fb3;
  justify-content: center;
  align-items: center;
  padding: 18px;
  display: flex;
  position: fixed;
  inset: 0;
}
.reg-modal {
  color: #f4fbff;
  background: linear-gradient(#0b355d, #072949);
  border: 1px solid #ffffff47;
  border-radius: 16px;
  width: min(420px, 100%);
  padding: 18px;
  box-shadow: 0 24px 44px #00000052;
}
.reg-modal h3 {
  margin: 0;
}
.reg-modal p {
  color: #d8eaf9;
  margin: 8px 0 0;
}
.reg-modal button {
  width: 100%;
  margin-top: 14px;
}
@media (max-width: 700px) {
  .topbar {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .splash-shell {
    min-height: 100vh;
    padding-top: 18px;
  }

  .splash-content {
    justify-content: center;
    align-items: flex-start;
  }

  .splash-hero {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .splash-metrics {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .splash-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .splash-copy h1 {
    max-width: none;
  }

  .splash-doc-actions {
    flex-wrap: wrap;
    width: 100%;
  }

  .splash-login-btn, .splash-doc-link {
    flex: auto;
  }
}
@media (max-width: 980px) {
  .splash-hero {
    grid-template-columns: 1fr;
  }

  .splash-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.content-wide {
  width: min(1200px, 94vw);
}
.drive-navbar {
  z-index: 50;
  border-bottom: 1px solid var(--pms-line);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: linear-gradient(135deg, #fffffff5, #f1f8fffa);
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 14px 20px;
  display: grid;
  position: sticky;
  top: 0;
}
.drive-navbar__brand {
  align-items: center;
  gap: 12px;
  display: flex;
}
.drive-navbar__mark {
  background: linear-gradient(145deg, #ffffffe6, #daecf9b3);
  border: 1px solid #0729491f;
  border-radius: 12px;
  place-items: center;
  width: 48px;
  height: 48px;
  display: grid;
}
.brand-logo--nav {
  object-fit: contain;
  width: 34px;
  height: 34px;
}
.drive-navbar__brand-text small {
  color: var(--pms-sea);
  letter-spacing: .02em;
  font-size: 11px;
  font-weight: 700;
  display: block;
}
.drive-navbar__brand-text strong {
  color: var(--pms-navy);
  font-size: 18px;
  line-height: 1.05;
  display: block;
}
.drive-navbar__brand-text span {
  color: var(--pms-muted);
  margin-top: 2px;
  font-size: 11px;
  display: block;
}
.drive-navbar__menu {
  flex-wrap: wrap;
  gap: 10px;
  margin-left: 24px;
  display: flex;
}
.drive-navbar__menu-footer {
  border-top: 1px solid var(--pms-line);
  flex-direction: column;
  gap: 8px;
  margin-top: auto;
  padding-top: 12px;
  display: none;
}
.drive-navbar__menu-footer .install-chip, .drive-navbar__menu-footer .btn-ghost {
  text-align: center;
  justify-content: center;
  width: 100%;
}
.drive-navbar__menu a {
  color: var(--pms-muted);
  border: 1px solid #0000;
  border-radius: 10px;
  padding: 8px 12px;
  font-weight: 700;
  text-decoration: none;
}
.drive-navbar__menu a.router-link-active {
  background: linear-gradient(135deg, var(--pms-navy), #114a73);
  color: var(--pms-white);
  box-shadow: 0 10px 20px #07294947;
}
.drive-navbar__actions {
  align-items: center;
  gap: 10px;
  display: flex;
  position: relative;
}
.notice-btn {
  width: 42px;
  height: 42px;
  color: var(--pms-navy);
  background: #07294914;
  border: 1px solid #07294933;
  border-radius: 12px;
  place-items: center;
  display: grid;
  position: relative;
}
.notice-btn svg {
  width: 18px;
  height: 18px;
}
.notice-dot {
  color: #fff;
  background: #d62839;
  border-radius: 999px;
  place-items: center;
  min-width: 19px;
  height: 19px;
  padding: 0 4px;
  font-size: 11px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: -6px;
  right: -6px;
}
.notice-panel {
  z-index: 65;
  border: 1px solid var(--pms-line);
  background: #fff;
  border-radius: 14px;
  width: 300px;
  padding: 12px;
  position: absolute;
  top: 52px;
  right: 98px;
  box-shadow: 0 20px 40px #06233d33;
}
.notice-panel h4 {
  color: var(--pms-navy);
  margin: 4px 0 10px;
}
.notice-panel ul {
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.notice-panel li {
  border: 1px solid var(--pms-line);
  border-radius: 10px;
  padding: 9px 10px;
}
.notice-panel__link {
  text-decoration: none;
  display: block;
}
.notice-panel li strong {
  color: var(--pms-ink);
  word-break: break-word;
  overflow-wrap: anywhere;
  font-size: 13px;
  display: block;
}
.notice-panel li span {
  color: var(--pms-muted);
  word-break: break-word;
  overflow-wrap: anywhere;
  font-size: 12px;
}
.user-pill {
  background: linear-gradient(#eef5fb 0%, #ddebf6 100%);
  border: 1px solid #07294929;
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  padding: 6px;
  display: inline-flex;
  box-shadow: inset 0 1px #ffffffbf;
}
.user-pill__name {
  color: var(--pms-navy);
  padding-inline: 8px;
  font-size: 13px;
  font-weight: 700;
}
.user-pill__logout {
  color: var(--pms-navy);
  background: #dbeaf6;
  border: 1px solid #0e5f953d;
  border-radius: 10px;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-weight: 700;
  transition: transform .16s, background-color .16s, box-shadow .16s;
  display: inline-flex;
}
.user-pill__logout-icon {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}
.drive-navbar__hamburger {
  cursor: pointer;
  z-index: 55;
  background: #0729490f;
  border: 1px solid #07294933;
  border-radius: 10px;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  padding: 8px;
  display: none;
}
.drive-navbar__hamburger span {
  background: var(--pms-navy);
  border-radius: 2px;
  width: 100%;
  height: 2px;
  transition: transform .2s, opacity .2s;
  display: block;
}
.drive-navbar__hamburger.is-open span:first-child {
  transform: translateY(7px)rotate(45deg);
}
.drive-navbar__hamburger.is-open span:nth-child(2) {
  opacity: 0;
}
.drive-navbar__hamburger.is-open span:nth-child(3) {
  transform: translateY(-7px)rotate(-45deg);
}
.user-pill__logout:hover, .user-pill__logout:focus-visible {
  background: #cfe2f2;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px #0e5f9529;
}
.user-pill__logout:active {
  background: #c3d9ec;
  transform: translateY(0);
}
.drive-dashboard {
  gap: 16px;
  display: grid;
}
.dashboard-head {
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 14px;
  display: grid;
}
.dashboard-kicker {
  color: var(--pms-sea);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 700;
}
.dashboard-head h1 {
  color: var(--pms-deep);
  margin: 0;
}
.dashboard-head p {
  color: var(--pms-muted);
  margin: 6px 0 0;
}
.dashboard-actions {
  gap: 8px;
  display: flex;
}
.dashboard-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}
.stat-card h3 {
  color: var(--pms-muted);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin: 0;
  font-size: 13px;
}
.stat-card {
  border: 1px solid #0e5f951f;
  min-width: 0;
  max-width: 100%;
}
.stat-card-total {
  background: linear-gradient(135deg, #f8fbff 0%, #edf5ff 100%);
}
.stat-card-used {
  background: linear-gradient(135deg, #f5fbf8 0%, #e7f7f0 100%);
}
.stat-card-left {
  background: linear-gradient(135deg, #fffaf1 0%, #fff0d8 100%);
}
.stat-card-shared {
  background: linear-gradient(135deg, #f8f6ff 0%, #ece8ff 100%);
}
.stat-card strong {
  color: var(--pms-navy);
  overflow-wrap: break-word;
  word-break: break-word;
  margin-top: 10px;
  font-size: clamp(24px, 3vw, 32px);
  display: block;
}
.stat-card span {
  color: var(--pms-muted);
  font-size: 13px;
}
.dashboard-content-grid {
  grid-template-columns: 1fr 1.2fr 1fr;
  gap: 12px;
  display: grid;
}
.chart-card, .upload-drop-card {
  min-width: 0;
  max-width: 100%;
}
.chart-card h3, .upload-drop-card h3, .files-panel h3 {
  color: var(--pms-deep);
  margin: 0 0 10px;
}
.usage-ring {
  --usage: 0%;
  aspect-ratio: 1;
  background: conic-gradient(var(--pms-navy) var(--usage), #dbe8f4 var(--usage));
  border-radius: 999px;
  place-items: center;
  width: 168px;
  max-width: 100%;
  margin: 8px auto 2px;
  display: grid;
}
.usage-ring > div {
  text-align: center;
  background: #fff;
  border-radius: 999px;
  place-items: center;
  width: 122px;
  height: 122px;
  display: grid;
}
.usage-ring strong {
  color: var(--pms-navy);
  font-size: 24px;
  display: block;
}
.usage-ring span {
  color: var(--pms-muted);
  font-size: 12px;
}
.type-chart {
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.type-row-head {
  color: var(--pms-muted);
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
  font-size: 13px;
  display: flex;
}
.type-row-head strong {
  color: var(--pms-navy);
}
.type-bar-track {
  background: #e5edf6;
  border-radius: 999px;
  height: 10px;
  overflow: hidden;
}
.type-bar-fill {
  border-radius: inherit;
  background: linear-gradient(90deg, var(--pms-sea), var(--pms-navy));
  height: 100%;
}
.upload-drop-card p {
  color: var(--pms-muted);
  margin-top: 4px;
}
.dropzone.dropzone-active {
  border-color: var(--pms-sea);
  background: #0e5f9512;
}
.dropzone strong {
  color: var(--pms-navy);
  margin-bottom: 4px;
  display: block;
}
.dropzone span {
  color: var(--pms-muted);
  font-size: 12px;
}
.files-panel {
  min-width: 0;
  max-width: 100%;
}
.files-panel__head {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  display: flex;
}
.search-inline {
  gap: 8px;
  display: flex;
}
.search-inline input {
  min-width: 220px;
}
.files-panel .list li {
  justify-content: space-between;
  align-items: center;
  display: flex;
}
.files-panel .list li small {
  color: var(--pms-sea);
  font-weight: 700;
}
.upload-progress-modal {
  z-index: 80;
  background: #07112070;
  place-items: center;
  padding: 20px;
  display: grid;
  position: fixed;
  inset: 0;
}
.upload-progress-modal__card {
  background: #fff;
  border: 1px solid #0e5f952e;
  border-radius: 14px;
  width: min(640px, 100%);
  max-height: min(76vh, 760px);
  padding: 16px;
  overflow: auto;
  box-shadow: 0 18px 36px #06162c3d;
}
.upload-progress-modal__head {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}
.upload-progress-modal__head h3 {
  color: var(--pms-deep);
  margin: 0;
}
.upload-progress-modal__current {
  color: var(--pms-muted);
  margin: 10px 0 8px;
}
.upload-progress-modal__current strong {
  color: var(--pms-navy);
}
.upload-progress-modal__bar-track {
  background: #e5edf6;
  border-radius: 999px;
  height: 10px;
  overflow: hidden;
}
.upload-progress-modal__bar-fill {
  border-radius: inherit;
  background: linear-gradient(90deg, var(--pms-sea), var(--pms-navy));
  height: 100%;
  transition: width .18s;
}
.upload-progress-modal__stats {
  color: var(--pms-muted);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: 10px;
  font-size: 13px;
  font-weight: 600;
  display: grid;
}
.upload-progress-modal__stats .is-success {
  color: #1a7f43;
}
.upload-progress-modal__stats .is-failed {
  color: #c43b31;
}
.upload-progress-modal__failures {
  max-height: 260px;
  margin-top: 12px;
  overflow: auto;
}
.upload-progress-modal__failures li {
  grid-template-columns: 1fr;
  gap: 2px;
  display: grid;
}
.upload-progress-modal__failures li small {
  color: #c43b31;
  font-weight: 600;
}
.drive-footer {
  border-top: 1px solid var(--pms-line);
  color: var(--pms-muted);
  background: linear-gradient(#ffffffe6, #f0f8ffeb);
  grid-template-columns: 1.3fr 1fr;
  gap: 16px;
  margin-top: auto;
  padding: 14px 24px;
  font-size: 13px;
  display: grid;
}
.drive-footer strong {
  color: var(--pms-navy);
}
.drive-footer p {
  margin: 2px 0;
}
.drive-footer > div:last-child {
  text-align: right;
  justify-self: end;
}
.drive-footer__mail-link {
  color: var(--pms-sea);
  font-weight: 700;
  text-decoration: none;
}
.drive-footer__mail-link:hover, .drive-footer__mail-link:focus-visible {
  text-decoration: underline;
}
.drive-footer__ext {
  color: var(--pms-muted);
  margin-left: 8px;
  font-size: 12px;
  font-weight: 700;
}
@media (max-width: 1100px) {
  .dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-content-grid {
    grid-template-columns: 1fr;
  }

  .usage-ring {
    width: 140px;
  }

  .usage-ring > div {
    width: 104px;
    height: 104px;
  }

  .upload-progress-modal__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 860px) {
  .drive-navbar {
    grid-template-columns: auto 1fr auto;
    gap: 8px;
    padding: 12px;
  }

  .drive-navbar__hamburger {
    gap: 4px;
    width: 40px;
    height: 40px;
    padding: 9px;
    display: flex;
  }

  .drive-navbar__hamburger span {
    height: 2px;
  }

  .drive-navbar__hamburger.is-open span:first-child {
    transform: translateY(7px)rotate(45deg);
  }

  .drive-navbar__hamburger.is-open span:nth-child(3) {
    transform: translateY(-7px)rotate(-45deg);
  }

  .drive-navbar__brand {
    justify-self: center;
    gap: 8px;
  }

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

  .drive-navbar__brand-text small, .drive-navbar__brand-text span {
    display: none;
  }

  .drive-navbar__brand-text strong {
    font-size: 16px;
  }

  .drive-navbar__mark {
    width: 42px;
    height: 42px;
  }

  .brand-logo--nav {
    width: 28px;
    height: 28px;
  }

  .drive-navbar__menu {
    z-index: 54;
    border-right: 1px solid var(--pms-line);
    background: linear-gradient(#fff, #f4f9fe);
    flex-direction: column;
    gap: 4px;
    width: min(320px, 80vw);
    height: 100dvh;
    margin-left: 0;
    padding: 76px 20px 20px;
    transition: left .25s;
    display: flex;
    position: fixed;
    top: 0;
    left: -100%;
    overflow-y: auto;
    box-shadow: 8px 0 28px #031b3324;
  }

  .drive-navbar__menu.is-open {
    left: 0;
  }

  .drive-navbar__menu-footer {
    display: flex;
  }

  .drive-navbar__menu a {
    white-space: nowrap;
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 15px;
  }

  .drive-navbar__actions {
    gap: 6px;
  }

  .drive-navbar__actions .install-chip {
    display: none;
  }

  .notice-btn {
    width: 40px;
    height: 40px;
  }

  .notice-btn svg {
    width: 18px;
    height: 18px;
  }

  .notice-dot {
    min-width: 17px;
    height: 17px;
    font-size: 10px;
  }

  .user-pill {
    min-width: 0;
    box-shadow: none;
    background: none;
    border: none;
    flex: none;
    gap: 0;
    padding: 0;
  }

  .user-pill__name {
    display: none;
  }

  .user-pill__logout {
    width: 40px;
    height: 40px;
    color: var(--pms-navy);
    background: #07294914;
    border: 1px solid #07294933;
    border-radius: 12px;
    place-items: center;
    padding: 0;
    display: grid;
  }

  .user-pill__logout-label {
    display: none;
  }

  .user-pill__logout-icon {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
  }

  .notice-panel {
    z-index: 65;
    width: min(320px, 100vw - 24px);
    position: fixed;
    top: 64px;
    left: auto;
    right: 12px;
    box-shadow: 0 24px 56px #031b334d;
  }

  .dashboard-head {
    grid-template-columns: 1fr;
  }

  .dashboard-actions {
    flex-wrap: wrap;
    width: 100%;
  }

  .files-panel__head {
    flex-direction: column;
    align-items: flex-start;
  }

  .search-inline {
    width: 100%;
  }

  .search-inline input {
    width: 100%;
    min-width: 0;
  }

  .drive-footer {
    grid-template-columns: 1fr;
  }

  .drive-footer > div:last-child {
    text-align: left;
    justify-self: start;
  }
}
@media (max-width: 640px) {
  .content-wide {
    width: min(100% - 24px, 1200px);
  }

  .dashboard-grid {
    grid-template-columns: 1fr 1fr;
  }

  .stat-card {
    padding: 16px;
  }

  .stat-card strong {
    margin-top: 8px;
    font-size: 22px;
  }

  .stat-card span {
    font-size: 12px;
  }

  .dashboard-content-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .usage-ring {
    width: 140px;
  }

  .usage-ring > div {
    width: 104px;
    height: 104px;
  }

  .usage-ring strong {
    font-size: 18px;
  }

  .drive-navbar__mark {
    width: 42px;
    height: 42px;
  }

  .drive-navbar__brand-text strong {
    font-size: 16px;
  }

  .drive-navbar__brand-text span {
    display: none;
  }

  .pwa-prompt-card {
    border-radius: 22px;
    padding: 20px;
  }

  .pwa-prompt-art {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .pwa-prompt-icon {
    width: 68px;
    height: 68px;
  }

  .pwa-actions {
    flex-direction: column;
  }
}
.admin-grid {
  gap: 14px;
  display: grid;
}
.admin-module-header {
  gap: 6px;
  display: grid;
}
.admin-module-header h1 {
  color: var(--pms-navy);
}
.admin-module-header .dashboard-kicker {
  color: var(--pms-teal);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0;
  font-size: 11px;
  font-weight: 800;
}
.admin-module-header p {
  color: var(--pms-muted);
}
.admin-module-header h1, .admin-module-header p {
  margin: 0;
}
.admin-kpi-grid {
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 12px;
  display: grid;
}
.admin-kpi-card {
  background: linear-gradient(135deg, #fff, #ffffffe6);
  border: 1px solid #0729491a;
  border-radius: 14px;
  align-content: start;
  gap: 6px;
  min-height: 140px;
  padding: 20px 18px;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 6px 14px #0828460f;
}
.admin-kpi-card:before {
  content: "";
  background: linear-gradient(90deg, var(--pms-teal), var(--pms-gold));
  opacity: .6;
  height: 4px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.admin-kpi-card h3 {
  color: var(--pms-muted);
  letter-spacing: .04em;
  text-transform: uppercase;
  margin: 0;
  font-size: 12px;
  font-weight: 800;
}
.admin-kpi-card strong {
  color: var(--pms-navy);
  font-size: 32px;
  line-height: 1;
}
.admin-kpi-card span {
  color: #54708b;
  font-size: 12px;
}
.admin-two-col {
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  display: grid;
}
.admin-form-card h3, .admin-list-card h3 {
  margin: 0 0 10px;
}
.role-grid {
  grid-template-columns: 1fr;
}
.role-card {
  gap: 10px;
  display: grid;
}
.role-card__head {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}
.role-card__head h3 {
  text-transform: capitalize;
  margin: 0;
}
.role-card__head small {
  color: var(--pms-sea);
  font-weight: 700;
}
.role-card__head-tools {
  align-items: center;
  gap: 12px;
  display: inline-flex;
}
.role-bulk-toggle {
  color: #3f5f7b;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
}
.role-bulk-toggle input {
  margin: 0;
}
.rbac-form-panel {
  padding-top: 10px;
  padding-bottom: 10px;
}
.rbac-form-tabs {
  background: linear-gradient(#f7fbff 0%, #eff6fc 100%);
  border: 1px solid #d8e6f2;
  border-radius: 12px;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  display: grid;
  overflow: hidden;
}
.rbac-form-tab {
  color: #6f7f92;
  cursor: pointer;
  background: none;
  border-top: 0;
  border-bottom: 3px solid #0000;
  border-left: 0;
  border-right: 1px solid #d8e6f2;
  padding: 14px 10px 11px;
  font-weight: 700;
}
.rbac-form-tab:last-child {
  border-right: 0;
}
.rbac-form-tab:hover {
  color: #2d597e;
  background: #1b66a10f;
}
.rbac-form-tab.is-active {
  color: #3f9fdc;
  background: #fff;
  border-bottom-color: #3f9fdc;
}
.rbac-form-note {
  color: #4f6479;
  margin: 10px 0 0;
  font-size: 13px;
}
.admin-status {
  text-transform: uppercase;
  letter-spacing: .04em;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 700;
}
.admin-status.is-active {
  color: #166534;
  background: #dcfce7;
  border: 1px solid #86efac;
}
.admin-status.is-inactive {
  color: #9f1239;
  background: #ffe4e6;
  border: 1px solid #fda4af;
}
.admin-user-list li, .admin-storage-list li, .admin-session-list li, .admin-audit-list li, .admin-activity-list li {
  border: 1px solid #0000;
  border-radius: 12px;
  margin-bottom: 8px;
  padding: 12px;
  transition: all .15s;
}
.admin-user-list li:nth-child(odd), .admin-storage-list li:nth-child(odd) {
  background: #5894ac0a;
}
.admin-user-list li:hover, .admin-storage-list li:hover, .admin-session-list li:hover, .admin-audit-list li:hover, .admin-activity-list li:hover {
  background: #0b396a0a;
  border-color: #0729491a;
  box-shadow: 0 4px 10px #0828460f;
}
.admin-user-list li > div:first-child, .admin-storage-list li > div:first-child, .admin-session-list li > div:first-child {
  gap: 4px;
  display: grid;
}
.admin-user-list li > div:first-child > span {
  color: var(--pms-deep);
  font-size: 14px;
  font-weight: 700;
}
.admin-user-list li > div:first-child > small {
  color: var(--pms-muted);
  font-size: 12px;
  line-height: 1.5;
}
.admin-toolbar {
  margin-bottom: 10px;
}
.audit-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
  display: grid;
}
.audit-summary-card {
  background: #ffffffdb;
  border: 1px solid #8eb9db8c;
  border-radius: 8px;
  gap: 5px;
  padding: 14px 16px;
  display: grid;
  box-shadow: 0 14px 36px #0d304e14;
}
.audit-summary-card span {
  color: var(--pms-muted);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 800;
}
.audit-summary-card strong {
  color: var(--pms-ink);
  font-size: 28px;
  line-height: 1;
}
.audit-summary-card small {
  color: #54708b;
}
.audit-workspace {
  gap: 14px;
  display: grid;
}
.audit-account-strip {
  gap: 8px;
  padding-bottom: 4px;
  display: flex;
  overflow-x: auto;
}
.audit-account-chip {
  min-width: 150px;
  color: var(--pms-ink);
  text-align: left;
  cursor: pointer;
  background: #f8fbff;
  border: 1px solid #c8deef;
  border-radius: 8px;
  gap: 2px;
  padding: 10px 12px;
  display: grid;
}
.audit-account-chip strong {
  font-size: 13px;
}
.audit-account-chip span {
  color: var(--pms-muted);
  font-size: 11px;
}
.audit-account-chip:hover, .audit-account-chip.is-active {
  background: #edf6ff;
  border-color: #79aeda;
}
.audit-account-chip.is-all {
  background: #fffaf0;
  border-color: #eccb8c;
}
.audit-toolbar {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  align-items: end;
  gap: 10px;
  display: grid;
}
.audit-toolbar label {
  color: var(--pms-ink);
  gap: 5px;
  font-size: 12px;
  font-weight: 800;
  display: grid;
}
.audit-toolbar input {
  min-width: 0;
}
.audit-toolbar__actions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}
.audit-layout {
  grid-template-columns: minmax(0, 1.55fr) minmax(330px, .75fr);
  align-items: start;
  gap: 14px;
  display: grid;
}
.audit-table-wrap {
  border: 1px solid var(--pms-line);
  border-radius: 8px;
  overflow: auto;
}
.audit-table {
  border-collapse: collapse;
  background: #fff;
  width: 100%;
  min-width: 860px;
}
.audit-table th {
  z-index: 1;
  border-bottom: 1px solid var(--pms-line);
  color: #34556f;
  letter-spacing: .04em;
  text-align: left;
  text-transform: uppercase;
  background: #f4f9fd;
  padding: 11px 12px;
  font-size: 12px;
  position: sticky;
  top: 0;
}
.audit-table td {
  color: var(--pms-ink);
  vertical-align: top;
  border-bottom: 1px solid #e1edf6;
  padding: 12px;
}
.audit-table tr {
  cursor: pointer;
}
.audit-table tbody tr:hover, .audit-table tbody tr.is-selected {
  background: #edf6ff;
}
.audit-table td strong, .audit-table td small {
  display: block;
}
.audit-table td small {
  color: #5c7388;
  margin-top: 3px;
  font-size: 11px;
}
.audit-detail {
  background: #f9fcff;
  border: 1px solid #8eb9db8c;
  border-radius: 8px;
  gap: 14px;
  padding: 16px;
  display: grid;
}
.audit-detail__head h2 {
  color: var(--pms-ink);
  margin: 2px 0 0;
  font-size: 20px;
}
.audit-detail__head small {
  color: var(--pms-muted);
  font-weight: 800;
}
.audit-detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 0;
  display: grid;
}
.audit-detail-grid div {
  border-bottom: 1px solid #dfeaf3;
  min-width: 0;
  padding-bottom: 8px;
}
.audit-detail-grid dt {
  color: #60768d;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 800;
}
.audit-detail-grid dd {
  color: var(--pms-ink);
  overflow-wrap: anywhere;
  margin: 3px 0 0;
  font-size: 13px;
}
.audit-detail-section {
  gap: 6px;
  display: grid;
}
.audit-detail-section h3 {
  color: var(--pms-ink);
  margin: 0;
  font-size: 14px;
}
.audit-detail-section p, .audit-detail-section pre {
  color: #314c63;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: #fff;
  border: 1px solid #dfeaf3;
  border-radius: 8px;
  margin: 0;
  padding: 10px;
  font-size: 12px;
}
.audit-empty {
  color: var(--pms-muted);
  text-align: center;
  border: 1px dashed #b7cde0;
  border-radius: 8px;
  padding: 24px;
}
.admin-hero-card {
  grid-template-columns: 1fr;
  align-items: center;
  gap: 14px;
  display: grid;
}
.admin-full {
  width: 100%;
}
.admin-hero h1 {
  margin: 0;
}
.admin-hero p {
  color: var(--pms-muted);
  margin: 6px 0 0;
}
.permission-grid {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 8px;
  display: grid;
}
.permission-item {
  border: 1px solid var(--pms-line);
  border-radius: 10px;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  display: flex;
}
.permission-item span {
  color: var(--pms-ink);
  word-break: break-word;
  font-size: 12px;
}
.admin-note {
  color: var(--pms-muted);
  font-size: 13px;
}
.security-ad-note {
  color: #14532d;
  background: linear-gradient(135deg, #e2f6eacc, #ddf1e4b3);
  border: 1px solid #00723633;
  border-radius: 10px;
  gap: 4px;
  padding: 12px 14px;
  display: grid;
  box-shadow: 0 2px 8px #0072360f;
}
.security-ad-note strong {
  color: #0d4d27;
}
.security-ad-note span {
  color: #256745;
}
.admin-shell {
  gap: 12px;
  display: grid;
}
.admin-shell .panel {
  background: linear-gradient(#fffffff5, #f8fcfff0);
  border: 1px solid #0729491f;
  border-radius: 18px;
  box-shadow: 0 14px 28px #08284614;
}
.admin-shell .panel.admin-hero-card {
  border-left: 4px solid var(--pms-gold);
  background: linear-gradient(135deg, #0b396a08 0%, #fffffff5 40%, #f2ae2e0a 100%);
}
.admin-shell__head h1 {
  color: var(--pms-deep);
  margin: 0;
  font-size: clamp(24px, 3vw, 34px);
}
.admin-shell__head p {
  color: var(--pms-muted);
  margin: 6px 0 0;
}
.admin-tabs {
  z-index: 20;
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
  position: sticky;
  top: 74px;
}
.admin-tabs a {
  color: #134b78;
  background: linear-gradient(#e6f3ff 0%, #cfe6fa 100%);
  border: 1px solid #89b3d6;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 9px 14px;
  font-weight: 700;
  text-decoration: none;
  transition: transform .15s, box-shadow .15s, filter .15s;
  display: inline-flex;
  box-shadow: inset 0 1px #fffc;
}
.admin-tabs a:hover {
  filter: saturate(1.06);
  transform: translateY(-1px);
  box-shadow: 0 8px 16px #0e5f9529;
}
.admin-tabs a.admin-tab--policy {
  color: #7a4a1f;
  background: linear-gradient(#fff4e8 0%, #fde8d0 100%);
  border-color: #c79b7a;
}
.admin-tabs a.admin-tab--policy:hover {
  box-shadow: 0 8px 16px #b86e2429;
}
.admin-tabs a.admin-tab--audit {
  color: #1f5f36;
  background: linear-gradient(#eaf8ef 0%, #d5efd9 100%);
  border-color: #8eb99e;
  box-shadow: inset 0 1px #ffffffb3;
}
.admin-tabs a.admin-tab--audit:hover {
  filter: saturate(1.06);
  box-shadow: 0 8px 16px #00723629;
}
.admin-tabs a.admin-tab--role {
  color: #7a4a1f;
  background: linear-gradient(#fff4e8 0%, #f8e0c6 100%);
  border-color: #c7a988;
}
.admin-tabs a.router-link-active {
  background: linear-gradient(135deg, var(--pms-navy), #14527f);
  color: var(--pms-white);
  border-color: var(--pms-navy);
  box-shadow: 0 8px 16px #07294942;
}
.admin-tabs a.router-link-active.admin-tab--audit {
  background: linear-gradient(135deg, #1a6f3c, #238b4e);
  border-color: #1a6f3c;
  box-shadow: 0 8px 16px #1a6f3c42;
}
.admin-tabs a.router-link-active.admin-tab--role {
  background: linear-gradient(135deg, #b8861e, #d49f2a);
  border-color: #b8861e;
  box-shadow: 0 8px 16px #b8861e42;
}
.admin-grid .panel h1, .admin-grid .panel h3 {
  color: var(--pms-deep);
  margin-top: 0;
}
.admin-grid .panel p {
  color: var(--pms-muted);
}
.admin-grid .stack {
  gap: 12px;
}
.admin-grid label {
  color: #36526d;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  display: grid;
}
.admin-grid input[type="text"], .admin-grid input[type="email"], .admin-grid input[type="url"], .admin-grid input[type="password"], .admin-grid input[type="number"], .admin-grid select {
  background: #fff;
  border: 1px solid #c9dbeb;
}
.admin-grid input[type="text"]:focus, .admin-grid input[type="email"]:focus, .admin-grid input[type="url"]:focus, .admin-grid input[type="password"]:focus, .admin-grid input[type="number"]:focus, .admin-grid select:focus {
  border-color: #3f89bf;
  outline: none;
  box-shadow: 0 0 0 3px #1e6faa24;
}
.admin-grid .list {
  gap: 10px;
}
.admin-grid .list li {
  background: #ffffffe0;
  border: 1px solid #d7e5f2;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}
.admin-grid .list li span {
  color: var(--pms-ink);
  font-family: inherit;
  font-size: 13px;
}
.admin-grid .list li small {
  color: var(--pms-muted);
  font-family: inherit;
}
.admin-grid .btn-ghost {
  border: 1px solid #0729492e;
  border-radius: 9px;
}
.permission-item {
  background: #fff;
}
@media (max-width: 860px) {
  .admin-tabs {
    scrollbar-width: thin;
    border-radius: 14px;
    flex-wrap: nowrap;
    grid-auto-columns: max-content;
    grid-auto-flow: column;
    padding-bottom: 4px;
    display: grid;
    position: static;
    overflow-x: auto;
  }

  .admin-tabs a {
    white-space: nowrap;
    padding: 8px 12px;
  }

  .rbac-form-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-grid .list li {
    flex-direction: column;
    align-items: flex-start;
  }

  .admin-two-col, .admin-hero-card {
    grid-template-columns: 1fr;
  }

  .admin-hero-card__chips {
    justify-content: flex-start;
  }

  .audit-layout {
    grid-template-columns: 1fr;
  }

  .audit-table {
    min-width: 720px;
  }

  .audit-toolbar, .chat-audit-toolbar {
    grid-template-columns: 1fr;
  }

  .audit-toolbar__actions {
    width: 100%;
  }

  .audit-toolbar__actions button {
    flex: 9rem;
  }

  .audit-detail-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .admin-shell {
    gap: 10px;
  }

  .admin-shell .panel {
    border-radius: 12px;
    padding: 16px;
  }

  .admin-shell__head h1 {
    font-size: 22px;
  }

  .admin-shell__head p, .admin-grid .panel p {
    font-size: 13px;
  }

  .admin-tabs {
    scrollbar-width: thin;
    flex-wrap: nowrap;
    grid-auto-columns: max-content;
    grid-auto-flow: column;
    gap: 8px;
    width: 100%;
    padding: 0 0 4px;
    display: grid;
    position: static;
    overflow-x: auto;
  }

  .admin-tabs a {
    white-space: nowrap;
    padding: 8px 12px;
  }

  .admin-kpi-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .admin-kpi-card {
    min-height: 110px;
    padding: 16px 14px;
  }

  .admin-kpi-card strong {
    font-size: 26px;
  }

  .admin-grid .list li {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 12px 10px;
  }

  .admin-two-col {
    grid-template-columns: 1fr;
  }

  .admin-form-card, .admin-list-card {
    min-width: 0;
    overflow: hidden;
  }

  .admin-form-card label, .admin-list-card label {
    font-size: 12px;
  }

  .admin-form-card input, .admin-form-card select {
    padding: 8px 10px;
    font-size: 14px;
  }

  .admin-module-header h1 {
    font-size: 20px;
  }

  .content-wide {
    width: min(100% - 24px, 1200px);
  }

  .audit-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .audit-summary-card {
    padding: 12px;
  }

  .audit-table-wrap {
    border-radius: 8px;
    margin-inline: -4px;
  }

  .audit-table {
    min-width: 620px;
  }

  .audit-table th, .audit-table td {
    padding: 9px;
  }

  .audit-detail {
    padding: 12px;
  }
}
select {
  font: inherit;
  border: 1px solid var(--pms-line);
  background: #fff;
  border-radius: 10px;
  padding: 10px 12px;
}
.desktop-drive {
  background: radial-gradient(circle at 12% 8%, #0b396a24, #0000 35%), radial-gradient(circle at 90% 85%, #f2ae2e47, #0000 32%), radial-gradient(at 70% 45%, #5894ac38, #0000 45%), radial-gradient(at 35% 80%, #00723624, #0000 40%), linear-gradient(#f8fcff 0%, #f2f8fe 100%);
  min-height: 70vh;
}
.desktop-drive__header h1 {
  color: var(--pms-navy);
  margin: 0;
}
.desktop-drive__header p {
  color: var(--pms-muted);
  margin: 6px 0 0;
}
.drive-explorer {
  align-content: start;
  gap: 8px;
  display: grid;
}
.drive-explorer__head {
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 8px;
  display: grid;
}
.drive-explorer__meta p {
  margin-top: 2px;
}
.drive-explorer__controls {
  align-items: start;
  gap: 4px;
  display: grid;
}
.drive-explorer__primary-row {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}
.explorer-actions {
  flex-wrap: wrap;
  flex: 1;
  align-items: center;
  row-gap: 6px;
}
.explorer-move-tools {
  flex-shrink: 0;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
}
.explorer-move-tools select {
  text-overflow: ellipsis;
  min-width: 190px;
  max-width: 280px;
  min-height: 36px;
  padding: 6px 10px;
}
.explorer-new-folder-btn {
  min-height: 36px;
  padding: 6px 10px;
}
.explorer-drop-panel {
  text-align: center;
  border-radius: 12px;
  align-content: center;
  justify-items: center;
  width: 100%;
  min-height: 62px;
  padding: 8px 10px;
  display: grid;
}
.explorer-drop-panel strong {
  font-size: 13px;
}
.explorer-drop-panel span {
  font-size: 11px;
}
.admin-action-btn {
  color: #134b78;
  cursor: pointer;
  background: linear-gradient(#e6f3ff 0%, #cfe6fa 100%);
  border: 1px solid #89b3d6;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  transition: transform .15s, box-shadow .15s, filter .15s;
  display: inline-flex;
  box-shadow: inset 0 1px #fffc;
}
.admin-action-btn:hover {
  filter: saturate(1.06);
  transform: translateY(-1px);
  box-shadow: 0 8px 16px #0e5f9529;
}
.admin-action-btn:disabled {
  opacity: .45;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}
.admin-action-btn.is-danger {
  color: #9f1239;
  background: linear-gradient(#ffe4e6 0%, #fecdd3 100%);
  border-color: #fda4af;
}
.admin-action-btn.is-danger:hover {
  box-shadow: 0 8px 16px #9f123929;
}
.admin-action-btn.is-success {
  color: #166534;
  background: linear-gradient(#dcfce7 0%, #bbf7d0 100%);
  border-color: #86efac;
}
.admin-action-btn.is-success:hover {
  box-shadow: 0 8px 16px #16653429;
}
.desktop-area {
  grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
  align-content: start;
  align-items: start;
  gap: 10px;
  margin-top: 2px;
  display: grid;
}
.desktop-item {
  text-align: center;
  background: #ffffffa8;
  border: 1px solid #07294929;
  border-radius: 14px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 96px;
  padding: 12px;
  transition: transform .15s, box-shadow .15s;
  display: flex;
  position: relative;
}
.desktop-check {
  position: absolute;
  top: 8px;
  left: 8px;
}
.desktop-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 22px #08305229;
}
.desktop-item.is-selected {
  border-color: #3f89bf;
  box-shadow: 0 0 0 2px #3f89bf2e, 0 12px 22px #0830521f;
}
.desktop-icon {
  margin-bottom: 8px;
  font-size: 34px;
  line-height: 1;
}
.desktop-icon-preview {
  color: #3d617c;
  background: linear-gradient(#f8fbff 0%, #edf4fb 100%);
  border: 1px solid #08446f2e;
  border-radius: 12px;
  align-content: center;
  justify-items: center;
  gap: 2px;
  width: 54px;
  height: 54px;
  display: grid;
}
.desktop-icon-preview.has-thumbnail {
  gap: 0;
  padding: 0;
  overflow: hidden;
}
.desktop-icon-preview__image, .desktop-icon-preview__doc {
  object-fit: cover;
  background: #f4f8fd;
  border: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.desktop-icon-preview__doc {
  pointer-events: none;
}
.desktop-icon-preview__svg {
  width: 18px;
  height: 18px;
}
.desktop-icon-preview small {
  letter-spacing: .06em;
  color: #375a76;
  font-size: 9px;
  font-weight: 800;
}
.desktop-icon-preview.is-pdf {
  background: linear-gradient(#ffe9e8 0%, #ffd7d3 100%);
  border-color: #aa323242;
}
.desktop-icon-preview.is-word {
  background: linear-gradient(#e9f0ff 0%, #d8e5ff 100%);
  border-color: #2557b342;
}
.desktop-icon-preview.is-excel {
  background: linear-gradient(#e9f8ee 0%, #d6f0df 100%);
  border-color: #247a4842;
}
.desktop-icon-preview.is-image {
  background: linear-gradient(#fff4e1 0%, #ffe7be 100%);
  border-color: #a8741c4d;
}
.desktop-icon-preview.is-archive {
  background: linear-gradient(#f2eaff 0%, #e4d7ff 100%);
  border-color: #6138a74d;
}
.desktop-icon-preview.is-video {
  background: linear-gradient(#e8f8ff 0%, #d4efff 100%);
  border-color: #2b769e47;
}
.desktop-icon-preview.is-audio {
  background: linear-gradient(#fef1ff 0%, #f6dcff 100%);
  border-color: #7e429947;
}
.desktop-icon-preview.is-text {
  background: linear-gradient(#f4f7ff 0%, #e8eefc 100%);
  border-color: #50638e47;
}
.desktop-item strong {
  color: var(--pms-deep);
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  font-size: 13px;
  overflow: hidden;
}
.desktop-item span {
  color: var(--pms-muted);
  margin-top: 3px;
  font-size: 12px;
}
.trash-restore-btn {
  margin-top: 10px;
}
.desktop-item-folder {
  background: linear-gradient(#f2ae2e2e, #ffffffeb);
}
.desktop-item-file {
  background: linear-gradient(#5894ac2e, #ffffffeb);
}
.share-modal-backdrop {
  z-index: 160;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background: #03122294;
  place-items: center;
  padding: 18px;
  display: grid;
  position: fixed;
  inset: 0;
}
.share-modal {
  gap: 16px;
  width: min(780px, 100vw - 24px);
  max-height: calc(100vh - 32px);
  display: grid;
  overflow: auto;
}
.share-modal__header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}
.share-modal__header h2 {
  color: var(--pms-deep);
  margin: 0;
}
.share-modal__header p {
  color: var(--pms-muted);
  margin: 6px 0 0;
}
.share-mode-tabs {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}
.share-mode-tab {
  color: var(--pms-navy);
  background: #0729490f;
  border: 1px solid #07294924;
  font-weight: 700;
}
.share-mode-tab.is-active {
  background: linear-gradient(135deg, var(--pms-navy), #14527f);
  color: #fff;
}
.share-form {
  gap: 14px;
  display: grid;
}
.share-block {
  gap: 12px;
  display: grid;
}
.share-block label, .share-grid label {
  color: #35536f;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  display: grid;
}
.share-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}
.share-target-list {
  gap: 8px;
  max-height: 240px;
  display: grid;
  overflow: auto;
}
.share-target-card {
  text-align: left;
  color: var(--pms-ink);
  background: linear-gradient(#f9fcff 0%, #eef6fc 100%);
  border: 1px solid #cfe0ee;
  border-radius: 14px;
  gap: 2px;
  padding: 12px;
  display: grid;
}
.share-target-card strong {
  color: var(--pms-deep);
}
.share-target-card span, .share-target-card small {
  color: var(--pms-muted);
}
.share-target-card small {
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: 11px;
}
.share-target-card.is-selected {
  border-color: #3f89bf;
  box-shadow: 0 0 0 3px #3f89bf1f;
}
.share-selection-note {
  color: var(--pms-sea);
  margin: 0;
  font-size: 13px;
}
.share-result-panel h3 {
  margin: 0 0 10px;
}
.public-share-shell {
  place-items: center;
  min-height: calc(100vh - 120px);
  padding: 26px;
  display: grid;
}
.public-share-card {
  gap: 16px;
  width: min(980px, 100%);
  display: grid;
}
.public-share-card h1 {
  color: var(--pms-deep);
  margin: 0;
}
.public-share-meta {
  color: var(--pms-muted);
  margin: -6px 0 0;
}
.public-share-path {
  color: var(--pms-navy);
  background: #0729490d;
  border-radius: 12px;
  padding: 10px 12px;
}
.public-share-grid {
  margin-top: 12px;
}
.public-share-download {
  margin-top: 8px;
}
.chat-widget {
  z-index: 70;
  font-family: inherit;
  position: fixed;
  bottom: 5.5rem;
  left: 1.25rem;
}
.chat-launcher {
  color: #fff;
  cursor: pointer;
  background: #0f766e;
  border: 0;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 3.5rem;
  height: 3.5rem;
  display: inline-flex;
  position: relative;
  box-shadow: 0 18px 40px #0f172a3d;
}
.chat-launcher svg {
  width: 1.75rem;
  height: 1.75rem;
}
.chat-launcher__badge {
  color: #fff;
  background: #dc2626;
  border: 2px solid #fff;
  border-radius: 999px;
  min-width: 1.35rem;
  height: 1.35rem;
  padding: 0 .35rem;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.1rem;
  position: absolute;
  top: -.25rem;
  right: -.15rem;
}
.chat-notifications {
  pointer-events: none;
  gap: .55rem;
  width: min(20rem, 100vw - 2.5rem);
  display: grid;
  position: absolute;
  bottom: 5.4rem;
  left: 0;
}
.chat-widget--open .chat-notifications {
  display: none;
}
.chat-notification {
  text-align: left;
  cursor: pointer;
  pointer-events: auto;
  background: #fff;
  border: 1px solid #0f172a1f;
  border-left: 4px solid #0f766e;
  border-radius: 8px;
  gap: .2rem;
  width: 100%;
  padding: .75rem .85rem;
  display: grid;
  box-shadow: 0 18px 45px #0f172a38;
}
.chat-notification strong {
  color: #0f172a;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .9rem;
  overflow: hidden;
}
.chat-notification span {
  color: #475569;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: .8rem;
  display: -webkit-box;
  overflow: hidden;
}
.chat-panel {
  background: #fff;
  border: 1px solid #0f172a1f;
  border-radius: 8px;
  flex-direction: column;
  width: min(46rem, 100vw - 2.5rem);
  height: min(38rem, 100vh - 8rem);
  display: flex;
  position: absolute;
  bottom: 5.4rem;
  left: 0;
  overflow: hidden;
  box-shadow: 0 24px 70px #0f172a42;
}
.chat-panel__header {
  color: #fff;
  background: #123c69;
  justify-content: space-between;
  align-items: center;
  padding: .9rem 1rem;
  display: flex;
}
.chat-panel__header div {
  gap: .1rem;
  display: grid;
}
.chat-panel__header span {
  color: #ffffffc7;
  font-size: .78rem;
}
.chat-panel__header button {
  color: #fff;
  cursor: pointer;
  background: #ffffff24;
  border: 0;
  border-radius: 999px;
  width: 2rem;
  height: 2rem;
}
.chat-panel__body {
  flex: 1;
  grid-template-columns: minmax(16rem, 18rem) 1fr;
  min-height: 0;
  display: grid;
}
.chat-conversations {
  background: #f8fafc;
  border-right: 1px solid #0f172a1a;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  display: flex;
  overflow-y: auto;
}
.chat-search {
  z-index: 1;
  background: #f8fafc;
  padding: .75rem;
  position: sticky;
  top: 0;
}
.chat-search input, .chat-compose-targets input {
  background: #fff;
  border: 1px solid #0f172a29;
  border-radius: 8px;
  width: 100%;
  min-height: 2.35rem;
  padding: 0 .75rem;
  font-size: .88rem;
}
.chat-search-results, .chat-compose-targets {
  background: #fff;
  border: 1px solid #0f172a1a;
  border-radius: 8px;
  margin: 0 .75rem .75rem;
}
.chat-user-row, .chat-conversation-row {
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  border-bottom: 1px solid #0f172a14;
  grid-template-columns: 2.3rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .65rem;
  width: 100%;
  min-height: 3.7rem;
  padding: .6rem .75rem;
  display: grid;
}
.chat-user-row {
  grid-template-columns: 2.3rem minmax(0, 1fr);
}
.chat-user-row:hover, .chat-conversation-row:hover, .chat-conversation-row--active {
  background: #e0f2fe;
}
.chat-avatar {
  color: #fff;
  background: #475569;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 2.25rem;
  height: 2.25rem;
  font-size: .78rem;
  font-weight: 800;
  display: inline-flex;
}
.chat-avatar--selected {
  background: #0f766e;
}
.chat-user-row strong, .chat-conversation-row strong {
  color: #0f172a;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .88rem;
  display: block;
  overflow: hidden;
}
.chat-user-row small, .chat-conversation-row small {
  color: #64748b;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .75rem;
  display: block;
  overflow: hidden;
}
.chat-conversation-row b {
  color: #fff;
  text-align: center;
  background: #0f766e;
  border-radius: 999px;
  min-width: 1.35rem;
  height: 1.35rem;
  font-size: .72rem;
  line-height: 1.35rem;
}
.chat-compose-targets {
  gap: .6rem;
  padding: .7rem;
  display: grid;
}
.chat-chips {
  flex-wrap: wrap;
  gap: .4rem;
  display: flex;
}
.chat-chips span {
  color: #0f172a;
  background: #dbeafe;
  border-radius: 999px;
  align-items: center;
  gap: .25rem;
  min-height: 1.7rem;
  padding: .15rem .35rem .15rem .55rem;
  font-size: .75rem;
  display: inline-flex;
}
.chat-chips button {
  cursor: pointer;
  background: #0f172a1f;
  border: 0;
  border-radius: 999px;
  width: 1.2rem;
  height: 1.2rem;
}
.chat-start-btn, .chat-message-form button {
  color: #fff;
  cursor: pointer;
  background: #0f766e;
  border: 0;
  border-radius: 8px;
  min-height: 2.25rem;
  padding: 0 .9rem;
  font-weight: 700;
}
.chat-thread {
  background: #f1f5f9;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  display: flex;
}
.chat-thread__title {
  background: #fff;
  border-bottom: 1px solid #0f172a1a;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  min-height: 3.6rem;
  padding: .8rem 1rem;
  display: flex;
}
.chat-thread__heading {
  align-items: center;
  gap: .5rem;
  min-width: 0;
  display: inline-flex;
}
.chat-back-btn {
  color: #fff;
  cursor: pointer;
  background: #ffffff24;
  border: 0;
  border-radius: 999px;
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  font-size: 1rem;
  line-height: 1;
  display: none;
}
.chat-thread__title strong {
  color: #0f172a;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.chat-info-btn {
  color: #fff;
  cursor: pointer;
  background: #0f766e;
  border: 0;
  border-radius: 999px;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 1.55rem;
  height: 1.55rem;
  font-size: .85rem;
  font-weight: 900;
  display: inline-flex;
}
.chat-thread__title span, .chat-thread__empty span {
  color: #64748b;
  font-size: .78rem;
}
.chat-info-panel {
  background: #fff;
  border-bottom: 1px solid #0f172a1a;
  gap: .75rem;
  max-height: 15rem;
  padding: .75rem 1rem;
  display: grid;
  overflow-y: auto;
}
.chat-info-card {
  background: #f8fafc;
  border: 1px solid #0f172a1a;
  border-radius: 8px;
  gap: .55rem;
  padding: .75rem;
  display: grid;
}
.chat-info-card > strong {
  color: #0f172a;
  font-size: .9rem;
}
.chat-info-card dl {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem .85rem;
  margin: 0;
  display: grid;
}
.chat-info-card div {
  min-width: 0;
}
.chat-info-card dt {
  color: #64748b;
  text-transform: uppercase;
  font-size: .68rem;
  font-weight: 800;
}
.chat-info-card dd {
  overflow-wrap: anywhere;
  color: #0f172a;
  margin: .12rem 0 0;
  font-size: .82rem;
}
.chat-messages {
  flex-direction: column;
  flex: 1;
  gap: .65rem;
  min-height: 0;
  padding: 1rem;
  display: flex;
  overflow-y: auto;
}
.chat-message {
  color: #0f172a;
  background: #fff;
  border-radius: 8px;
  align-self: flex-start;
  max-width: min(76%, 28rem);
  padding: .55rem .7rem;
  box-shadow: 0 5px 16px #0f172a14;
}
.chat-message--mine {
  color: #042f2e;
  background: #ccfbf1;
  align-self: flex-end;
}
.chat-message small, .chat-message time {
  color: #64748b;
  font-size: .68rem;
  display: block;
}
.chat-message p {
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  margin: .2rem 0;
}
.chat-message-form {
  background: #fff;
  border-top: 1px solid #0f172a1a;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .65rem;
  padding: .8rem;
  display: grid;
}
.chat-message-form textarea {
  resize: vertical;
  width: 100%;
  min-height: 2.65rem;
  max-height: 7rem;
  font: inherit;
  border: 1px solid #0f172a29;
  border-radius: 8px;
  padding: .55rem .7rem;
}
.chat-message-form button:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.chat-empty, .chat-thread__empty {
  color: #64748b;
  font-size: .85rem;
}
.chat-empty {
  margin: 0;
  padding: .8rem;
}
.chat-thread__empty {
  text-align: center;
  place-content: center;
  gap: .35rem;
  height: 100%;
  padding: 2rem;
  display: grid;
}
.chat-thread__empty strong {
  color: #0f172a;
  font-size: 1rem;
}
.chat-audit-layout {
  align-items: start;
}
.chat-audit-table td {
  vertical-align: top;
}
.chat-audit-message-preview {
  color: #334155;
  overflow-wrap: anywhere;
  -webkit-line-clamp: 3;
  white-space: pre-wrap;
  -webkit-box-orient: vertical;
  max-width: 28rem;
  margin: 0;
  font-size: .84rem;
  line-height: 1.35;
  display: -webkit-box;
  overflow: hidden;
}
.chat-audit-detail pre {
  white-space: pre-wrap;
  max-height: 14rem;
  overflow: auto;
}
.chat-audit-participants {
  gap: .55rem;
  display: grid;
}
.chat-audit-participants article {
  background: #f8fafc;
  border: 1px solid #0f172a1a;
  border-radius: 8px;
  gap: .18rem;
  padding: .65rem;
  display: grid;
}
.chat-audit-participants strong {
  color: #0f172a;
}
.chat-audit-participants span {
  color: #64748b;
  overflow-wrap: anywhere;
  font-size: .78rem;
}
@media (max-width: 980px) {
  .drive-explorer__head {
    grid-template-columns: 1fr;
  }

  .drive-explorer__primary-row {
    flex-direction: column;
    align-items: stretch;
  }

  .explorer-actions {
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 6px;
    display: grid;
  }

  .admin-action-btn {
    width: 100%;
    min-height: 40px;
    padding: 10px;
    font-size: 12px;
  }

  .explorer-drop-panel {
    min-height: 62px;
  }

  .explorer-move-tools {
    grid-template-columns: 1fr auto;
    justify-content: flex-start;
    gap: 6px;
    width: 100%;
    display: grid;
  }

  .explorer-move-tools select {
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  .desktop-drive {
    max-width: 100%;
    overflow-x: hidden;
  }

  .desktop-area {
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 8px;
    max-width: 100%;
  }

  .desktop-item {
    max-width: 100%;
    min-height: 80px;
    padding: 10px 8px;
  }

  .desktop-item strong {
    word-break: break-all;
    white-space: normal;
    font-size: 12px;
  }

  .desktop-icon {
    margin-bottom: 6px;
    font-size: 28px;
  }

  .desktop-icon-preview {
    width: 46px;
    height: 46px;
  }

  .share-grid {
    grid-template-columns: 1fr;
  }

  .chat-panel {
    width: calc(100vw - 1.5rem);
    height: min(40rem, 100vh - 6.5rem);
  }

  .chat-panel__body {
    grid-template-columns: 1fr;
  }

  .chat-conversations {
    border-bottom: 1px solid #0f172a1a;
    border-right: 0;
    max-height: 16rem;
  }

  .chat-info-card dl {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 700px) {
  .share-modal__header {
    flex-direction: column;
  }

  .share-mode-tabs {
    grid-template-columns: 1fr;
  }

  .chat-widget {
    right: max(.75rem, env(safe-area-inset-right));
    left: auto;
    bottom: max(5rem, env(safe-area-inset-bottom));
  }

  .chat-widget.chat-widget--open {
    left: max(.75rem, env(safe-area-inset-left));
    right: max(.75rem, env(safe-area-inset-right));
    bottom: max(5rem, env(safe-area-inset-bottom));
  }

  .chat-launcher {
    width: 3.25rem;
    height: 3.25rem;
    box-shadow: 0 8px 24px #0f172a4d;
  }

  .chat-launcher svg {
    width: 1.5rem;
    height: 1.5rem;
  }

  .chat-launcher__badge {
    top: -.35rem;
    right: -.25rem;
  }

  .chat-panel {
    border-radius: 14px;
    width: 100%;
    height: min(42rem, 100dvh - 6.5rem);
    position: fixed;
    inset: 0 0 5.1rem;
  }

  .chat-panel__header {
    min-height: 3.25rem;
    padding: .6rem .75rem;
  }

  .chat-panel__header strong {
    font-size: 1rem;
  }

  .chat-panel__header button {
    width: 2.25rem;
    height: 2.25rem;
    font-size: 1.1rem;
    font-weight: 700;
  }

  .chat-panel__body {
    flex-direction: column;
    height: calc(100% - 3.25rem);
    display: flex;
  }

  .chat-conversations {
    border-bottom: 0;
    border-right: 0;
    flex: 1;
    min-height: 0;
    max-height: none;
    overflow-y: auto;
  }

  .chat-search {
    z-index: 2;
    background: #f8fafc;
    border-bottom: 1px solid #0f172a14;
    padding: .65rem;
    position: sticky;
    top: 0;
  }

  .chat-search input {
    border-radius: 10px;
    min-height: 2.6rem;
    padding: 0 .85rem;
    font-size: .95rem;
  }

  .chat-search-results, .chat-compose-targets {
    margin: 0 .65rem .65rem;
  }

  .chat-user-row, .chat-conversation-row {
    min-height: 3.5rem;
    padding: .55rem .75rem;
  }

  .chat-user-row strong, .chat-conversation-row strong {
    font-size: .92rem;
  }

  .chat-compose-targets {
    gap: .65rem;
    padding: .75rem;
  }

  .chat-start-btn, .chat-message-form button {
    min-height: 2.6rem;
    font-size: .92rem;
  }

  .chat-thread {
    background: #fff;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    display: flex;
  }

  .chat-panel__body:has(.chat-thread__title) .chat-conversations {
    display: none;
  }

  .chat-panel__body:has(.chat-thread__title) {
    grid-template-rows: 1fr;
  }

  .chat-back-btn {
    justify-content: center;
    align-items: center;
    display: inline-flex;
  }

  .chat-thread__title {
    min-height: 3.25rem;
    padding: .65rem .75rem;
  }

  .chat-thread__title strong {
    font-size: .95rem;
  }

  .chat-thread__title > span {
    display: none;
  }

  .chat-info-btn {
    width: 1.75rem;
    height: 1.75rem;
    font-size: .85rem;
  }

  .chat-info-panel {
    max-height: 40vh;
    padding: .65rem .75rem;
  }

  .chat-messages {
    flex: 1;
    min-height: 0;
    padding: .75rem;
    overflow-y: auto;
  }

  .chat-message {
    max-width: 90%;
    padding: .55rem .7rem;
  }

  .chat-message p {
    font-size: .9rem;
  }

  .chat-message-form {
    background: #fff;
    border-top: 1px solid #0f172a1a;
    grid-template-columns: minmax(0, 1fr) 5rem;
    gap: .5rem;
    padding: .65rem .75rem;
    display: grid;
  }

  .chat-message-form textarea {
    border-radius: 10px;
    min-height: 2.5rem;
    max-height: 5rem;
    font-size: .92rem;
  }

  .chat-message-form button {
    border-radius: 10px;
    width: 100%;
    min-height: 2.5rem;
  }

  .chat-notifications {
    width: 100%;
    bottom: 4.8rem;
    left: 0;
  }
}
@media (max-width: 420px) {
  .drive-navbar {
    gap: 4px;
    padding: 8px 10px;
  }

  .drive-navbar__brand-text strong {
    font-size: 13px;
  }

  .drive-navbar__mark {
    width: 36px;
    height: 36px;
  }

  .brand-logo--nav {
    width: 24px;
    height: 24px;
  }

  .drive-navbar__actions {
    gap: 4px;
  }

  .notice-btn {
    width: 36px;
    height: 36px;
  }

  .notice-btn svg {
    width: 16px;
    height: 16px;
  }

  .notice-panel {
    width: min(300px, 100vw - 16px);
    top: 60px;
    right: 8px;
  }

  .audit-summary-grid {
    grid-template-columns: 1fr;
  }

  .admin-kpi-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .admin-kpi-card {
    min-height: 100px;
    padding: 14px 12px;
  }

  .admin-kpi-card strong {
    font-size: 24px;
  }

  .chat-panel {
    height: calc(100dvh - 5.25rem);
  }

  .chat-panel__body {
    grid-template-rows: auto minmax(0, 1fr);
  }

  .chat-conversations {
    max-height: 11rem;
  }

  .chat-message-form {
    grid-template-columns: 1fr;
  }
}
.preview-backdrop {
  z-index: 1000;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  background: #031b3373;
  justify-content: flex-end;
  display: flex;
  position: fixed;
  inset: 0;
}
.preview-panel {
  background: #fff;
  flex-direction: column;
  width: 60vw;
  max-width: 720px;
  height: 100dvh;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: -8px 0 30px #031b332e;
}
.preview-panel__header {
  background: #fff;
  border-bottom: 1px solid #0f172a14;
  flex-shrink: 0;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  display: flex;
}
.preview-panel__kicker {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--pms-sea);
  margin-bottom: 2px;
  font-size: .7rem;
  font-weight: 600;
}
.preview-panel__title {
  color: var(--pms-navy);
  word-break: break-word;
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
}
.preview-panel__meta {
  color: #64748b;
  margin-top: 2px;
  font-size: .78rem;
}
.preview-panel__actions {
  flex-shrink: 0;
  align-items: center;
  gap: .5rem;
  display: flex;
}
.preview-panel__btn {
  color: var(--pms-navy);
  cursor: pointer;
  white-space: nowrap;
  background: #fff;
  border: 1px solid #0f172a26;
  border-radius: 8px;
  padding: .4rem .9rem;
  font-size: .82rem;
  font-weight: 500;
  transition: background .15s, border-color .15s;
}
.preview-panel__btn:hover:not(:disabled) {
  background: var(--pms-surface);
  border-color: var(--pms-sea);
}
.preview-panel__btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}
.preview-panel__close {
  color: #64748b;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1;
  transition: background .15s, color .15s;
  display: flex;
}
.preview-panel__close:hover {
  color: var(--pms-navy);
  background: #0f172a0f;
}
.preview-panel__body {
  background: var(--pms-surface);
  flex: 1;
  justify-content: center;
  align-items: center;
  display: flex;
  overflow: auto;
}
.preview-panel__state {
  color: #64748b;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  font-size: .9rem;
  display: flex;
}
.preview-panel__spinner {
  border: 3px solid #0e5f9526;
  border-top-color: var(--pms-sea);
  border-radius: 50%;
  width: 32px;
  height: 32px;
  animation: .7s linear infinite preview-spin;
}
@keyframes preview-spin {
  to {
    transform: rotate(360deg);
  }
}
.preview-panel__error {
  color: #dc2626;
  text-align: center;
  padding: 2rem;
  font-size: .9rem;
}
.preview-panel__image {
  object-fit: contain;
  border-radius: 0;
  max-width: 100%;
  max-height: 100%;
}
.preview-panel__video {
  background: #000;
  border-radius: 0;
  max-width: 100%;
  max-height: 100%;
}
.preview-panel__audio {
  width: 80%;
  max-width: 480px;
}
.preview-panel__frame {
  border: none;
  width: 100%;
  height: 100%;
}
.preview-panel__doc {
  background: #fff;
  width: 100%;
  height: 100%;
  padding: 2rem;
  overflow: auto;
}
.preview-panel__doc--word {
  color: #1e293b;
  max-width: 800px;
  margin: 0 auto;
  font-size: .95rem;
  line-height: 1.7;
}
.preview-panel__doc--word h1, .preview-panel__doc--word h2, .preview-panel__doc--word h3, .preview-panel__doc--word h4 {
  color: var(--pms-navy);
  margin-top: 1.2em;
  margin-bottom: .5em;
}
.preview-panel__doc--word table {
  border-collapse: collapse;
  width: 100%;
  margin: 1em 0;
}
.preview-panel__doc--word th, .preview-panel__doc--word td {
  text-align: left;
  border: 1px solid #cbd5e1;
  padding: .5em .75em;
}
.preview-panel__doc--word th {
  background: var(--pms-surface);
  font-weight: 600;
}
.preview-panel__doc--excel {
  flex-direction: column;
  height: 100%;
  display: flex;
}
.preview-panel__sheet-tabs {
  background: #fff;
  border-bottom: 2px solid #0f172a14;
  flex-shrink: 0;
  gap: 0;
  padding: 0 1rem;
  display: flex;
  overflow-x: auto;
}
.preview-panel__sheet-tab {
  color: #64748b;
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: none;
  border-bottom: 2px solid #0000;
  padding: .5rem 1rem;
  font-size: .82rem;
  font-weight: 500;
  transition: color .15s, border-color .15s;
}
.preview-panel__sheet-tab:hover {
  color: var(--pms-navy);
}
.preview-panel__sheet-tab.is-active {
  color: var(--pms-sea);
  border-bottom-color: var(--pms-sea);
}
.preview-panel__sheet {
  background: #fff;
  flex: 1;
  padding: 1rem;
  overflow: auto;
}
.preview-panel__sheet table {
  border-collapse: collapse;
  width: 100%;
  font-size: .85rem;
}
.preview-panel__sheet th, .preview-panel__sheet td {
  text-align: left;
  white-space: nowrap;
  border: 1px solid #e2e8f0;
  padding: .4em .6em;
}
.preview-panel__sheet th {
  background: var(--pms-surface);
  font-weight: 600;
  position: sticky;
  top: 0;
}
.preview-panel__text {
  color: #1e293b;
  white-space: pre-wrap;
  word-break: break-word;
  background: #fff;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 1.5rem 2rem;
  font-family: IBM Plex Mono, monospace;
  font-size: .85rem;
  line-height: 1.6;
  overflow: auto;
}
.preview-panel__unsupported {
  text-align: center;
  color: #64748b;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
  padding: 3rem 2rem;
  display: flex;
}
.preview-panel__unsupported svg {
  color: #cbd5e1;
}
.preview-panel__unsupported strong {
  color: var(--pms-navy);
  font-size: 1rem;
}
.preview-panel__unsupported p {
  max-width: 320px;
  font-size: .85rem;
}
.preview-slide-enter-active, .preview-slide-leave-active {
  transition: opacity .25s;
}
.preview-slide-enter-active .preview-panel, .preview-slide-leave-active .preview-panel {
  transition: transform .3s cubic-bezier(.22, 1, .36, 1);
}
.preview-slide-enter-from, .preview-slide-leave-to {
  opacity: 0;
}
.preview-slide-enter-from .preview-panel, .preview-slide-leave-to .preview-panel {
  transform: translateX(100%);
}
@media (max-width: 768px) {
  .preview-panel {
    width: 100vw;
    max-width: none;
  }
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@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-x-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: 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-blur {
  syntax: "*";
  inherits: false
}
@property --tw-brightness {
  syntax: "*";
  inherits: false
}
@property --tw-contrast {
  syntax: "*";
  inherits: false
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}
@property --tw-invert {
  syntax: "*";
  inherits: false
}
@property --tw-opacity {
  syntax: "*";
  inherits: false
}
@property --tw-saturate {
  syntax: "*";
  inherits: false
}
@property --tw-sepia {
  syntax: "*";
  inherits: false
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}
@property --tw-duration {
  syntax: "*";
  inherits: false
}
@property --tw-ease {
  syntax: "*";
  inherits: false
}
@property --tw-content {
  syntax: "*";
  inherits: false;
  initial-value: "";
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes ping {
  75%, 100% {
    opacity: 0;
    transform: scale(2);
  }
}
@keyframes pulse {
  50% {
    opacity: .5;
  }
}
@keyframes bounce {
  0%, 100% {
    animation-timing-function: cubic-bezier(.8, 0, 1, 1);
    transform: translateY(-25%);
  }

  50% {
    animation-timing-function: cubic-bezier(0, 0, .2, 1);
    transform: none;
  }
}
