@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{--brand: #025188;--brand-600: #014374;--brand-700: #013660;--brand-300: #4a86b3;--brand-100: #d6e6f1;--brand-50: #eef5fa;--bg: #f6f7f9;--surface: #ffffff;--surface-2: #fbfbfc;--border: #e4e6eb;--border-strong: #cdd1d8;--text: #1a1d22;--text-2: #4b5563;--text-3: #6b7280;--text-4: #98a0ab;--green: #1f8a5b;--green-100: #e3f3eb;--amber: #b87514;--amber-100: #fbecd2;--red: #c0392b;--red-100: #fbe3e0;--purple: #6b48a8;--purple-100: #ece5f6;--cyan: #0c7891;--cyan-100: #d9eef3;--gray: #6b7280;--gray-100: #eef0f3;--font: "Geist", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono: "Geist Mono", "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--r-sm: 4px;--r-md: 6px;--r-lg: 10px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08);--shadow-lg: 0 18px 40px rgba(15, 23, 42, .14)}*{box-sizing:border-box}html,body,#root,app-root{height:100%;margin:0;overflow:hidden;display:block}body{font-family:var(--font);color:var(--text);background:var(--bg);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;font-size:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--brand);text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#c7ccd4;border-radius:8px;border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:500;transition:background .12s,border-color .12s;white-space:nowrap}.btn:hover{background:#f1f3f6}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-600);border-color:var(--brand-600)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn-ghost:hover{background:#eef0f3;color:var(--text)}.btn-sm{padding:4px 8px;font-size:12px}.btn-icon{padding:6px}.input{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);outline:none;transition:border-color .12s,box-shadow .12s}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0251881f}.input-sm{padding:5px 8px;font-size:12px}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:4px;font-size:11px;font-weight:500;line-height:1.4;letter-spacing:.01em;white-space:nowrap}.badge-square{width:14px;height:14px;min-width:14px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;color:#fff;font-size:10px;font-weight:700;overflow:hidden;flex-shrink:0}.avatar{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff;letter-spacing:.02em;flex-shrink:0}.avatar-sm{width:20px;height:20px;font-size:9px}.avatar-md{width:28px;height:28px;font-size:11px}.avatar-lg{width:36px;height:36px;font-size:13px}.avatar-stack{display:inline-flex}.avatar-stack .avatar{border:2px solid var(--surface);margin-left:-6px}.avatar-stack .avatar:first-child{margin-left:0}.mono{font-family:var(--mono);letter-spacing:-.01em}.issue-key{font-family:var(--mono);font-size:11px;color:var(--text-3);letter-spacing:.02em}.app{display:grid;grid-template-columns:232px 1fr;grid-template-rows:48px 1fr;height:100vh;background:var(--bg)}.app.sidebar-collapsed{grid-template-columns:56px 1fr}.topbar{grid-column:1 / -1;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 14px;gap:14px;z-index:10}.sidebar{background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column}.main{overflow-y:auto;overflow-x:hidden;background:var(--bg);display:flex;flex-direction:column;min-width:0}.brand-mark{display:flex;align-items:center;gap:9px;font-weight:700;letter-spacing:-.01em;color:var(--text);padding-right:10px;border-right:1px solid var(--border);height:100%}.brand-logo{width:24px;height:24px;background:var(--brand);border-radius:5px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px;letter-spacing:-.02em}.topbar-search{flex:1;max-width:460px;position:relative}.topbar-search input{padding-left:30px;height:30px;background:var(--surface-2)}.topbar-search .icon-search{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--text-3)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:6px}.topbar-divider{width:1px;height:22px;background:var(--border)}.sidebar-section{padding:10px 12px 6px}.sidebar-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-4);padding:6px 8px 4px;display:flex;align-items:center;justify-content:space-between}.sidebar-item{display:flex;align-items:center;gap:9px;padding:6px 8px;margin:1px 0;border-radius:var(--r-sm);color:var(--text-2);cursor:pointer;font-weight:500;-webkit-user-select:none;user-select:none}.sidebar-item:hover{background:#f0f2f5;color:var(--text)}.sidebar-item.active{background:var(--brand-50);color:var(--brand)}.sidebar-item .lucide{color:var(--text-3);flex-shrink:0}.sidebar-item.active .lucide{color:var(--brand)}.sidebar-item-count{margin-left:auto;font-size:10px;color:var(--text-3);background:var(--gray-100);padding:1px 6px;border-radius:8px}.sidebar-project{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r-sm);cursor:pointer;margin:1px 0}.sidebar-project:hover{background:#f0f2f5}.sidebar-project.active{background:var(--brand-50);color:var(--brand);font-weight:600}.proj-icon{width:18px;height:18px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:10px;flex-shrink:0}.app.sidebar-collapsed .sidebar-label,.app.sidebar-collapsed .sidebar-item-count,.app.sidebar-collapsed .sidebar-item-label,.app.sidebar-collapsed .sidebar-proj-label,.app.sidebar-collapsed .sidebar-footer-text{display:none}.app.sidebar-collapsed .sidebar-item,.app.sidebar-collapsed .sidebar-project{justify-content:center}.sidebar-footer{margin-top:auto;padding:10px 12px;border-top:1px solid var(--border);display:flex;align-items:center;gap:9px}.page-header{background:var(--surface);border-bottom:1px solid var(--border);padding:12px 20px 0}.breadcrumb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-3);margin-bottom:6px}.breadcrumb a{color:var(--text-3);cursor:pointer}.breadcrumb a:hover{color:var(--brand)}.page-title{font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--text);margin:0;display:flex;align-items:center;gap:10px}.page-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.page-header-row{display:flex;align-items:center;gap:10px}.view-tabs{display:flex;gap:2px;margin-top:10px}.view-tab{padding:7px 12px;font-size:12px;font-weight:500;color:var(--text-3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;display:flex;align-items:center;gap:6px}.view-tab:hover{color:var(--text)}.view-tab.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.filter-bar{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.filter-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border:1px dashed var(--border-strong);border-radius:999px;font-size:11.5px;color:var(--text-2);background:var(--surface);cursor:pointer}.filter-chip:hover{background:var(--surface-2);border-color:var(--brand-300);color:var(--brand)}.filter-chip.active{border-style:solid;border-color:var(--brand);color:var(--brand);background:var(--brand-50)}.filter-chip .req{color:var(--red);font-weight:700;margin:0 1px}.filter-chip-invalid{border-style:solid;border-color:var(--red);color:var(--red);background:var(--red-100)}.filter-chip-invalid:hover{border-color:var(--red);color:var(--red);background:var(--red-100)}.epic-dot{width:9px;height:9px;border-radius:3px;flex:none}.board{flex:1;display:flex;gap:10px;padding:14px 20px 20px;overflow-x:auto;min-height:0;align-items:stretch}.board-col{flex:0 0 280px;background:#eef0f3;border-radius:var(--r-lg);display:flex;flex-direction:column;max-height:100%}.board-col-header{padding:10px 12px 8px;display:flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--text-2)}.board-col-header .count{background:#0000000f;padding:1px 7px;border-radius:8px;font-size:10px;color:var(--text-2)}.board-col-header .add{margin-left:auto;cursor:pointer;color:var(--text-3);padding:2px;border-radius:4px}.board-col-header .add:hover{background:#0000000f;color:var(--text)}.board-col-body{padding:0 8px 8px;display:flex;flex-direction:column;gap:7px;overflow-y:auto;flex:1}.board-col.drop-target{background:var(--brand-100)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 14px;min-height:110px;box-shadow:var(--shadow-sm);cursor:grab;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;transition:box-shadow .12s,transform .08s,border-color .12s}.card:hover{border-color:var(--brand-300);box-shadow:var(--shadow-md)}.card:active{cursor:grabbing}.card.dragging{opacity:.4}.card-title{font-size:14px;font-weight:500;color:var(--text);line-height:1.4;flex:1;text-wrap:pretty}.card-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-3);flex-wrap:wrap}.card-meta-left{display:flex;align-items:center;gap:6px}.card-meta-right{margin-left:auto;display:flex;align-items:center;gap:6px}.card-tags{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap}.card-epic{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:1px 6px;border-radius:3px;font-weight:600;letter-spacing:.02em;margin-bottom:8px;background:var(--purple-100);color:var(--purple)}.card-progress{height:3px;background:#eef0f3;border-radius:2px;overflow:hidden;margin-top:6px}.card-progress-bar{height:100%;background:var(--brand)}.list-wrap{padding:14px 20px}.list-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;font-size:12.5px}.list-table th{background:var(--surface-2);font-weight:600;color:var(--text-3);text-align:left;padding:8px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap}.list-table td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.list-table tbody tr:last-child td{border-bottom:none}.list-table tbody tr:hover{background:var(--brand-50);cursor:pointer}.list-summary{color:var(--text);font-weight:500}.list-table .nowrap{white-space:nowrap}.backlog-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow-x:auto;overflow-y:hidden}.backlog-block .list-table{border:none;border-radius:0;table-layout:fixed;width:100%;min-width:920px}.backlog-block .list-table td,.backlog-block .list-table th{overflow:hidden;padding-left:9px;padding-right:9px}.backlog-block .list-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backlog-block .list-table tbody tr{transition:background .1s,box-shadow .1s}.backlog-block .list-table tbody tr td:first-child{position:relative;padding-left:26px;white-space:nowrap}.drag-handle{position:absolute;left:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;color:var(--text-3);opacity:0;cursor:grab;transition:opacity .1s}.backlog-block .list-table tbody tr:hover .drag-handle{opacity:.55}.drag-handle:hover{opacity:1!important}.drag-handle:active{cursor:grabbing}.row-dragging{opacity:.4}.row-drop-target td{box-shadow:inset 0 2px 0 0 var(--brand)}.block-drop-target{outline:2px dashed var(--brand);outline-offset:-2px}.backlog-create{width:100%;display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface-2);border:none;border-top:1px solid var(--border);color:var(--text-3);font-size:12.5px;font-weight:500;cursor:pointer;transition:background .12s,color .12s;text-align:left}.backlog-create:hover{background:var(--brand-50);color:var(--brand)}.backlog-create .lucide{color:inherit}.fv-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px 2px 7px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.01em;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-2);-webkit-user-select:none;user-select:none;max-width:140px}.fv-chip:hover{border-color:var(--brand-300)}.fv-chip .fv-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:currentColor}.fv-chip.fv-released{background:var(--green-100);color:var(--green);border-color:transparent}.fv-chip.fv-unreleased{background:var(--brand-50);color:var(--brand);border-color:transparent}.fv-chip.fv-archived{background:var(--gray-100);color:var(--text-3);border-color:transparent}.fv-chip.fv-none{background:transparent;border:1px dashed var(--border-strong);color:var(--text-4);font-weight:500}.fv-chip.fv-none:hover{color:var(--brand);border-color:var(--brand-300)}.fv-chip.fv-none .lucide{opacity:.75}.fv-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.fv-dot-released{background:var(--green)}.fv-dot-unreleased{background:var(--brand)}.fv-dot-archived{background:var(--text-4)}.fv-status{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:3px}.fv-status.fv-released{background:var(--green-100);color:var(--green)}.fv-status.fv-unreleased{background:var(--brand-50);color:var(--brand)}.fv-status.fv-archived{background:var(--gray-100);color:var(--text-3)}.rel-page{padding:18px 24px 48px;max-width:none;margin:0;width:100%;min-width:980px}.rel-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:14px}.rel-title{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:0;display:flex;align-items:center;gap:10px}.rel-title-count{font-size:12.5px;font-weight:600;color:var(--text-3);background:var(--gray-100);padding:2px 8px;border-radius:999px}.rel-subtitle{color:var(--text-3);font-size:12.5px;margin-top:4px;max-width:640px}.rel-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.rel-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg) var(--r-lg) 0 0;border-bottom:none;padding:8px 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rel-search{position:relative;flex:1;min-width:200px;max-width:320px}.rel-search .input{padding-left:30px;height:32px}.rel-search .icon-search{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--text-3)}.rel-status-filter{position:relative}.rel-status-filter-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--brand);font-size:12.5px;font-weight:600;cursor:pointer}.rel-status-filter-btn:hover{background:var(--brand-50)}.rel-status-pop{position:absolute;top:calc(100% + 4px);left:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:6px;min-width:200px;z-index:40}.rel-status-opt{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:var(--r-sm);cursor:pointer;font-size:13px}.rel-status-opt:hover{background:var(--surface-2)}.rel-status-opt .cbox{width:16px;height:16px;border-radius:3px;border:1.5px solid var(--border-strong);display:inline-flex;align-items:center;justify-content:center;background:var(--surface);color:#fff}.rel-status-opt.on .cbox{background:var(--brand);border-color:var(--brand)}.rel-tbl-wrap{background:var(--surface);border:1px solid var(--border);border-radius:0 0 var(--r-lg) var(--r-lg);overflow:hidden}.rel-tbl{width:100%;border-collapse:collapse;font-size:12.5px}.rel-tbl th{background:var(--surface-2);font-weight:600;color:var(--text-3);text-align:left;padding:9px 14px;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap}.rel-tbl th.sortable{cursor:pointer}.rel-tbl th.sortable:hover{color:var(--text)}.rel-tbl th .sort-arrow{display:inline-flex;vertical-align:middle;margin-left:4px;opacity:.5}.rel-tbl th.sorted .sort-arrow{opacity:1;color:var(--brand)}.rel-tbl td{padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.rel-tbl tbody tr:last-child td{border-bottom:none}.rel-tbl tbody tr:hover{background:var(--brand-50)}.rel-name{color:var(--brand);font-weight:600;cursor:pointer;font-size:13px}.rel-name:hover{text-decoration:underline}.rel-status-pill{display:inline-flex;align-items:center;padding:2px 9px;border-radius:3px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.rel-status-pill.released{background:var(--green-100);color:var(--green)}.rel-status-pill.unreleased{background:var(--gray-100);color:var(--text-2)}.rel-status-pill.archived{background:var(--purple-100);color:var(--purple)}.rel-progress{width:180px;height:8px;border-radius:999px;background:var(--gray-100);display:flex;overflow:hidden}.rel-progress-seg{height:100%}.rel-progress-seg.done{background:var(--green)}.rel-progress-seg.inflight{background:var(--brand)}.rel-progress-seg.todo{background:transparent}.rel-progress-empty{font-size:11.5px;color:var(--text-4);font-style:italic}.rel-release-btn{padding:4px 12px;font-size:12px;font-weight:600;border:1px solid var(--border);background:var(--surface);border-radius:var(--r-md);cursor:pointer;color:var(--text-2)}.rel-release-btn:hover{background:var(--green);color:#fff;border-color:var(--green)}.rel-row-actions{display:inline-flex;align-items:center;gap:6px;visibility:hidden}.rel-tbl tbody tr:hover .rel-row-actions{visibility:visible}.rel-form{display:flex;flex-direction:column;gap:14px}.rel-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rel-form-field{display:flex;flex-direction:column;gap:5px}.rel-form-field label{font-size:11.5px;font-weight:700;color:var(--text-2);letter-spacing:.01em}.rel-form-field .input,.rel-form-field textarea{padding:8px 10px;font-size:13px}.rel-form-field textarea{width:100%;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);outline:none;resize:vertical;min-height:70px;font-family:inherit;line-height:1.5}.rel-form-field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0251881f}.timeline{flex:1;display:flex;flex-direction:column;min-height:0}.timeline-grid{display:grid;grid-template-columns:260px 1fr;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);margin:14px 20px;overflow:hidden}.timeline-left,.timeline-right{min-height:0}.timeline-header-l,.timeline-header-r{background:var(--surface-2);border-bottom:1px solid var(--border);padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);height:36px;display:flex;align-items:center}.timeline-header-r{display:grid;grid-template-columns:repeat(12,1fr);padding:0}.timeline-month{border-left:1px solid var(--border);padding:0 10px;display:flex;align-items:center;justify-content:center;font-size:11px}.timeline-row{display:contents}.timeline-row-l{padding:8px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;height:44px;font-size:12.5px}.timeline-row-r{position:relative;border-bottom:1px solid var(--border);border-left:1px solid var(--border);display:grid;grid-template-columns:repeat(12,1fr);height:44px}.timeline-month-cell{border-left:1px solid var(--border)}.timeline-month-cell:first-child{border-left:none}.timeline-bar{position:absolute;top:50%;transform:translateY(-50%);height:22px;border-radius:5px;display:flex;align-items:center;padding:0 8px;font-size:11px;font-weight:500;color:#fff;white-space:nowrap;cursor:pointer;overflow:hidden}.timeline-bar:hover{filter:brightness(1.08)}.timeline-today{position:absolute;top:0;bottom:0;width:2px;background:var(--red);pointer-events:none}.timeline-today-label{position:absolute;top:2px;transform:translate(-50%);background:var(--red);color:#fff;font-size:9px;padding:1px 6px;border-radius:8px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.modal-backdrop{position:fixed;inset:0;background:#0f172a80;display:flex;align-items:stretch;justify-content:flex-end;z-index:100}.modal{width:920px;max-width:100%;background:var(--surface);display:grid;grid-template-columns:1fr 320px;grid-template-rows:auto 1fr;overflow:hidden;box-shadow:var(--shadow-lg);animation:slide-in .18s ease-out}@keyframes slide-in{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}.modal-header{grid-column:1 / -1;padding:12px 18px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border)}.modal-body{padding:18px 22px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(15,23,42,.18) transparent}.modal-side{border-left:1px solid var(--border);background:var(--surface-2);padding:16px 18px;overflow:visible;align-self:stretch}.modal-body::-webkit-scrollbar,.modal-side::-webkit-scrollbar{width:8px;height:8px}.modal-body::-webkit-scrollbar-track,.modal-side::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb,.modal-side::-webkit-scrollbar-thumb{background:#0f172a29;border-radius:4px;border:2px solid transparent;background-clip:content-box}.modal-body::-webkit-scrollbar-thumb:hover,.modal-side::-webkit-scrollbar-thumb:hover{background-color:#0f172a52;background-clip:content-box}.modal-title-row{margin-bottom:16px}.modal-title{font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--text);line-height:1.3;outline:none;padding:4px 6px;margin:-4px -6px;border-radius:var(--r-sm)}.modal-title:focus,.modal-title:hover{background:var(--brand-50)}.modal-section{margin-bottom:22px}.modal-section h3{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin:0 0 8px}.desc-box{font-size:13px;color:var(--text);line-height:1.6;padding:8px;border-radius:var(--r-sm);min-height:44px}.desc-box:hover{background:var(--surface-2)}.subtask-row{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:var(--r-sm);cursor:pointer;font-size:12.5px}.subtask-row:hover{background:var(--surface-2)}.subtask-row.done .subtask-title{text-decoration:line-through;color:var(--text-3)}.field-row{display:grid;grid-template-columns:120px 1fr;align-items:center;margin-bottom:8px;font-size:12.5px}.field-label{color:var(--text-3);font-weight:500}.field-value{padding:4px 8px;border-radius:var(--r-sm);cursor:pointer;display:flex;align-items:center;gap:6px;margin:-4px -8px}.field-value:hover{background:var(--surface)}.comment{display:flex;gap:10px;padding:10px 0}.comment-body{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:8px 10px}.comment-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:11.5px}.comment-name{font-weight:600}.comment-time{color:var(--text-3)}.comment-text{font-size:12.5px;color:var(--text);line-height:1.5}.mention{color:var(--brand);font-weight:600}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--r-sm);font-size:11.5px;font-weight:600;letter-spacing:.02em;cursor:pointer;border:1px solid transparent;text-transform:uppercase;white-space:nowrap}.status-pill.todo{background:var(--gray-100);color:var(--text-2)}.status-pill.inprogress{background:#d8e6f3;color:var(--brand)}.status-pill.blocked{background:var(--red-100);color:var(--red)}.status-pill.inqa{background:var(--amber-100);color:var(--amber)}.status-pill.qaverified{background:#e7f1fb;color:#1a5fa8}.status-pill.readytodeploy{background:var(--purple-100);color:var(--purple)}.status-pill.inreview{background:var(--amber-100);color:var(--amber)}.status-pill.done{background:var(--green-100);color:var(--green)}.status-pill:hover{filter:brightness(.95)}.status-pill .chev{opacity:.6}.dropdown{position:absolute;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:4px;min-width:180px;z-index:50}.dropdown-item{padding:6px 10px;border-radius:var(--r-sm);cursor:pointer;display:flex;align-items:center;gap:8px;font-size:12.5px}.dropdown-item:hover{background:var(--surface-2)}.user-picker{position:relative;display:inline-block;width:100%}.user-picker-trigger{display:inline-flex;align-items:center;gap:7px;padding:4px 7px;border-radius:var(--r-sm);cursor:pointer;width:100%;min-height:28px;box-sizing:border-box;font-size:12.5px}.user-picker-trigger:hover{background:var(--surface)}.user-picker-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.user-picker-dropdown{border:1px solid var(--border);box-shadow:0 8px 28px #0f172a1f}.user-picker-search{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--border);margin:-6px -6px 4px;background:var(--surface-2);border-radius:6px 6px 0 0}.user-picker-search input{border:none;outline:none;background:transparent;font-size:12.5px;width:100%;font-family:inherit;color:var(--text)}.user-picker-search input::placeholder{color:var(--text-4)}.user-picker-list{max-height:260px;overflow-y:auto;padding:2px 0}.user-picker-item{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 8px;border-radius:var(--r-sm)}.user-picker-item.hl,.user-picker-item:hover,.user-picker-item.selected{background:var(--brand-50)}.picker-pop-right{top:calc(100% + 4px);right:0;left:auto;min-width:260px;max-width:min(320px,90vw);z-index:120;padding:6px}.epic-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.btn-watching{background:var(--brand-50);color:var(--brand);border-color:transparent}.btn-watching:hover{background:var(--brand-100, #d6e6f1);color:var(--brand)}.btn-watching .watch-count,.btn .watch-count{font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:8px;background:#0000000f;color:inherit;margin-left:2px}.btn-watching .watch-count{background:#02518824}.inline-picker{position:relative;display:inline-block;width:100%}.inline-picker-trigger{display:inline-flex;align-items:center;gap:6px;width:100%;min-height:28px;padding:4px 8px;margin:-4px -8px;border-radius:var(--r-sm);cursor:pointer;font-size:12.5px}.inline-picker-trigger:hover{background:var(--surface)}.inline-picker-dropdown{top:calc(100% + 4px);right:0;left:auto;min-width:180px;z-index:110;padding:4px;border:1px solid var(--border);box-shadow:0 8px 28px #0f172a1f}.inline-picker-dropdown .dropdown-item.selected{background:var(--brand-50)}.inline-input{width:100%;padding:4px 8px;margin:-4px -8px;font-size:12.5px;border:1px solid var(--brand);border-radius:var(--r-sm);outline:none;background:var(--surface);font-family:inherit}.inline-clear{border:none;background:transparent;padding:2px;cursor:pointer;color:var(--text-3);border-radius:3px;display:inline-flex;align-items:center;justify-content:center}.inline-clear:hover{background:var(--gray-100);color:var(--text)}.sprint-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.sprint-active{background:var(--green)}.sprint-planned{background:var(--brand)}.sprint-completed{background:var(--text-4)}.labels-editor{display:flex;flex-wrap:wrap;gap:4px;padding:4px 8px;margin:-4px -8px;min-height:28px;align-items:center;border-radius:var(--r-sm);cursor:text}.labels-editor:hover{background:var(--surface)}.label-chip{background:#eef0f3!important;color:#4b5563!important;display:inline-flex!important;align-items:center;gap:4px;padding-right:2px!important}.label-chip-x{border:none;background:transparent;padding:2px;margin-left:1px;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;cursor:pointer;color:inherit;opacity:.55}.label-chip-x:hover{background:#00000014;opacity:1}.label-add{border:1px dashed var(--border-strong);background:transparent;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:500;color:var(--text-3);cursor:pointer;display:inline-flex;align-items:center;gap:3px}.label-add:hover{color:var(--brand);border-color:var(--brand-300)}.label-input{border:none;background:transparent;outline:none;flex:1;min-width:70px;font:inherit;font-size:11.5px;color:var(--text);padding:2px}.label-input::placeholder{color:var(--text-4)}.subtask-row{position:relative}.subtask-del{border:none;background:transparent;padding:4px;border-radius:4px;color:var(--text-4);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s,background .12s,color .12s}.subtask-row:hover .subtask-del{opacity:1}.subtask-del:hover{background:var(--gray-100);color:var(--red, #c0392b)}.subtask-add-row{display:flex;align-items:center;gap:8px;padding:8px;margin-top:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}.subtask-add-input{flex:1;border:none;background:var(--surface);border-radius:var(--r-sm);padding:6px 10px;font-size:12.5px;outline:none;font-family:inherit;box-shadow:0 0 0 1px var(--border)}.subtask-add-input:focus{box-shadow:0 0 0 2px var(--brand-300)}.subtask-add-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;margin-top:4px;border:none;background:transparent;color:var(--text-3);font-size:12px;font-weight:500;cursor:pointer;border-radius:var(--r-sm)}.subtask-add-trigger:hover{background:var(--brand-50);color:var(--brand)}.worklog-row{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--border)}.worklog-row:last-child{border-bottom:none}.wl-backdrop{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:200;animation:wl-fade .16s ease}@keyframes wl-fade{0%{opacity:0}to{opacity:1}}.wl-modal{width:460px;max-width:94vw;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:wl-pop .18s cubic-bezier(.2,.8,.3,1)}@keyframes wl-pop{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:none;opacity:1}}.wl-head{padding:14px 18px;border-bottom:1px solid var(--border);background:var(--surface-2)}.wl-title{font-size:15px;font-weight:700;letter-spacing:-.01em}.wl-sub{font-size:12px;color:var(--text-3);margin-top:2px}.wl-body{padding:18px 18px 12px;display:flex;flex-direction:column;gap:14px}.wl-row{display:flex;flex-direction:column;gap:6px}.wl-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3)}.wl-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:13px;outline:none;font-family:inherit;background:var(--surface);resize:vertical}.wl-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50)}.wl-time-input{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}.wl-time-input:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50)}.wl-time-input input{flex:1;border:none;padding:8px 10px;font-size:14px;font-weight:600;outline:none;font-family:var(--mono);background:var(--surface)}.wl-suffix{display:inline-flex;align-items:center;padding:0 14px;background:var(--surface-2);border-left:1px solid var(--border);font-size:12px;color:var(--text-3);font-weight:500}.wl-hint{font-size:11px;color:var(--text-4)}.wl-foot{padding:12px 18px;border-top:1px solid var(--border);background:var(--surface-2);display:flex;justify-content:flex-end;gap:8px}.issue-page-wrap{display:grid;grid-template-columns:minmax(0,1fr) 360px;background:var(--surface);border-top:1px solid var(--border);min-height:calc(100vh - 49px)}.issue-page-wrap .modal-header{position:sticky;top:0;background:var(--surface);z-index:10}.issue-page-wrap .modal-body{padding:24px 36px 60px;max-width:920px;overflow:visible;min-width:0}.issue-page-wrap .modal-side{padding:24px 24px 60px;align-self:start;min-width:0;overflow:visible}.issue-breadcrumb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-3);padding:10px 22px;border-bottom:1px solid var(--border);background:var(--surface)}.issue-breadcrumb a{color:var(--text-3);text-decoration:none}.issue-breadcrumb a:hover{color:var(--brand);text-decoration:underline}.issue-breadcrumb-sep{color:var(--text-4)}.issue-breadcrumb-key{color:var(--text);font-weight:600;font-family:var(--font-mono)}.issue-key-link{color:var(--brand);text-decoration:none;font-family:var(--font-mono);font-size:11.5px;font-weight:600}.issue-key-link:hover{text-decoration:underline}.login-page{height:100vh;display:grid;grid-template-columns:1fr 1.1fr;background:var(--surface)}.login-left{display:flex;flex-direction:column;padding:40px 56px}.login-right{background:linear-gradient(160deg,#013660 0%,var(--brand) 55%,#0466ab 100%);position:relative;overflow:hidden;padding:56px;display:flex;flex-direction:column;justify-content:space-between;color:#fff}.login-form{margin:auto;width:100%;max-width:360px}.login-form h1{font-size:26px;font-weight:700;letter-spacing:-.02em;margin:0 0 6px}.login-form .sub{color:var(--text-3);margin-bottom:28px;font-size:13.5px}.login-field{margin-bottom:14px}.login-field label{display:block;font-size:12px;font-weight:600;margin-bottom:5px;color:var(--text-2)}.login-field .input{padding:9px 12px;font-size:13.5px}.login-row{display:flex;align-items:center;justify-content:space-between;margin:8px 0 18px;font-size:12.5px}.checkbox{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);cursor:pointer}.checkbox input{accent-color:var(--brand)}.login-divider{display:flex;align-items:center;gap:10px;color:var(--text-3);margin:18px 0;font-size:12px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.sso-btn{width:100%;justify-content:center;padding:10px 12px}.login-foot{margin-top:auto;color:var(--text-3);font-size:12px;text-align:center}.login-brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.01em;font-size:15px}.right-quote{font-size:22px;line-height:1.4;font-weight:500;max-width:460px;letter-spacing:-.01em}.right-quote .author{display:block;margin-top:14px;font-size:13px;font-weight:500;opacity:.85}.right-stats{display:flex;gap:28px;flex-wrap:wrap}.right-stat-num{font-size:30px;font-weight:700;letter-spacing:-.02em}.right-stat-lbl{font-size:11.5px;opacity:.85;text-transform:uppercase;letter-spacing:.06em}.right-grid-deco{position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.06) 1px,transparent 1px);background-size:56px 56px;pointer-events:none;-webkit-mask-image:radial-gradient(circle at 60% 40%,black 30%,transparent 80%);mask-image:radial-gradient(circle at 60% 40%,black 30%,transparent 80%)}.right-card{position:relative;z-index:1;background:#ffffff14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:14px;width:320px;box-shadow:0 18px 40px #0003}.right-card .rc-key{font-family:var(--mono);font-size:10.5px;opacity:.7;letter-spacing:.02em}.right-card .rc-title{font-weight:600;font-size:14px;margin:2px 0 10px;line-height:1.35}.right-card .rc-meta{display:flex;align-items:center;gap:8px;font-size:11px;opacity:.85}.right-card-cluster{position:absolute;right:56px;bottom:100px}.right-card.offset-1{transform:translateY(-90px) translate(-30px) rotate(-3deg);opacity:.85}.right-card.offset-2{transform:translateY(-30px) translate(-100px) rotate(2deg);opacity:.65}.dash-grid{padding:20px;display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.dash-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px}.dash-card h3{font-size:13px;font-weight:600;margin:0 0 12px;display:flex;align-items:center;gap:8px}.dash-card h3 .more{margin-left:auto;color:var(--text-3);cursor:pointer}.kpi-row{display:flex;align-items:baseline;gap:8px}.kpi-num{font-size:26px;font-weight:700;letter-spacing:-.02em}.kpi-delta{font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px}.kpi-delta.up{background:var(--green-100);color:var(--green)}.kpi-delta.down{background:var(--red-100);color:var(--red)}.kpi-label{font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-weight:600}.list-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);font-size:12.5px}.list-row:last-child{border-bottom:none}.list-row .summary{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bars{display:flex;align-items:flex-end;gap:4px;height:70px}.bar{flex:1;background:var(--brand);border-radius:2px 2px 0 0;opacity:.85}.bar.alt{background:var(--brand-300)}.donut-wrap{display:flex;align-items:center;gap:16px}.donut-legend{font-size:12px}.donut-legend-item{display:flex;align-items:center;gap:6px;padding:3px 0}.donut-swatch{width:9px;height:9px;border-radius:2px}:root{--swim-col-w: 280px;--swim-lane-w: 220px;--status-todo: #6b7280;--status-inprogress: #025188;--status-blocked: #c0392b;--status-inqa: #b87514;--status-qaverified: #0c7891;--status-readytodeploy: #6b48a8;--status-done: #1f8a5b}.board-swim{flex:1;min-height:0;overflow:auto;padding:12px 20px 24px;background:var(--bg)}.swim-head{display:none;top:0;z-index:4;display:flex;align-items:stretch;background:var(--bg);padding:12px 0 8px;border-bottom:1px solid var(--border);width:max-content;min-width:100%}.swim-head-lane{flex:0 0 var(--swim-lane-w);display:flex;flex-direction:column;justify-content:center;padding:0 12px;border-right:1px solid var(--border)}.swim-head-lane-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3)}.swim-head-cols{display:grid;grid-template-columns:repeat(7,var(--swim-col-w));flex:1}.swim-head-col{padding:6px 10px;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-2);border-left:1px solid transparent;position:relative}.swim-head-col:before{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:var(--col-accent, var(--text-4))}.swim-head-col.status-todo{--col-accent: var(--status-todo)}.swim-head-col.status-inprogress{--col-accent: var(--status-inprogress)}.swim-head-col.status-blocked{--col-accent: var(--status-blocked)}.swim-head-col.status-inqa{--col-accent: var(--status-inqa)}.swim-head-col.status-qaverified{--col-accent: var(--status-qaverified)}.swim-head-col.status-readytodeploy{--col-accent: var(--status-readytodeploy)}.swim-head-col.status-done{--col-accent: var(--status-done)}.swim-head-col-label{color:var(--col-accent)}.swim-head-col-count{background:#0000000d;color:var(--text-2);padding:1px 7px;border-radius:8px;font-size:10.5px;letter-spacing:0;font-weight:600}.swimlane{width:max-content;min-width:100%;margin-bottom:16px;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 1px #14181e05}.swimlane-bar{position:sticky;left:0;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid transparent;transition:background .12s}.swimlane:not(.collapsed)>.swimlane-bar{border-bottom-color:var(--border)}.swimlane-bar:hover{background:var(--surface-2)}.swim-chev{color:var(--text-3);transition:transform .15s ease;flex-shrink:0}.swimlane.collapsed .swim-chev{transform:rotate(-90deg)}.swim-id{display:flex;align-items:center;gap:8px;min-width:0}.swim-name{font-weight:600;font-size:14px;color:var(--text);letter-spacing:-.005em}.swim-role{font-size:10.5px;color:var(--text-3);background:var(--gray-100);padding:1px 7px;border-radius:4px;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.swim-count{font-size:12.5px;color:var(--text-2);font-weight:500;font-variant-numeric:tabular-nums;margin-left:4px}.swim-count strong{color:var(--text);font-weight:700}.swim-count:before{content:"\b7";margin-right:10px;color:var(--text-4);font-weight:400}.swim-points{font-size:11px;color:var(--text-3);font-weight:600;font-variant-numeric:tabular-nums;background:var(--gray-100);padding:2px 8px;border-radius:4px}.swim-workload{display:flex;align-items:stretch;width:240px;height:8px;border-radius:999px;overflow:hidden;background:var(--gray-100);flex-shrink:0}.swim-workload-seg{display:block;height:100%}.swim-workload-seg.status-todo{background:var(--status-todo)}.swim-workload-seg.status-inprogress{background:var(--status-inprogress)}.swim-workload-seg.status-blocked{background:var(--status-blocked)}.swim-workload-seg.status-inqa{background:var(--status-inqa)}.swim-workload-seg.status-qaverified{background:var(--status-qaverified)}.swim-workload-seg.status-readytodeploy{background:var(--status-readytodeploy)}.swim-workload-seg.status-done{background:var(--status-done)}.swim-stages{display:grid;grid-template-columns:repeat(7,var(--swim-col-w));background:var(--surface-2);border-bottom:1px solid var(--border)}.swim-stage{display:flex;align-items:center;gap:8px;padding:10px 14px;border-right:1px solid var(--border);position:relative;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--col-accent, var(--text-3))}.swim-stage:last-child{border-right:none}.swim-stage:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--col-accent, var(--text-4));opacity:.85}.swim-stage-dot{width:7px;height:7px;border-radius:50%;background:var(--col-accent, var(--text-4));flex-shrink:0}.swim-stage-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swim-stage-count{background:#0000000f;color:var(--text-2);padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:0;min-width:22px;text-align:center}.swim-stage.is-empty{opacity:.55}.swim-stage.is-empty .swim-stage-count{background:transparent;color:var(--text-4)}.swim-stage.status-todo{--col-accent: var(--status-todo)}.swim-stage.status-inprogress{--col-accent: var(--status-inprogress)}.swim-stage.status-blocked{--col-accent: var(--status-blocked)}.swim-stage.status-inqa{--col-accent: var(--status-inqa)}.swim-stage.status-qaverified{--col-accent: var(--status-qaverified)}.swim-stage.status-readytodeploy{--col-accent: var(--status-readytodeploy)}.swim-stage.status-done{--col-accent: var(--status-done)}.swimlane-grid{display:grid;grid-template-columns:repeat(7,var(--swim-col-w));background:var(--bg)}.swim-cell{padding:10px 10px 14px;border-right:1px solid var(--border);min-height:96px;display:flex;flex-direction:column;gap:8px;transition:background .12s}.swim-cell:last-child{border-right:none}.swim-cell.drop-target{background:var(--brand-50);outline:2px dashed var(--brand-300);outline-offset:-4px}.swim-cell-empty{flex:1;min-height:56px;border:1px dashed transparent;border-radius:var(--r-md)}.swim-cell:hover .swim-cell-empty{border-color:var(--border)}.swimlane.is-unassigned{background:linear-gradient(180deg,#fbfaf7 0%,var(--surface) 100%);border-style:dashed;border-color:#d9d3c5}.swimlane.is-unassigned .swimlane-bar{background:transparent}.swimlane.is-unassigned .swimlane-bar:hover{background:#b08a260d}.swim-avatar-empty{background:repeating-linear-gradient(45deg,#efeae0,#efeae0 4px,#f7f3eb 4px 8px)!important;color:#8a6f2a!important;border:1px dashed #c8b88a;display:flex!important;align-items:center;justify-content:center}.swim-role-warn{background:#fdf2d6!important;color:#8a6f2a!important;border:1px solid #ecd9a3}.swim-empty{margin:32px auto;max-width:360px;text-align:center;padding:24px;border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface)}.cp-page{padding:22px 28px 48px;max-width:1240px;margin:0 auto;width:100%;min-width:980px}.cp-breadcrumb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-3);margin-bottom:8px}.cp-title-row{display:flex;align-items:flex-end;gap:16px;margin-bottom:22px}.cp-title{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:0}.cp-subtitle{color:var(--text-3);font-size:13px;margin-top:4px;max-width:540px}.cp-actions{margin-left:auto;display:flex;gap:8px}.cp-grid{display:grid;grid-template-columns:minmax(540px,1fr) 380px;gap:24px;align-items:flex-start}.cp-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:0 24px;box-shadow:var(--shadow-sm)}.cp-section{padding:20px 0 22px;border-bottom:1px solid var(--border)}.cp-section:last-child{border-bottom:none;padding-bottom:24px}.cp-section-head{margin-bottom:14px}.cp-section-title{font-size:13.5px;font-weight:600;margin:0;letter-spacing:-.005em}.cp-section-desc{font-size:12px;color:var(--text-3);margin-top:3px}.cp-field{margin-bottom:14px}.cp-field:last-child{margin-bottom:0}.cp-label{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--text-2);margin-bottom:6px}.cp-label .req{color:var(--red)}.cp-help{font-size:11.5px;color:var(--text-3);margin-top:5px;display:flex;align-items:center;gap:4px}.cp-input{font-size:13px;padding:9px 11px}.cp-row-2{display:grid;grid-template-columns:1fr 180px;gap:12px;align-items:flex-start}.cp-textarea{width:100%;min-height:78px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);outline:none;resize:vertical;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .12s,box-shadow .12s}.cp-textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0251881f}.cp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cp-cards.cols-4{grid-template-columns:repeat(4,1fr)}.cp-cards.cols-2{grid-template-columns:repeat(2,1fr)}.cp-card{border:1px solid var(--border);border-radius:var(--r-md);padding:12px;cursor:pointer;background:var(--surface);transition:border-color .12s,background .12s;text-align:left;position:relative;font-family:inherit}.cp-card:hover{border-color:var(--brand-300);background:var(--surface-2)}.cp-card.selected{border-color:var(--brand);background:var(--brand-50);box-shadow:0 0 0 1px var(--brand) inset}.cp-card-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);color:var(--text-2);margin-bottom:10px}.cp-card.selected .cp-card-icon{background:var(--brand);color:#fff}.cp-card-title{font-weight:600;font-size:12.5px;margin-bottom:2px;color:var(--text)}.cp-card-desc{font-size:11px;color:var(--text-3);line-height:1.45}.cp-card-check{position:absolute;top:8px;right:8px;width:16px;height:16px;border-radius:50%;background:var(--brand);color:#fff;display:none;align-items:center;justify-content:center}.cp-card.selected .cp-card-check{display:inline-flex}.cp-color-row{display:flex;flex-wrap:wrap;gap:8px}.cp-swatch{width:28px;height:28px;border-radius:6px;cursor:pointer;border:2px solid transparent;transition:transform .1s;padding:0}.cp-swatch:hover{transform:translateY(-1px)}.cp-swatch.selected{border-color:#fff;box-shadow:0 0 0 2px var(--text)}.cp-glyph-row{display:flex;align-items:center;gap:14px}.cp-glyph-preview{width:48px;height:48px;border-radius:10px;color:#fff;font-weight:700;font-size:17px;display:flex;align-items:center;justify-content:center;letter-spacing:-.01em;box-shadow:var(--shadow-sm);flex-shrink:0}.cp-select{width:100%;padding:8px 11px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);outline:none;font-size:13px}.cp-select:focus{border-color:var(--brand)}.cp-readonly{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface-2);color:var(--text-3);font-size:12.5px}.cp-readonly .lock-pill{display:inline-flex;align-items:center;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:1px 6px;border-radius:3px;background:var(--gray-100);color:var(--text-3);margin-left:auto}.cp-key-input{font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.cp-people-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.cp-combobox{position:relative}.cp-combobox-control{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);cursor:text;min-height:36px;font-size:13px;transition:border-color .12s,box-shadow .12s}.cp-combobox-control:hover{border-color:var(--border-strong)}.cp-combobox-control.open{border-color:var(--brand);box-shadow:0 0 0 3px #0251881f}.cp-combobox-selected{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.cp-combobox-name{font-weight:500;color:var(--text)}.cp-combobox-role{color:var(--text-3);font-size:11px;background:var(--gray-100);padding:1px 6px;border-radius:3px;margin-left:2px}.cp-combobox-input{flex:1;border:none;background:transparent;outline:none;font-size:13px;min-width:0;padding:0;color:var(--text)}.cp-combobox-input::placeholder{color:var(--text-4)}.cp-combobox-chev{color:var(--text-3);flex-shrink:0}.cp-combobox-clear{background:none;border:none;padding:2px;color:var(--text-3);border-radius:3px;cursor:pointer;display:inline-flex}.cp-combobox-clear:hover{background:var(--gray-100);color:var(--text)}.cp-combobox-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:4px;z-index:50;max-height:260px;overflow-y:auto}.cp-combobox-item{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:var(--r-sm);cursor:pointer}.cp-combobox-item:hover,.cp-combobox-item.active{background:var(--surface-2)}.cp-combobox-item.selected{background:var(--brand-50)}.cp-combobox-item-text{display:flex;flex-direction:column;min-width:0;flex:1}.cp-combobox-item-name{font-size:12.5px;font-weight:500;color:var(--text)}.cp-combobox-item-role{font-size:11px;color:var(--text-3)}.cp-combobox-empty{padding:14px 12px;text-align:center;color:var(--text-3);font-size:12px}.cp-preview{position:sticky;top:16px;display:flex;flex-direction:column;gap:12px}.cp-preview-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);display:flex;align-items:center;gap:7px}.cp-preview-label .pulse{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 #1f8a5b99;animation:cp-pulse 2s infinite}@keyframes cp-pulse{0%{box-shadow:0 0 #1f8a5b80}70%{box-shadow:0 0 0 6px #1f8a5b00}to{box-shadow:0 0 #1f8a5b00}}.cp-preview-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.cp-preview-banner{height:78px;position:relative;display:flex;align-items:flex-end;padding:0 20px;background-image:linear-gradient(to right,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.08) 1px,transparent 1px);background-size:28px 28px;transition:background-color .2s}.cp-preview-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px;letter-spacing:-.02em;box-shadow:0 6px 16px #0000002e;border:3px solid var(--surface);margin-bottom:-22px;transition:background-color .2s}.cp-preview-body{padding:28px 20px 18px}.cp-preview-name{font-size:16px;font-weight:700;letter-spacing:-.01em;margin:0 0 3px;color:var(--text)}.cp-preview-name.empty{color:var(--text-4);font-weight:500;font-style:italic}.cp-preview-key{font-family:var(--mono);font-size:11px;color:var(--text-3);letter-spacing:.04em}.cp-preview-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.cp-preview-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;background:var(--gray-100);color:var(--text-2)}.cp-preview-desc{font-size:12.5px;color:var(--text-2);line-height:1.55;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.cp-preview-desc.empty{color:var(--text-4);font-style:italic}.cp-preview-meta{display:flex;flex-direction:column;gap:10px;padding-top:14px;margin-top:14px;border-top:1px solid var(--border)}.cp-meta-row{display:grid;grid-template-columns:110px 1fr;align-items:center;font-size:12px}.cp-meta-label{color:var(--text-3);font-weight:500}.cp-meta-value{display:flex;align-items:center;gap:7px;color:var(--text);font-weight:500}.cp-meta-value.unassigned{color:var(--text-3);font-style:italic;font-weight:400}.cp-mock{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 14px 14px;box-shadow:var(--shadow-sm)}.cp-mock-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-4);margin-bottom:10px}.cp-mock-sb-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:var(--r-sm);background:var(--brand-50);color:var(--brand);font-weight:600;font-size:12.5px}.cp-mock-issue{display:flex;align-items:center;gap:10px;margin-top:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.cp-mock-issue-key{font-family:var(--mono);font-size:11px;color:var(--text-3);letter-spacing:.04em;flex-shrink:0}.cp-mock-issue-text{font-size:12.5px;color:var(--text-2)}.usr-page{padding:22px 28px 48px;max-width:none;margin:0;width:100%;min-width:980px}.usr-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:12px}.usr-title{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:0;display:flex;align-items:center;gap:10px}.usr-title-count{font-size:13px;font-weight:600;color:var(--text-3);background:var(--gray-100);padding:2px 8px;border-radius:999px;letter-spacing:0}.usr-subtitle{color:var(--text-3);font-size:13px;margin-top:4px;max-width:600px}.usr-actions{margin-left:auto;display:flex;gap:8px}.usr-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.usr-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:9px 12px;display:flex;align-items:center;gap:10px}.usr-kpi-icon{width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.usr-kpi-num{font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1}.usr-kpi-lbl{font-size:10.5px;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-top:3px;font-weight:600}.usr-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg) var(--r-lg) 0 0;border-bottom:none;padding:7px 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.usr-search{position:relative;flex:1;min-width:220px;max-width:360px}.usr-search .input{padding-left:30px;height:32px}.usr-search .icon-search{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--text-3)}.usr-select{padding:6px 28px 6px 10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);font-size:12.5px;outline:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:12px;cursor:pointer;color:var(--text)}.usr-select:focus{border-color:var(--brand)}.usr-tbl-wrap{background:var(--surface);border:1px solid var(--border);border-radius:0 0 var(--r-lg) var(--r-lg);overflow-x:auto;overflow-y:hidden}.usr-tbl{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12.5px}.usr-tbl td{overflow:hidden}.usr-tbl td .usr-name-cell{min-width:0}.usr-tbl th{background:var(--surface-2);font-weight:600;color:var(--text-3);text-align:left;padding:7px 12px;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.usr-tbl th.sortable{cursor:pointer}.usr-tbl th.sortable:hover{color:var(--text)}.usr-tbl th .sort-arrow{display:inline-flex;vertical-align:middle;margin-left:4px;opacity:.5}.usr-tbl th.sorted .sort-arrow{opacity:1;color:var(--brand)}.usr-tbl td{padding:7px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.usr-tbl tbody tr:last-child td{border-bottom:none}.usr-tbl tbody tr:hover{background:var(--brand-50)}.usr-tbl tbody tr.is-inactive td{opacity:.65}.usr-name-cell{display:flex;align-items:center;gap:10px;min-width:200px}.usr-name-text{display:flex;flex-direction:column;min-width:0}.usr-name{font-weight:600;color:var(--text)}.usr-name-role{font-size:11px;color:var(--text-3)}.usr-self-pill{display:inline-block;margin-left:6px;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:1px 5px;border-radius:3px;background:var(--brand-100);color:var(--brand);vertical-align:middle}.usr-email{color:var(--text-2);font-size:12.5px}.usr-role-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.01em}.usr-role-pill .dot{width:6px;height:6px;border-radius:50%}.usr-status{display:inline-flex;align-items:center;gap:6px;padding:2px 8px 2px 7px;border-radius:999px;font-size:11px;font-weight:600}.usr-status .dot{width:6px;height:6px;border-radius:50%}.usr-status.active .dot{animation:usr-pulse 2s infinite}@keyframes usr-pulse{0%{box-shadow:0 0 #1f8a5b80}70%{box-shadow:0 0 0 4px #1f8a5b00}to{box-shadow:0 0 #1f8a5b00}}.usr-projects{display:flex;align-items:center;gap:4px}.usr-proj-chip{width:22px;height:22px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:9px;letter-spacing:-.01em;border:1.5px solid var(--surface);margin-left:-4px}.usr-proj-chip:first-child{margin-left:0}.usr-proj-more{font-size:11px;color:var(--text-3);margin-left:4px;font-weight:600}.usr-proj-empty{color:var(--text-4);font-size:11.5px;font-style:italic}.usr-actions-cell{text-align:right;white-space:nowrap;vertical-align:middle}.usr-actions-cell>*{vertical-align:middle}.usr-action-btn.active{background:var(--surface);border-color:var(--border);color:var(--text)}.prj-actions-menu{min-width:184px}.prj-actions-menu .dropdown-item{color:var(--text-2)}.prj-actions-menu .dropdown-item.danger{color:var(--red)}.prj-actions-menu .dropdown-item.danger:hover{background:var(--red-100)}.prj-actions-menu .dropdown-item.is-disabled{color:var(--text-4);cursor:default;font-style:italic}.prj-actions-menu .dropdown-item.is-disabled:hover{background:transparent}.prj-menu-sep{height:1px;background:var(--border);margin:4px 2px}.usr-action-btn{background:transparent;border:1px solid transparent;padding:5px;border-radius:var(--r-sm);color:var(--text-3);display:inline-flex;margin-left:2px;cursor:pointer}.usr-action-btn:hover{background:var(--surface);border-color:var(--border);color:var(--text)}.usr-action-btn.danger:hover{color:var(--red);border-color:#f1c8c4;background:var(--red-100)}.usr-action-btn[disabled]{opacity:.35;cursor:not-allowed}.usr-pagination{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--border);background:var(--surface-2);font-size:12px;color:var(--text-3)}.usr-pagination .pager-spacer{flex:1}.usr-page-btn{padding:4px 9px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);font-size:12px;font-variant-numeric:tabular-nums;cursor:pointer;color:var(--text-2)}.usr-page-btn:hover:not([disabled]){border-color:var(--brand-300);color:var(--brand)}.usr-page-btn.active{background:var(--brand);border-color:var(--brand);color:#fff}.usr-page-btn[disabled]{opacity:.45;cursor:not-allowed}.usr-empty{padding:56px 20px;text-align:center;color:var(--text-3)}.usr-empty-icon{width:56px;height:56px;border-radius:14px;background:var(--brand-50);color:var(--brand);display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px}.usr-form-banner{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-md);margin-bottom:18px;font-size:12.5px;color:var(--brand-700)}.usr-form-banner .ic{width:28px;height:28px;border-radius:7px;background:var(--surface);color:var(--brand);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--brand-100)}.usr-form-banner b{color:var(--brand-700)}.usr-form-banner-body{line-height:1.5}.usr-role-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.usr-role-card{border:1px solid var(--border);border-radius:var(--r-md);padding:12px 12px 12px 14px;cursor:pointer;background:var(--surface);text-align:left;position:relative;font-family:inherit;display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:flex-start;transition:border-color .12s,background .12s}.usr-role-card:hover{border-color:var(--brand-300);background:var(--surface-2)}.usr-role-card.selected{border-color:var(--brand);background:var(--brand-50);box-shadow:0 0 0 1px var(--brand) inset}.usr-role-card-badge{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;letter-spacing:.02em;color:#fff}.usr-role-card-title{font-weight:600;font-size:13px;color:var(--text)}.usr-role-card-desc{font-size:11.5px;color:var(--text-3);margin-top:3px;line-height:1.45}.usr-role-card-check{position:absolute;top:8px;right:8px;width:16px;height:16px;border-radius:50%;background:var(--brand);color:#fff;display:none;align-items:center;justify-content:center}.usr-role-card.selected .usr-role-card-check{display:inline-flex}.usr-avatar-row{display:flex;align-items:center;gap:14px}.usr-avatar-big{width:56px;height:56px;border-radius:50%;color:#fff;font-weight:700;font-size:20px;display:flex;align-items:center;justify-content:center;letter-spacing:.02em;box-shadow:var(--shadow-sm);flex-shrink:0}.usr-preview-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.usr-preview-top{padding:22px 20px 16px;display:flex;align-items:center;gap:14px;background-image:linear-gradient(to right,rgba(2,81,136,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(2,81,136,.04) 1px,transparent 1px);background-size:28px 28px;border-bottom:1px solid var(--border)}.usr-preview-name{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.25}.usr-preview-name.empty{color:var(--text-4);font-weight:500;font-style:italic}.usr-preview-email{font-size:12px;color:var(--text-3);margin-top:3px;word-break:break-all}.usr-preview-email.empty{color:var(--text-4);font-style:italic}.usr-preview-meta{padding:14px 20px 18px;display:flex;flex-direction:column;gap:10px}.usr-preview-meta .cp-meta-row{grid-template-columns:100px 1fr}.usr-preview-foot{padding:12px 20px;background:var(--surface-2);border-top:1px solid var(--border);display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--text-3);line-height:1.5}.usr-preview-foot .ic-wrap{width:22px;height:22px;border-radius:5px;background:var(--amber-100);color:var(--amber);display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--text);color:#fff;padding:10px 16px;border-radius:var(--r-md);display:flex;align-items:center;gap:8px;font-size:12.5px;box-shadow:var(--shadow-lg);z-index:200;animation:toast-in .18s ease-out}@keyframes toast-in{0%{transform:translate(-50%,10px);opacity:0}to{transform:translate(-50%);opacity:1}}.confirm-backdrop{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:150}.confirm-dialog{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:420px;max-width:92vw;padding:20px 22px}.confirm-title{font-size:15px;font-weight:700;margin:0 0 6px}.confirm-body{font-size:13px;color:var(--text-2);line-height:1.55;margin-bottom:18px}.confirm-actions{display:flex;gap:8px;justify-content:flex-end}.ss-dialog{width:480px}.ss-summary{font-size:13px;color:var(--text-2);margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid var(--border)}.ss-summary b{color:var(--text-1);font-weight:600}.ss-grid{display:grid;grid-template-columns:104px 1fr;gap:12px 14px;align-items:center}.ss-flabel{font-size:12.5px;font-weight:500;color:var(--text-2);text-align:right}.ss-flabel-top{align-self:start;padding-top:9px}.ss-flabel .req{color:var(--red);margin-left:2px}.ss-textarea{resize:vertical;line-height:1.5;font-family:inherit}.ss-warn{color:var(--red);font-size:12px;margin-top:12px}.ss-check{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-2);margin-top:18px;cursor:pointer}.ss-check input{cursor:pointer}.hstack{display:flex;align-items:center;gap:8px}.vstack{display:flex;flex-direction:column;gap:8px}.spacer{flex:1}.muted{color:var(--text-3)}.divider{height:1px;background:var(--border);margin:12px 0}.text-mono{font-family:var(--mono)}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prj-key{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:2px 7px}.sidebar-label-add{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;color:var(--text-3);transition:background .12s,color .12s}.sidebar-label-add:hover{background:var(--brand-50);color:var(--brand)}.prj-modal{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:640px;max-width:94vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.prj-modal-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--surface-2)}.prj-modal-icon{width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.04em;flex-shrink:0}.prj-modal-title{font-size:15px;font-weight:700;margin:0;letter-spacing:-.01em}.prj-modal-sub{font-size:12px;color:var(--text-3);margin-top:2px}.prj-modal-body{padding:18px 20px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.prj-modal-foot{padding:12px 20px;border-top:1px solid var(--border);background:var(--surface-2);display:flex;gap:8px;justify-content:flex-end}.prj-seg{display:inline-flex;border:1px solid var(--border);border-radius:7px;overflow:hidden;background:var(--surface-2);padding:2px;gap:2px;height:34px;align-items:stretch}.prj-seg-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:none;background:transparent;border-radius:5px;font-size:12.5px;color:var(--text-2);cursor:pointer;font-weight:500}.prj-seg-btn:hover{color:var(--text)}.prj-seg-btn.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--shadow-sm)}.prj-seg-btn .dot{width:7px;height:7px;border-radius:50%;display:inline-block}.pu-page{padding:0 28px 48px;min-width:980px}.pu-section-head{display:flex;align-items:flex-end;gap:16px;padding:12px 0 10px}.pu-section-head>div:first-child{flex:1;min-width:0}.pu-section-title{font-size:17px;font-weight:700;margin:0;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}.pu-section-count{font-size:12px;font-weight:600;background:var(--gray-100);color:var(--text-2);padding:2px 8px;border-radius:999px;line-height:1.4}.pu-section-sub{font-size:12.5px;color:var(--text-3);margin-top:4px;max-width:720px;line-height:1.5}.pu-role-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:14px}.pu-role-card{display:flex;align-items:center;gap:9px;padding:7px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;font:inherit;text-align:left;transition:border-color .12s,background .12s,transform .12s}.pu-role-card:hover{border-color:var(--brand-300)}.pu-role-card.active{border-color:var(--brand);background:var(--brand-50);box-shadow:0 0 0 1px var(--brand) inset}.pu-role-card-swatch{width:6px;height:22px;border-radius:3px;flex-shrink:0}.pu-role-card-body{min-width:0}.pu-role-card-num{font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1;font-variant-numeric:tabular-nums}.pu-role-card-lbl{font-size:10.5px;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-weight:600}.pu-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:7px 12px;margin-bottom:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pu-search{position:relative;flex:1;min-width:220px;max-width:360px}.pu-search .input{padding-left:30px;height:32px}.pu-search .icon-search{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--text-3)}.pu-role-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:12px;font-size:11.5px;font-weight:600;letter-spacing:.01em;white-space:nowrap}.pu-role-chip .dot{width:6px;height:6px;border-radius:50%}.pu-role-chip-x{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:1px;border:none;background:#0000000f;border-radius:50%;cursor:pointer;color:inherit}.pu-role-chip-x:hover{background:#00000024}.pu-roles-cell{position:relative;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pu-roles-chips{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.pu-roles-edit{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px dashed var(--border);background:transparent;color:var(--text-3);border-radius:6px;font-size:11px;font-weight:500;cursor:pointer}.pu-roles-edit:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-50);border-style:solid}.pu-inline-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:80;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);width:320px;padding:6px}.pu-inline-pop-fixed{position:fixed;top:auto;left:0;z-index:1200;overflow-y:auto}.pu-inline-pop-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);padding:8px 10px 4px}.pu-modal{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:680px;max-width:94vw;max-height:90vh;display:flex;flex-direction:column;overflow:visible;animation:pu-modal-in .18s ease}@keyframes pu-modal-in{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.pu-modal-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--surface-2);border-radius:var(--r-lg) var(--r-lg) 0 0;overflow:hidden}.pu-modal-icon{width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.04em;flex-shrink:0}.pu-modal-title{font-size:15px;font-weight:700;margin:0;letter-spacing:-.01em}.pu-modal-sub{font-size:12px;color:var(--text-3);margin-top:3px;line-height:1.45}.pu-modal-body{padding:18px 20px;display:flex;flex-direction:column;gap:18px;overflow:visible}.pu-modal-foot{padding:12px 18px;border-top:1px solid var(--border);background:var(--surface-2);display:flex;gap:8px;align-items:center;border-radius:0 0 var(--r-lg) var(--r-lg);overflow:hidden}.pu-field{display:flex;flex-direction:column;gap:6px}.pu-label{font-size:12px;font-weight:700;color:var(--text-2);letter-spacing:.01em;display:flex;align-items:center;gap:6px}.pu-label-req{color:var(--red)}.pu-label-hint{margin-left:auto;font-size:11px;font-weight:500;color:var(--text-3);letter-spacing:0}.pu-helper{font-size:11.5px;color:var(--text-3);line-height:1.5}.pu-helper em{font-style:normal;font-weight:600;color:var(--text-2)}.pu-suggest{position:relative}.pu-suggest-control{min-height:40px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);padding:5px 8px;display:flex;align-items:center;flex-wrap:wrap;gap:5px;cursor:text;transition:border-color .12s,box-shadow .12s}.pu-suggest-control.focused{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50)}.pu-suggest-input{flex:1;min-width:140px;border:none;outline:none;background:transparent;font-size:13px;padding:4px 2px;color:var(--text);font-family:inherit}.pu-user-token{display:inline-flex;align-items:center;gap:5px;padding:2px 4px 2px 2px;background:var(--brand-50);border:1px solid var(--brand-100);color:var(--brand-700);border-radius:14px;font-size:11.5px;font-weight:600}.pu-user-token-avatar{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:9px;font-weight:700}.pu-user-token-x{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:transparent;color:var(--brand-700);border-radius:50%;cursor:pointer}.pu-user-token-x:hover{background:var(--brand-100)}.pu-suggest-menu{position:absolute;z-index:60;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);max-height:280px;overflow-y:auto;padding:4px}.pu-suggest-item{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:var(--r-sm);cursor:pointer;font-size:13px}.pu-suggest-item:hover,.pu-suggest-item.highlight{background:var(--brand-50)}.pu-suggest-item-text{flex:1;min-width:0}.pu-suggest-item-name{font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}.pu-suggest-item-job{font-weight:500;color:var(--text-3);font-size:11.5px}.pu-suggest-item-email{font-size:11.5px;color:var(--text-3);margin-top:2px}.pu-suggest-empty{padding:22px 12px;text-align:center;font-size:12.5px;color:var(--text-3)}.pu-multi{position:relative}.pu-multi-control{width:100%;min-height:40px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:6px 10px 6px 8px;display:flex;align-items:center;gap:8px;cursor:pointer;font:inherit;text-align:left;transition:border-color .12s,box-shadow .12s}.pu-multi.open .pu-multi-control,.pu-multi-control:hover{border-color:var(--brand-300)}.pu-multi.open .pu-multi-control{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50)}.pu-multi-values{flex:1;display:flex;flex-wrap:wrap;gap:5px;min-height:24px;align-items:center}.pu-multi-placeholder{color:var(--text-4);font-size:13px}.pu-multi-menu{position:absolute;z-index:60;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);max-height:320px;overflow-y:auto;padding:4px}.pu-multi-menu.pu-multi-menu-fixed{position:fixed;top:auto;right:auto;z-index:1200}.pu-multi-option{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:var(--r-sm);cursor:pointer;font-size:13px}.pu-multi-option:hover,.pu-multi-option.checked{background:var(--brand-50)}.pu-multi-check{width:18px;height:18px;border-radius:4px;border:1.5px solid var(--border);flex-shrink:0;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);color:#fff}.pu-multi-option.checked .pu-multi-check{background:var(--brand);border-color:var(--brand)}.pu-multi-swatch{width:4px;align-self:stretch;border-radius:2px;flex-shrink:0}.pu-multi-option-text{flex:1;min-width:0}.pu-multi-option-title{font-weight:600;color:var(--text)}.pu-multi-option-desc{font-size:11.5px;color:var(--text-3);margin-top:2px;line-height:1.4}.pu-preview{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 14px}.pu-preview-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:8px}.pu-preview-rows{display:flex;flex-direction:column;gap:8px}.pu-preview-row{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 10px}.pu-preview-name{min-width:0}.pu-preview-roles{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;max-width:320px}.ci-backdrop{align-items:center;justify-content:center}.ci-modal{width:880px;max-width:96vw;max-height:92vh;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:ci-in .18s ease-out}@keyframes ci-in{0%{transform:translateY(12px) scale(.985);opacity:0}to{transform:none;opacity:1}}.ci-head{display:flex;align-items:center;padding:11px 14px 11px 18px;border-bottom:1px solid var(--border);background:var(--surface-2);gap:12px}.ci-head-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.ci-head-title{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:14px;color:var(--text);letter-spacing:-.005em}.ci-head-title .lucide{color:var(--brand)}.ci-head-title:after{content:"";display:inline-block;width:1px;height:16px;background:var(--border);margin-left:6px}.ci-head-project{position:relative}.ci-proj-btn{display:inline-flex;align-items:center;gap:7px;padding:4px 8px 4px 6px;border:1px solid var(--border);background:var(--surface);border-radius:var(--r-md);cursor:pointer;font:inherit;color:var(--text);max-width:220px}.ci-proj-btn:hover{border-color:var(--brand-300)}.ci-proj-static{display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 6px;border-radius:var(--r-md);font:inherit;color:var(--text);max-width:240px}.ci-proj-name{font-weight:600;font-size:12.5px;min-width:0}.ci-proj-menu{top:calc(100% + 4px);left:0;min-width:280px;z-index:60}.ci-proj-item{padding:7px 9px}.ci-proj-item.selected{background:var(--brand-50)}.ci-key-pill{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--text-3);background:var(--gray-100);padding:3px 8px;border-radius:4px}.ci-body{display:grid;grid-template-columns:1fr 320px;flex:1;min-height:0;overflow:hidden}.ci-main{padding:18px 20px;overflow-y:auto;min-width:0}.ci-side{border-left:1px solid var(--border);background:var(--surface-2);padding:18px;overflow-y:auto}.ci-field{margin-bottom:16px}.ci-field:last-child{margin-bottom:0}.ci-label{display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin-bottom:7px}.ci-label .req{color:var(--red)}.ci-help{font-size:11px;color:var(--text-4);margin-top:4px}.ci-input{font-size:13px;padding:8px 10px}.ci-summary{font-size:15px;font-weight:500;padding:10px 12px;letter-spacing:-.005em}.ci-summary:focus{box-shadow:0 0 0 3px #02518824}.ci-textarea{width:100%;min-height:84px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);outline:none;resize:vertical;font-family:inherit;font-size:13px;line-height:1.55;color:var(--text);transition:border-color .12s,box-shadow .12s}.ci-textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0251881f}.ci-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.ci-type-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--border);background:var(--surface);border-radius:var(--r-md);cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;color:var(--text-2);text-align:left;transition:border-color .12s,background .12s,color .12s}.ci-type-chip:hover{border-color:var(--brand-300);color:var(--text)}.ci-type-chip.selected{border-color:var(--brand);background:var(--brand-50);color:var(--brand);font-weight:600;box-shadow:0 0 0 1px var(--brand) inset}.ci-label-preview{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.ci-side-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-4);margin-bottom:12px}.ci-side-field{display:grid;grid-template-rows:auto auto;gap:4px;margin-bottom:13px}.ci-side-name{font-size:11px;font-weight:600;color:var(--text-3);letter-spacing:.01em}.ci-side-value{font-size:12.5px;color:var(--text);min-height:28px;display:flex;align-items:center}.ci-side-value .user-picker,.ci-side-value .user-picker-trigger{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm)}.ci-side-value .user-picker-trigger{padding:5px 8px;min-height:30px}.ci-side-value .user-picker-trigger:hover{background:var(--surface);border-color:var(--brand-300)}.ci-select{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);outline:none;font-size:12.5px;color:var(--text);font-family:inherit}.ci-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0251881f}.ci-date{color-scheme:light}.ci-priority-row{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;width:100%}.ci-priority-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px 4px;border:1px solid var(--border);background:var(--surface);border-radius:var(--r-sm);font-size:11px;font-weight:600;color:var(--text-3);cursor:pointer;font-family:inherit}.ci-priority-btn:hover{color:var(--text);border-color:var(--brand-300)}.ci-priority-btn.selected{font-weight:700}.ci-points-row{display:flex;gap:4px;width:100%;align-items:center}.ci-points-btn{flex:0 0 26px;height:26px;border:1px solid var(--border);background:var(--surface);border-radius:var(--r-sm);cursor:pointer;font-family:var(--mono);font-size:11.5px;font-weight:600;color:var(--text-2);padding:0}.ci-points-btn:hover{border-color:var(--brand-300);color:var(--brand)}.ci-points-btn.selected{background:var(--brand);border-color:var(--brand);color:#fff}.ci-points-input{width:44px;height:26px;border:1px solid var(--border);border-radius:var(--r-sm);padding:0 6px;font-family:var(--mono);font-size:11.5px;font-weight:600;color:var(--text);background:var(--surface);outline:none;margin-left:auto;text-align:center}.ci-points-input:focus{border-color:var(--brand)}.ci-points-input::-webkit-inner-spin-button{display:none}.ci-color-row{display:flex;flex-wrap:wrap;gap:6px}.ci-color-swatch{width:24px;height:24px;border-radius:6px;border:2px solid transparent;box-shadow:0 0 0 1px #00000014 inset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:transform .1s,box-shadow .1s}.ci-color-swatch:hover{transform:scale(1.08)}.ci-color-swatch.selected{border-color:var(--surface);box-shadow:0 0 0 2px var(--brand)}.ci-status-row{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;width:100%}.ci-status-btn{padding:6px 4px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-2);font-size:11.5px;font-family:inherit;cursor:pointer;white-space:nowrap;transition:border-color .12s,background .12s,color .12s}.ci-status-btn:hover{color:var(--text);border-color:var(--brand-300)}.ci-status-btn.selected{border-color:var(--brand);background:var(--brand-50);color:var(--brand);font-weight:700}.ci-foot{display:flex;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--border);background:var(--surface-2)}.ci-create-another{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none}.ci-create-another input{accent-color:var(--brand);width:14px;height:14px}.ci-toast{gap:10px;padding:10px 14px}.ci-toast-link{color:#9ecbed;font-weight:600;font-size:12px;text-decoration:none;margin-left:8px;padding:2px 6px;border-radius:4px}.ci-toast-link:hover{background:#ffffff1a;color:#fff}.re-wrap{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);transition:border-color .12s,box-shadow .12s;overflow:hidden}.re-wrap.focused{border-color:var(--brand);box-shadow:0 0 0 3px #0251881f}.re-toolbar{display:flex;align-items:center;gap:2px;padding:5px 6px;border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap}.re-tool-group{display:inline-flex;align-items:center;gap:2px}.re-tool-sep{width:1px;height:16px;background:var(--border);margin:0 4px}.re-tool-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid transparent;background:transparent;border-radius:var(--r-sm);cursor:pointer;font-family:inherit;font-size:13px;color:var(--text-2);padding:0;line-height:1}.re-tool-btn:hover{background:var(--surface);border-color:var(--border);color:var(--text)}.re-tool-btn.active{background:var(--brand-50);color:var(--brand);border-color:var(--brand-300)}.re-tool-btn b,.re-tool-btn i,.re-tool-btn u,.re-tool-btn s{font-size:12.5px}.re-block-select{height:26px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);padding:0 22px 0 7px;font-family:inherit;font-size:11.5px;font-weight:500;color:var(--text-2);cursor:pointer;outline:none}.re-block-select:hover{color:var(--text);border-color:var(--brand-300)}.re-editor-wrap{position:relative}.re-editor{min-height:110px;max-height:260px;overflow-y:auto;padding:10px 12px;outline:none;font-family:inherit;font-size:13px;line-height:1.55;color:var(--text)}.re-editor:empty:before{content:""}.re-editor p{margin:0 0 8px}.re-editor p:last-child{margin-bottom:0}.re-editor h2{font-size:16px;font-weight:700;margin:6px 0;color:var(--text)}.re-editor h3{font-size:14px;font-weight:700;margin:6px 0 4px;color:var(--text)}.re-editor ul,.re-editor ol{padding-left:20px;margin:4px 0 8px}.re-editor li{margin-bottom:2px}.re-editor blockquote{margin:4px 0 8px;padding:4px 10px;border-left:3px solid var(--brand-300);background:var(--surface-2);color:var(--text-2);border-radius:0 var(--r-sm) var(--r-sm) 0;font-style:italic}.re-editor pre{margin:4px 0 8px;padding:8px 10px;background:#f3f4f6;border-radius:var(--r-sm);font-family:var(--mono);font-size:12px;white-space:pre-wrap}.re-editor a{color:var(--brand);text-decoration:underline}.re-placeholder{position:absolute;top:10px;left:12px;color:var(--text-4);font-size:13px;pointer-events:none;-webkit-user-select:none;user-select:none}.as-wrap{position:relative;width:100%}.as-trigger{display:flex;align-items:center;gap:6px;width:100%;min-height:30px;padding:5px 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;font-family:inherit;font-size:12.5px;color:var(--text);text-align:left}.as-trigger:hover{border-color:var(--brand-300)}.as-selected{display:inline-flex;align-items:center;gap:6px;flex:1;min-width:0}.as-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.as-hint{font-size:11px;color:var(--text-4);font-family:var(--mono);flex-shrink:0;margin-left:auto}.as-placeholder{color:var(--text-4);font-size:12.5px;flex:1}.as-input{width:100%;min-height:30px;padding:5px 10px;border:1px solid var(--brand);border-radius:var(--r-sm);background:var(--surface);font-family:inherit;font-size:12.5px;color:var(--text);outline:none;box-shadow:0 0 0 3px #0251881f}.as-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:0 8px 24px #0f172a1f;padding:4px;max-height:240px;overflow-y:auto}.as-item{display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:var(--r-sm);cursor:pointer;font-size:12.5px;color:var(--text)}.as-item.hi{background:var(--brand-50)}.as-item.selected{background:var(--brand-50);color:var(--brand);font-weight:600}.as-item .as-label{flex:1;min-width:0}.as-empty{padding:10px 8px;font-size:12px;color:var(--text-4);text-align:center}.tok-wrap{position:relative;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);padding:4px 6px;min-height:36px;cursor:text;transition:border-color .12s,box-shadow .12s}.tok-wrap.focused{border-color:var(--brand);box-shadow:0 0 0 3px #0251881f}.tok-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.tok-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 8px;background:var(--brand-50);color:var(--brand);border:1px solid var(--brand-300);border-radius:999px;font-size:11.5px;font-weight:500;line-height:1}.tok-x{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border:none;background:transparent;color:var(--brand);border-radius:50%;cursor:pointer;font-size:14px;line-height:1;padding:0;opacity:.7}.tok-x:hover{opacity:1;background:#0251881f}.tok-input{flex:1;min-width:80px;border:none;outline:none;background:transparent;font-family:inherit;font-size:13px;color:var(--text);padding:4px;height:24px}.tok-menu{padding:4px}.tok-create{color:var(--brand);font-weight:500;font-style:italic}.tok-create b{font-style:normal;font-weight:700}.editable-title{display:flex;align-items:center;gap:8px}.editable-title .modal-title{flex:1;cursor:pointer}.editable-title.editing .modal-title{background:var(--surface);box-shadow:0 0 0 2px var(--brand-300, #9ec5e8);cursor:text}.editable-title-actions{display:inline-flex;gap:4px;align-self:center;flex-shrink:0;opacity:1;animation:et-fade .12s ease-out both}@keyframes et-fade{0%{transform:translateY(-2px)}to{transform:none}}.title-action{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text-2);transition:background .12s,border-color .12s,color .12s}.title-action:hover{background:var(--surface-2)}.title-action.save{background:var(--green, #1e7a3c);color:#fff;border-color:transparent}.title-action.save:hover{filter:brightness(1.05)}.title-action.cancel{color:var(--text-2)}.title-action.cancel:hover{background:var(--red-100, #fdecec);color:var(--red, #c0392b);border-color:transparent}.wysiwyg{border:1px solid transparent;border-radius:var(--r-md);background:transparent;transition:background .12s,border-color .12s}.wysiwyg:hover{background:var(--surface-2);cursor:text}.wysiwyg.editing{background:var(--surface);border-color:var(--border);cursor:default;box-shadow:0 1px #0f172a05}.wysiwyg-rendered,.wysiwyg-placeholder{padding:10px 12px;font-size:13px;color:var(--text);line-height:1.6;min-height:48px}.wysiwyg-placeholder{color:var(--text-4);font-style:italic}.wysiwyg-rendered p{margin:0 0 8px}.wysiwyg-rendered p:last-child{margin-bottom:0}.wysiwyg-rendered ul,.wysiwyg-rendered ol{margin:6px 0 8px 18px;padding:0}.wysiwyg-rendered li{margin:2px 0}.wysiwyg-rendered h3{font-size:14px;font-weight:700;margin:10px 0 6px}.wysiwyg-rendered blockquote{margin:6px 0;padding:6px 12px;border-left:3px solid var(--brand);color:var(--text-2);background:var(--surface-2);border-radius:0 6px 6px 0}.wysiwyg-rendered pre{margin:6px 0;padding:10px 12px;background:#0f172a;color:#e2e8f0;font-family:Geist Mono,ui-monospace,monospace;font-size:12px;border-radius:6px;overflow-x:auto;white-space:pre-wrap}.wysiwyg-rendered a{color:var(--brand);text-decoration:underline}.wysiwyg-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;border-bottom:1px solid var(--border);background:var(--surface-2);border-radius:var(--r-md) var(--r-md) 0 0}.wt-btn{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:5px;cursor:pointer;color:var(--text-2);font-size:12.5px;padding:0;line-height:1}.wt-btn:hover{background:var(--surface);border-color:var(--border);color:var(--text)}.wt-btn.active{background:var(--brand-50);color:var(--brand);border-color:transparent}.wt-btn b,.wt-btn i,.wt-btn u,.wt-btn s{font-style:normal;font-weight:700}.wt-btn i{font-style:italic;font-weight:500}.wt-btn u{text-decoration:underline;font-weight:500}.wt-btn s{text-decoration:line-through;font-weight:500}.wt-sep{width:1px;height:18px;background:var(--border);margin:0 4px;display:inline-block}.wysiwyg-area{padding:10px 12px;min-height:120px;outline:none;font-size:13px;line-height:1.6;color:var(--text)}.wysiwyg-area:empty:before{content:attr(data-placeholder);color:var(--text-4);font-style:italic;pointer-events:none}.wysiwyg-area p{margin:0 0 8px}.wysiwyg-area ul,.wysiwyg-area ol{margin:6px 0 8px 22px;padding:0}.wysiwyg-area h3{font-size:14px;font-weight:700;margin:10px 0 6px}.wysiwyg-area blockquote{margin:6px 0;padding:6px 12px;border-left:3px solid var(--brand);color:var(--text-2);background:var(--surface-2)}.wysiwyg-area pre{margin:6px 0;padding:10px 12px;background:#0f172a;color:#e2e8f0;font-family:Geist Mono,ui-monospace,monospace;font-size:12px;border-radius:6px;white-space:pre-wrap}.wysiwyg-area a{color:var(--brand)}.wysiwyg-actions{display:flex;justify-content:flex-end;gap:6px;padding:6px 8px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--r-md) var(--r-md)}.mention-textarea{width:100%;min-height:60px;padding:10px;border:none;outline:none;resize:vertical;border-radius:var(--r-md);background:transparent;font-size:12.5px;font-family:inherit;color:var(--text);line-height:1.5}.mention-textarea::placeholder{color:var(--text-4)}.mention-popup{z-index:200;width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:0 12px 32px #0f172a29;padding:6px;animation:mp-in .12s ease-out}@keyframes mp-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.mention-popup-header{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding:4px 8px 6px}.mention-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r-sm);cursor:pointer}.mention-item.hl,.mention-item:hover{background:var(--brand-50)}.comment-compose{background:var(--surface)!important}.attach-list{display:flex;flex-wrap:wrap;gap:6px;padding:0 10px 8px}.attach-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 6px;border-radius:999px;background:var(--brand-50);color:var(--brand);font-size:11.5px;border:1px solid var(--brand-100, rgba(2, 81, 136, .18))}.attach-chip-ico{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;background:#0251881f;border-radius:50%}.attach-chip-name{font-weight:500;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-chip-size{color:var(--text-3);font-size:10.5px}.attach-chip-x{border:none;background:transparent;padding:1px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--text-3)}.attach-chip-x:hover{background:#0000000f;color:var(--red, #c0392b)}.comment-files{display:flex;flex-direction:column;gap:4px;margin-top:8px}.comment-file{display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 5px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);font-size:11.5px;max-width:100%}.comment-file-ico{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;font-size:9.5px;font-weight:700;letter-spacing:.04em;flex-shrink:0}.comment-file-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.comment-file-size{color:var(--text-3);font-size:11px}.modal-section h3 .modal-section-add{float:right;border:1px dashed var(--border);background:transparent;border-radius:var(--r-sm);padding:2px 8px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;color:var(--text-3);font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-top:-2px}.modal-section h3 .modal-section-add:hover{color:var(--brand);border-color:var(--brand);background:var(--brand-50)}.attach-drop{border:1.5px dashed var(--border);background:var(--surface-2);border-radius:var(--r-md);padding:20px 16px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;color:var(--text-3);transition:border-color .12s,background .12s,color .12s}.attach-drop:hover{border-color:var(--brand);background:var(--brand-50);color:var(--brand)}.attach-drop-text{font-size:12.5px}.attach-drop-text b{color:var(--text-2);font-weight:600}.attach-drop:hover .attach-drop-text b{color:var(--brand)}.attach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.attach-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;transition:border-color .12s,box-shadow .12s}.attach-tile:hover{border-color:var(--brand-300, #9ec5e8);box-shadow:0 6px 18px #0f172a14}.attach-thumb{position:relative;height:86px;display:flex;align-items:center;justify-content:center;font-weight:700;letter-spacing:.06em;border-bottom:1px solid var(--border)}.attach-thumb-ext{font-size:16px}.attach-img-preview{position:absolute;inset:0;background:linear-gradient(135deg,#e7f1fb,#cfe2f5);display:flex;align-items:center;justify-content:center;color:#1a5fa8;overflow:hidden}.attach-img-preview-stripes{position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.5) 0 6px,transparent 6px 14px);opacity:.55}.attach-img-preview-icon{position:relative;z-index:1}.attach-tile-x{position:absolute;top:6px;right:6px;width:22px;height:22px;border:none;background:#0f172a8c;color:#fff;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s,background .12s}.attach-tile:hover .attach-tile-x{opacity:1}.attach-tile-x:hover{background:var(--red, #c0392b)}.attach-tile-meta{padding:8px 10px 4px;font-size:12px;min-width:0}.attach-tile-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.attach-tile-sub{display:flex;gap:4px;align-items:center;margin-top:2px;color:var(--text-3);font-size:11px}.attach-tile-sub .dot-sep{opacity:.5}.attach-tile-actions{display:flex;gap:2px;padding:2px 6px 8px;border-top:1px solid transparent}.attach-tile-add{background:transparent;border:1.5px dashed var(--border);color:var(--text-3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:12px;cursor:pointer;min-height:86px;transition:color .12s,border-color .12s,background .12s;font-family:inherit}.attach-tile-add:hover{color:var(--brand);border-color:var(--brand);background:var(--brand-50)}.notif-badge{position:absolute;top:0;right:0;min-width:15px;height:15px;padding:0 4px;border-radius:8px;background:var(--red);color:#fff;font-size:9.5px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--surface)}.sidebar-item-count-accent{background:var(--brand-100);color:var(--brand);font-weight:700}.notif-pop{position:absolute;top:calc(100% + 8px);right:0;width:384px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);z-index:120;overflow:hidden}.notif-pop-head{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--border)}.notif-pop-title{font-weight:600;font-size:13.5px;display:flex;align-items:center;gap:8px}.notif-pop-count{font-size:10.5px;font-weight:700;color:var(--brand);background:var(--brand-50);padding:1px 7px;border-radius:999px}.notif-link-btn{background:none;border:none;padding:2px 4px;color:var(--brand);font-size:12px;font-weight:500;cursor:pointer;border-radius:4px}.notif-link-btn:hover{background:var(--brand-50)}.notif-list{max-height:440px;overflow-y:auto}.notif-row{display:flex;gap:11px;padding:11px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.notif-row:last-child{border-bottom:none}.notif-row:hover{background:var(--surface-2)}.notif-row.unread{background:var(--brand-50)}.notif-row.unread:hover{background:#e6eff6}.notif-ic{width:30px;height:30px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.notif-body{flex:1;min-width:0}.notif-lead{font-size:12.5px;line-height:1.45;color:var(--text-2)}.notif-lead b{color:var(--text);font-weight:600}.notif-detail{margin-top:2px;min-width:0}.notif-quote{font-size:12px;color:var(--text-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-sub{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-time{font-size:11px;color:var(--text-4);margin-top:4px}.notif-dot{width:7px;height:7px;border-radius:50%;background:var(--brand);flex-shrink:0;align-self:center}.notif-pop-foot{padding:9px 14px;border-top:1px solid var(--border);text-align:center}.notif-pop-foot a{font-size:12.5px;font-weight:500}.notif-empty{padding:38px 20px;text-align:center;color:var(--text-3);font-size:12.5px}.notif-icon-btn{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;border-radius:var(--r-sm);color:var(--text-3);cursor:pointer}.notif-icon-btn:hover{background:var(--surface);border-color:var(--border);color:var(--text)}.inbox-title-badge{margin-left:10px;font-size:12px;font-weight:700;color:#fff;background:var(--red);padding:1px 9px;border-radius:999px;vertical-align:middle}.inbox-tabs{display:flex;gap:4px;flex-wrap:wrap}.inbox-tab{padding:5px 11px;border-radius:999px;font-size:12.5px;font-weight:500;color:var(--text-3);cursor:pointer;border:1px solid transparent;display:flex;align-items:center;gap:7px}.inbox-tab:hover{background:var(--surface-2);color:var(--text)}.inbox-tab.active{background:var(--brand-50);color:var(--brand);border-color:var(--brand-100)}.inbox-tab-count{font-size:10.5px;font-weight:600;background:var(--gray-100);color:var(--text-3);border-radius:999px;padding:0 6px}.inbox-tab.active .inbox-tab-count{background:var(--brand-100);color:var(--brand)}.inbox-wrap{max-width:780px;width:100%;margin:0 auto;padding:8px 20px 48px}.inbox-group-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-4);margin:20px 2px 8px}.inbox-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.inbox-row{display:flex;gap:13px;padding:13px 16px 13px 15px;border-bottom:1px solid var(--border);cursor:pointer;position:relative;transition:background .1s}.inbox-row:last-child{border-bottom:none}.inbox-row:hover{background:var(--surface-2)}.inbox-row.unread{background:var(--brand-50)}.inbox-row.unread:hover{background:#e6eff6}.inbox-unread-bar{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand)}.inbox-row .notif-lead{font-size:13px}.inbox-row .notif-actions{margin-left:auto;display:flex;gap:3px;align-items:flex-start;opacity:0;transition:opacity .1s}.inbox-row:hover .notif-actions{opacity:1}.inbox-empty{text-align:center;padding:70px 20px}.inbox-empty-ic{width:60px;height:60px;border-radius:50%;background:var(--green-100);display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px}.inbox-grid-wrap{max-width:none;margin:4px 0 0;padding:0 20px 48px}.inbox-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg) var(--r-lg) 0 0;border-bottom:none;padding:8px 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inbox-toolbar-label{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-4)}.inbox-scope{display:inline-flex;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px}.inbox-scope-btn{padding:4px 12px;border-radius:999px;border:none;background:transparent;font-size:12.5px;font-weight:500;color:var(--text-3);cursor:pointer;white-space:nowrap;transition:background .1s,color .1s}.inbox-scope-btn:hover{color:var(--text)}.inbox-scope-btn.active{background:var(--surface);color:var(--brand);font-weight:600;box-shadow:var(--shadow-sm)}.inbox-range{display:inline-flex;align-items:center;gap:7px}.inbox-range-sep{color:var(--text-4);font-size:13px}.inbox-date{height:32px;padding:4px 9px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);font-size:12.5px;font-family:inherit;color:var(--text);cursor:pointer;outline:none}.inbox-date:focus{border-color:var(--brand)}.inbox-tbl-wrap{border-radius:0 0 var(--r-lg) var(--r-lg);overflow-x:auto}.inbox-tbl{min-width:720px}.inbox-tbl td{vertical-align:top;padding-top:11px;padding-bottom:11px}.inbox-tbl tbody tr{cursor:pointer}.inbox-grid-row.unread td{background:var(--brand-50)}.inbox-grid-row.unread:hover td{background:#e6eff6}.inbox-status-cell{text-align:center;padding-left:0!important;padding-right:0!important}.inbox-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px var(--brand-100)}.inbox-type-cell{display:flex;align-items:center;gap:9px}.inbox-type-cell .notif-ic{flex:none}.inbox-kind-label{font-size:12px;font-weight:600;color:var(--text-2)}.inbox-msg{max-width:460px}.inbox-msg .notif-lead{font-size:13px}.inbox-msg .notif-detail{margin-top:2px}.inbox-issue-key{font-size:12px;font-weight:600;color:var(--brand)}.inbox-recv-date{font-size:12.5px;font-weight:600;color:var(--text-2)}.inbox-recv-time{font-size:11px;color:var(--text-4);margin-top:2px;font-variant-numeric:tabular-nums}.inbox-grid-row .usr-actions-cell .usr-action-btn{opacity:0;transition:opacity .1s}.inbox-grid-row:hover .usr-actions-cell .usr-action-btn{opacity:1}.set-page{padding:22px 28px 120px;max-width:1240px;margin:0 auto;width:100%;min-width:980px}.set-head{margin-bottom:20px}.set-head h1{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:0}.set-head .set-sub{color:var(--text-3);font-size:13px;margin-top:4px;max-width:560px}.set-layout{display:grid;grid-template-columns:216px minmax(0,1fr);gap:28px;align-items:flex-start}.set-nav{position:sticky;top:16px;display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:10px 8px;box-shadow:var(--shadow-sm)}.set-nav-group-label{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-4);padding:0 10px;margin:16px 0 6px}.set-nav-group-label:first-child{margin-top:0}.set-nav-item{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:var(--r-md);font-size:13px;font-weight:500;color:var(--text-2);cursor:pointer;border:none;background:transparent;width:100%;text-align:left;font-family:inherit;transition:background .1s,color .1s}.set-nav-item .lucide{color:var(--text-4);flex-shrink:0}.set-nav-item:hover{background:#f0f2f5;color:var(--text)}.set-nav-item.active{background:var(--brand-50);color:var(--brand);font-weight:600}.set-nav-item.active .lucide{color:var(--brand)}.set-nav-item.disabled{color:var(--text-4);cursor:not-allowed}.set-nav-item.disabled:hover{background:transparent;color:var(--text-4)}.set-nav-soon{margin-left:auto;font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-4);background:var(--gray-100);padding:1px 5px;border-radius:3px}.set-content{min-width:0}.set-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:0 24px;box-shadow:var(--shadow-sm)}.set-panel-head{padding:18px 0 14px;border-bottom:1px solid var(--border)}.set-panel-title{font-size:15px;font-weight:700;letter-spacing:-.01em;margin:0}.set-panel-desc{font-size:12.5px;color:var(--text-3);margin-top:4px}.set-grid{display:grid;grid-template-columns:minmax(0,1fr) 312px;gap:24px;align-items:start}.set-grid .set-panel{grid-column:1}.set-aside{grid-column:2;position:sticky;top:16px}.set-locked-banner{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;background:var(--amber-100);border:1px solid #f0d9a8;border-radius:var(--r-md);margin-bottom:16px;font-size:12.5px;color:#7a4e0a}.set-locked-banner .lucide{color:#b87514;flex-shrink:0;margin-top:1px}.set-locked-banner b{font-weight:700}.set-fields.locked{opacity:.62;pointer-events:none;-webkit-user-select:none;user-select:none}.set-warn{display:flex;align-items:flex-start;gap:7px;font-size:11.5px;color:#7a4e0a;background:var(--amber-100);border-radius:var(--r-sm);padding:6px 9px;margin-top:7px;line-height:1.45}.set-warn .lucide{color:#b87514;flex-shrink:0;margin-top:1px}.set-members{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.set-member-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--border)}.set-member-row:last-child{border-bottom:none}.set-member-name{font-size:12.5px;font-weight:600;color:var(--text)}.set-member-role{font-size:11px;color:var(--text-3);margin-top:1px}.set-member-pill{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:999px}.set-member-pill .dot{width:6px;height:6px;border-radius:50%}.set-members-foot{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:var(--surface-2);border-top:1px solid var(--border);font-size:12px;color:var(--text-3)}.set-link{display:inline-flex;align-items:center;gap:5px;color:var(--brand);font-weight:600;font-size:12px}.set-link:hover{text-decoration:underline}.set-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.set-summary-banner{height:56px;position:relative}.set-summary-icon{position:absolute;left:16px;bottom:-18px;width:44px;height:44px;border-radius:11px;color:#fff;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;border:3px solid var(--surface);letter-spacing:-.01em}.set-summary-body{padding:26px 16px 16px}.set-summary-name{font-size:15px;font-weight:700;letter-spacing:-.01em}.set-summary-key{font-size:11.5px;color:var(--text-3);font-family:var(--mono);letter-spacing:.04em;margin-top:2px}.set-summary-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.set-summary-badge{font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--gray-100);color:var(--text-2)}.set-summary-meta{margin-top:14px;border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:10px}.set-meta-row{display:flex;align-items:center;gap:8px;font-size:12px}.set-meta-label{color:var(--text-3);width:86px;flex-shrink:0}.set-meta-val{display:flex;align-items:center;gap:6px;color:var(--text);font-weight:500;min-width:0}.set-savebar{position:fixed;left:0;right:0;bottom:0;z-index:120;display:flex;align-items:center;gap:14px;padding:12px 28px;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -6px 20px #0f172a0f;animation:set-savebar-in .16s ease-out}@keyframes set-savebar-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.set-savebar-text{font-size:12.5px;color:var(--text-2);font-weight:500}.set-savebar-text b{color:var(--text);font-weight:700}.set-savebar-actions{margin-left:auto;display:flex;gap:8px}.set-seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.set-seg-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;background:var(--surface);border:none;font:inherit;font-size:12.5px;font-weight:500;color:var(--text-2);cursor:pointer}.set-seg-btn+.set-seg-btn{border-left:1px solid var(--border)}.set-seg-btn.active{background:var(--brand-50);color:var(--brand);font-weight:600}.set-seg-btn .dot{width:7px;height:7px;border-radius:50%}.perm-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:10px;margin-bottom:4px}.perm-legend-card{border:1px solid var(--border);border-radius:var(--r-md);padding:11px 12px;background:var(--surface)}.perm-legend-head{display:flex;align-items:center;gap:7px}.perm-legend-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}.perm-legend-pill .dot{width:6px;height:6px;border-radius:50%}.perm-legend-locked{margin-left:auto;display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:600;color:var(--text-4)}.perm-legend-locked .lucide{color:var(--text-4)}.perm-legend-desc{font-size:11px;color:var(--text-3);margin-top:7px;line-height:1.45}.perm-legend-count{font-size:11px;color:var(--text-3);margin-top:8px;font-variant-numeric:tabular-nums}.perm-legend-count b{color:var(--text);font-weight:700}.perm-matrix{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}.perm-grid-head,.perm-row{display:grid;grid-template-columns:minmax(0,1fr) repeat(var(--perm-cols, 4),76px);align-items:center}.perm-grid-head{position:sticky;top:0;z-index:2;background:var(--surface-2);border-bottom:1px solid var(--border)}.perm-grid-head .perm-cap-cell{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-4);padding:10px 14px}.perm-role-col{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px;border-left:1px solid var(--border);text-align:center}.perm-role-short{width:24px;height:24px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;letter-spacing:.02em}.perm-role-name{font-size:10.5px;font-weight:600;color:var(--text-2);line-height:1.1}.perm-group-head{display:flex;align-items:center;gap:8px;padding:10px 14px 8px;background:var(--surface);border-bottom:1px solid var(--border)}.perm-matrix>.perm-group:not(:first-child) .perm-group-head{border-top:6px solid var(--surface-2)}.perm-group-icon{width:22px;height:22px;border-radius:6px;background:var(--brand-50);color:var(--brand);display:flex;align-items:center;justify-content:center;flex-shrink:0}.perm-group-title{font-size:12.5px;font-weight:700;color:var(--text);letter-spacing:-.005em}.perm-group-sub{font-size:11px;color:var(--text-4)}.perm-row{border-bottom:1px solid var(--border)}.perm-row:last-child{border-bottom:none}.perm-row:hover{background:var(--brand-50)}.perm-cap-cell{padding:9px 14px;min-width:0}.perm-cap-label{font-size:12.5px;font-weight:500;color:var(--text)}.perm-cap-desc{font-size:11px;color:var(--text-3);margin-top:1px;line-height:1.4}.perm-toggle-cell{display:flex;align-items:center;justify-content:center;padding:9px 4px;height:100%;border-left:1px solid var(--border)}.perm-switch{position:relative;width:34px;height:20px;border-radius:999px;background:#cdd3db;border:none;padding:0;cursor:pointer;flex-shrink:0;transition:background .15s ease}.perm-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f172a40;transition:transform .15s ease}.perm-switch.on{background:var(--green)}.perm-switch.on:after{transform:translate(14px)}.perm-switch:focus-visible{outline:2px solid var(--brand-300);outline-offset:2px}.perm-switch.locked{cursor:not-allowed;background:#b6e0c9}.perm-switch.locked.on{background:#9ad3b6}.perm-switch.locked:after{background:#f4fbf7}.perm-lock-badge{display:flex;align-items:center;justify-content:center;color:var(--text-4)}.perm-toolbar{display:flex;align-items:center;gap:10px;margin-top:14px}.perm-reset{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:6px 11px;cursor:pointer;font-family:inherit}.perm-reset:hover{border-color:var(--brand-300);color:var(--brand);background:var(--brand-50)}.perm-reset .lucide{color:inherit}.perm-toolbar-note{font-size:11.5px;color:var(--text-4)}.perm-note{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);font-size:12px;color:var(--text-3);line-height:1.5;margin-bottom:16px}.perm-note .lucide{color:var(--text-4);flex-shrink:0;margin-top:1px}.perm-note b{color:var(--text-2);font-weight:700}.star-toggle{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;cursor:pointer;border-radius:var(--r-sm);color:var(--text-4);flex-shrink:0;transition:background .12s,color .12s,transform .12s}.star-toggle:hover{background:var(--gray-100);color:var(--amber)}.star-toggle .lucide{fill:none}.star-toggle.on{color:var(--amber)}.star-toggle.on .lucide{fill:var(--amber)}.star-toggle.on:active{transform:scale(.88)}.sidebar-project .star-toggle{margin-left:auto;width:22px;height:22px;opacity:0}.sidebar-project:hover .star-toggle,.sidebar-project .star-toggle.on{opacity:1}.star-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.star-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .12s;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px}.star-card:hover{border-color:var(--brand-300);box-shadow:0 6px 18px #0f172a14;transform:translateY(-1px)}.star-card-top{display:flex;align-items:center;gap:11px}.star-card-name{font-size:14px;font-weight:700;letter-spacing:-.01em;color:var(--text)}.star-card-key{font-size:11px;font-family:var(--mono);letter-spacing:.05em;color:var(--text-3);margin-top:1px}.star-card-desc{font-size:12px;color:var(--text-3);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:18px}.star-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.star-card-people{display:flex;gap:-4px}.star-card-people .avatar{margin-left:-6px;border:2px solid var(--surface)}.star-card-people .avatar:first-child{margin-left:0}.prj-status-badge{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;padding:2px 9px;border-radius:999px}.prj-status-badge .dot{width:6px;height:6px;border-radius:50%}.prj-status-badge.active{background:var(--green-100);color:var(--green)}.prj-status-badge.inactive{background:var(--gray-100);color:var(--text-3)}.star-empty{text-align:center;padding:64px 24px;max-width:460px;margin:0 auto;color:var(--text-3)}.star-empty-icon{width:68px;height:68px;border-radius:18px;background:var(--amber-100);color:var(--amber);display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px}.star-empty-icon .lucide{fill:var(--amber)}.star-empty-title{font-size:17px;font-weight:700;color:var(--text);letter-spacing:-.01em}.star-empty-desc{font-size:13px;line-height:1.6;margin-top:8px}.star-empty-desc .lucide{color:var(--amber)}.avatar.avatar-photo{background-size:cover;background-position:center;background-repeat:no-repeat;color:transparent}.acct-avatar-lg{width:48px;height:48px;font-size:17px}.acct-avatar-xl{width:96px;height:96px;font-size:32px;border-radius:50%}.acct-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.acct-roleview{display:inline-flex;align-items:center;gap:7px;padding:6px 10px 6px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:12px;color:var(--text-3);white-space:nowrap;flex-shrink:0}.acct-roleview .lucide{color:var(--text-4)}.acct-roleview-label{font-weight:600}.acct-roleview-select{border:none;background:transparent;outline:none;font:inherit;font-weight:600;color:var(--text);cursor:pointer;padding:0;margin-left:1px}.acct-select-wrap{display:flex;align-items:center;gap:8px;padding-left:11px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.acct-select-wrap:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #0251881f}.acct-select-wrap .acct-select{border:none;box-shadow:none;padding-left:0;background:transparent}.acct-select-wrap .acct-select:focus{border:none;box-shadow:none}.acct-photo-row{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}.acct-photo-preview{display:flex;flex-direction:column;align-items:center;gap:8px}.acct-photo-preview .avatar{box-shadow:0 0 0 4px var(--surface),0 0 0 5px var(--border)}.acct-photo-caption{font-size:11px;color:var(--text-3);font-weight:500}.acct-drop{border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface-2);padding:22px 20px;text-align:center;cursor:pointer;transition:border-color .12s,background .12s}.acct-drop:hover{border-color:var(--brand-300);background:var(--brand-50)}.acct-drop.over{border-color:var(--brand);background:var(--brand-50)}.acct-drop-icon{width:40px;height:40px;border-radius:10px;background:var(--brand-50);color:var(--brand);display:inline-flex;align-items:center;justify-content:center;margin-bottom:10px}.acct-drop-title{font-size:13px;font-weight:600;color:var(--text)}.acct-drop-sub{font-size:11.5px;color:var(--text-3);margin-top:3px}.acct-photo-actions{display:flex;gap:8px;margin-top:16px}.acct-pw-input{position:relative}.acct-pw-input .cp-input{padding-right:38px}.acct-pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:transparent;padding:6px;border-radius:var(--r-sm);color:var(--text-3);display:inline-flex;align-items:center;justify-content:center}.acct-pw-toggle:hover{background:var(--gray-100);color:var(--text)}.acct-strength{display:flex;align-items:center;gap:10px;margin:-4px 0 12px}.acct-strength-track{display:flex;gap:4px;flex:1}.acct-strength-seg{flex:1;height:4px;border-radius:2px;background:var(--gray-100);transition:background .15s}.acct-strength-seg.on.s1{background:var(--red)}.acct-strength-seg.on.s2{background:var(--amber)}.acct-strength-seg.on.s3{background:#0c7891}.acct-strength-seg.on.s4{background:var(--green)}.acct-strength-label{font-size:11px;font-weight:700;letter-spacing:.02em;min-width:44px;text-align:right}.acct-strength-label.s1{color:var(--red)}.acct-strength-label.s2{color:var(--amber)}.acct-strength-label.s3{color:#0c7891}.acct-strength-label.s4{color:var(--green)}.acct-reqs{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}.acct-reqs li{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-3)}.acct-reqs li .lucide{color:var(--text-4);flex-shrink:0}.acct-reqs li.ok{color:var(--text-2)}.acct-reqs li.ok .lucide{color:var(--green)}.acct-inline-err{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--red);font-weight:500;margin-top:4px}.set-summary-banner{position:relative}.acct-summary-avatar{position:absolute;left:18px;bottom:-24px}.acct-summary-avatar .avatar{box-shadow:0 0 0 3px var(--surface)}.set-content .cp-people-row .cp-label,.set-summary-badge{white-space:nowrap}.ts-wrap{padding:0;display:flex;flex-direction:column;min-height:0}.ts-toolbar{display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:nowrap}.ts-person{display:inline-flex;align-items:center;gap:9px;padding:4px 10px 4px 4px;border:1px solid var(--border);border-radius:999px;background:var(--surface);cursor:pointer;font-size:13px;font-weight:600}.ts-person:hover{background:var(--surface-2);border-color:var(--border-strong)}.ts-person .lucide{color:var(--text-4)}.ts-weeknav{display:inline-flex;align-items:center;gap:2px}.ts-weeknav .btn-icon{width:28px;height:28px}.ts-week-range{font-size:13px;font-weight:600;color:var(--text);min-width:168px;text-align:center;font-variant-numeric:tabular-nums}.ts-today-btn{margin-left:6px}.ts-toolbar-actions{display:flex;align-items:center;gap:12px;margin-left:auto;flex-wrap:nowrap}.ts-period-pill{display:inline-flex;align-items:baseline;gap:6px;padding:5px 12px;background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-md);color:var(--brand)}.ts-period-pill b{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.ts-period-pill span{font-size:11px;font-weight:600}.ts-scroll{overflow:auto;padding:16px 20px 24px;flex:1}.ts-grid{--ts-issue-w: minmax(260px, 1fr);--ts-day-w: 92px;--ts-total-w: 86px;display:grid;grid-template-columns:var(--ts-issue-w) repeat(7,var(--ts-day-w)) var(--ts-total-w);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;min-width:880px}.ts-grid-month{--ts-issue-w: minmax(150px, 1fr);--ts-day-w: 28px;--ts-total-w: 50px;min-width:max-content}.ts-grid-month .ts-h.ts-day{padding:6px 1px}.ts-grid-month .ts-day-name{font-size:9.5px;color:var(--text-4)}.ts-grid-month .ts-day-date{font-size:11px;margin-top:0;color:var(--text-3)}.ts-grid-month .ts-h.ts-is-today .ts-day-name,.ts-grid-month .ts-h.ts-is-today .ts-day-date{color:var(--brand)}.ts-grid-month .ts-cell-input{font-size:11.5px;padding:0 1px}.ts-grid-month .ts-total,.ts-grid-month .ts-foot{font-size:12px}.ts-h{background:var(--surface-2);border-bottom:1px solid var(--border);padding:9px 10px;font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;z-index:3}.ts-h.ts-day{text-align:center;text-transform:none;padding:7px 6px}.ts-h.ts-issue-h{z-index:4}.ts-h.ts-total-h{text-align:center}.ts-h.ts-weekend{background:#fbe2e2}.ts-h.ts-is-today{background:var(--brand-50);color:var(--brand)}.ts-day-name{font-size:11px;font-weight:700;letter-spacing:0}.ts-day-date{font-size:11px;font-weight:500;color:var(--text-4);margin-top:1px;font-variant-numeric:tabular-nums}.ts-h.ts-is-today .ts-day-date{color:var(--brand)}.ts-cap-bar{height:3px;border-radius:2px;background:var(--gray-100);margin-top:5px;overflow:hidden}.ts-cap-fill{height:100%;border-radius:2px;transition:width .2s}.ts-issue{display:flex;align-items:center;gap:9px;padding:0 12px;border-bottom:1px solid var(--border);min-height:46px;background:var(--surface);overflow:hidden}.ts-issue-key{font-family:var(--mono);font-size:11px;color:var(--text-3);font-weight:600;flex-shrink:0}.ts-issue-summary{font-size:12.5px;color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ts-issue a.ts-issue-summary:hover{color:var(--brand)}.ts-cat-badge{flex-shrink:0;width:18px;height:18px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700}.ts-cell{border-bottom:1px solid var(--border);border-left:1px solid var(--border);min-height:46px;position:relative;display:flex;align-items:stretch;background:var(--surface)}.ts-cell.ts-weekend{background:#fdeded}.ts-cell-input{width:100%;border:none;background:transparent;outline:none;text-align:center;font-family:var(--mono);font-size:13px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;padding:0 4px;cursor:text}.ts-cell-input::placeholder{color:transparent}.ts-cell:hover{background:var(--brand-50)}.ts-cell:hover .ts-cell-input::placeholder{color:var(--text-4)}.ts-cell:focus-within{box-shadow:inset 0 0 0 2px var(--brand);background:var(--surface);border-radius:2px}.ts-cell.has-val{background:#f3f8fc}.ts-cell.has-val:hover{background:var(--brand-50)}.ts-total{display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);border-left:1px solid var(--border);background:var(--surface-2);font-family:var(--mono);font-size:13px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;min-height:46px}.ts-foot{background:var(--surface-2);font-weight:700;min-height:44px;display:flex;align-items:center;border-left:1px solid var(--border);justify-content:center;font-family:var(--mono);font-size:13px;font-variant-numeric:tabular-nums}.ts-foot.ts-foot-label{border-left:none;justify-content:flex-start;padding:0 12px;font-family:var(--font);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3)}.ts-foot.ts-weekend{background:#fbe2e2}.ts-foot.ts-grand{background:var(--brand);color:#fff;font-size:14px}.ts-foot-ok{color:var(--green)}.ts-foot-under{color:var(--text-3)}.ts-foot-over{color:var(--amber)}.ts-addrow{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-top:0}.ts-row-del{opacity:0;flex-shrink:0;width:22px;height:22px;border-radius:5px;border:none;background:transparent;color:var(--text-4);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin-left:auto}.ts-issue:hover .ts-row-del{opacity:1}.ts-row-del:hover{background:var(--gray-100);color:var(--red)}.ts-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}.ts-person-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;width:248px;max-height:320px;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:5px}.ts-person-opt{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:var(--r-sm);cursor:pointer;font-size:12.5px}.ts-person-opt:hover{background:var(--surface-2)}.ts-person-opt.active{background:var(--brand-50)}.ts-person-opt .proj-icon{flex-shrink:0}.ts-scope{display:inline-flex;align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px}.ts-scope-opt{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--text-3);cursor:pointer;white-space:nowrap;border:1px solid transparent}.ts-scope-opt .lucide{color:var(--text-4)}.ts-scope-opt:hover{color:var(--text)}.ts-scope-opt.active{background:var(--surface);color:var(--brand);border-color:var(--border);box-shadow:var(--shadow-sm)}.ts-scope-opt.active .lucide{color:var(--brand)}.ts-proj-group{grid-column:1 / -1;display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--border);border-top:1px solid var(--border);position:sticky;left:0}.ts-proj-group:first-of-type{border-top:none}.ts-proj-group .proj-icon{width:22px;height:22px;font-size:10px;flex-shrink:0}.ts-proj-group-name{font-size:12.5px;font-weight:700;color:var(--text)}.ts-proj-group-key{font-family:var(--mono);font-size:10.5px;font-weight:600;color:var(--text-3);background:var(--gray-100);padding:1px 6px;border-radius:4px}.ts-proj-group-hrs{margin-left:16px;font-family:var(--mono);font-size:12px;font-weight:700;color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap}.ts-proj-group-hrs b{color:var(--text)}.ts-sub{background:#f7f9fb;min-height:38px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);border-left:1px solid var(--border);font-family:var(--mono);font-size:12.5px;font-weight:700;color:var(--text-2);font-variant-numeric:tabular-nums}.ts-sub.ts-sub-label{border-left:none;justify-content:flex-start;padding:0 12px 0 44px;font-family:var(--font);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-4)}.ts-sub.ts-weekend{background:#fbe2e2}.ts-sub.ts-sub-total{background:#eef3f7;color:var(--brand)}.ts-breakdown{margin-top:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px}.ts-breakdown-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.ts-breakdown-title{font-size:13px;font-weight:700;color:var(--text)}.ts-breakdown-sub{font-size:11.5px;color:var(--text-3)}.ts-bd-row{display:grid;grid-template-columns:200px 1fr 92px;align-items:center;gap:14px;padding:7px 0}.ts-bd-row+.ts-bd-row{border-top:1px solid var(--border-subtle, #eef0f3)}.ts-bd-proj{display:flex;align-items:center;gap:9px;min-width:0}.ts-bd-proj .proj-icon{width:20px;height:20px;font-size:9.5px;flex-shrink:0}.ts-bd-proj-name{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ts-bd-track{height:9px;border-radius:5px;background:var(--gray-100);overflow:hidden}.ts-bd-fill{height:100%;border-radius:5px;transition:width .25s ease}.ts-bd-val{text-align:right;font-family:var(--mono);font-size:12.5px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.ts-bd-val span{font-weight:500;color:var(--text-3);font-size:11px;margin-left:4px}.ts-bd-tag{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);background:var(--gray-100);padding:1px 6px;border-radius:4px}.ts-allproj-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:var(--brand-50);color:var(--brand);font-size:12px;font-weight:600}.ts-allproj-pill .lucide{color:var(--brand)}.ts-cal-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.ts-cal-head{display:grid;grid-template-columns:repeat(7,1fr);background:var(--surface-2);border-bottom:1px solid var(--border)}.ts-cal-head>div{padding:8px 11px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3)}.ts-cal-head>div.we{color:var(--text-4)}.ts-cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.ts-cal-cell{min-height:98px;padding:8px 10px 10px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:6px;position:relative;background:var(--surface)}.ts-cal-cell:nth-child(7n){border-right:none}.ts-cal-grid>.ts-cal-cell:nth-last-child(-n+7){border-bottom:none}.ts-cal-cell.we{background:#fafbfc}.ts-cal-cell.out{background:#fbfbfc}.ts-cal-cell.out .ts-cal-date-num{color:var(--text-4)}.ts-cal-cell.ts-cal-today{box-shadow:inset 0 0 0 2px var(--brand-100)}.ts-cal-date{display:flex;align-items:center}.ts-cal-date-num{font-size:12px;font-weight:600;color:var(--text-2);font-variant-numeric:tabular-nums;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}.ts-cal-today .ts-cal-date-num{background:var(--brand);color:#fff;border-radius:999px}.ts-cal-hrs{margin-top:auto;font-size:21px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;line-height:1}.ts-cal-hrs span{font-size:11px;font-weight:600;color:var(--text-3);margin-left:1px}.ts-cal-hrs.full{color:var(--green)}.ts-cal-bar{display:flex;height:5px;border-radius:3px;overflow:hidden;background:var(--gray-100)}.ts-cal-bar>span{height:100%}.ts-cal-zero{margin-top:auto;font-size:14px;color:var(--text-4);line-height:1}.ts-cal-tag{margin-top:auto;align-self:flex-start;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--amber);background:var(--amber-100);padding:2px 7px;border-radius:4px}.ts-cal-legend{display:flex;flex-wrap:wrap;gap:8px 18px;padding:13px 4px 0}.ts-cal-legend-item{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:500;color:var(--text-2)}.ts-cal-legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.brand-logo-link{display:inline-flex;align-items:center;height:100%;padding:0 2px}.brand-wordmark{height:16px;width:auto;display:block}.gsearch{flex:1;max-width:480px;position:relative}.gsearch-box{position:relative}.gsearch-box .icon-search{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.gsearch-box input{width:100%;padding-left:30px;padding-right:56px;height:30px;background:var(--surface-2)}.gsearch-kbd{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;gap:3px;pointer-events:none}.gsearch-kbd kbd,.gsearch-foot kbd{font-family:var(--mono);font-size:10px;line-height:1.5;color:var(--text-3);background:var(--surface);border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;padding:0 4px;min-width:14px;text-align:center}.gsearch-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;border-radius:4px;color:var(--text-3)}.gsearch-clear:hover{background:var(--gray-100);color:var(--text)}.gsearch-panel{position:absolute;top:calc(100% + 6px);left:0;min-width:100%;width:480px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);z-index:60;overflow:hidden;animation:gsearch-pop .12s ease-out}@keyframes gsearch-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.gsearch-results{max-height:min(62vh,460px);overflow-y:auto;padding:5px}.gsearch-group+.gsearch-group{margin-top:2px}.gsearch-group-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-4);padding:9px 10px 4px}.gsearch-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--r-md);cursor:pointer}.gsearch-row.active{background:var(--brand-50)}.gsearch-lead{width:22px;height:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.gsearch-text{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}.gsearch-title{font-size:13px;color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gsearch-title mark,.gsearch-sub mark{background:transparent;color:var(--brand);font-weight:700;padding:0}.gsearch-sub{font-size:11.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gsearch-meta{font-family:var(--mono);font-size:11px;color:var(--text-4);flex-shrink:0;white-space:nowrap}.gsearch-row.active .gsearch-meta{color:var(--brand)}.gsearch-empty{padding:28px 16px;text-align:center;color:var(--text-2);font-size:13px}.gsearch-empty strong{color:var(--text)}.gsearch-empty-sub{margin-top:5px;font-size:11.5px;color:var(--text-4)}.gsearch-foot{display:flex;align-items:center;gap:16px;padding:7px 12px;border-top:1px solid var(--border);background:var(--surface-2);font-size:11px;color:var(--text-4)}.gsearch-foot span{display:inline-flex;align-items:center;gap:4px}.rep-shell{flex:1;min-height:0;display:grid;grid-template-columns:268px 1fr;background:var(--bg)}.rep-nav{border-right:1px solid var(--border);background:var(--surface);overflow-y:auto;padding:14px 12px 20px}.rep-nav-label{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-4);padding:4px 10px 8px}.rep-nav-item{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:var(--r-md);font-size:13px;font-weight:500;color:var(--text-2);cursor:pointer;margin-bottom:2px;transition:background .1s,color .1s}.rep-nav-item .lucide{color:var(--text-4);flex-shrink:0}.rep-nav-item:hover{background:#f0f2f5;color:var(--text)}.rep-nav-item.active{background:var(--brand-50);color:var(--brand);font-weight:600}.rep-nav-item.active .lucide{color:var(--brand)}.rep-main{overflow-y:auto;padding:20px 24px 40px;min-width:0}.rep-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.rep-head-title{font-size:18px;font-weight:700;letter-spacing:-.01em;margin:0}.rep-head-sub{font-size:12.5px;color:var(--text-3);margin-top:3px;max-width:560px;text-wrap:pretty}.rep-head-actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0}.rep-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:14px}.rep-control-group{display:flex;align-items:center;gap:8px}.rep-control-label{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-4)}.rep-control-sep{width:1px;height:22px;background:var(--border)}.rep-select{position:relative;display:inline-flex;align-items:center}.rep-select select{appearance:none;-webkit-appearance:none;padding:6px 30px 6px 11px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);font-size:12.5px;font-weight:600;color:var(--text);cursor:pointer;outline:none}.rep-select select:hover{border-color:var(--border-strong)}.rep-select select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0251881f}.rep-select .rep-select-chev{position:absolute;right:9px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-3)}.sprint-state-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.rep-assignees{display:flex;align-items:center;gap:4px}.rep-assignee-btn{border:none;background:transparent;padding:0;border-radius:50%;cursor:pointer;line-height:0;outline:2px solid transparent;outline-offset:1px;transition:outline-color .12s,opacity .12s,transform .08s;opacity:.45;filter:grayscale(.4)}.rep-assignee-btn:hover{transform:translateY(-1px);opacity:.8}.rep-assignee-btn.on{opacity:1;filter:none;outline-color:var(--brand)}.rep-assignee-all{font-size:11.5px;font-weight:600;color:var(--text-3);border:1px dashed var(--border-strong);background:transparent;padding:4px 9px;border-radius:999px;cursor:pointer}.rep-assignee-all:hover{color:var(--brand);border-color:var(--brand-300)}.rep-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 20px 20px}.rep-card+.rep-card{margin-top:14px}.rep-card-head{display:flex;align-items:baseline;gap:10px;margin-bottom:4px}.rep-card-title{font-size:14px;font-weight:700;letter-spacing:-.005em}.rep-card-sub{font-size:12px;color:var(--text-3);margin-left:auto}.rep-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:12px 0 4px}.rep-legend-item{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--text-2)}.rep-legend-swatch{width:11px;height:11px;border-radius:3px;flex-shrink:0}.rep-legend-line{width:18px;height:0;border-top:2px solid;flex-shrink:0}.rep-legend-line.dashed{border-top-style:dashed}.rep-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;margin-top:16px}.rep-stat{background:var(--surface);padding:12px 14px}.rep-stat-label{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin-bottom:5px}.rep-stat-num{font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1}.rep-stat-sub{font-size:11px;color:var(--text-4);margin-top:4px}.rep-chart-wrap{position:relative}.rep-chart{display:block;max-width:100%}.rep-tooltip{position:absolute;pointer-events:none;background:var(--text);color:#fff;border-radius:6px;padding:7px 10px;font-size:11.5px;line-height:1.45;box-shadow:var(--shadow-md);transform:translate(-50%,-100%);white-space:nowrap;z-index:5;transition:opacity .08s}.rep-tooltip:after{content:"";position:absolute;left:50%;bottom:-4px;transform:translate(-50%) rotate(45deg);width:8px;height:8px;background:var(--text)}.rep-tooltip-title{font-weight:700;margin-bottom:3px}.rep-tt-row{display:flex;align-items:center;gap:6px}.rep-tt-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.rep-tt-val{font-weight:700;font-variant-numeric:tabular-nums;margin-left:auto;padding-left:12px}.rep-wl-row{display:grid;grid-template-columns:168px 1fr 64px;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);transition:opacity .12s}.rep-wl-row:last-child{border-bottom:none}.rep-wl-row.dimmed{opacity:.32}.rep-wl-who{display:flex;align-items:center;gap:9px;min-width:0}.rep-wl-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rep-wl-role{font-size:10.5px;color:var(--text-3)}.rep-wl-bar{display:flex;height:22px;border-radius:5px;overflow:hidden;background:var(--gray-100)}.rep-wl-seg{height:100%;min-width:0;transition:width .2s}.rep-wl-count{text-align:right;font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--text-2)}.rep-wl-count strong{color:var(--text)}.rep-wl-overload{color:var(--red);font-weight:700}
