/* Global X – estilos compartidos (todo va dentro de .gxd-root para no chocar con el tema) */
.gxd-root {
  --gxd-ink: #1c2430;
  --gxd-muted: #5d6877;
  --gxd-line: #dfe3e8;
  --gxd-soft: #f5f7f9;
  --gxd-card: #ffffff;
  --gxd-accent: #1f5f8b;
  --gxd-accent-soft: #e8f1f8;
  --gxd-ok: #1e7a4c;
  --gxd-ok-soft: #e6f4ec;
  --gxd-warn: #a4520b;
  --gxd-warn-soft: #fdf1e4;
  --gxd-danger: #b3261e;
  --gxd-china: #b3261e;
  --gxd-alemania: #8a6a00;
  --gxd-brasil: #1e7a4c;
  --gxd-radius: 10px;
  color: var(--gxd-ink);
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
}
.gxd-root *, .gxd-root *::before, .gxd-root *::after { box-sizing: inherit; }
.gxd-root h1, .gxd-root h2, .gxd-root h3, .gxd-root h4 { color: var(--gxd-ink); line-height: 1.25; margin: 0 0 .5em; }
.gxd-root h1 { font-size: 1.7em; }
.gxd-root h2 { font-size: 1.3em; }
.gxd-root h3 { font-size: 1.05em; margin-top: 1.2em; }
.gxd-root h4 { font-size: .95em; margin-top: 1em; }
.gxd-root p { margin: 0 0 .75em; }
.gxd-root ul { margin: 0 0 .75em 1.2em; padding: 0; }
.gxd-root li { margin-bottom: .25em; }

.gxd-eyebrow { font-size: .75em; letter-spacing: .06em; text-transform: uppercase; color: var(--gxd-muted); font-weight: 600; margin-bottom: .25em; }
.gxd-small { font-size: .85em; }
.gxd-muted { color: var(--gxd-muted); }
.gxd-ok { color: var(--gxd-ok); }
.gxd-warn-text { color: var(--gxd-warn); }
.gxd-loading { color: var(--gxd-muted); padding: 1em 0; }

.gxd-card { background: var(--gxd-card); border: 1px solid var(--gxd-line); border-radius: var(--gxd-radius); padding: 1.25em 1.4em; margin-bottom: 1em; }
.gxd-callout { background: var(--gxd-accent-soft); border-left: 3px solid var(--gxd-accent); padding: .7em .9em; border-radius: 6px; }

/* Botones y formularios */
.gxd-root .gxd-btn { display: inline-flex; align-items: center; gap: .4em; background: var(--gxd-accent); color: #fff; border: 1px solid var(--gxd-accent); border-radius: 8px; padding: .55em 1.1em; font-size: .95em; font-weight: 600; cursor: pointer; line-height: 1.3; text-decoration: none; }
.gxd-root .gxd-btn:hover { filter: brightness(1.08); }
.gxd-root .gxd-btn:disabled { opacity: .45; cursor: not-allowed; filter: none; }
.gxd-root .gxd-btn-ghost { background: transparent; color: var(--gxd-accent); }
.gxd-root .gxd-btn-small { padding: .3em .7em; font-size: .85em; }
.gxd-root .gxd-btn-danger { background: transparent; color: var(--gxd-danger); border-color: var(--gxd-danger); }
.gxd-root .gxd-link { background: none; border: 0; padding: 0; color: var(--gxd-accent); text-decoration: underline; cursor: pointer; font-size: .9em; }
.gxd-root .gxd-input, .gxd-root .gxd-select, .gxd-root .gxd-textarea { width: 100%; border: 1px solid #c4cbd3; border-radius: 8px; padding: .5em .65em; font: inherit; font-size: .95em; color: var(--gxd-ink); background: #fff; }
.gxd-root .gxd-textarea { resize: vertical; min-height: 4em; }
.gxd-root .gxd-input:focus, .gxd-root .gxd-select:focus, .gxd-root .gxd-textarea:focus { outline: 2px solid var(--gxd-accent); outline-offset: 1px; border-color: var(--gxd-accent); }
.gxd-field { margin-bottom: 1em; }
.gxd-label { display: block; font-weight: 600; font-size: .9em; margin-bottom: .3em; }
.gxd-help { font-size: .85em; color: var(--gxd-muted); margin: 0 0 .5em; }
.gxd-counter { display: inline-block; font-size: .8em; color: var(--gxd-muted); margin-top: .25em; }
.gxd-counter.gxd-ok { color: var(--gxd-ok); }
.gxd-check, .gxd-radio { display: inline-flex; align-items: flex-start; gap: .35em; margin: 0 1em .35em 0; font-size: .9em; cursor: pointer; }
.gxd-check input, .gxd-radio input { margin-top: .25em; }

/* Mensajes */
.gxd-errors { background: #fdecea; border: 1px solid #f3b8b3; color: #6b1a14; padding: .75em 1em; border-radius: 8px; margin-bottom: 1em; }
.gxd-errors ul { margin-bottom: 0; }
.gxd-success { background: var(--gxd-ok-soft); border: 1px solid #b5dfc6; color: #134d31; padding: .75em 1em; border-radius: 8px; margin-bottom: 1em; }
.gxd-warn-box { background: var(--gxd-warn-soft); border: 1px solid #f0c99c; color: #6a3506; padding: .6em .8em; border-radius: 8px; font-size: .9em; }

/* Chips y badges */
.gxd-chips { display: flex; flex-wrap: wrap; gap: .35em; }
.gxd-chip { display: inline-block; font-size: .8em; padding: .2em .65em; border-radius: 999px; background: var(--gxd-soft); border: 1px solid var(--gxd-line); color: var(--gxd-ink); }
.gxd-chip-china { border-color: var(--gxd-china); color: var(--gxd-china); }
.gxd-chip-alemania { border-color: var(--gxd-alemania); color: var(--gxd-alemania); }
.gxd-chip-brasil { border-color: var(--gxd-brasil); color: var(--gxd-brasil); }
.gxd-chip-ok { background: var(--gxd-ok-soft); border-color: #b5dfc6; color: var(--gxd-ok); }
.gxd-chip-empty { background: #fff; border-style: dashed; color: var(--gxd-muted); }
.gxd-badge { display: inline-block; font-size: .7em; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: .15em .5em; border-radius: 4px; background: var(--gxd-soft); color: var(--gxd-muted); margin-left: .4em; vertical-align: middle; }
.gxd-badge-lead { background: var(--gxd-accent); color: #fff; }
.gxd-badge-warn { background: var(--gxd-warn-soft); color: var(--gxd-warn); }

/* Tablas */
.gxd-table-wrap { overflow-x: auto; margin-bottom: 1em; }
.gxd-root .gxd-table { width: 100%; border-collapse: collapse; font-size: .9em; margin: 0; }
.gxd-root .gxd-table th, .gxd-root .gxd-table td { text-align: left; vertical-align: top; padding: .5em .6em; border-bottom: 1px solid var(--gxd-line); }
.gxd-root .gxd-table th { background: var(--gxd-soft); font-weight: 600; font-size: .9em; }
.gxd-table-compact { font-size: .82em !important; }
.gxd-table tr.gxd-lost td { background: var(--gxd-warn-soft); }

/* Ficha */
.gxd-ficha h3 { border-top: 1px solid var(--gxd-line); padding-top: .8em; }
.gxd-ficha-head h2 { margin-bottom: .2em; }
.gxd-qa { margin-bottom: .6em; }
.gxd-q { font-weight: 600; font-size: .9em; margin-bottom: .2em; }
.gxd-v2-title { color: var(--gxd-accent) !important; }

/* Impresión de la ficha */
#gxd-print-host { display: none; }
@media print {
  body.gxd-printing > *:not(#gxd-print-host) { display: none !important; }
  body.gxd-printing { background: #fff !important; margin: 0 !important; padding: 0 !important; }
  body.gxd-printing #gxd-print-host { display: block !important; width: 100%; padding: 0 4mm; background: #fff; }
  html.wp-toolbar { padding-top: 0 !important; }
  #gxd-print-host .gxd-table { font-size: 9.5pt; }
  #gxd-print-host h3 { break-after: avoid; }
  #gxd-print-host tr { break-inside: avoid; }
}

/* Retroalimentación automática */
.gxd-feedback { border-top: 2px solid var(--gxd-accent); margin-top: 1.2em; padding-top: 1em; }
.gxd-card-feedback .gxd-feedback { border-top: 0; margin-top: 0; padding-top: 0; }
.gxd-fb-head { display: flex; justify-content: space-between; gap: 1em; align-items: flex-start; flex-wrap: wrap; }
.gxd-root .gxd-fb-title { margin-top: 0; border: 0; padding: 0; }
.gxd-fb-score { display: flex; flex-direction: column; align-items: center; min-width: 140px; padding: .6em 1em; border-radius: var(--gxd-radius); border: 2px solid currentColor; }
.gxd-fb-score strong { font-size: 2.4em; line-height: 1; }
.gxd-fb-score span { font-size: .8em; }
.gxd-fb-score em { font-style: normal; font-weight: 700; font-size: .85em; margin-top: .2em; text-align: center; }
.gxd-lvl-4 { color: #1e7a4c; background: #e6f4ec; }
.gxd-lvl-3 { color: #1f5f8b; background: #e8f1f8; }
.gxd-lvl-2 { color: #8a5a00; background: #fdf3df; }
.gxd-lvl-1 { color: #b3261e; background: #fdecea; }
.gxd-fb-components { display: grid; gap: .35em; margin: .8em 0 1em; }
.gxd-fb-comp { display: grid; grid-template-columns: 210px 1fr 70px; gap: .7em; align-items: center; font-size: .88em; }
.gxd-fb-bar { height: 8px; background: var(--gxd-soft); border-radius: 4px; overflow: hidden; }
.gxd-fb-bar span { display: block; height: 100%; background: var(--gxd-accent); }
.gxd-fb-comp-pts { text-align: right; color: var(--gxd-muted); font-variant-numeric: tabular-nums; }
.gxd-fb-list h4 { margin: .8em 0 .3em; }
.gxd-fb-list ul { font-size: .9em; }
.gxd-fb-hits h4 { color: var(--gxd-ok); }
.gxd-fb-low h4, .gxd-fb-missed h4 { color: var(--gxd-warn); }
.gxd-fb-alerts h4 { color: var(--gxd-danger); }
.gxd-fb-pill { display: inline-block; font-size: .82em; font-weight: 700; padding: .15em .55em; border-radius: 999px; }
@media (max-width: 640px) { .gxd-fb-comp { grid-template-columns: 1fr 70px; } .gxd-fb-bar { grid-column: 1 / -1; } }
@media print { #gxd-print-host .gxd-feedback { break-before: page; } }
.gxd-ai-comment { font-size: 1.02em; line-height: 1.6; }
