.ps4-symbol,
.ps4-logo {
  background: linear-gradient(135deg, var(--brand-green), var(--brand-blue));
  color: #fff;
}

.ps4-symbol {
  font-size: 11px;
}

.ps4-logo {
  display: grid;
  place-items: center;
  width: 35px;
  height: 35px;
  border-radius: 9px;
  font-weight: 800;
}

.header-actions { display: flex; align-items: center; gap: 9px; }
.refresh-all { min-width: 122px; }
.refresh-all:disabled { opacity: .65; cursor: wait; }

.console-tab[data-console="PS4"].active {
  border-color: #9588ee;
  box-shadow: 0 0 0 3px #5b4cc414;
}

body[data-console="PS4"] .hero-panel {
  background: linear-gradient(120deg, #111a1e 0%, #102520 52%, #0878bd 100%);
}

.scan-progress {
  padding: 14px;
  border: 1px solid #dce4f3;
  border-radius: 11px;
  background: #f8faff;
}

.scan-progress[hidden] {
  display: none;
}

.progress-heading,
.progress-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.progress-heading {
  font-size: 10px;
  color: #344157;
}

.progress-heading span {
  color: var(--brand-blue);
  font-weight: 800;
}

.progress-track {
  height: 8px;
  margin: 10px 0 8px;
  overflow: hidden;
  border-radius: 20px;
  background: #e6ebf4;
}

.progress-track span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--brand-green), var(--brand-blue));
  transition: width .35s ease;
}

.progress-footer {
  color: #7a879b;
  font-size: 9px;
}

.progress-footer button {
  border: 0;
  background: transparent;
  color: #d24545;
  font: 700 9px "DM Sans";
  cursor: pointer;
}

.table-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.native-filter { display: grid; gap: 4px; }
.native-filter span { color: #8a96a9; font-size: 8px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; }
.native-filter select { min-width: 140px; height: 35px; border: 1px solid #dfe4ec; border-radius: 8px; padding: 0 10px; background: #fff; color: #344157; font: 700 10px "DM Sans"; cursor: pointer; outline: none; }
.native-filter select:focus { border-color: var(--brand-green); box-shadow: 0 0 0 3px #99c84622; }
.filtered-count { display: inline-block; margin-top: 7px; padding: 4px 8px; border-radius: 12px; background: #f0f8e6; color: var(--brand-green-dark); font-size: 9px; font-weight: 800; }
.apply-filter { align-self: end; height: 35px; border: 0; border-radius: 8px; padding: 0 14px; background: linear-gradient(135deg,var(--brand-green),var(--brand-green-dark)); color: #101913; font: 800 10px "DM Sans"; cursor: pointer; }
.clear-filter { align-self: end; display: grid; place-items: center; height: 35px; padding: 0 8px; color: #7b8799; font-size: 9px; font-weight: 700; text-decoration: none; }
.direct-filters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.direct-filters>div { display: flex; align-items: center; gap: 4px; padding: 3px; border-radius: 9px; background: #eaedf3; }
.direct-filters span { padding: 0 6px; color: #7e899c; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.direct-filters a { padding: 7px 9px; border-radius: 7px; color: #69758a; font-size: 9px; font-weight: 700; text-decoration: none; }
.direct-filters a:hover { background: #fff; color: #2962ff; }

.outcome-filter {
  display: flex;
  gap: 4px;
  padding: 3px;
  border-radius: 8px;
  background: #eaedf3;
}

.comparison-matrix {
  overflow: visible;
}
.comparison-sticky-head {
  position: sticky;
  top: 0;
  z-index: 8;
  overflow: hidden;
  border-radius: 12px 12px 0 0;
  background: #fafbfc;
  box-shadow: 0 8px 16px rgba(23,32,51,.08);
}
.comparison-scroll {
  overflow-x: auto;
  border-radius: 0 0 12px 12px;
}
.product-search { display: flex; align-items: center; gap: 8px; margin-bottom: 18px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.product-search>div { position: relative; flex: 1; }
.product-search>div span { position: absolute; left: 12px; top: 8px; color: #8490a4; font-size: 17px; }
.product-search input[type="search"] { width: 100%; height: 38px; border: 0; border-radius: 8px; padding: 0 12px 0 38px; background: #f5f7fb; color: #28354a; font: 600 11px "DM Sans"; outline: none; }
.product-search button { height: 38px; border: 0; border-radius: 8px; padding: 0 18px; background: #17243a; color: #fff; font: 800 10px "DM Sans"; cursor: pointer; }
.product-search>a { padding: 0 8px; color: #7d899b; font-size: 9px; font-weight: 700; text-decoration: none; white-space: nowrap; }

.comparison-grid {
  display: grid;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 1050px;
  box-sizing: border-box;
  padding: 14px 18px;
  border-top: 1px solid #edf0f5;
  font-size: 11px;
}

.comparison-grid > * {
  min-width: 0;
}

.comparison-grid .product > div {
  min-width: 0;
}

.comparison-grid.table-head > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.comparison-grid.table-head {
  border-top: 0;
  will-change: transform;
}

.matrix-store strong,
.matrix-store small {
  display: block;
}

.matrix-store small {
  margin-top: 3px;
}

.manual-link-badge { display: inline-block; margin-left: 5px; color: #2f65d9; font-size: 8px; font-weight: 800; }
.replace-offer { border: 0; padding: 0; background: transparent; color: #7b8799; font: 700 8px "DM Sans"; cursor: pointer; text-align: left; }
.replace-offer:hover { color: #2f65d9; text-decoration: underline; }

.missing-price {
  color: #b4bdca;
  font-weight: 700;
}

.missing-offer { display: grid; justify-items: start; gap: 4px; }
.missing-offer > span { color: #b4bdca; font-weight: 700; }
.missing-offer button { border: 0; padding: 0; background: transparent; color: #2f65d9; font: 700 9px "DM Sans"; cursor: pointer; white-space: nowrap; }
.missing-offer button:hover { color: #1747ad; text-decoration: underline; }

.best-price {
  color: #27344a;
  font: 800 12px Manrope;
}

.price-gap {
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

.price-gap.good { color: #0e9f6e; }
.price-gap.bad { color: #e34b4b; }
.price-gap.neutral { color: #a0aabc; }

.product small a {
  color: #9aa5b5;
  text-decoration: none;
}
.product small { display: flex; align-items: center; gap: 7px; }
.refresh-product { border: 0; padding: 0; background: transparent; color: #2962ff; font: 700 8px "DM Sans"; cursor: pointer; }
.refresh-product:hover { text-decoration: underline; }
.refresh-product:disabled { opacity: .55; cursor: wait; text-decoration: none; }

body {
  background:
    radial-gradient(circle at 86% -8%, rgba(151, 200, 67, .18), transparent 30%),
    radial-gradient(circle at 10% 8%, rgba(8, 119, 185, .10), transparent 26%),
    var(--bg);
}

.sidebar {
  background:
    linear-gradient(155deg, rgba(151, 200, 67, .16), transparent 32%),
    linear-gradient(180deg, #04121c 0%, #062033 100%);
  border-right: 1px solid rgba(151, 200, 67, .16);
}

.brand {
  align-items: flex-start;
}

.brand-mark {
  background: linear-gradient(145deg, #97c843, #0877b9);
  box-shadow: 0 10px 24px rgba(8, 119, 185, .34);
}

.brand strong {
  line-height: 1;
  letter-spacing: -.3px;
}

.brand small {
  display: block;
  margin-top: 4px;
  color: #9fca4f;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .8px;
  text-transform: uppercase;
}

.side-label,
.eyebrow {
  color: #0877b9;
}

.nav-item {
  color: #92aabb;
}

.nav-item.active,
.nav-item:hover {
  background: linear-gradient(90deg, rgba(151, 200, 67, .18), rgba(8, 119, 185, .14));
  color: #fff;
}

.console-nav b,
.sources-nav b {
  background: rgba(151, 200, 67, .14);
  color: #bce46d;
}

.scope-card {
  background: rgba(255,255,255,.05);
  border-color: rgba(151, 200, 67, .22);
}

.pulse {
  background: #97c843;
  box-shadow: 0 0 0 4px rgba(151, 200, 67, .16);
}

.sidebar-foot {
  border-color: rgba(151, 200, 67, .18);
}

.avatar {
  background: linear-gradient(145deg, #97c843, #0877b9);
  color: #fff;
}

.primary,
.apply-filter,
.product-search button {
  background: linear-gradient(135deg, #0877b9, #075f94);
  box-shadow: 0 10px 22px rgba(8, 119, 185, .22);
}

.primary:hover,
.apply-filter:hover,
.product-search button:hover {
  background: linear-gradient(135deg, #0b86cf, #0668a4);
}

.secondary,
.filtered-count,
.empty-icon {
  background: #edf7dc;
  color: #6c9824;
}

.metrics article,
.sources-strip,
.product-search,
.table-card,
.console-tab {
  border-color: rgba(8, 119, 185, .12);
  box-shadow: 0 8px 28px rgba(3, 24, 38, .055);
}

.metric-icon.blue,
.source-chip>span,
.source-avatar,
.platform-icon {
  background: #e7f3fa;
  color: #0877b9;
}

.metric-icon.green,
.platform-icon.xbox {
  background: #edf7dc;
  color: #6c9824;
}

.console-tab.active,
.platform-choice.selected {
  border-color: #97c843;
  box-shadow: 0 0 0 3px rgba(151, 200, 67, .16);
}

.ps-logo,
.ps-symbol {
  background: #0877b9;
}

.xbox-logo,
.xbox-symbol {
  background: #97c843;
  color: #082130;
}

.ps4-symbol,
.ps4-logo {
  background: linear-gradient(135deg, #0877b9, #97c843);
}

.hero-panel,
.ps-hero,
body[data-console="PS4"] .hero-panel,
body[data-console="Xbox Series"] .hero-panel {
  background:
    radial-gradient(circle at 90% 20%, rgba(151, 200, 67, .33), transparent 24%),
    linear-gradient(120deg, #04131d 0%, #07567f 56%, #0877b9 100%);
}

.hero-panel:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(151, 200, 67, .18), transparent 38%);
  pointer-events: none;
}

.hero-panel > * {
  position: relative;
  z-index: 1;
}

.hero-kicker {
  color: #c8ee78;
  opacity: 1;
}

.direct-filters>div,
.license-filter,
.outcome-filter {
  background: #e9f0f2;
}

.direct-filters a:hover,
.filter.active {
  color: #0877b9;
}

.comparison-sticky-head,
.table-head {
  background: #f8fbfb;
}

.refresh-product,
.missing-offer button,
.replace-offer:hover,
.manual-link-badge {
  color: #0877b9;
}

.status-pill.good {
  background: #edf7dc;
  color: #6c9824;
}

.difference.good,
.price-gap.good {
  color: #6c9824;
}

/* Mex Cadastros visual identity */
body {
  background: var(--bg);
  color: var(--ink);
  font-size: 14px;
}

.sidebar {
  background: linear-gradient(180deg, #111a1e 0%, #101821 55%, #0b1417 100%);
  color: #aebbc1;
  padding: 28px 20px;
  border-right: 0;
}

.brand {
  align-items: center;
  gap: 12px;
  padding: 0;
  margin: 0 9px 40px;
  color: #fff;
  font: 800 20px Manrope;
}

.brand-mark {
  width: 46px;
  height: 46px;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--brand-green), var(--brand-blue));
  color: #fff;
  font: 800 20px Manrope;
  box-shadow: 0 8px 22px #0878bd30;
}

.brand > div {
  display: flex;
  flex-direction: column;
  line-height: 1.05;
}

.brand b {
  color: #fff;
  font: 800 15px/1 Manrope;
}

.brand > div > span {
  color: var(--brand-green);
  font: 800 20px/1.05 Manrope;
}

.brand small {
  color: #79afd0;
  font: 800 8px Manrope;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  margin-top: 5px;
}

.side-label {
  color: #5e7178;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.6px;
  margin: 0 12px 10px;
}

.sidebar nav {
  gap: 0;
}

.nav-item {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 46px;
  margin: 4px 0;
  padding: 0 12px;
  border-radius: 10px;
  color: #aebbc1;
  font-weight: 600;
  transition: .2s;
}

.nav-item:hover {
  background: #18272d;
  color: #fff;
}

.nav-item.active {
  background: linear-gradient(90deg, var(--brand-green-dark), var(--brand-blue));
  color: #fff;
  box-shadow: 0 8px 22px #0878bd33;
}

.console-nav b,
.sources-nav b,
.unmatched-nav b {
  background: #142126;
  color: #a4d958;
}

.scope-card {
  background: #142126;
  border: 1px solid #263a42;
  border-radius: 14px;
  padding: 16px;
}

.scope-card strong {
  color: #fff;
}

.scope-card p {
  color: #8ea0a6;
  font-size: 12px;
}

.pulse {
  background: var(--brand-green);
  box-shadow: 0 0 0 4px #99c84618;
}

.sidebar-foot {
  border-top: 1px solid #263a42;
}

.avatar {
  background: linear-gradient(135deg, #10262f, var(--brand-blue));
}

main {
  padding: 34px 38px 70px;
}

header {
  margin-bottom: 28px;
}

h1 {
  font: 800 28px Manrope;
  letter-spacing: -.8px;
}

.eyebrow {
  color: #73919d;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.25px;
}

.primary,
.apply-filter {
  background: linear-gradient(135deg, var(--brand-green), var(--brand-green-dark));
  color: #0d1715;
  box-shadow: 0 7px 18px #99c84636;
}

.primary:hover,
.apply-filter:hover {
  background: linear-gradient(135deg, #a8d654, var(--brand-green-dark));
  transform: translateY(-1px);
  box-shadow: 0 9px 22px #0878bd33;
}

.secondary,
.ghost {
  background: #fff;
  color: #454c64;
  border: 1px solid var(--line);
  box-shadow: none;
}

.metrics article,
.sources-strip,
.product-search,
.table-card,
.console-tab,
.source-drawer,
.manual-modal {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow);
}

.metrics span {
  color: var(--muted);
  font-size: 12px;
}

.metrics small,
.source-chip small,
.product small,
.store small {
  color: var(--muted);
}

.metric-icon.blue,
.source-chip>span,
.source-avatar,
.platform-icon,
.ps-logo,
.ps-symbol {
  background: #eaf5fc;
  color: var(--brand-blue);
}

.metric-icon.green,
.platform-icon.xbox,
.xbox-logo,
.xbox-symbol {
  background: #f0f8e6;
  color: var(--brand-green-dark);
}

.metric-icon.violet,
.metric-icon.amber,
.empty-icon {
  background: #f0f8e6;
  color: var(--brand-green-dark);
}

.console-tab.active,
.console-tab[data-console="PS4"].active,
.console-tab[data-console="Xbox Series"].active,
.platform-choice.selected {
  border-color: var(--brand-green);
  box-shadow: 0 0 0 3px #99c84624;
}

.hero-panel,
.ps-hero,
body[data-console="PS4"] .hero-panel,
body[data-console="Xbox Series"] .hero-panel {
  background:
    radial-gradient(circle at 18% 18%, #99c84624, transparent 34%),
    radial-gradient(circle at 86% 84%, #0878bd28, transparent 38%),
    linear-gradient(125deg, #101a1d 0%, #0d1418 55%, #102520 100%);
}

.hero-panel:before {
  background-image:
    linear-gradient(#ffffff08 1px, transparent 1px),
    linear-gradient(90deg, #ffffff08 1px, transparent 1px);
  background-size: 52px 52px;
  opacity: .8;
}

.hero-kicker {
  color: #a4d958;
}

.field input,
.field select,
.product-search input[type="search"],
.native-filter select,
.template-generator input {
  border-color: #dfe3ec;
}

.field input:focus,
.field select:focus,
.product-search input[type="search"]:focus,
.native-filter select:focus {
  border-color: var(--brand-green);
  box-shadow: 0 0 0 3px #99c84622;
}

.product-search button {
  background: linear-gradient(135deg, var(--brand-green), var(--brand-green-dark));
  color: #0d1715;
  box-shadow: 0 7px 18px #99c84636;
}

.direct-filters>div,
.license-filter,
.outcome-filter {
  background: #f3f4f8;
}

.direct-filters a:hover,
.filter.active {
  color: var(--ink);
}

.comparison-sticky-head,
.table-head {
  background: #fafbfc;
}

.manual-link-badge,
.replace-offer:hover,
.missing-offer button,
.refresh-product,
.panel-heading a {
  color: var(--brand-blue);
}

.status-pill.good,
.filtered-count {
  background: #f0f8e6;
  color: #5f8e28;
}

.difference.good,
.price-gap.good {
  color: var(--brand-green-dark);
}

.price-gap.bad,
.difference.bad,
.status-pill.bad {
  color: var(--red);
}

.unmatched-section { margin-top: 28px; }
.unmatched-section { scroll-margin-top: 28px; }
.unmatched-nav span { color: #f0a35b; font-weight: 800; }
.unmatched-heading { align-items: end; }
.unmatched-heading h2 span { display: inline-grid; place-items: center; min-width: 24px; height: 24px; margin-left: 7px; padding: 0 7px; border-radius: 12px; background: #fff0e6; color: #c86621; font-size: 10px; vertical-align: 2px; }
.global-match-badge { padding: 8px 11px; border-radius: 18px; background: #f0f3f8; color: #637086; font-size: 9px; font-weight: 800; }
.unmatched-row { display: grid; grid-template-columns: minmax(280px,2fr) 120px minmax(240px,1.5fr) 145px; align-items: center; gap: 12px; padding: 13px 18px; border-top: 1px solid #edf0f5; font-size: 10px; }
.unmatched-row:first-child { border-top: 0; }
.unmatched-head { background: #fafbfc; color: #8d98aa; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; }
.unmatched-row div strong,.unmatched-row div small { display: block; }
.unmatched-row div small { margin-top: 3px; color: #9aa5b5; }
.unmatched-row>a { color: #718096; text-decoration: none; }
.unmatched-reason { color: #9b672f; }
.unmatched-empty { padding: 35px; text-align: center; color: #9aa5b5; font-size: 11px; }
.unmatched-card { overflow-x: auto; }
.unmatched-card .unmatched-row { min-width: 850px; }
.unmatched-actions { display: flex; gap: 5px; }
.unmatched-actions a,.unmatched-actions button { border: 1px solid var(--line); border-radius: 7px; padding: 6px 8px; background: #fff; color: #647086; font: 700 9px "DM Sans"; text-decoration: none; cursor: pointer; }
.unmatched-actions button { border-color: #cbd9ff; color: #2962ff; background: #f5f8ff; }
.manual-backdrop { position: fixed; inset: 0; z-index: 20; background: #07101f99; opacity: 0; pointer-events: none; transition: .2s; }
.manual-backdrop.open { opacity: 1; pointer-events: auto; }
.manual-modal { position: fixed; z-index: 21; top: 50%; left: 50%; width: min(440px,calc(100% - 30px)); padding: 28px; border-radius: 15px; background: #fff; box-shadow: 0 20px 60px #07101f44; transform: translate(-50%,-46%) scale(.98); opacity: 0; pointer-events: none; transition: .2s; }
.manual-modal.open { transform: translate(-50%,-50%) scale(1); opacity: 1; pointer-events: auto; }
.manual-close { position: absolute; top: 15px; right: 15px; width: 30px; height: 30px; border: 0; border-radius: 8px; background: #f0f2f6; font-size: 18px; cursor: pointer; }
.manual-product { margin: 7px 0 20px; color: #758197; font-size: 11px; }
.manual-modal form { display: grid; grid-template-columns: 1fr; gap: 13px; }
.mex-price-cell { display: grid; justify-items: start; gap: 4px; }
.mex-price-cell button { border: 0; padding: 0; background: transparent; color: #2962ff; font: 700 9px "DM Sans"; cursor: pointer; }
.mex-price-cell button:hover { text-decoration: underline; }
.price-form-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.currency-input { position: relative; }
.currency-input b { position: absolute; left: 11px; top: 14px; color: #7b8799; font-size: 10px; }
.currency-input input { padding-left: 34px; }
.price-modal .field small { color: #8a96a8; font-size: 9px; }
.price-review { border: 1px solid #e3e8f0; border-radius: 11px; padding: 15px; background: #f8fafc; }
.price-review > p { margin: 0 0 13px; color: #657187; font-size: 10px; }
.price-review > div { display: grid; grid-template-columns: 1fr auto 20px auto; align-items: center; gap: 8px; padding: 9px 0; border-top: 1px solid #e8ecf2; font-size: 11px; }
.price-review > div::after { content: "→"; grid-column: 3; grid-row: 1; color: #9aa5b5; }
.price-review > div strong { grid-column: 4; color: #0e9f6e; }
.price-review > div del { grid-column: 2; color: #8a96a8; }
.price-back { border: 0; background: transparent; color: #2962ff; padding: 10px 0 0; font: 700 10px "DM Sans"; cursor: pointer; }
.danger-submit { background: #172033; }
.danger-submit:hover { background: #080e19; }
@media(max-width:520px){.price-form-fields{grid-template-columns:1fr}}
.manual-note { padding: 10px; border-radius: 8px; background: #f3f6fb; color: #768298; font-size: 9px; }
.manual-submit { height: 42px; }
