@layer theme,base,components,utilities;@layer theme{@theme default{ --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", 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-mauve-50: oklch(98.5% 0 0); --color-mauve-100: oklch(96% .003 325.6); --color-mauve-200: oklch(92.2% .005 325.62); --color-mauve-300: oklch(86.5% .012 325.68); --color-mauve-400: oklch(71.1% .019 323.02); --color-mauve-500: oklch(54.2% .034 322.5); --color-mauve-600: oklch(43.5% .029 321.78); --color-mauve-700: oklch(36.4% .029 323.89); --color-mauve-800: oklch(26.3% .024 320.12); --color-mauve-900: oklch(21.2% .019 322.12); --color-mauve-950: oklch(14.5% .008 326); --color-olive-50: oklch(98.8% .003 106.5); --color-olive-100: oklch(96.6% .005 106.5); --color-olive-200: oklch(93% .007 106.5); --color-olive-300: oklch(88% .011 106.6); --color-olive-400: oklch(73.7% .021 106.9); --color-olive-500: oklch(58% .031 107.3); --color-olive-600: oklch(46.6% .025 107.3); --color-olive-700: oklch(39.4% .023 107.4); --color-olive-800: oklch(28.6% .016 107.4); --color-olive-900: oklch(22.8% .013 107.4); --color-olive-950: oklch(15.3% .006 107.1); --color-mist-50: oklch(98.7% .002 197.1); --color-mist-100: oklch(96.3% .002 197.1); --color-mist-200: oklch(92.5% .005 214.3); --color-mist-300: oklch(87.2% .007 219.6); --color-mist-400: oklch(72.3% .014 214.4); --color-mist-500: oklch(56% .021 213.5); --color-mist-600: oklch(45% .017 213.2); --color-mist-700: oklch(37.8% .015 216); --color-mist-800: oklch(27.5% .011 216.9); --color-mist-900: oklch(21.8% .008 223.9); --color-mist-950: oklch(14.8% .004 228.8); --color-taupe-50: oklch(98.6% .002 67.8); --color-taupe-100: oklch(96% .002 17.2); --color-taupe-200: oklch(92.2% .005 34.3); --color-taupe-300: oklch(86.8% .007 39.5); --color-taupe-400: oklch(71.4% .014 41.2); --color-taupe-500: oklch(54.7% .021 43.1); --color-taupe-600: oklch(43.8% .017 39.3); --color-taupe-700: oklch(36.7% .016 35.7); --color-taupe-800: oklch(26.8% .011 36.5); --color-taupe-900: oklch(21.4% .009 43.1); --color-taupe-950: oklch(14.7% .004 49.3); --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: 1.5 ; --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: 1.2 ; --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 rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --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; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --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: --theme(--font-sans, initial); --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial ); --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial ); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial ); --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial ); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:--theme(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}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{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}: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: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,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{@tailwind utilities;}:root{--blue:#1769e8;--blue-dark:#0d49a7;--ink:#162033;--muted:#758096;--line:#e8edf5;--bg:#f4f7fb}*{box-sizing:border-box}html{scrollbar-gutter:stable}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.app-shell{min-height:100vh;display:flex}.site-filing{z-index:18;text-align:center;font-size:11px;color:#7d8797}.site-filing a{color:inherit;text-decoration:none}.site-filing a:hover{color:var(--blue);text-decoration:underline}.login-filing{position:absolute;left:0;right:0;bottom:16px}.app-filing{position:fixed;left:232px;right:0;bottom:8px;pointer-events:none}.app-filing a{pointer-events:auto}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:linear-gradient(180deg,#0d54be,#0c429c);color:#fff;padding:25px 16px;z-index:20;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 29px}.brand-mark,.mobile-brand{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:#fff;color:var(--blue);font-weight:900;font-size:20px;box-shadow:0 6px 18px #062b6a44}.brand div{display:flex;flex-direction:column;gap:2px}.brand strong{font-size:17px;letter-spacing:.5px}.brand small{font-size:11px;color:#c5dbff}.sidebar nav{display:grid;gap:6px}.nav-item{border:0;padding:12px 14px;border-radius:9px;background:transparent;color:#cfddf4;display:flex;align-items:center;gap:12px;text-align:left;font-size:14px}.nav-item span{width:18px;text-align:center;font-weight:700}.nav-item:hover,.nav-item.active{background:#ffffff18;color:#fff}.nav-item.active{box-shadow:inset 3px 0 #fff}.sidebar-note{margin-top:auto;border:1px solid #ffffff21;background:#ffffff10;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:5px}.sidebar-note span,.sidebar-note small{font-size:11px;color:#c9dcfb}.sidebar-note strong{font-size:14px}.content{margin-left:232px;width:calc(100% - 232px);padding:0 30px 38px}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between}.topbar h1{font-size:23px;margin:0 0 5px}.topbar p{font-size:12px;color:var(--muted);margin:0}.mobile-brand{display:none;border:0}.user-area{display:flex;align-items:center;gap:10px}.profile-trigger{display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:4px;border-radius:10px;text-align:left;cursor:pointer}.profile-trigger:hover{background:#edf4ff}.avatar{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#dceaff;color:var(--blue);font-weight:700}.user-copy{display:flex;flex-direction:column;gap:2px}.user-copy strong{font-size:13px}.user-copy small{font-size:11px;color:var(--muted)}.demo-role{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);margin-right:12px}.demo-role select{border:1px solid var(--line);border-radius:7px;background:#fff;padding:7px;color:var(--ink)}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.metric{background:#fff;border:1px solid #e9eef5;border-radius:14px;min-height:125px;padding:20px;display:flex;justify-content:space-between;align-items:flex-start;box-shadow:0 4px 16px #20365b0a}.metric.featured{background:linear-gradient(135deg,#1b73eb,#155cc7);color:#fff;border:0;box-shadow:0 10px 25px #1769e837}.metric div{display:flex;flex-direction:column;gap:7px}.metric span{font-size:12px;color:var(--muted)}.metric.featured span,.metric.featured small{color:#d8e8ff}.metric strong{font-size:26px;letter-spacing:-1px}.metric strong em{font-size:13px;font-style:normal;font-weight:500}.metric small{font-size:11px;color:var(--muted)}.metric b{font-size:26px}.metric .pale{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#e7f6f1;color:#28a777}.metric .gold{background:#fff4de;color:#e59a17}.metric .purple{background:#eeeaff;color:#7665e9}.metric .good{color:#20a573}.metric .warn{color:#e68c16}.panel{background:#fff;border:1px solid #e7edf5;border-radius:15px;box-shadow:0 6px 24px #263a5c0b;overflow:hidden}.panel-head{padding:20px 22px 15px;display:flex;justify-content:space-between;align-items:center}.panel h2{margin:0 0 5px;font-size:17px}.panel p{margin:0;color:var(--muted);font-size:11px}.primary{border:0;border-radius:8px;background:var(--blue);color:#fff;padding:10px 15px;font-size:12px;font-weight:600;box-shadow:0 5px 12px #1769e82c}.primary:hover{background:var(--blue-dark)}.toolbar{padding:0 22px 15px;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line)}.filters{display:flex;gap:4px;background:#f4f6fa;padding:3px;border-radius:8px}.filters button{border:0;background:transparent;color:var(--muted);padding:7px 11px;border-radius:6px;font-size:11px}.filters button.selected{background:#fff;color:var(--blue);box-shadow:0 2px 8px #223a6020;font-weight:600}.search{border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;gap:7px;padding:0 10px;color:#8a94a6}.search input{width:185px;border:0;outline:0;padding:8px 0;font-size:11px;color:var(--ink)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:940px}th{text-align:left;background:#fbfcfe;padding:10px 14px;color:#8a93a4;font-size:10px;font-weight:500}td{border-top:1px solid #edf1f6;padding:14px;font-size:11px;vertical-align:middle}tbody tr:hover{background:#fafcff}.project-name{display:flex;align-items:center;gap:9px}.project-name strong{display:block;font-size:12px;margin-bottom:4px;white-space:nowrap}.project-name small,.money-sub{display:block;color:#8a94a6;font-size:9px;white-space:nowrap}.dot{width:7px;height:7px;border-radius:50%;background:#2fa87d;box-shadow:0 0 0 4px #e0f4ed}.dot.orange{background:#ed9b24;box-shadow:0 0 0 4px #fff0d9}.dot.gray{background:#8c97a8;box-shadow:0 0 0 4px #eef0f3}.stage{display:flex;justify-content:space-between;min-width:135px;margin-bottom:7px}.stage span{color:#657084}.stage b{font-size:10px;color:var(--blue)}.progress{height:5px;background:#edf1f7;border-radius:9px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,#4a96fa,#1769e8);border-radius:9px}td a{display:block;color:var(--blue);font-size:9px;text-decoration:none;margin-top:4px}.owner{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e8f1ff;color:var(--blue);font-size:10px;margin-right:6px}.more{border:0;background:transparent;color:#8992a2;letter-spacing:2px}.empty{text-align:center;padding:45px;color:var(--muted)}.mobile-nav{display:none}.modal-backdrop{position:fixed;inset:0;background:#0c1a3073;z-index:50;display:grid;place-items:center;padding:18px}.modal{width:min(580px,100%);background:#fff;border-radius:17px;padding:22px;box-shadow:0 28px 80px #06122455}.modal-head{display:flex;justify-content:space-between;margin-bottom:20px}.modal-head h2{margin:0 0 5px;font-size:20px}.modal-head p{margin:0;color:var(--muted);font-size:11px}.modal-head button{border:0;background:#f1f4f8;width:32px;height:32px;border-radius:50%;font-size:20px;color:#6c7687}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600}.modal input,.modal select,.modal textarea{border:1px solid #dfe5ee;border-radius:8px;padding:10px;outline:0;font-size:12px;background:#fff}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1769e812}.modal textarea{min-height:75px;resize:vertical;margin-top:14px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.modal-actions button{border:1px solid var(--line);background:#fff;padding:9px 17px;border-radius:8px;font-size:12px}.modal-actions .primary{background:var(--blue);border-color:var(--blue)}.toast{position:fixed;right:24px;bottom:24px;background:#17325c;color:#fff;border-radius:10px;padding:12px 17px;box-shadow:0 10px 30px #10213f3f;font-size:12px;z-index:70}@media(max-width:1050px){.summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.sidebar{display:none}.content{margin:0;width:100%;padding:0 14px 84px}.topbar{height:78px;justify-content:flex-start;gap:11px}.topbar>div:first-of-type{flex:1}.topbar h1{font-size:18px}.topbar p{font-size:10px}.mobile-brand{display:grid;flex:none}.user-area{margin-left:auto}.demo-role,.user-copy{display:none}.avatar{width:34px;height:34px}.summary-grid{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:15px;min-height:110px}.metric strong{font-size:21px}.metric b{display:none}.panel-head{padding:16px}.panel-head p{display:none}.toolbar{padding:0 16px 13px;display:block}.filters{overflow:auto;margin-bottom:10px}.filters button{white-space:nowrap;flex:1}.search{height:38px}.search input{width:100%}.table-wrap{overflow:visible}table{min-width:0}thead{display:none}tbody{display:grid;padding:0 14px 12px;gap:10px}tr{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px;gap:13px}td{border:0;padding:0}td:first-child{grid-column:1/-1}td:nth-child(2){grid-column:1/-1}td:nth-child(6),td:nth-child(7){display:none}.money-sub{white-space:normal;line-height:1.6}.mobile-nav{position:fixed;display:flex;justify-content:space-around;inset:auto 0 0;background:#fff;border-top:1px solid var(--line);padding:9px 8px calc(8px + env(safe-area-inset-bottom));z-index:30;box-shadow:0 -5px 20px #1328490d}.mobile-nav button{border:0;background:transparent;color:#8c96a8;display:flex;flex-direction:column;gap:3px;align-items:center;font-size:17px}.mobile-nav span{font-size:9px}.mobile-nav .active{color:var(--blue)}.form-grid{grid-template-columns:1fr}.modal{max-height:90vh;overflow:auto}.toast{left:18px;right:18px;bottom:82px;text-align:center}}.screen-center{min-height:100vh;display:grid;place-content:center;text-align:center;color:var(--muted);gap:12px;padding:24px}.screen-center small{max-width:420px;font-size:11px;line-height:1.7;color:#9a6a1b}.loader{width:34px;height:34px;border:3px solid #dbe8fa;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}.login-page{position:relative;min-height:100vh;display:grid;place-items:center;padding:20px 20px 58px;background:radial-gradient(circle at 20% 20%,#dcecff 0,transparent 35%),linear-gradient(135deg,#f8fbff,#edf4ff)}.login-card{width:min(420px,100%);background:#fff;border:1px solid #e3ebf6;border-radius:22px;padding:34px;box-shadow:0 24px 70px #164b9622}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:35px}.login-brand .brand-mark{background:var(--blue);color:#fff}.login-brand div{display:flex;flex-direction:column}.login-brand strong{font-size:18px}.login-brand small{color:var(--muted);font-size:11px}.login-card h1{margin:0 0 8px;font-size:27px}.login-card>p{margin:0 0 25px;color:var(--muted);font-size:13px}.login-card form,.login-card label{display:flex;flex-direction:column;gap:8px}.login-card form{gap:17px}.login-card label{font-size:12px;font-weight:600}.login-card input{border:1px solid #dfe6f0;border-radius:10px;padding:12px;outline:none}.login-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1769e815}.login-button{width:100%;padding:13px;margin-top:5px}.login-tip{margin-top:20px;padding:12px;background:#f5f8fc;border-radius:9px;color:#7c8799;font-size:11px;line-height:1.7}.form-error{padding:10px 12px;border-radius:8px;background:#fff0f0;color:#d34141;font-size:11px}.logout{border:1px solid var(--line);background:#fff;border-radius:7px;color:var(--muted);font-size:10px;padding:6px 9px;margin-left:6px}.head-actions{display:flex;align-items:center;gap:8px}.head-actions>button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 12px;font-size:11px;color:#4b5668}.head-actions>.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.month-input{border:1px solid var(--line);border-radius:8px;padding:8px;font-size:11px;color:#566174}.due-alert{display:flex;gap:14px;align-items:center;margin:0 0 18px;padding:13px 16px;border:1px solid #ffd9a3;background:#fff8e9;color:#8e5a0a;border-radius:11px;font-size:11px}.due-alert b{white-space:nowrap;color:#dd8210}.project-cards{padding:16px 20px 22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.project-cards>article{border:1px solid var(--line);border-radius:12px;padding:15px;transition:.2s}.project-cards>article:hover{border-color:#bad4f7;box-shadow:0 7px 22px #183e7510}.project-cards .pending-card{background:#fafbfe;border-style:dashed}.project-cards .due-card{border-color:#f5bf71;background:#fffaf2}.project-card-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.project-card-head>div{display:grid;grid-template-columns:auto 1fr;gap:3px 8px;align-items:center}.project-card-head .dot{grid-row:1/3}.project-card-head strong{font-size:13px}.project-card-head small{font-size:9px;color:var(--muted)}.stage-chip{background:#eaf2ff;color:var(--blue);border-radius:14px;padding:5px 9px;font-size:9px}.card-progress>span{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-bottom:7px}.card-progress b{color:var(--blue)}.card-data{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0}.card-data>div{background:#f7f9fc;border-radius:8px;padding:9px;display:flex;flex-direction:column;gap:4px}.card-data small,.people small{font-size:9px;color:var(--muted)}.card-data strong{font-size:11px}.red-text{color:#e24b42}.people{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:11px}.card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.card-actions button,.card-actions a{border:1px solid #dbe4f1;background:#fff;color:#4f5d70;border-radius:6px;padding:6px 8px;font-size:9px;text-decoration:none}.card-actions button:hover,.card-actions a:hover{border-color:var(--blue);color:var(--blue)}.review-list{padding:0 20px 20px;display:grid;gap:10px}.review-list article{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:11px;padding:13px}.review-list article>div:first-child{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 9px}.review-list strong{font-size:12px}.review-list small{grid-column:2;color:var(--muted);font-size:9px}.review-tag{grid-row:1/3;background:#eaf2ff;color:var(--blue);border-radius:7px;padding:7px;font-size:9px}.review-list button{border:1px solid var(--line);background:#fff;padding:7px 11px;border-radius:7px;font-size:10px;margin-left:6px}.review-list .primary{background:var(--blue);color:#fff}.account-grid{padding:0 20px 20px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.account-grid article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;padding:13px}.account-grid article>div:nth-child(2){display:flex;flex-direction:column;gap:3px}.account-grid strong{font-size:12px}.account-grid small{font-size:9px;color:var(--muted)}.account-grid i{font-style:normal;font-size:9px;border-radius:12px;padding:4px 8px}.active-status{background:#e8f7f1;color:#268b67}.disabled-status{background:#f0f1f3;color:#7f8792}.account-actions{grid-column:2/4}.account-actions button{border:0;background:transparent;color:var(--blue);font-size:9px;padding:3px 8px 3px 0}.check-group{display:flex;flex-wrap:wrap;gap:7px;padding:8px;border:1px solid #dfe5ee;border-radius:8px}.check-group label{display:flex;flex-direction:row;align-items:center;font-weight:400;font-size:10px}.check-group input{width:auto}.modal input[type=file]{padding:7px}.register-switch{border:0;background:transparent;color:var(--blue);font-size:12px;padding:5px}.register-success{padding:10px 12px;border-radius:8px;background:#e8f7f1;color:#268b67;font-size:11px}.file-link-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;grid-column:1/-1}.file-link-list .file-preview{margin-top:0}.form-hint{display:block;color:#b45309;line-height:1.6;padding:8px 10px;background:#fff7ed;border-radius:8px}.modal-backdrop{overflow-y:auto;overscroll-behavior:contain}.modal{max-height:calc(100vh - 36px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.modal .modal-head{position:sticky;top:-22px;z-index:8;background:#fff;padding-top:22px}.modal .modal-actions{position:sticky;bottom:-22px;z-index:8;background:#fff;padding:13px 0 22px;margin-bottom:-22px;box-shadow:0 -10px 18px #fffe}.list-controls{display:flex;align-items:center;gap:7px;margin-left:auto}.list-controls select{height:34px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#4b5668;padding:0 28px 0 9px;font-size:10px}.list-controls span{font-size:10px;color:var(--muted);white-space:nowrap}.project-cards{grid-template-columns:1fr;gap:8px}.project-cards>article{display:grid;grid-template-columns:minmax(250px,2fr) 125px minmax(230px,1.4fr) minmax(160px,1fr) auto;align-items:center;gap:12px;padding:10px 12px}.project-cards .project-card-head{grid-column:1;margin:0}.project-cards .card-progress{grid-column:2}.project-cards .card-data{grid-column:3;margin:0;gap:5px}.project-cards .card-data>div{padding:7px}.project-cards .people{grid-column:4;border:0;padding:0;display:grid;gap:5px}.project-cards .card-actions{grid-column:5;margin:0;flex-wrap:nowrap;justify-content:flex-end}.project-cards .card-actions button{white-space:nowrap}.project-cards .empty{grid-column:1/-1}@media(max-width:900px){.project-cards,.account-grid{grid-template-columns:1fr}.head-actions{flex-wrap:wrap;justify-content:flex-end}}@media(max-width:1400px){.toolbar{flex-wrap:wrap;gap:9px}.list-controls{order:3;margin-left:0;width:100%}.project-cards>article{grid-template-columns:minmax(220px,2fr) 110px minmax(210px,1.5fr) auto}.project-cards .people{display:none}.project-cards .card-actions{grid-column:4}}@media(max-width:720px){.list-controls{display:grid;grid-template-columns:1fr 1fr}.list-controls select{width:100%}.list-controls span{grid-column:1/-1}.project-cards>article{display:block;padding:13px}.project-cards .project-card-head{margin-bottom:12px}.project-cards .card-data{margin:12px 0}.project-cards .people{display:grid;border-top:1px solid var(--line);padding-top:10px}.project-cards .card-actions{margin-top:11px;justify-content:flex-start;flex-wrap:wrap}}@media(max-width:720px){.project-cards{grid-template-columns:1fr;padding:12px}.head-actions{gap:5px}.head-actions .month-input{display:none}.panel-head{align-items:flex-start}.people{display:grid}.review-list{padding:0 12px 12px}.review-list article{align-items:flex-start}.user-area .logout{display:block}.due-alert{align-items:flex-start}.summary-grid .metric:nth-child(4){display:flex}}@media(max-width:720px){.app-filing{left:0;bottom:72px;font-size:9px}.login-filing{bottom:12px}}.stage-chip.pending,.status.pending{background:#fff4d6;color:#b36a00}.stage-chip.rejected,.status.rejected{background:#ffe9e9;color:#c63c3c}.stage-chip.approved,.status.approved{background:#eaf2ff;color:var(--blue)}.rejected-card{border-color:#efb1b1;background:snow}.reject-note{margin:10px 0 0;padding:8px 10px;border-radius:8px;background:#fff0f0;color:#b53030;font-size:10px}.primary-soft{background:#eaf2ff!important;color:var(--blue)!important}.danger,.danger-text{color:#c63737!important}.danger{border-color:#efc4c4!important;background:#fff6f6!important}.detail-modal{width:min(820px,100%);max-height:92vh;overflow:auto}.detail-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.detail-summary>div{padding:12px;border-radius:10px;background:#f6f9fd;display:flex;flex-direction:column;gap:4px}.detail-summary small{color:var(--muted);font-size:9px}.detail-summary strong{font-size:14px}.stage-flow{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;margin:16px 0}.stage-flow span{font-size:9px;text-align:center;padding:8px 3px;border-radius:7px;background:#f1f3f6;color:#8b94a3}.stage-flow .done{background:#e6f0ff;color:var(--blue);font-weight:700}.detail-list{display:grid;gap:8px;margin:0}.detail-list>div{display:grid;grid-template-columns:80px 1fr;font-size:11px}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0}.detail-actions{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.detail-actions button,.section-title button,.record-actions button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 10px;font-size:10px}.detail-section{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.section-title{display:flex;justify-content:space-between;align-items:center}.section-title h3{font-size:14px}.record-row{display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:11px 0;border-top:1px solid #edf0f4}.record-row>div:first-child{display:flex;flex-direction:column;gap:3px}.record-row strong{font-size:11px}.record-row small{font-size:9px;color:var(--muted)}.record-row em{font-size:9px;color:#bd3434;font-style:normal}.record-actions{grid-column:1/-1;display:flex;gap:9px;align-items:center}.record-actions a,.file-preview{font-size:10px;color:var(--blue);text-decoration:none}.status{align-self:start;padding:4px 7px;border-radius:12px;font-size:9px}.mini-empty{padding:14px;text-align:center;color:var(--muted);font-size:10px}.review-list.detailed article>div:first-child{flex:1}.review-list.detailed p{grid-column:2;margin:3px 0 0;color:#4d5a6e;font-size:10px}.review-list.detailed>article>button{flex:none}.review-detail{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:16px}.review-detail>div{display:flex;flex-direction:column;gap:4px;padding:10px;background:#f6f9fd;border-radius:8px}.review-detail span{font-size:9px;color:var(--muted)}.review-detail strong{font-size:11px}.file-preview{display:block;padding:11px;background:#eaf2ff;border-radius:8px}.profile-form{grid-template-columns:1fr}@media(max-width:720px){.detail-summary{grid-template-columns:1fr 1fr}.stage-flow{grid-template-columns:repeat(4,1fr)}.review-detail{grid-template-columns:1fr}.detail-modal{padding:16px}.record-row{grid-template-columns:1fr auto}.mobile-nav{overflow-x:auto;justify-content:flex-start}.mobile-nav button{min-width:64px;flex:1}.review-list.detailed article{display:grid;gap:10px}.review-list.detailed>article>button{justify-self:end}}.due-alert span{flex:1}.due-alert button{border:1px solid #efbd70;background:#fff;color:#9b6109;border-radius:7px;padding:7px 10px;font-size:10px;white-space:nowrap}.new-order-alert{border-color:#f39b93;background:#fff3f2;color:#9f2921}.new-order-alert b{color:#d83c31}.reminder-alert{border-color:#f0bd65;background:#fff9e9}.project-cards>article.new-order-card{border-color:#ef8e86;background:#fff7f6}.project-reminder{grid-column:1/-1;display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;background:#fff8e8;color:#7f5310;font-size:10px}.project-reminder b{white-space:nowrap;color:#d47a08}.project-reminder span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-reminder small{margin-left:auto;white-space:nowrap;color:#a3630b}.project-reminder.urgent{background:#fff0ee;color:#a12b22}.claim-button{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important}.sla-overdue-alert{border:2px solid #e5483f;background:#fff0ef;color:#8f1e18;box-shadow:0 8px 24px #d9382d20}.sla-overdue-alert b{color:#d52f27}.sla-expiring-alert{border-color:#f0a94a;background:#fff7e8;color:#8b5708}.sla-expiring-alert b{color:#c97205}.project-cards>article.sla-overdue-card{border:2px solid #e85a50;background:#fff7f6}.project-cards>article.sla-expiring-card{border-color:#efb04f;background:#fffbf1}.sla-card-warning{grid-column:1/-1;display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;font-size:10px;font-weight:700}.sla-card-warning.overdue{background:#ffe5e2;color:#c52d25}.sla-card-warning.expiring{background:#fff1cf;color:#a96400}.inline-worker-box{padding:12px;border:1px dashed #9cb8df;border-radius:10px;background:#f8fbff}.inline-worker-box .form-hint{margin-bottom:11px}.detail-reminder{display:grid;gap:5px;margin:12px 0;padding:12px 14px;border:1px solid #f1c675;border-radius:10px;background:#fff8e8;color:#6e4b13;font-size:11px}.detail-reminder b{color:#ce7506}.detail-reminder small{color:#94600f}.detail-reminder.urgent{border-color:#ec9d96;background:#fff1ef;color:#942c24}.client-safe-flow{grid-template-columns:repeat(4,1fr)}@media(max-width:720px){.project-reminder{display:grid;gap:4px;margin:9px 0}.project-reminder span{white-space:normal}.project-reminder small{margin-left:0}.new-order-alert{display:grid}.client-safe-flow{grid-template-columns:repeat(4,1fr)}.sla-card-warning{display:grid;margin:9px 0;font-size:11px}.sla-overdue-alert,.sla-expiring-alert{display:grid}}.stage-chip.stage-contact{background:#eaf2ff;color:#1769e8}.stage-chip.stage-work{background:#fff1d8;color:#b96a00}.stage-chip.stage-accept{background:#eee9ff;color:#7551d6}.stage-chip.stage-payment{background:#dff6eb;color:#16805b}.card-progress.stage-contact b{color:#1769e8}.card-progress.stage-work b{color:#c37400}.card-progress.stage-accept b{color:#7551d6}.card-progress.stage-payment b{color:#16805b}.card-progress.stage-contact .progress i{background:#2f80ed}.card-progress.stage-work .progress i{background:#f59e0b}.card-progress.stage-accept .progress i{background:#8b5cf6}.card-progress.stage-payment .progress i{background:#24a876}.type-filters{display:flex;gap:7px;padding:0 20px 12px}.type-filters button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 18px;color:#5b6677}.type-filters button.selected{background:var(--blue);border-color:var(--blue);color:#fff}.type-choice{display:flex;align-items:center;gap:16px;padding:11px 13px;margin-bottom:14px;border-radius:10px;background:#f3f7fd}.type-choice>span{font-weight:700}.type-choice label{display:flex;align-items:center;gap:5px}.project-select{position:absolute;left:4px;top:50%;transform:translateY(-50%);z-index:2}.project-cards>article{position:relative}.project-cards>article:has(.project-select){padding-left:34px}.reminder-links{display:flex;flex-wrap:wrap;gap:6px}.reminder-project-link{border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;padding:2px 0;cursor:pointer}.reminder-project-link:hover{font-weight:700}.sidebar{overflow-y:auto}.directory-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.simple-list,.log-list{padding:0 20px 20px;display:grid;gap:8px}.simple-list article{border:1px solid var(--line);border-radius:9px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.simple-list article>div{display:flex;flex-direction:column;gap:4px}.simple-list strong{font-size:11px}.simple-list small{font-size:9px;color:var(--muted)}.simple-list button,.download-button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 9px;font-size:9px;text-decoration:none;color:var(--blue)}.trash-list article>span{display:flex;gap:6px}.log-list article{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:10px 0}.log-list article>div{display:flex;flex-direction:column;gap:4px}.log-list strong{font-size:11px}.log-list small{font-size:9px;color:var(--muted)}.stage-form-title{margin:4px 0 13px;padding:9px 11px;border-left:3px solid var(--blue);background:#f2f7ff;color:var(--blue);font-size:12px;font-weight:700}.wide-field{grid-column:1/-1}.privacy-note{padding:11px;border-radius:9px;background:#f5f8fc;color:var(--muted);font-size:10px;line-height:1.6}.stage-record{border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:9px}.stage-record>div:first-child{display:flex;justify-content:space-between;align-items:center}.stage-record>div:first-child strong{font-size:11px}.stage-record>small{display:block;margin-top:8px;color:var(--muted);font-size:9px}.stage-record .file-preview{margin-top:9px}.stage-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.stage-detail-grid>div{display:flex;flex-direction:column;gap:3px;background:#f7f9fc;border-radius:7px;padding:8px}.stage-detail-grid span{font-size:8px;color:var(--muted)}.stage-detail-grid strong{font-size:10px}.modal .wide-field .check-group{margin-top:0}.client-error-panel{grid-column:1/-1}.client-error-panel .simple-list{grid-template-columns:repeat(2,minmax(0,1fr))}.client-error-panel .simple-list article{align-items:flex-start}.client-error-message{color:#c43b35!important;word-break:break-word}.import-progress{margin-top:10px;padding:10px 12px;border-radius:8px;background:#eef5ff;color:#285c9f;font-size:11px;line-height:1.6}@media(max-width:1050px){.directory-columns{grid-template-columns:1fr}}@media(max-width:900px){.client-error-panel .simple-list{grid-template-columns:1fr}}@media(max-width:720px){.stage-detail-grid{grid-template-columns:1fr}.simple-list,.log-list{padding:0 12px 12px}.trash-list article{align-items:flex-start}.directory-columns{gap:10px}}.user-stage-status{display:grid;gap:7px;margin-top:10px}.user-stage-status>div{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:9px}.user-stage-status strong{font-size:10px}.user-stage-status small{grid-column:1/-1;color:#ba3737;font-size:9px}.field-label{display:block;margin-bottom:7px;font-size:12px;font-weight:600}.upload-picker-wrap{width:100%}.upload-picker-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.upload-picker{position:relative;min-height:82px;border:1px dashed #9cb8df!important;border-radius:10px;padding:12px!important;background:#f6faff;display:flex!important;align-items:center;justify-content:center;text-align:center;cursor:pointer;overflow:hidden}.upload-picker>span{font-size:20px;color:var(--blue)}.upload-picker>strong{font-size:11px}.upload-picker>small{font-size:9px;color:var(--muted)}.upload-picker input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0}.upload-help{margin:8px 0 0!important;color:#7b8798;font-size:9px;line-height:1.6}.worklog-alert{border-color:#f1c678;background:#fff8e8}.historical-record{background:#f5f6f8;border-style:dashed;opacity:.82}.cost-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.cost-summary span{display:flex;flex-direction:column;gap:4px;padding:10px;background:#f6f9fd;border-radius:8px;font-size:9px;color:var(--muted)}.cost-summary b{font-size:11px;color:var(--ink)}@media(max-width:720px){.upload-picker-grid{grid-template-columns:1fr}.upload-picker{min-height:70px}.cost-summary{grid-template-columns:1fr 1fr}.modal-backdrop{padding:8px}.modal{max-height:96vh;overflow:auto}}.stage-flow{grid-template-columns:repeat(4,1fr)}.project-cards>article{grid-template-columns:minmax(250px,2fr) 125px minmax(230px,1.4fr) minmax(160px,1fr) 300px}.project-cards>article.batch-selectable{cursor:pointer}.project-cards>article.batch-selected{border:2px solid var(--blue)!important;background:#eef5ff!important;box-shadow:0 0 0 3px #1769e817}.project-select input{width:18px;height:18px;accent-color:var(--blue)}.card-actions .flow-button{max-width:105px;overflow:hidden;text-overflow:ellipsis}.card-actions{min-width:300px}@media(max-width:1400px){.project-cards>article{grid-template-columns:minmax(220px,2fr) 110px minmax(210px,1.5fr) 300px}.card-actions{min-width:300px}}@media(max-width:720px){.project-cards>article{display:block}.project-cards>article:has(.project-select){padding-left:42px}.card-actions{min-width:0}.project-select{left:13px;top:24px;transform:none}}.formula-note{margin:10px 0 14px;padding:10px 12px;border-radius:10px;background:#f3f7ff;color:#47617f;font-size:13px}.completion-choice .check-group{border-color:#9cc5ff;background:#f2f7ff}.completion-choice .check-group label{font-size:11px;color:#174f9c}.completion-choice .form-hint{margin-top:7px}.field-help{color:var(--muted);font-size:9px;font-weight:400;line-height:1.5}.import-modal{width:min(1080px,calc(100vw - 28px))}.import-tip,.import-summary{margin:12px 0;padding:12px 14px;border-radius:10px;background:#f3f7ff;color:#47617f}.import-preview{max-height:46vh;overflow:auto;border:1px solid #dbe5f3;border-radius:12px}.import-preview table{width:100%;border-collapse:collapse;font-size:13px}.import-preview th{position:sticky;top:0;background:#eaf2ff;color:#24456b;text-align:left}.import-preview th,.import-preview td{padding:9px 10px;border-bottom:1px solid #e7edf5;white-space:nowrap}.import-preview td:nth-child(2),.import-preview td:nth-child(4){white-space:normal;min-width:160px}:root{--blue:#1769e8;--blue-dark:#0d49a7;--ink:#172033;--muted:#69758a;--line:#e1e8f2;--bg:#f3f6fb;--shadow:0 10px 32px rgba(26,55,96,.08)}html{font-size:15px}body{background:linear-gradient(180deg,#f8fbff 0,#f3f6fb 260px);line-height:1.55}button,a,input,select,textarea{transition:border-color .16s,box-shadow .16s,background .16s,transform .16s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(23,105,232,.18);outline-offset:2px}.brand-logo{width:44px;height:44px;object-fit:cover;border-radius:13px;background:#fff;box-shadow:0 8px 24px #02235847}.login-brand .brand-logo{width:54px;height:54px;box-shadow:0 10px 28px #1769e833}.mobile-brand{overflow:hidden;padding:0}.mobile-brand img{width:100%;height:100%;object-fit:cover}.sidebar{width:244px;padding:24px 15px;background:linear-gradient(180deg,#1264d9,#0a3d91);box-shadow:8px 0 32px #1141851f}.content{margin-left:244px;width:calc(100% - 244px);padding:0 34px 44px}.brand{padding:2px 10px 25px}.brand strong{font-size:18px}.brand small{font-size:12px}.nav-item{min-height:44px;border-radius:11px;padding:11px 13px;font-size:14px}.nav-item span{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:#ffffff14}.nav-item.active{background:#ffffff29;box-shadow:inset 3px 0 #fff,0 6px 18px #001b4a21}.topbar{height:88px;position:sticky;top:0;z-index:15;background:#f8fbffe6;backdrop-filter:blur(16px);border-bottom:1px solid rgba(225,232,242,.7);margin-bottom:18px}.topbar h1{font-size:25px;letter-spacing:-.4px}.panel{border-color:var(--line);border-radius:18px;box-shadow:var(--shadow)}.panel-head{padding:22px 24px 17px}.panel h2{font-size:18px}.panel p{font-size:12px;line-height:1.6}.summary-grid{gap:16px}.metric{border-radius:17px;min-height:132px;padding:21px;box-shadow:var(--shadow)}.metric strong{font-size:28px}.metric span{font-size:13px}.primary{min-height:38px;border-radius:10px;padding:9px 16px;font-size:13px}.primary:hover{transform:translateY(-1px);box-shadow:0 8px 20px #1769e840}.head-actions>button,.toolbar button,.detail-actions button,.section-title button,.record-actions button,.simple-list button,.download-button{min-height:34px;border-radius:9px;font-size:12px;padding:7px 11px}.toolbar{padding:0 24px 17px;align-items:center}.filters{padding:4px;border-radius:10px}.filters button{font-size:12px;min-height:34px}.search{min-height:38px;background:#fff}.search input{font-size:12px;width:220px}.project-cards{padding:17px 22px 24px;gap:10px}.project-cards>article{border-radius:14px;padding:13px 14px;grid-template-columns:minmax(240px,2fr) 130px minmax(220px,1.4fr) minmax(150px,1fr) 280px}.project-cards>article:hover{transform:translateY(-1px);box-shadow:0 10px 28px #183e7517}.project-card-head strong{font-size:14px}.project-card-head small,.card-data small,.people small{font-size:10px}.card-data strong{font-size:12px}.stage-chip{font-size:10px;font-weight:700;padding:6px 10px}.card-actions{min-width:280px}.card-actions button,.card-actions a{min-height:32px;font-size:10px;border-radius:8px;padding:7px 9px}.directory-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.simple-list,.log-list{padding:0 22px 22px;gap:10px}.simple-list article{border-radius:12px;padding:13px 14px;align-items:flex-start}.simple-list article:hover{border-color:#bfd5f5;background:#fbfdff}.simple-list strong{font-size:13px}.simple-list small{font-size:11px;line-height:1.55}.simple-list article>div{min-width:0}.simple-list article>.record-actions{flex-direction:row;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}.simple-list select{max-width:170px;border:1px solid var(--line);border-radius:8px;padding:7px;background:#fff;font-size:11px}.account-grid{gap:13px;padding:0 22px 22px}.account-grid article{border-radius:13px;padding:15px}.account-grid strong{font-size:13px}.account-grid small{font-size:10px}.modal-backdrop{background:#0a183094;backdrop-filter:blur(4px)}.modal{border:1px solid rgba(255,255,255,.7);border-radius:20px;padding:24px;box-shadow:0 34px 100px #03122b57}.modal-head h2{font-size:21px}.modal-head p{font-size:12px}.modal label{font-size:13px}.modal input,.modal select,.modal textarea{min-height:42px;border-radius:10px;padding:10px 12px;font-size:13px}.modal textarea{min-height:96px}.modal-actions button{min-height:40px;font-size:13px;border-radius:10px}.detail-modal{width:min(920px,100%)}.detail-summary>div{border:1px solid #e8eef7;padding:14px;border-radius:12px}.detail-summary small{font-size:10px}.detail-summary strong{font-size:16px}.detail-list{grid-template-columns:1fr 1fr;gap:10px 22px}.detail-list>div{grid-template-columns:90px 1fr;font-size:12px;padding:7px 0;border-bottom:1px dashed #e7edf5}.detail-section{padding-top:18px;margin-top:18px}.section-title h3{font-size:15px}.record-row{padding:14px 0}.record-row strong{font-size:12px}.record-row small{font-size:10px}.stage-flow{gap:8px}.stage-flow span{padding:9px 6px;border-radius:9px;font-size:11px}.progress{height:7px}.privacy-note,.formula-note,.import-tip,.import-summary{font-size:12px;line-height:1.65}.empty:before{content:"\25c7";display:block;color:#b3c4dc;font-size:28px;margin-bottom:7px}.toast{font-size:13px;border-radius:12px;padding:13px 18px;box-shadow:0 16px 40px #0b234940}.login-card{width:min(440px,100%);padding:38px;border-radius:25px;box-shadow:0 30px 90px #164b9629}.login-card h1{font-size:29px}.login-card input{min-height:46px;font-size:14px}.login-button{min-height:48px;font-size:14px}@media(max-width:1400px){.project-cards>article{grid-template-columns:minmax(220px,2fr) 120px minmax(200px,1.4fr) 260px}.project-cards .people{display:none}.project-cards .card-actions{grid-column:4}.card-actions{min-width:260px}}@media(max-width:900px){.content{padding-left:20px;padding-right:20px}.directory-columns,.detail-list{grid-template-columns:1fr}}@media(max-width:720px){html{font-size:16px}.content{margin:0;width:100%;padding:0 12px 88px}.topbar{height:72px;margin:0 -12px 14px;padding:0 12px}.topbar h1{font-size:20px}.summary-grid{gap:9px}.metric{min-height:112px;padding:15px;border-radius:15px}.metric strong{font-size:22px}.panel{border-radius:15px}.panel-head{padding:17px}.panel h2{font-size:17px}.project-cards{padding:12px}.project-cards>article{padding:14px}.card-actions button,.card-actions a,.detail-actions button,.section-title button,.record-actions button{min-height:40px;font-size:12px}.mobile-nav button{min-width:72px;min-height:52px}.modal-backdrop{padding:6px}.modal{border-radius:17px;padding:18px;max-height:97vh}.detail-summary,.detail-list{grid-template-columns:1fr}.simple-list,.log-list{padding:0 12px 14px}.simple-list article{display:grid;grid-template-columns:1fr auto}.simple-list article>.record-actions{grid-column:1/-1;justify-content:flex-start}.head-actions{width:100%;justify-content:flex-start}.head-actions input{min-width:0;width:100%}.upload-picker{min-height:86px}}.dashboard-home{display:grid;gap:16px}.dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:25px 28px;border-radius:18px;color:#fff;background:linear-gradient(120deg,#1769e8,#0e4fae);box-shadow:0 14px 36px #1769e82e}.dashboard-hero small{opacity:.78;font-size:11px}.dashboard-hero h2{margin:6px 0 7px;font-size:24px;letter-spacing:-.5px}.dashboard-hero p{margin:0;opacity:.84;font-size:12px}.dashboard-hero-actions{display:flex;gap:9px;flex-shrink:0}.dashboard-hero-actions button{min-height:40px;padding:0 16px;border:1px solid rgba(255,255,255,.35);border-radius:9px;background:#ffffff1f;color:#fff}.dashboard-hero-actions .primary{border-color:#fff;background:#fff;color:#1769e8;font-weight:700}.workflow-overview{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.workflow-step{position:relative;display:grid;gap:3px;text-align:left;min-height:92px;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:#4c586b;transition:.18s}.workflow-step:hover{transform:translateY(-2px);border-color:#a9c8f4;box-shadow:0 9px 24px #183e7514}.workflow-step:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:0 4px 4px 0;background:#2f80ed}.workflow-step strong{font-size:24px;color:#17243a}.workflow-step small{font-size:9px;color:var(--muted)}.workflow-step.stage-work:before{background:#f59e0b}.workflow-step.stage-accept:before{background:#8b5cf6}.workflow-step.stage-payment:before{background:#24a876}.workflow-step.urgent:before{background:#ef5b52}.workflow-step.archived:before{background:#94a1b5}.dashboard-notice{display:flex;align-items:center;gap:12px;width:100%;padding:13px 16px;border:1px solid #f1c473;border-radius:12px;background:#fff9ec;color:#80540e;text-align:left}.dashboard-notice>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f5a623;color:#fff;font-weight:800}.dashboard-notice div{display:grid;gap:2px}.dashboard-notice small{color:#9b702b}.dashboard-notice em{margin-left:auto;font-style:normal;font-size:11px;font-weight:700}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(260px,.9fr);gap:16px}.dashboard-section-head{display:flex;align-items:center;justify-content:space-between;padding:17px 19px;border-bottom:1px solid var(--line)}.dashboard-section-head h2{margin:0;font-size:16px}.dashboard-section-head p{margin:4px 0 0;font-size:10px;color:var(--muted)}.dashboard-section-head>button{border:0;background:transparent;color:var(--blue);font-size:11px}.recent-order-list{padding:0 19px 9px}.recent-order{display:grid;grid-template-columns:10px minmax(220px,1.8fr) 90px minmax(100px,.8fr) 14px;align-items:center;gap:12px;width:100%;min-height:58px;padding:8px 2px;border:0;border-bottom:1px solid #edf1f7;background:transparent;text-align:left}.recent-order:hover{background:#f8fbff}.recent-order-name{display:grid;gap:4px;min-width:0}.recent-order-name b,.recent-order-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-order-name b{font-size:12px;color:#1f2b3e}.recent-order-name small,.recent-order-owner{font-size:9px;color:var(--muted)}.recent-order-arrow{font-size:22px;color:#9aa7b9}.dashboard-shortcuts{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}.shortcut-grid{display:grid;gap:8px;padding:12px}.shortcut-grid button{display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;column-gap:10px;padding:12px;border:1px solid #edf1f7;border-radius:10px;background:#fafcff;text-align:left}.shortcut-grid button:hover{border-color:#b8d1f4;background:#f5f9ff}.shortcut-grid span{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eaf2ff;color:#1769e8;font-size:16px}.shortcut-grid b{font-size:11px;color:#253248}.shortcut-grid small{font-size:9px;color:var(--muted)}.action-menu{position:relative}.action-menu summary{list-style:none;cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 12px;font-size:11px;color:#4b5668}.action-menu summary::-webkit-details-marker{display:none}.action-menu-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:20;display:grid;gap:7px;width:230px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 16px 40px #142a4e29}.action-menu-popover label{display:grid;gap:5px;font-size:9px;color:var(--muted)}.action-menu-popover .month-input{width:100%}.action-menu-popover button{width:100%;min-height:34px;text-align:left;border:1px solid #e4eaf3;background:#fff;border-radius:7px;color:#3f4b5e}.project-cards.compact-workorder-list{display:grid;grid-template-columns:1fr;gap:0;padding:0 20px 18px}.compact-workorder-list>article{display:grid;grid-template-columns:minmax(280px,2fr) 125px minmax(210px,1.25fr) minmax(135px,.8fr) 72px;align-items:center;gap:12px;min-height:70px;padding:9px 8px;border:0;border-bottom:1px solid #edf1f7;border-radius:0;background:#fff;cursor:pointer;box-shadow:none}.compact-workorder-list>article:hover{transform:none;background:#f8fbff;box-shadow:none}.compact-workorder-list .project-card-head{grid-column:1;margin:0}.compact-workorder-list .project-card-head>div{grid-template-columns:auto minmax(0,1fr) auto}.compact-workorder-list .project-card-head strong,.compact-workorder-list .project-card-head small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-workorder-list .project-card-head .stage-chip{display:none}.compact-workorder-list .compact-alert{grid-column:3;grid-row:1/3;justify-self:end;padding:3px 6px;border-radius:5px;background:#fff2d8;color:#a86800;font-size:8px;white-space:nowrap}.compact-workorder-list .compact-alert.overdue{background:#ffe8e6;color:#c83a32}.compact-workorder-list .card-progress{grid-column:2}.compact-workorder-list .card-data{grid-column:3;margin:0;display:flex;gap:14px;background:transparent}.compact-workorder-list .card-data>div{min-width:0;flex:1;padding:0;background:transparent}.compact-workorder-list .people{grid-column:4;display:grid;gap:4px;border:0;padding:0}.compact-workorder-list .people small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-workorder-list .card-actions{grid-column:5;justify-content:flex-end;min-width:0;margin:0}.compact-workorder-list .card-actions button{min-height:32px;white-space:nowrap}.compact-workorder-list .project-reminder,.compact-workorder-list .sla-card-warning{display:none}.compact-workorder-list>article.sla-overdue-card,.compact-workorder-list>article.sla-expiring-card,.compact-workorder-list>article.new-order-card,.compact-workorder-list>article.due-card{border-width:0 0 1px;background:#fff}.compact-workorder-list>article.sla-overdue-card:hover,.compact-workorder-list>article.sla-expiring-card:hover,.compact-workorder-list>article.new-order-card:hover,.compact-workorder-list>article.due-card:hover{background:#f8fbff}@media(max-width:1200px){.workflow-overview{grid-template-columns:repeat(3,1fr)}.dashboard-main-grid{grid-template-columns:1fr}.compact-workorder-list>article{grid-template-columns:minmax(260px,2fr) 115px minmax(190px,1.2fr) 72px}.compact-workorder-list .people{display:none}.compact-workorder-list .card-actions{grid-column:4}}@media(max-width:720px){.dashboard-home{gap:12px}.dashboard-hero{display:grid;padding:20px;border-radius:15px}.dashboard-hero h2{font-size:20px}.dashboard-hero-actions{width:100%}.dashboard-hero-actions button{flex:1}.workflow-overview{grid-template-columns:repeat(2,1fr);gap:8px}.workflow-step{min-height:80px;padding:12px 14px}.workflow-step strong{font-size:21px}.period-reports{grid-template-columns:1fr}.dashboard-notice em{display:none}.recent-order-list{padding:0 12px 8px}.recent-order{grid-template-columns:9px minmax(0,1fr) auto 12px;gap:8px}.recent-order-owner{display:none}.dashboard-section-head{padding:15px}.project-cards.compact-workorder-list{padding:0 12px 14px}.compact-workorder-list>article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:88px;padding:11px 3px}.compact-workorder-list .project-card-head{grid-column:1}.compact-workorder-list .project-card-head>div{grid-template-columns:auto minmax(0,1fr)}.compact-workorder-list .compact-alert{display:none}.compact-workorder-list .card-progress{grid-column:2;grid-row:1;width:82px}.compact-workorder-list .card-progress>span{justify-content:flex-end}.compact-workorder-list .card-progress>span:not(b){font-size:0}.compact-workorder-list .card-progress b{font-size:10px}.compact-workorder-list .card-data{grid-column:1;grid-row:2;display:flex;margin:0}.compact-workorder-list .card-data>div:nth-child(2){display:none}.compact-workorder-list .people{display:none}.compact-workorder-list .card-actions{grid-column:2;grid-row:2;min-width:0;margin:0}.compact-workorder-list .card-actions button{min-height:34px}.action-menu-popover{position:fixed;left:12px;right:12px;top:auto;width:auto}}.compact-workorder-list .compact-alert{background:#fff0d9;color:#a45b00;font-weight:700}.compact-workorder-list .compact-alert.overdue{background:#ffe6e3;color:#c63129}.client-error-panel article.client-error-auth{border-color:#f2cc82;background:#fffaf0}.client-error-panel article.client-error-auth strong{color:#94600b}.client-error-panel article.client-error-network{border-color:#efb365;background:#fff8ec}.client-error-panel article.client-error-notification{border-color:#cbd9ec;background:#f8fbff}.client-error-panel article.client-error-business{border-color:#ee9d96;background:#fff7f6}.client-error-panel article.client-error-business strong{color:#c9352d}.import-draft-panel{overflow:visible}.draft-count{padding:6px 10px;border-radius:999px;background:#eef5ff;color:#1769e8;font-size:10px;font-weight:700}.draft-action-bar{position:relative;z-index:12;display:flex;align-items:flex-end;gap:9px;padding:14px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fafcff}.draft-action-bar>button{min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#465267;white-space:nowrap}.draft-action-bar>button.primary{border-color:var(--blue);background:var(--blue);color:#fff}.draft-selection-summary{display:flex;align-items:center;gap:8px;margin-right:auto;padding-bottom:8px;color:#344055;font-size:11px}.draft-selection-summary button{border:0;background:transparent;color:var(--blue);font-size:10px}.brand-combobox{position:relative;display:grid;gap:5px;width:min(330px,34vw)}.brand-combobox>label{font-size:9px;color:var(--muted)}.brand-combobox-control{display:grid;grid-template-columns:1fr 38px;overflow:hidden;height:38px;border:1px solid #cfd9e7;border-radius:8px;background:#fff}.brand-combobox-control:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #1769e81a}.brand-combobox-control input{min-width:0;border:0;padding:0 11px;outline:0;background:transparent;color:#263349}.brand-combobox-control button{border:0;border-left:1px solid #e6ebf2;background:#f8faff;color:#526078;font-size:14px}.brand-combobox-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:50;overflow-y:auto;max-height:310px;padding:6px;border:1px solid #dbe3ee;border-radius:11px;background:#fff;box-shadow:0 18px 42px #142a4e2e}.brand-combobox-menu-head{position:sticky;top:-6px;z-index:1;padding:8px 9px;border-bottom:1px solid #edf1f7;background:#fff;color:#8995a7;font-size:9px}.brand-combobox-menu>button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:36px;padding:7px 9px;border:0;border-radius:7px;background:#fff;color:#344055;text-align:left}.brand-combobox-menu>button:hover,.brand-combobox-menu>button.selected{background:#eef5ff;color:#1769e8}.brand-combobox-menu>button b{color:#1769e8}.brand-combobox-menu>button.create-brand-option{position:sticky;bottom:-6px;margin-top:5px;border-top:1px solid #e7edf5;border-radius:7px;background:#f3f8ff;color:#1769e8;font-weight:700}.brand-combobox-empty{padding:18px 9px;text-align:center;color:#9aa5b5;font-size:10px}.import-draft-panel>.simple-list{padding-top:6px}.import-draft-panel>.simple-list>article{grid-template-columns:24px minmax(260px,1fr) auto;transition:.15s}.import-draft-panel>.simple-list>article:has(input:checked){border-color:#9fc1f2;background:#f5f9ff}.import-draft-panel>.simple-list>article>input{width:17px;height:17px;accent-color:var(--blue)}@media(max-width:900px){.draft-action-bar{align-items:stretch;flex-wrap:wrap}.draft-selection-summary{width:100%;padding:0}.brand-combobox{order:2;width:100%}.new-brand-button{order:3}.draft-action-bar>button.primary{margin-left:auto}.import-draft-panel>.simple-list>article{grid-template-columns:24px 1fr}.import-draft-panel>.simple-list>article .record-actions{grid-column:2;justify-content:flex-start}}@media(max-width:520px){.draft-action-bar{padding:12px}.draft-action-bar>button{flex:1}.draft-action-bar>button.primary{flex-basis:100%}.brand-combobox-menu{position:fixed;left:12px;right:12px;top:25vh;max-height:55vh}.import-draft-panel>.simple-list{padding:4px 12px 14px}}.finance-overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.finance-card{display:grid;gap:6px;min-height:104px;padding:17px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}.finance-card span{font-size:10px;color:#667286}.finance-card strong{font-size:22px;letter-spacing:-.5px;color:#18253a}.finance-card small{font-size:9px;color:#98a3b3}.finance-card.primary{border-color:#bdd5f7;background:linear-gradient(145deg,#f4f8ff,#fff)}.finance-card.primary strong{color:#1769e8}.finance-card.attention{border-color:#f2d29b;background:#fffaf1}.finance-card.attention strong{color:#c77700}@media(max-width:1100px){.finance-overview{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.finance-overview{grid-template-columns:repeat(2,1fr);gap:8px}.finance-card{min-height:92px;padding:14px}.finance-card strong{font-size:19px}.finance-card:first-child{grid-column:1/-1}}.selected-file-list{display:grid;gap:7px;margin-top:10px;padding:10px;border:1px solid #d8e5f7;border-radius:11px;background:#f8fbff}.selected-file-list>strong{font-size:11px;color:#36516f}.selected-file-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px;border-radius:8px;background:#fff;border:1px solid #e7edf5}.selected-file-preview{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:9px;color:var(--ink);text-decoration:none;min-width:0}.selected-file-list img,.selected-file-list .file-kind{width:42px;height:42px;border-radius:7px;object-fit:cover}.selected-file-list .file-kind{display:grid;place-items:center;background:#eaf2ff;color:var(--blue);font-size:9px;font-weight:700}.selected-file-preview>span:last-child{display:flex;min-width:0;flex-direction:column;gap:3px}.selected-file-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.selected-file-list small{font-size:9px;color:var(--muted)}.selected-file-remove{min-height:34px;padding:0 10px;border-color:#fecaca!important;background:#fff7f7!important;color:#c62828!important;font-size:10px}.attachment-visibility-hint{margin:0;padding:10px 12px;border-radius:9px;background:#f3f7fc;color:#536a82;font-size:11px;line-height:1.65}.visibility-badge{display:inline-flex;width:max-content;margin-top:5px;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:700}.visibility-badge.customer{background:#e8f7ef;color:#17804b}.visibility-badge.internal{background:#edf1f6;color:#5f6f82}.period-reports{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 16px}.period-report-card{display:grid;grid-template-columns:minmax(140px,1.2fr) repeat(4,1fr);gap:8px;align-items:center;padding:15px 18px;border:1px solid #e2eaf5;border-radius:15px;background:#fff;box-shadow:0 6px 24px #263a5c0b}.period-report-card>div,.period-report-card>span{display:flex;flex-direction:column;gap:4px}.period-report-card>div strong{font-size:14px}.period-report-card small{font-size:9px;color:var(--muted)}.period-report-card b{font-size:13px}@media(max-width:1050px){.period-reports{grid-template-columns:1fr}.period-report-card{grid-template-columns:minmax(130px,1.2fr) repeat(4,1fr)}}@media(max-width:720px){.period-report-card{grid-template-columns:1fr 1fr;padding:14px}.period-report-card>div{grid-column:1/-1;border-bottom:1px solid #edf1f6;padding-bottom:8px}.selected-file-list b{white-space:normal}.period-reports{margin-bottom:12px}}.dispatch-section .section-title{align-items:flex-start}.dispatch-section .section-title>div{display:grid;gap:4px}.dispatch-section .section-title small{color:var(--muted);font-weight:400}.dispatch-list{display:grid;gap:10px}.dispatch-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #dce7f6;border-radius:12px;background:#fbfdff}.dispatch-card>div:first-child{min-width:0;display:grid;gap:5px}.dispatch-card strong,.dispatch-card small{overflow-wrap:anywhere}.dispatch-card small{color:var(--muted)}.dispatch-card .status{width:fit-content;margin-top:3px}.dispatch-pending_confirmation{color:#9a6700;background:#fff7da}.dispatch-accepted,.dispatch-scheduled{color:#075ccf;background:#eaf3ff}.dispatch-in_progress{color:#087443;background:#e4f8ee}.dispatch-paused,.dispatch-no_show,.dispatch-rejected{color:#b54708;background:#fff0e5}.dispatch-completed{color:#137333;background:#e7f5eb}.dispatch-cancelled{color:#667085;background:#eef1f5}.dispatch-technician-list{max-height:220px;overflow:auto;padding:10px;border:1px solid #dbe5f2;border-radius:10px}.technician-dashboard .panel{min-height:0}@media(max-width:720px){.dispatch-card{align-items:stretch;flex-direction:column}.dispatch-card .record-actions{justify-content:flex-start}}.dispatch-complete-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:1px solid var(--blue);border-radius:9px;padding:7px 11px;background:var(--blue)!important;color:#fff!important;-webkit-text-fill-color:#fff;font-size:12px;font-weight:700;cursor:pointer;box-sizing:border-box}.dispatch-complete-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.technician-dashboard .record-actions .primary,.technician-dashboard .dispatch-complete-button{border-color:#1769e8!important;background:#1769e8!important;color:#fff!important;-webkit-text-fill-color:#fff!important}.technician-dashboard .record-actions .primary:hover,.technician-dashboard .record-actions .primary:active,.technician-dashboard .dispatch-complete-button:hover,.technician-dashboard .dispatch-complete-button:active{background:#0e56c7!important;color:#fff!important;-webkit-text-fill-color:#fff!important}@media(max-width:720px){.technician-dashboard .record-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.technician-dashboard .record-actions button,.technician-dashboard .dispatch-complete-button{width:100%;min-height:44px;font-size:13px}.technician-dashboard .dispatch-complete-button{grid-column:1/-1}}.client-store-panel{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}.client-store-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding:4px 19px 12px}.client-store-card{display:grid;grid-template-columns:38px minmax(0,1fr) 58px 58px 12px;align-items:center;gap:10px;min-height:76px;padding:10px 2px;border:0;border-bottom:1px solid #edf1f7;background:#fff;text-align:left}.client-store-card:hover{background:#f8fbff}.store-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#eaf2ff;color:#1769e8;font-size:12px;font-weight:800}.store-copy{display:grid;gap:3px;min-width:0}.store-copy b,.store-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.store-copy b{font-size:12px;color:#1d2a3d}.store-copy small{font-size:9px;color:var(--muted)}.store-count{display:grid;justify-items:center;gap:2px}.store-count strong{font-size:16px;color:#1769e8}.store-count small{font-size:8px;color:var(--muted)}.store-count.completed strong{color:#16805b}.quick-edit-panel{overflow:visible}.quick-edit-summary{display:flex;align-items:center;gap:12px;padding:10px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f8fbff;color:#5a6678;font-size:10px}.quick-edit-summary b{color:#1769e8;font-size:13px}.quick-edit-summary button{height:28px;padding:0 10px;border:1px solid #c9daf2;border-radius:6px;background:#fff;color:#1769e8;font-size:9px}.quick-edit-summary button:disabled{opacity:.45}.quick-edit-summary small{margin-left:auto;color:#7b8798}.quick-edit-result{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:12px 20px 0;padding:12px 14px;border:1px solid #b9e5cc;border-radius:8px;background:#f1fbf5;color:#24724a;font-size:10px;line-height:1.6}.quick-edit-result.has-failures{border-color:#f0c4bb;background:#fff6f4;color:#a74333}.quick-edit-result ul{max-height:140px;margin:7px 0 0;padding-left:18px;overflow:auto}.quick-edit-result button{border:0;background:transparent;color:inherit}.quick-edit-filters{display:flex;align-items:center;gap:14px;padding:12px 20px}.quick-edit-filters .type-filters{padding:0}.quick-edit-filters .search{margin-left:auto}.quick-batch-toolbar{display:grid;grid-template-columns:auto repeat(6,minmax(115px,1fr)) auto;align-items:end;gap:8px;padding:12px 20px;border-top:1px solid #edf1f7;border-bottom:1px solid #dfe7f2;background:#fafcff}.quick-batch-toolbar>b{align-self:center;color:#344055;font-size:11px}.quick-batch-toolbar label{display:grid;gap:4px;color:#7b8798;font-size:8px}.quick-batch-toolbar input,.quick-batch-toolbar select,.quick-edit-row>input,.quick-edit-row>select{min-width:0;height:34px;border:1px solid #d7e0eb;border-radius:7px;background:#fff;padding:0 8px;color:#2f3c50;font-size:10px}.quick-batch-toolbar button,.quick-row-save,.quick-pagination button{height:34px;border:1px solid #bed4f3;border-radius:7px;background:#eef5ff;color:#1769e8;font-size:10px;font-weight:700}.quick-edit-table-wrap{overflow-x:auto}.quick-edit-row{display:grid;grid-template-columns:88px minmax(190px,1.5fr) 132px 92px 90px 90px 112px 112px 58px;align-items:center;gap:7px;min-width:1070px;min-height:49px;padding:6px 18px;border-bottom:1px solid #edf1f7;background:#fff}.quick-edit-row:hover{background:#fafcff}.quick-edit-row.selected{background:#f1f7ff}.quick-edit-header{position:sticky;top:0;z-index:4;min-height:39px;background:#f5f8fc;color:#758195;font-size:9px;font-weight:700}.quick-edit-header:hover{background:#f5f8fc}.quick-edit-header label,.quick-row-check{display:flex;align-items:center;gap:6px}.quick-edit-row input[type=checkbox]{width:16px;height:16px;accent-color:#1769e8}.quick-row-check span{padding:3px 6px;border-radius:6px;background:#eaf2ff;color:#1769e8;font-size:8px}.quick-project-link{display:grid;gap:3px;min-width:0;border:0;background:transparent;text-align:left}.quick-project-link b,.quick-project-link small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-project-link b{color:#213047;font-size:11px}.quick-project-link small{color:#8995a7;font-size:8px}.quick-pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:14px}.quick-pagination span{color:#7b8798;font-size:10px}.quick-pagination button{padding:0 14px}.quick-pagination button:disabled,.quick-row-save:disabled{opacity:.45}@media(max-width:1200px){.client-store-grid{grid-template-columns:1fr}.quick-batch-toolbar{grid-template-columns:repeat(4,minmax(125px,1fr))}.quick-batch-toolbar>b{grid-column:1/-1}}@media(max-width:720px){.client-store-grid{grid-template-columns:1fr;padding:2px 12px 10px}.client-store-card{grid-template-columns:34px minmax(0,1fr) 48px 10px}.store-count.completed{display:none}.quick-edit-summary{align-items:flex-start;flex-wrap:wrap;padding:10px 14px;gap:8px 14px}.quick-edit-summary small{width:100%;margin:0;line-height:1.6}.quick-edit-filters{display:grid;padding:11px 12px}.quick-edit-filters .search{width:100%;margin:0}.quick-batch-toolbar{grid-template-columns:1fr 1fr;padding:12px}.quick-batch-toolbar>b{grid-column:1/-1}.quick-batch-toolbar button{grid-column:1/-1;height:40px}.quick-edit-row{padding-left:12px;padding-right:12px}.quick-pagination{position:sticky;bottom:70px;background:#fff;border-top:1px solid var(--line)}}
