.xgz-tool {
  --t-brand: var(--xgz-brand, #E60045);
  --t-brand-text: var(--xgz-brand-text, #E60045);
  --t-brand-tint: var(--xgz-brand-tint, #FDEBF0);
  --t-accent: var(--xgz-accent, #0099E9);
  --t-accent-text: var(--xgz-accent-text, #007BBB);
  --t-accent-tint: var(--xgz-accent-tint, #E8F6FD);
  --t-deep: var(--xgz-deep-2, #0F2340);
  --t-on-deep: var(--xgz-on-deep, #FFFFFF);
  --t-ink: var(--xgz-ink, #1E1E1E);
  --t-ink-2: var(--xgz-ink-2, #444444);
  --t-ink-3: var(--xgz-ink-3, #5F6B7A);
  --t-line: var(--xgz-line, #E5E7EB);
  --t-surface: var(--xgz-surface, #FFFFFF);
  --t-surface-2: var(--xgz-surface-2, #F7F8FA);
  --t-r: var(--xgz-r-md, 4px);
  --t-btn-r: var(--xgz-btn-r, 2px);
  position: relative;
  box-sizing: border-box;
  margin: var(--xgz-s7, 32px) 0 0;
  background: var(--t-surface);
  color: var(--t-ink-2);
  border: 1px solid var(--t-line);
  border-top: 3px solid var(--t-brand);
  border-radius: var(--t-r);
  font-family: var(--xgz-font, inherit);
  font-size: var(--xgz-fs-base, 0.875rem);
  line-height: var(--xgz-lh-ui, 1.5);
  text-align: left;
  min-height: 420px;
}
.xgz-tool *, .xgz-tool *::before, .xgz-tool *::after { box-sizing: border-box; }
.xgz-tool[data-ready] { min-height: 0; }
.xgz-tool p { margin: 0 0 var(--xgz-s3, 12px); }
.xgz-tool p:last-child { margin-bottom: 0; }
.xgz-tool ul, .xgz-tool ol { margin: 0; padding: 0; list-style: none; }
.xgz-tool fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.xgz-tool button { font: inherit; }
.xgz-scope .xgz-tool h3, .xgz-scope .xgz-tool h4, .xgz-tool h3, .xgz-tool h4 { margin: 0; color: var(--t-ink); font-weight: var(--xgz-fw-bold, 700); line-height: var(--xgz-lh-heading, 1.35); }
.xgz-scope .xgz-tool h3, .xgz-tool h3 { font-size: var(--xgz-fs-xl, 1.25rem); }
.xgz-scope .xgz-tool h4, .xgz-tool h4 { font-size: var(--xgz-fs-md, 0.9375rem); }
.xgz-tool-bar { display: flex; align-items: center; gap: var(--xgz-s3, 12px); flex-wrap: wrap; padding: var(--xgz-s3, 12px) var(--xgz-s6, 24px); border-bottom: 1px solid var(--t-line); }
.xgz-tool-tag { display: inline-flex; align-items: center; gap: var(--xgz-s2, 8px); font-size: var(--xgz-fs-xxs, 0.6875rem); font-weight: var(--xgz-fw-bold, 700); letter-spacing: var(--xgz-ls-caps-wide, 0.12em); text-transform: uppercase; color: var(--t-ink); }
.xgz-tool-tag::before { content: ""; width: 10px; height: 10px; background: var(--t-brand); flex: none; }
.xgz-tool-name { font-weight: var(--xgz-fw-bold, 700); color: var(--t-ink); font-size: var(--xgz-fs-sm, 0.8125rem); }
.xgz-tool-note { margin-left: auto; font-size: var(--xgz-fs-xs, 0.75rem); color: var(--t-ink-3); }
.xgz-tool-grid { display: grid; grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.38fr); }
.xgz-tool-side { background: var(--t-surface-2); border-right: 1px solid var(--t-line); min-width: 0; }
.xgz-tool-in { padding: var(--xgz-s6, 24px); display: grid; gap: var(--xgz-s5, 20px); align-content: start; }
@media (min-width: 901px) and (min-height: 760px) {
  .xgz-tool-side > .xgz-tool-in { position: sticky; top: calc(var(--xgz-header-h, 80px) + 16px); }
}
.xgz-tool-out { padding: var(--xgz-s6, 24px); display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--xgz-s5, 20px); align-content: start; min-width: 0; }
.xgz-tool-out > *, .xgz-tool-rec > * { min-width: 0; }
.xgz-tool-row2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--xgz-s3, 12px); }
.xgz-tool-q { display: grid; gap: var(--xgz-s2, 8px); }
.xgz-tool-q > legend, .xgz-tool-lab { display: block; padding: 0; margin: 0 0 var(--xgz-s2, 8px); font-size: var(--xgz-fs-xs, 0.75rem); font-weight: var(--xgz-fw-bold, 700); color: var(--t-ink); letter-spacing: 0.02em; }
.xgz-tool-q > legend small, .xgz-tool-lab small { font-weight: 400; color: var(--t-ink-3); letter-spacing: 0; }
.xgz-tool-help { font-size: var(--xgz-fs-xs, 0.75rem); color: var(--t-ink-3); margin: 0; }
.xgz-seg { display: flex; flex-wrap: wrap; gap: 6px; }
.xgz-seg label { position: relative; display: inline-flex; flex-direction: column; justify-content: center; min-height: 38px; padding: 7px 12px; background: var(--t-surface); border: 1px solid var(--t-line); border-radius: var(--t-btn-r); cursor: pointer; font-size: var(--xgz-fs-sm, 0.8125rem); font-weight: var(--xgz-fw-medium, 600); color: var(--t-ink); line-height: 1.3; transition: border-color .15s ease, background .15s ease, color .15s ease; }
.xgz-seg label small { font-weight: 400; font-size: var(--xgz-fs-xs, 0.75rem); color: var(--t-ink-3); }
.xgz-seg label:hover { border-color: var(--t-ink-3); }
.xgz-seg input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.xgz-seg label:has(input:checked) { background: var(--t-deep); border-color: var(--t-deep); color: var(--t-on-deep); }
.xgz-seg label:has(input:checked) small { color: rgba(255, 255, 255, 0.75); }
.xgz-seg label:has(input:focus-visible) { outline: 2px solid var(--t-accent); outline-offset: 2px; }
.xgz-seg--wide label { flex: 1 1 0; text-align: center; }
.xgz-seg--stack { display: grid; }
.xgz-seg--stack label { text-align: left; }
.xgz-num { display: flex; align-items: stretch; border: 1px solid var(--t-line); border-radius: var(--t-btn-r); background: var(--t-surface); }
.xgz-num:focus-within { outline: 2px solid var(--t-accent); outline-offset: 0; border-color: var(--t-accent); }
.xgz-num input { flex: 1 1 auto; min-width: 0; width: 100%; border: 0; background: transparent; padding: 9px var(--xgz-s3, 12px); font: inherit; font-size: var(--xgz-fs-md, 0.9375rem); font-variant-numeric: tabular-nums; color: var(--t-ink); outline: none; }
.xgz-num span { display: grid; place-items: center; padding: 0 var(--xgz-s3, 12px); border-left: 1px solid var(--t-line); color: var(--t-ink-3); font-size: var(--xgz-fs-sm, 0.8125rem); white-space: nowrap; }
.xgz-num input[aria-invalid="true"] { color: var(--t-brand-text); }
.xgz-tool select, .xgz-tool input[type="text"] { width: 100%; min-width: 0; font: inherit; font-size: var(--xgz-fs-base, 0.875rem); color: var(--t-ink); background: var(--t-surface); border: 1px solid var(--t-line); border-radius: var(--t-btn-r); padding: 8px 10px; }
.xgz-tool select:focus, .xgz-tool input[type="text"]:focus { outline: 2px solid var(--t-accent); outline-offset: 0; border-color: var(--t-accent); }
.xgz-tool-kicker { display: inline-flex; align-items: center; gap: 6px; font-size: var(--xgz-fs-xxs, 0.6875rem); font-weight: var(--xgz-fw-bold, 700); letter-spacing: var(--xgz-ls-caps, 0.08em); text-transform: uppercase; color: var(--t-brand-text); margin: 0 0 6px; }
.xgz-tool-rec { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--xgz-s3, 12px); }
.xgz-tool-rec > h3 { font-size: clamp(1.25rem, 1rem + 0.9vw, 1.55rem); letter-spacing: -0.01em; }
.xgz-tool-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.xgz-tool-chips li { padding: 3px 9px; border: 1px solid var(--t-line); border-radius: 999px; font-size: var(--xgz-fs-xs, 0.75rem); font-weight: var(--xgz-fw-medium, 600); color: var(--t-ink-2); background: var(--t-surface-2); }
.xgz-tool-list { display: grid; gap: 7px; }
.xgz-tool-list li { position: relative; padding-left: 22px; color: var(--t-ink-2); }
.xgz-tool-list li::before { content: ""; position: absolute; left: 2px; top: 0.45em; width: 11px; height: 6px; border-left: 2px solid var(--t-ink); border-bottom: 2px solid var(--t-ink); transform: rotate(-45deg); }
.xgz-tool-list--watch li::before { top: 0.6em; width: 10px; height: 2px; border: 0; background: var(--t-brand); transform: none; }
.xgz-tool-list--q li::before { content: "?"; top: 0; width: auto; height: auto; border: 0; transform: none; font-weight: 700; color: var(--t-accent-text); }
.xgz-tool-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--xgz-s5, 20px); }
.xgz-tool-h { font-size: var(--xgz-fs-xs, 0.75rem); font-weight: var(--xgz-fw-bold, 700); text-transform: uppercase; letter-spacing: var(--xgz-ls-caps, 0.08em); color: var(--t-ink); margin: 0 0 var(--xgz-s2, 8px); }
.xgz-tool-flag { padding: var(--xgz-s3, 12px) var(--xgz-s4, 16px); background: var(--t-brand-tint); border-left: 3px solid var(--t-brand); color: var(--t-ink); font-size: var(--xgz-fs-sm, 0.8125rem); }
.xgz-tool-flag--info { background: var(--t-accent-tint); border-left-color: var(--t-accent); }
.xgz-tool-flag--ok { background: var(--t-surface-2); border-left-color: var(--t-ink-3); }
.xgz-tool-kv { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); border: 1px solid var(--t-line); border-radius: var(--t-r); }
.xgz-tool-kv > div { padding: var(--xgz-s3, 12px) var(--xgz-s4, 16px); border-right: 1px solid var(--t-line); }
.xgz-tool-kv > div:last-child { border-right: 0; }
.xgz-tool-kv dt { font-size: var(--xgz-fs-xs, 0.75rem); color: var(--t-ink-3); margin: 0 0 2px; }
.xgz-tool-kv dd { margin: 0; font-size: var(--xgz-fs-xl, 1.25rem); font-weight: var(--xgz-fw-bold, 700); color: var(--t-ink); font-variant-numeric: tabular-nums; line-height: 1.2; }
.xgz-tool-kv dd small { display: block; font-size: var(--xgz-fs-xs, 0.75rem); font-weight: 400; color: var(--t-ink-3); }
.xgz-tool-alts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: var(--xgz-s3, 12px); }
.xgz-tool-alt { padding: var(--xgz-s3, 12px) var(--xgz-s4, 16px); border: 1px solid var(--t-line); border-radius: var(--t-r); background: var(--t-surface); }
.xgz-tool-alt h4 { margin: 0 0 4px; }
.xgz-tool-alt p { font-size: var(--xgz-fs-sm, 0.8125rem); color: var(--t-ink-3); }
.xgz-tool-fig { margin: 0; border: 1px solid var(--t-line); border-radius: var(--t-r); background: var(--t-surface-2); padding: var(--xgz-s3, 12px); }
.xgz-tool-fig svg { display: block; width: 100%; height: auto; max-width: 100%; }
.xgz-tool-fig figcaption { margin-top: 6px; font-size: var(--xgz-fs-xs, 0.75rem); color: var(--t-ink-3); }
.xgz-tool-send { display: grid; gap: var(--xgz-s3, 12px); padding: var(--xgz-s4, 16px); border: 1px dashed var(--t-line); border-radius: var(--t-r); background: var(--t-surface); }
.xgz-tool-sum { margin: 0; white-space: pre-wrap; font-family: inherit; font-size: var(--xgz-fs-sm, 0.8125rem); color: var(--t-ink-2); background: var(--t-surface-2); border-left: 3px solid var(--t-brand); padding: var(--xgz-s3, 12px) var(--xgz-s4, 16px); max-height: 220px; overflow: auto; }
.xgz-tool-btns { display: flex; flex-wrap: wrap; gap: var(--xgz-s2, 8px); }
.xgz-tool .xgz-tool-btns .xgz-btn { flex: 0 1 auto; }
.xgz-tool-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 40px; padding: 9px var(--xgz-s4, 16px); border-radius: var(--t-btn-r); border: 1px solid var(--t-line); background: var(--t-surface); color: var(--t-ink); font-size: var(--xgz-fs-sm, 0.8125rem); font-weight: var(--xgz-fw-bold, 700); text-decoration: none; cursor: pointer; line-height: 1.2; }
.xgz-scope .xgz-tool a.xgz-tool-btn { color: var(--t-ink); text-decoration: none; }
.xgz-tool-btn:hover { border-color: var(--t-ink); }
.xgz-tool-btn--primary, .xgz-scope .xgz-tool a.xgz-tool-btn--primary { background: var(--xgz-brand-btn, #E60045); border-color: var(--xgz-brand-btn, #E60045); color: #fff; }
.xgz-tool-btn--primary:hover, .xgz-scope .xgz-tool a.xgz-tool-btn--primary:hover { background: var(--xgz-brand-btn-h, #C7003C); border-color: var(--xgz-brand-btn-h, #C7003C); color: #fff; }
.xgz-tool-btn--wa, .xgz-scope .xgz-tool a.xgz-tool-btn--wa { background: var(--xgz-whatsapp, #25D366); border-color: var(--xgz-whatsapp, #25D366); color: var(--xgz-deep, #0A1A30); }
.xgz-tool-btn--sm { min-height: 32px; padding: 5px 10px; font-size: var(--xgz-fs-xs, 0.75rem); }
.xgz-tool-btn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.xgz-tool-foot { margin: 0; padding: var(--xgz-s3, 12px) var(--xgz-s6, 24px); border-top: 1px solid var(--t-line); font-size: var(--xgz-fs-xs, 0.75rem); color: var(--t-ink-3); background: var(--t-surface); }
.xgz-tool-toast { position: absolute; right: var(--xgz-s4, 16px); bottom: var(--xgz-s4, 16px); padding: 8px 12px; background: var(--t-deep); color: #fff; font-size: var(--xgz-fs-xs, 0.75rem); border-radius: var(--t-btn-r); box-shadow: 0 6px 18px rgba(0, 0, 0, .18); }
.xgz-tool-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.xgz-tool-more { font-size: var(--xgz-fs-sm, 0.8125rem); margin: var(--xgz-s4, 16px) 0 0; }
@media (max-width: 900px) {
  .xgz-tool-grid { grid-template-columns: minmax(0, 1fr); }
  .xgz-tool-side { border-right: 0; border-bottom: 1px solid var(--t-line); }
  .xgz-tool-note { margin-left: 0; width: 100%; }
}
@media (max-width: 600px) {
  .xgz-tool-bar, .xgz-tool-in, .xgz-tool-out, .xgz-tool-foot { padding-left: var(--xgz-s4, 16px); padding-right: var(--xgz-s4, 16px); }
  .xgz-tool-cols, .xgz-tool-row2 { grid-template-columns: 1fr; }
  .xgz-tool-kv { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .xgz-tool-kv > div { padding: var(--xgz-s2, 8px) var(--xgz-s3, 12px); }
  .xgz-tool-kv dd { font-size: var(--xgz-fs-lg, 1.0625rem); }
  .xgz-tool-btns .xgz-tool-btn { flex: 1 1 100%; }
}
@media print {
  .xgz-tool { border: 0; min-height: 0; }
  .xgz-tool-in, .xgz-tool-send .xgz-tool-btns, .xgz-tool-noprint { display: none !important; }
  .xgz-tool-grid { grid-template-columns: minmax(0, 1fr); }
}
