vtex-css-sanitizer-cli 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7020,6 +7020,189 @@ function requireClient() {
7020
7020
  }
7021
7021
  var clientExports = requireClient();
7022
7022
  const ReactDOM = /* @__PURE__ */ getDefaultExportFromCjs(clientExports);
7023
+ /**
7024
+ * @license lucide-react v0.576.0 - ISC
7025
+ *
7026
+ * This source code is licensed under the ISC license.
7027
+ * See the LICENSE file in the root directory of this source tree.
7028
+ */
7029
+ const mergeClasses = (...classes) => classes.filter((className, index, array) => {
7030
+ return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
7031
+ }).join(" ").trim();
7032
+ /**
7033
+ * @license lucide-react v0.576.0 - ISC
7034
+ *
7035
+ * This source code is licensed under the ISC license.
7036
+ * See the LICENSE file in the root directory of this source tree.
7037
+ */
7038
+ const toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
7039
+ /**
7040
+ * @license lucide-react v0.576.0 - ISC
7041
+ *
7042
+ * This source code is licensed under the ISC license.
7043
+ * See the LICENSE file in the root directory of this source tree.
7044
+ */
7045
+ const toCamelCase = (string) => string.replace(
7046
+ /^([A-Z])|[\s-_]+(\w)/g,
7047
+ (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()
7048
+ );
7049
+ /**
7050
+ * @license lucide-react v0.576.0 - ISC
7051
+ *
7052
+ * This source code is licensed under the ISC license.
7053
+ * See the LICENSE file in the root directory of this source tree.
7054
+ */
7055
+ const toPascalCase = (string) => {
7056
+ const camelCase = toCamelCase(string);
7057
+ return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);
7058
+ };
7059
+ /**
7060
+ * @license lucide-react v0.576.0 - ISC
7061
+ *
7062
+ * This source code is licensed under the ISC license.
7063
+ * See the LICENSE file in the root directory of this source tree.
7064
+ */
7065
+ var defaultAttributes = {
7066
+ xmlns: "http://www.w3.org/2000/svg",
7067
+ width: 24,
7068
+ height: 24,
7069
+ viewBox: "0 0 24 24",
7070
+ fill: "none",
7071
+ stroke: "currentColor",
7072
+ strokeWidth: 2,
7073
+ strokeLinecap: "round",
7074
+ strokeLinejoin: "round"
7075
+ };
7076
+ /**
7077
+ * @license lucide-react v0.576.0 - ISC
7078
+ *
7079
+ * This source code is licensed under the ISC license.
7080
+ * See the LICENSE file in the root directory of this source tree.
7081
+ */
7082
+ const hasA11yProp = (props) => {
7083
+ for (const prop in props) {
7084
+ if (prop.startsWith("aria-") || prop === "role" || prop === "title") {
7085
+ return true;
7086
+ }
7087
+ }
7088
+ return false;
7089
+ };
7090
+ /**
7091
+ * @license lucide-react v0.576.0 - ISC
7092
+ *
7093
+ * This source code is licensed under the ISC license.
7094
+ * See the LICENSE file in the root directory of this source tree.
7095
+ */
7096
+ const Icon = reactExports.forwardRef(
7097
+ ({
7098
+ color = "currentColor",
7099
+ size = 24,
7100
+ strokeWidth = 2,
7101
+ absoluteStrokeWidth,
7102
+ className = "",
7103
+ children,
7104
+ iconNode,
7105
+ ...rest
7106
+ }, ref) => reactExports.createElement(
7107
+ "svg",
7108
+ {
7109
+ ref,
7110
+ ...defaultAttributes,
7111
+ width: size,
7112
+ height: size,
7113
+ stroke: color,
7114
+ strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
7115
+ className: mergeClasses("lucide", className),
7116
+ ...!children && !hasA11yProp(rest) && { "aria-hidden": "true" },
7117
+ ...rest
7118
+ },
7119
+ [
7120
+ ...iconNode.map(([tag, attrs]) => reactExports.createElement(tag, attrs)),
7121
+ ...Array.isArray(children) ? children : [children]
7122
+ ]
7123
+ )
7124
+ );
7125
+ /**
7126
+ * @license lucide-react v0.576.0 - ISC
7127
+ *
7128
+ * This source code is licensed under the ISC license.
7129
+ * See the LICENSE file in the root directory of this source tree.
7130
+ */
7131
+ const createLucideIcon = (iconName, iconNode) => {
7132
+ const Component = reactExports.forwardRef(
7133
+ ({ className, ...props }, ref) => reactExports.createElement(Icon, {
7134
+ ref,
7135
+ iconNode,
7136
+ className: mergeClasses(
7137
+ `lucide-${toKebabCase(toPascalCase(iconName))}`,
7138
+ `lucide-${iconName}`,
7139
+ className
7140
+ ),
7141
+ ...props
7142
+ })
7143
+ );
7144
+ Component.displayName = toPascalCase(iconName);
7145
+ return Component;
7146
+ };
7147
+ /**
7148
+ * @license lucide-react v0.576.0 - ISC
7149
+ *
7150
+ * This source code is licensed under the ISC license.
7151
+ * See the LICENSE file in the root directory of this source tree.
7152
+ */
7153
+ const __iconNode$2 = [
7154
+ [
7155
+ "path",
7156
+ {
7157
+ d: "M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",
7158
+ key: "1wthlu"
7159
+ }
7160
+ ],
7161
+ ["path", { d: "M14 2v5a1 1 0 0 0 1 1h5", key: "wfsgrz" }],
7162
+ ["path", { d: "m5 16-3 3 3 3", key: "331omg" }],
7163
+ ["path", { d: "m9 22 3-3-3-3", key: "lsp7cz" }]
7164
+ ];
7165
+ const FileCodeCorner = createLucideIcon("file-code-corner", __iconNode$2);
7166
+ /**
7167
+ * @license lucide-react v0.576.0 - ISC
7168
+ *
7169
+ * This source code is licensed under the ISC license.
7170
+ * See the LICENSE file in the root directory of this source tree.
7171
+ */
7172
+ const __iconNode$1 = [
7173
+ [
7174
+ "path",
7175
+ {
7176
+ d: "m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",
7177
+ key: "usdka0"
7178
+ }
7179
+ ]
7180
+ ];
7181
+ const FolderOpen = createLucideIcon("folder-open", __iconNode$1);
7182
+ /**
7183
+ * @license lucide-react v0.576.0 - ISC
7184
+ *
7185
+ * This source code is licensed under the ISC license.
7186
+ * See the LICENSE file in the root directory of this source tree.
7187
+ */
7188
+ const __iconNode = [
7189
+ ["path", { d: "m14.622 17.897-10.68-2.913", key: "vj2p1u" }],
7190
+ [
7191
+ "path",
7192
+ {
7193
+ d: "M18.376 2.622a1 1 0 1 1 3.002 3.002L17.36 9.643a.5.5 0 0 0 0 .707l.944.944a2.41 2.41 0 0 1 0 3.408l-.944.944a.5.5 0 0 1-.707 0L8.354 7.348a.5.5 0 0 1 0-.707l.944-.944a2.41 2.41 0 0 1 3.408 0l.944.944a.5.5 0 0 0 .707 0z",
7194
+ key: "18tc5c"
7195
+ }
7196
+ ],
7197
+ [
7198
+ "path",
7199
+ {
7200
+ d: "M9 8c-1.804 2.71-3.97 3.46-6.583 3.948a.507.507 0 0 0-.302.819l7.32 8.883a1 1 0 0 0 1.185.204C12.735 20.405 16 16.792 16 15",
7201
+ key: "ytzfxy"
7202
+ }
7203
+ ]
7204
+ ];
7205
+ const Paintbrush = createLucideIcon("paintbrush", __iconNode);
7023
7206
  function HomePage({ onAnalysisComplete }) {
7024
7207
  const [selectedPath, setSelectedPath] = reactExports.useState("");
7025
7208
  const [status, setStatus] = reactExports.useState("idle");
@@ -7044,22 +7227,22 @@ function HomePage({ onAnalysisComplete }) {
7044
7227
  setErrorMsg(err instanceof Error ? err.message : "Error desconocido al analizar el proyecto");
7045
7228
  }
7046
7229
  }, [selectedPath, onAnalysisComplete]);
7047
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "h-full flex items-center justify-center p-8", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "fade-in max-w-lg w-full text-center", children: [
7048
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mx-auto w-20 h-20 rounded-2xl bg-gradient-to-br from-accent-pink via-accent-blue to-accent-green flex items-center justify-center mb-6 pulse-glow", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-white text-3xl font-bold", children: "V" }) }),
7049
- /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-2xl font-bold text-text-primary mb-2", children: "VTEX CSS Sanitizer" }),
7050
- /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-text-secondary text-sm mb-8 leading-relaxed", children: [
7230
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "h-full flex items-center justify-center p-12", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "fade-in max-w-xl w-full text-center", children: [
7231
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mx-auto w-24 h-24 rounded-2xl bg-gradient-to-br from-accent-pink via-accent-blue to-accent-green flex items-center justify-center mb-8 pulse-glow shadow-lg shadow-accent-pink/10", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Paintbrush, { size: 48, className: "text-white" }) }),
7232
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-3xl font-bold text-text-primary mb-4 tracking-tight", children: "VTEX CSS Sanitizer" }),
7233
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-text-secondary text-base mb-10 leading-relaxed max-w-md mx-auto", children: [
7051
7234
  "Analiza y limpia clases CSS y blockClass no utilizados en tu proyecto VTEX IO.",
7052
- /* @__PURE__ */ jsxRuntimeExports.jsx("br", {}),
7235
+ /* @__PURE__ */ jsxRuntimeExports.jsx("br", { className: "mb-2" }),
7053
7236
  "Selecciona la carpeta raíz de tu proyecto para comenzar."
7054
7237
  ] }),
7055
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4", children: [
7238
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-6", children: [
7056
7239
  /* @__PURE__ */ jsxRuntimeExports.jsx(
7057
7240
  "button",
7058
7241
  {
7059
7242
  onClick: handleSelectFolder,
7060
- className: "w-full group relative overflow-hidden rounded-xl border-2 border-dashed border-border hover:border-accent-blue transition-all duration-300 p-6 cursor-pointer bg-bg-secondary hover:bg-bg-card",
7061
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col items-center gap-3", children: [
7062
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-12 h-12 rounded-full bg-bg-card group-hover:bg-accent-blue/10 flex items-center justify-center transition-colors duration-300", children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-6 h-6 text-text-muted group-hover:text-accent-blue transition-colors", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 1.5, children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M2.25 12.75V12A2.25 2.25 0 014.5 9.75h15A2.25 2.25 0 0121.75 12v.75m-8.69-6.44l-2.12-2.12a1.5 1.5 0 00-1.061-.44H4.5A2.25 2.25 0 002.25 6v12a2.25 2.25 0 002.25 2.25h15A2.25 2.25 0 0021.75 18V9a2.25 2.25 0 00-2.25-2.25h-5.379a1.5 1.5 0 01-1.06-.44z" }) }) }),
7243
+ className: "w-full group relative overflow-hidden rounded-2xl border-2 border-dashed border-border hover:border-accent-blue transition-all duration-300 p-8 cursor-pointer bg-bg-secondary hover:bg-bg-card",
7244
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col items-center gap-4", children: [
7245
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-14 h-14 rounded-full bg-bg-card group-hover:bg-accent-blue/10 flex items-center justify-center transition-colors duration-300", children: /* @__PURE__ */ jsxRuntimeExports.jsx(FolderOpen, { className: "w-7 h-7 text-text-muted group-hover:text-accent-blue transition-colors", strokeWidth: 1.5 }) }),
7063
7246
  selectedPath ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
7064
7247
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm text-accent-blue font-medium", children: "Carpeta seleccionada" }),
7065
7248
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs text-text-secondary font-mono bg-bg-input px-3 py-1.5 rounded-lg max-w-full truncate block", children: selectedPath })
@@ -7074,7 +7257,7 @@ function HomePage({ onAnalysisComplete }) {
7074
7257
  "button",
7075
7258
  {
7076
7259
  onClick: handleAnalyze,
7077
- className: "fade-in w-full py-3 px-6 rounded-xl bg-gradient-to-r from-accent-pink to-accent-pink-hover text-white font-semibold text-sm hover:shadow-lg hover:shadow-accent-pink/25 transition-all duration-300 hover:scale-[1.02] active:scale-[0.98]",
7260
+ className: "fade-in w-full py-4 px-8 rounded-xl bg-gradient-to-r from-accent-blue-btn to-accent-blue-btn-hover text-white font-semibold text-base tracking-wide hover:shadow-xl hover:shadow-accent-blue-btn/20 transition-all duration-300 hover:scale-[1.02] active:scale-[0.98]",
7078
7261
  children: "🔍 Analizar Proyecto"
7079
7262
  }
7080
7263
  ),
@@ -7109,7 +7292,7 @@ function AnalysisPage({ data, onGoToFix, onGoHome }) {
7109
7292
  const isClean = !hasUnusedCss && !hasUnusedBlockClasses;
7110
7293
  const totalIssues = data.unusedCss.length + data.unusedBlockClasses.length;
7111
7294
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "h-full flex flex-col overflow-hidden", children: [
7112
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "px-6 py-4 bg-bg-secondary border-b border-border", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-6", children: [
7295
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "px-8 py-6 bg-bg-secondary border-b border-border", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-8", children: [
7113
7296
  /* @__PURE__ */ jsxRuntimeExports.jsx(StatCard, { label: "Archivos JSON", value: data.stats.jsonFiles, color: "blue" }),
7114
7297
  /* @__PURE__ */ jsxRuntimeExports.jsx(StatCard, { label: "Archivos CSS", value: data.stats.cssFiles, color: "blue" }),
7115
7298
  /* @__PURE__ */ jsxRuntimeExports.jsx(StatCard, { label: "blockClass únicas", value: data.stats.uniqueBlockClasses, color: "green" }),
@@ -7123,39 +7306,39 @@ function AnalysisPage({ data, onGoToFix, onGoHome }) {
7123
7306
  }
7124
7307
  ) })
7125
7308
  ] }) }),
7126
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 overflow-y-auto p-6 space-y-6", children: isClean ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "fade-in text-center py-16", children: [
7127
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-5xl mb-4", children: "🎉" }),
7128
- /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-xl font-bold text-accent-green mb-2", children: "¡Proyecto limpio!" }),
7129
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-text-secondary text-sm", children: "No se encontraron clases CSS ni blockClass sin uso." })
7309
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 overflow-y-auto p-8 space-y-10", children: isClean ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "fade-in text-center py-24", children: [
7310
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-6xl mb-6", children: "🎉" }),
7311
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-2xl font-bold text-accent-green mb-3", children: "¡Proyecto limpio!" }),
7312
+ /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-text-secondary text-base", children: "No se encontraron clases CSS ni blockClass sin uso." })
7130
7313
  ] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
7131
7314
  hasUnusedCss && /* @__PURE__ */ jsxRuntimeExports.jsxs("section", { className: "fade-in", children: [
7132
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 mb-3", children: [
7133
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "w-3 h-3 rounded-full bg-accent-red" }),
7134
- /* @__PURE__ */ jsxRuntimeExports.jsxs("h3", { className: "text-sm font-semibold text-text-primary", children: [
7315
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-3 mb-4", children: [
7316
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "w-4 h-4 rounded-full bg-accent-red shadow-[0_0_10px_rgba(233,69,96,0.4)]" }),
7317
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("h3", { className: "text-base font-semibold text-text-primary tracking-wide", children: [
7135
7318
  "Sufijos CSS sin blockClass (",
7136
7319
  data.unusedCss.length,
7137
7320
  ")"
7138
7321
  ] })
7139
7322
  ] }),
7140
- /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-xs text-text-muted mb-4", children: [
7323
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-sm text-text-muted mb-6 leading-relaxed", children: [
7141
7324
  "Estas reglas CSS usan sufijos que no corresponden a ninguna ",
7142
7325
  /* @__PURE__ */ jsxRuntimeExports.jsx("code", { className: "text-text-secondary", children: "blockClass" }),
7143
7326
  " declarada. Pueden ser eliminadas con el comando Fix."
7144
7327
  ] }),
7145
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-2", children: data.unusedCss.map((item) => /* @__PURE__ */ jsxRuntimeExports.jsx(
7328
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-4", children: data.unusedCss.map((item) => /* @__PURE__ */ jsxRuntimeExports.jsx(
7146
7329
  "div",
7147
7330
  {
7148
- className: "group rounded-xl bg-bg-card border border-border hover:border-accent-red/40 transition-colors p-4",
7149
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-start gap-3", children: [
7150
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-accent-red text-xs font-bold mt-0.5 shrink-0", children: "CSS" }),
7331
+ className: "group rounded-2xl bg-bg-card border border-border hover:border-accent-red/40 transition-colors p-6 shadow-sm",
7332
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-start gap-4", children: [
7333
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "px-2.5 py-1 rounded bg-accent-red/10 text-accent-red text-xs font-bold shrink-0 uppercase tracking-widest", children: "CSS" }),
7151
7334
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "min-w-0 flex-1", children: [
7152
- /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-sm font-mono text-text-primary font-medium", children: [
7335
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-base font-mono text-text-primary font-medium mb-1", children: [
7153
7336
  "--",
7154
7337
  item.suffix
7155
7338
  ] }),
7156
7339
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-2 space-y-1", children: [
7157
7340
  item.locations.slice(0, 3).map((loc, i) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 text-xs text-text-muted", children: [
7158
- /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-3 h-3 shrink-0", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" }) }),
7341
+ /* @__PURE__ */ jsxRuntimeExports.jsx(FileCodeCorner, { className: "w-3 h-3 shrink-0", strokeWidth: 2 }),
7159
7342
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: loc.filePath }),
7160
7343
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-text-muted/60 font-mono text-[10px]", children: loc.selector })
7161
7344
  ] }, i)),
@@ -7172,34 +7355,34 @@ function AnalysisPage({ data, onGoToFix, onGoHome }) {
7172
7355
  )) })
7173
7356
  ] }),
7174
7357
  hasUnusedBlockClasses && /* @__PURE__ */ jsxRuntimeExports.jsxs("section", { className: "fade-in", children: [
7175
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 mb-3", children: [
7176
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "w-3 h-3 rounded-full bg-accent-yellow" }),
7177
- /* @__PURE__ */ jsxRuntimeExports.jsxs("h3", { className: "text-sm font-semibold text-text-primary", children: [
7358
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-3 mb-4", children: [
7359
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "w-4 h-4 rounded-full bg-accent-yellow shadow-[0_0_10px_rgba(255,208,115,0.4)]" }),
7360
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("h3", { className: "text-base font-semibold text-text-primary tracking-wide", children: [
7178
7361
  "blockClass sin CSS (",
7179
7362
  data.unusedBlockClasses.length,
7180
7363
  ")"
7181
7364
  ] })
7182
7365
  ] }),
7183
- /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-xs text-text-muted mb-4", children: [
7366
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-sm text-text-muted mb-6 leading-relaxed", children: [
7184
7367
  "Estas ",
7185
- /* @__PURE__ */ jsxRuntimeExports.jsx("code", { className: "text-text-secondary", children: "blockClass" }),
7368
+ /* @__PURE__ */ jsxRuntimeExports.jsx("code", { className: "text-text-secondary tracking-wide", children: "blockClass" }),
7186
7369
  " están declaradas pero no tienen reglas CSS asociadas."
7187
7370
  ] }),
7188
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-2", children: data.unusedBlockClasses.map((item) => /* @__PURE__ */ jsxRuntimeExports.jsx(
7371
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-4", children: data.unusedBlockClasses.map((item) => /* @__PURE__ */ jsxRuntimeExports.jsx(
7189
7372
  "div",
7190
7373
  {
7191
- className: "group rounded-xl bg-bg-card border border-border hover:border-accent-yellow/40 transition-colors p-4",
7192
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-start gap-3", children: [
7193
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-accent-yellow text-xs font-bold mt-0.5 shrink-0", children: "JSON" }),
7374
+ className: "group rounded-2xl bg-bg-card border border-border hover:border-accent-yellow/40 transition-colors p-6 shadow-sm",
7375
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-start gap-4", children: [
7376
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "px-2.5 py-1 rounded bg-accent-yellow/10 text-accent-yellow text-xs font-bold shrink-0 uppercase tracking-widest", children: "JSON" }),
7194
7377
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "min-w-0 flex-1", children: [
7195
- /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-sm font-mono text-text-primary font-medium", children: [
7378
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-base font-mono text-text-primary font-medium mb-1", children: [
7196
7379
  '"',
7197
7380
  item.blockClass,
7198
7381
  '"'
7199
7382
  ] }),
7200
7383
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-2 space-y-1", children: [
7201
7384
  item.locations.slice(0, 3).map((loc, i) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 text-xs text-text-muted", children: [
7202
- /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-3 h-3 shrink-0", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" }) }),
7385
+ /* @__PURE__ */ jsxRuntimeExports.jsx(FileCodeCorner, { className: "w-3 h-3 shrink-0", strokeWidth: 2 }),
7203
7386
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: loc.filePath }),
7204
7387
  /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-text-muted/60 text-[10px]", children: [
7205
7388
  "bloque: ",
@@ -7219,13 +7402,13 @@ function AnalysisPage({ data, onGoToFix, onGoHome }) {
7219
7402
  )) })
7220
7403
  ] })
7221
7404
  ] }) }),
7222
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "px-6 py-4 bg-bg-secondary border-t border-border flex items-center gap-3", children: [
7405
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "px-8 py-5 bg-bg-secondary border-t border-border flex items-center gap-4", children: [
7223
7406
  /* @__PURE__ */ jsxRuntimeExports.jsx(
7224
7407
  "button",
7225
7408
  {
7226
7409
  onClick: onGoHome,
7227
- className: "px-4 py-2 rounded-lg text-sm text-text-secondary hover:text-text-primary hover:bg-bg-card transition-colors border border-border",
7228
- children: "← Inicio"
7410
+ className: "px-5 py-3 rounded-xl text-sm font-medium text-text-secondary hover:text-text-primary hover:bg-bg-card transition-colors border border-border",
7411
+ children: "← Volver al inicio"
7229
7412
  }
7230
7413
  ),
7231
7414
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1" }),
@@ -7233,8 +7416,8 @@ function AnalysisPage({ data, onGoToFix, onGoHome }) {
7233
7416
  "button",
7234
7417
  {
7235
7418
  onClick: onGoToFix,
7236
- className: "px-6 py-2.5 rounded-xl bg-gradient-to-r from-accent-pink to-accent-pink-hover text-white font-semibold text-sm hover:shadow-lg hover:shadow-accent-pink/25 transition-all duration-300 hover:scale-[1.02] active:scale-[0.98]",
7237
- children: "🛠️ Limpiar CSS"
7419
+ className: "px-8 py-3.5 rounded-xl bg-gradient-to-r from-accent-blue-btn to-accent-blue-btn-hover text-white font-semibold text-base tracking-wide hover:shadow-xl hover:shadow-accent-blue-btn/20 transition-all duration-300 hover:scale-[1.02] active:scale-[0.98]",
7420
+ children: "🛠️ Proceder a Limpiar CSS"
7238
7421
  }
7239
7422
  )
7240
7423
  ] })
@@ -7250,9 +7433,9 @@ function StatCard({
7250
7433
  green: "text-accent-green",
7251
7434
  red: "text-accent-red"
7252
7435
  };
7253
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center", children: [
7254
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `text-lg font-bold font-mono ${colorMap[color]}`, children: value }),
7255
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[10px] text-text-muted uppercase tracking-wider", children: label })
7436
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center bg-bg-card py-4 px-6 rounded-2xl border border-border shadow-sm", children: [
7437
+ /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `text-2xl font-bold font-mono mb-1 ${colorMap[color]}`, children: value }),
7438
+ /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[11px] text-text-muted uppercase tracking-widest font-semibold", children: label })
7256
7439
  ] });
7257
7440
  }
7258
7441
  function FixPage({ projectPath, onBack, onGoHome }) {
@@ -7343,7 +7526,7 @@ function FixPage({ projectPath, onBack, onGoHome }) {
7343
7526
  /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-xl font-bold text-accent-green mb-2", children: "¡Limpieza completada!" }),
7344
7527
  /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-text-secondary text-sm mb-6", children: [
7345
7528
  "Se eliminaron ",
7346
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-accent-pink font-bold font-mono", children: deletedCount }),
7529
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-accent-blue font-bold font-mono", children: deletedCount }),
7347
7530
  " reglas CSS de tu proyecto."
7348
7531
  ] }),
7349
7532
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-3", children: [
@@ -7359,7 +7542,7 @@ function FixPage({ projectPath, onBack, onGoHome }) {
7359
7542
  "button",
7360
7543
  {
7361
7544
  onClick: onGoHome,
7362
- className: "w-full px-6 py-2.5 rounded-xl bg-gradient-to-r from-accent-pink to-accent-pink-hover text-white font-semibold text-sm hover:shadow-lg hover:shadow-accent-pink/25 transition-all duration-300",
7545
+ className: "w-full px-6 py-2.5 rounded-xl bg-gradient-to-r from-accent-blue-btn to-accent-blue-btn-hover text-white font-semibold text-sm hover:shadow-lg hover:shadow-accent-blue-btn/25 transition-all duration-300",
7363
7546
  children: "🏠 Analizar otro proyecto"
7364
7547
  }
7365
7548
  )
@@ -7382,20 +7565,20 @@ function FixPage({ projectPath, onBack, onGoHome }) {
7382
7565
  ] }) });
7383
7566
  }
7384
7567
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "h-full flex flex-col overflow-hidden", children: [
7385
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "px-6 py-3 bg-bg-secondary border-b border-border flex items-center gap-4", children: [
7386
- /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-sm font-semibold text-text-primary", children: "Reglas candidatas a eliminar" }),
7387
- /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-xs text-text-muted font-mono", children: [
7568
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "px-8 py-5 bg-bg-secondary border-b border-border flex items-center gap-5", children: [
7569
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-base font-semibold text-text-primary tracking-wide", children: "Reglas candidatas a eliminar" }),
7570
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-sm text-text-muted font-mono bg-bg-card px-3 py-1 rounded-md border border-border", children: [
7388
7571
  selectedIds.size,
7389
7572
  " de ",
7390
7573
  candidates.length,
7391
7574
  " seleccionadas"
7392
7575
  ] }),
7393
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ml-auto flex items-center gap-2", children: [
7576
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ml-auto flex items-center gap-3", children: [
7394
7577
  /* @__PURE__ */ jsxRuntimeExports.jsx(
7395
7578
  "button",
7396
7579
  {
7397
7580
  onClick: selectAll,
7398
- className: "px-3 py-1.5 rounded-lg text-xs text-accent-blue hover:bg-bg-card transition-colors border border-border",
7581
+ className: "px-4 py-2 rounded-lg text-sm text-accent-blue hover:bg-bg-card transition-colors border border-border font-medium",
7399
7582
  children: "Seleccionar todas"
7400
7583
  }
7401
7584
  ),
@@ -7403,77 +7586,77 @@ function FixPage({ projectPath, onBack, onGoHome }) {
7403
7586
  "button",
7404
7587
  {
7405
7588
  onClick: deselectAll,
7406
- className: "px-3 py-1.5 rounded-lg text-xs text-text-muted hover:bg-bg-card transition-colors border border-border",
7589
+ className: "px-4 py-2 rounded-lg text-sm text-text-muted hover:bg-bg-card transition-colors border border-border font-medium",
7407
7590
  children: "Deseleccionar todas"
7408
7591
  }
7409
7592
  )
7410
7593
  ] })
7411
7594
  ] }),
7412
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 overflow-y-auto p-6 space-y-4", children: candidates.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "fade-in text-center py-16", children: [
7595
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 overflow-y-auto p-8 space-y-8", children: candidates.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "fade-in text-center py-16", children: [
7413
7596
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-5xl mb-4", children: "🎉" }),
7414
7597
  /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-xl font-bold text-accent-green mb-2", children: "¡Sin candidatos!" }),
7415
7598
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-text-secondary text-sm", children: "No hay reglas CSS para eliminar." })
7416
7599
  ] }) : Object.entries(groupedByFile).map(([file, rules]) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "fade-in", children: [
7417
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 mb-2", children: [
7418
- /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-4 h-4 text-text-muted", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 1.5, children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" }) }),
7419
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs font-mono text-text-secondary", children: file }),
7420
- /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-[10px] text-text-muted", children: [
7600
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-3 mb-3", children: [
7601
+ /* @__PURE__ */ jsxRuntimeExports.jsx(FileCodeCorner, { className: "w-5 h-5 text-text-muted/80", strokeWidth: 1.5 }),
7602
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm font-mono text-text-secondary font-medium", children: file }),
7603
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-xs text-text-muted bg-bg-card px-2 py-0.5 rounded-full border border-border/50", children: [
7421
7604
  rules.length,
7422
7605
  " regla",
7423
7606
  rules.length > 1 ? "s" : ""
7424
7607
  ] })
7425
7608
  ] }),
7426
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-2", children: rules.map((rule) => /* @__PURE__ */ jsxRuntimeExports.jsx(
7609
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-3", children: rules.map((rule) => /* @__PURE__ */ jsxRuntimeExports.jsx(
7427
7610
  "div",
7428
7611
  {
7429
- className: `rounded-xl border transition-all duration-200 ${selectedIds.has(rule.id) ? "bg-accent-red/5 border-accent-red/30" : "bg-bg-card border-border hover:border-border-active/30"}`,
7430
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-start gap-3 p-4", children: [
7612
+ className: `rounded-2xl border transition-all duration-200 ${selectedIds.has(rule.id) ? "bg-accent-red/5 border-accent-red/30" : "bg-bg-input border-border hover:border-border-active/30"}`,
7613
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-start gap-4 p-5", children: [
7431
7614
  /* @__PURE__ */ jsxRuntimeExports.jsx(
7432
7615
  "input",
7433
7616
  {
7434
7617
  type: "checkbox",
7435
7618
  checked: selectedIds.has(rule.id),
7436
7619
  onChange: () => toggleRule(rule.id),
7437
- className: "mt-0.5"
7620
+ className: "mt-1 w-5 h-5 rounded"
7438
7621
  }
7439
7622
  ),
7440
7623
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 min-w-0", children: [
7441
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm font-mono text-text-primary truncate", children: rule.selector }),
7624
+ /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-base font-mono text-text-primary truncate", children: rule.selector }),
7442
7625
  /* @__PURE__ */ jsxRuntimeExports.jsx(
7443
7626
  "button",
7444
7627
  {
7445
7628
  onClick: () => toggleExpand(rule.id),
7446
- className: "text-[10px] text-accent-blue hover:underline mt-1",
7629
+ className: "text-xs text-accent-blue hover:underline mb-1 mt-2 inline-block font-medium",
7447
7630
  children: expandedIds.has(rule.id) ? "Ocultar código ▲" : "Ver código ▼"
7448
7631
  }
7449
7632
  ),
7450
7633
  expandedIds.has(rule.id) && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "code-block mt-2 text-text-secondary", children: rule.ruleText })
7451
7634
  ] }),
7452
- selectedIds.has(rule.id) && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[10px] text-accent-red font-medium shrink-0 mt-1", children: "SE ELIMINARÁ" })
7635
+ selectedIds.has(rule.id) && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs px-2 py-1 rounded bg-accent-red/10 text-accent-red font-bold shrink-0 mt-0.5 uppercase tracking-wider", children: "SE ELIMINARÁ" })
7453
7636
  ] })
7454
7637
  },
7455
7638
  rule.id
7456
7639
  )) })
7457
7640
  ] }, file)) }),
7458
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "px-6 py-4 bg-bg-secondary border-t border-border flex items-center gap-3", children: [
7641
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "px-8 py-5 bg-bg-secondary border-t border-border flex items-center gap-4", children: [
7459
7642
  /* @__PURE__ */ jsxRuntimeExports.jsx(
7460
7643
  "button",
7461
7644
  {
7462
7645
  onClick: onBack,
7463
- className: "px-4 py-2 rounded-lg text-sm text-text-secondary hover:text-text-primary hover:bg-bg-card transition-colors border border-border",
7464
- children: "← Volver"
7646
+ className: "px-5 py-3 rounded-xl text-sm font-medium text-text-secondary hover:text-text-primary hover:bg-bg-card transition-colors border border-border",
7647
+ children: "← Volver atrás"
7465
7648
  }
7466
7649
  ),
7467
7650
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1" }),
7468
- status === "applying" ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [
7469
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-4 h-4 rounded-full border-2 border-accent-pink border-t-transparent animate-spin" }),
7470
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm text-text-secondary", children: "Aplicando cambios..." })
7651
+ status === "applying" ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-3", children: [
7652
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-5 h-5 rounded-full border-2 border-accent-blue border-t-transparent animate-spin" }),
7653
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-base text-text-secondary font-medium", children: "Aplicando cambios..." })
7471
7654
  ] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(
7472
7655
  "button",
7473
7656
  {
7474
7657
  onClick: handleApplyFix,
7475
7658
  disabled: selectedIds.size === 0,
7476
- className: `px-6 py-2.5 rounded-xl font-semibold text-sm transition-all duration-300 ${selectedIds.size > 0 ? "bg-gradient-to-r from-accent-pink to-accent-pink-hover text-white hover:shadow-lg hover:shadow-accent-pink/25 hover:scale-[1.02] active:scale-[0.98]" : "bg-bg-card text-text-muted cursor-not-allowed"}`,
7659
+ className: `px-8 py-3.5 rounded-xl font-semibold text-base transition-all duration-300 ${selectedIds.size > 0 ? "bg-gradient-to-r from-accent-blue-btn to-accent-blue-btn-hover text-white hover:shadow-xl hover:shadow-accent-blue-btn/20 hover:scale-[1.02] active:scale-[0.98]" : "bg-bg-card border border-border text-text-muted cursor-not-allowed"}`,
7477
7660
  children: [
7478
7661
  "🗑️ Eliminar ",
7479
7662
  selectedIds.size,
@@ -7506,10 +7689,10 @@ function App() {
7506
7689
  setCurrentPage("analysis");
7507
7690
  }, []);
7508
7691
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "h-full flex flex-col bg-bg-primary", children: [
7509
- /* @__PURE__ */ jsxRuntimeExports.jsxs("header", { className: "flex items-center gap-3 px-6 py-3 bg-bg-secondary border-b border-border drag-region", children: [
7510
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 no-drag", children: [
7511
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-8 h-8 rounded-lg bg-gradient-to-br from-accent-pink to-accent-blue flex items-center justify-center", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-white text-sm font-bold", children: "V" }) }),
7512
- /* @__PURE__ */ jsxRuntimeExports.jsx("h1", { className: "text-base font-semibold text-text-primary", children: "VTEX CSS Sanitizer" })
7692
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("header", { className: "flex items-center gap-4 px-8 py-4 bg-bg-secondary border-b border-border drag-region", children: [
7693
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-3 no-drag", children: [
7694
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-9 h-9 rounded-lg bg-gradient-to-br from-accent-pink to-accent-blue flex items-center justify-center shadow-md", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Paintbrush, { size: 18, className: "text-white" }) }),
7695
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h1", { className: "text-lg font-semibold text-text-primary tracking-wide", children: "VTEX CSS Sanitizer" })
7513
7696
  ] }),
7514
7697
  projectPath && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ml-auto text-xs text-text-muted font-mono truncate max-w-[400px] no-drag", children: projectPath })
7515
7698
  ] }),