:root {
  --ink: #10251d;
  --ink-2: #1d3a2f;
  --muted: #66766f;
  --paper: #f5f1e8;
  --card: #fffdf8;
  --line: #d9d6cb;
  --lime: #d7ff4f;
  --lime-dark: #b9e336;
  --orange: #f26b4f;
  --blue: #dcebed;
  --shadow: 0 22px 60px rgba(16,37,29,.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body.busy { cursor: progress; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.muted { color: var(--muted); }

.topbar { max-width: 1240px; margin: 0 auto; padding: 20px 28px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 20px; letter-spacing: -.6px; }
.brand strong { font-weight: 850; }
.brand-mark { width: 31px; height: 31px; border-radius: 50%; background: var(--ink); display: flex; align-items: end; justify-content: center; gap: 2px; padding: 8px; transform: rotate(-8deg); }
.brand-mark i { display: block; width: 3px; border-radius: 3px; background: var(--lime); }
.brand-mark i:nth-child(1) { height: 6px; }.brand-mark i:nth-child(2) { height: 12px; }.brand-mark i:nth-child(3) { height: 9px; }
nav { display: flex; gap: 32px; color: var(--muted); font-size: 14px; }
nav a:hover, nav a.active { color: var(--ink); }
.top-actions { display: flex; align-items: center; gap: 10px; }
.icon-button { height: 40px; min-width: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 4px; border: 1px solid var(--line); border-radius: 999px; background: transparent; cursor: pointer; }
.icon-button svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.icon-button span { font-size: 11px; font-weight: 800; }
.account-button, .secondary-button { border: 1px solid var(--ink); border-radius: 999px; padding: 10px 16px; font-size: 13px; font-weight: 750; }

.page { min-height: 70vh; }
.login-page { min-height: calc(100vh - 86px); background: var(--ink); color: white; display: grid; align-items: center; padding: 72px max(28px, calc((100vw - 1184px)/2)); }
.login-shell { display: grid; grid-template-columns: 1.1fr .9fr; gap: 84px; align-items: center; }
.login-copy h1 { font-size: clamp(56px,7vw,94px); }
.login-copy > p:not(.eyebrow) { color: #bdc9c4; font-size: 18px; line-height: 1.65; max-width: 650px; }
.login-copy ul { list-style: none; padding: 0; margin: 30px 0 0; display: grid; gap: 13px; color: #dce5e1; }
.login-copy li { position: relative; padding-left: 28px; }
.login-copy li::before { content: ""; position: absolute; left: 2px; top: 5px; width: 11px; height: 6px; border-left: 2px solid var(--lime); border-bottom: 2px solid var(--lime); transform: rotate(-45deg); }
.login-card { background: var(--card); color: var(--ink); padding: 40px; border-radius: 9px; box-shadow: 15px 15px 0 var(--lime); min-height: 330px; display: grid; align-items: center; }
.login-card h2 { font-family: Georgia,serif; font-size: 38px; line-height: 1.08; margin: 0 0 16px; }
.login-card p:not(.eyebrow) { color: var(--muted); line-height: 1.65; }
.login-card small { display: block; margin-top: 18px; color: var(--muted); line-height: 1.5; }
.login-card .secondary-button { margin-left: 8px; }
.access-form { display: grid; gap: 10px; margin-top: 22px; }
.access-form label { font-size: 12px; font-weight: 800; letter-spacing: .2px; }
.access-form input { width: 100%; min-height: 50px; border: 1px solid var(--line); border-radius: 4px; background: #fff; color: var(--ink); padding: 0 14px; outline: none; }
.access-form input:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(16,37,29,.09); }
.access-form button { width: 100%; margin-top: 2px; }
.access-feedback { padding: 12px 14px; border: 1px solid #b9d5a3; background: #eef7e8; color: var(--ink) !important; font-size: 13px; }
.access-feedback.error { border-color: #e7b7ad; background: #fff0ed; }
.secondary-button { background: transparent; cursor: pointer; }
body[data-page="login"] .topbar nav, body[data-page="login"] .top-actions { display: none; }
.hero { min-height: 620px; background: var(--ink); color: white; padding: 80px max(28px, calc((100vw - 1184px)/2)); display: grid; grid-template-columns: 1.2fr .8fr; gap: 72px; align-items: center; position: relative; overflow: hidden; }
.hero::before { content: ""; position: absolute; width: 580px; height: 580px; border: 1px solid rgba(215,255,79,.18); border-radius: 50%; right: -140px; top: -280px; box-shadow: 0 0 0 85px rgba(215,255,79,.035), 0 0 0 170px rgba(215,255,79,.025); }
.hero-copy, .source-panel { position: relative; z-index: 1; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 18px; text-transform: uppercase; font-size: 11px; font-weight: 850; letter-spacing: 1.7px; }
.eyebrow span { width: 20px; height: 2px; background: var(--lime); }
h1, .page-header h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(54px,6vw,86px); line-height: .96; letter-spacing: -3.8px; font-weight: 400; margin: 0; }
h1 em { display: block; color: var(--lime); font-weight: 400; }
.hero-text { max-width: 650px; font-size: 18px; line-height: 1.65; color: #bdc9c4; margin: 28px 0 30px; }
.search { max-width: 720px; min-height: 66px; padding: 7px 7px 7px 20px; background: white; display: flex; align-items: center; gap: 12px; border-radius: 6px; box-shadow: var(--shadow); }
.search:focus-within { outline: 3px solid rgba(215,255,79,.55); }
.search svg { width: 22px; fill: none; stroke: var(--muted); stroke-width: 2; flex: 0 0 auto; }
.search input { min-width: 0; flex: 1; border: 0; outline: 0; color: var(--ink); font-size: 16px; }
.search button, .primary-button, .compact-search button { border: 0; background: var(--lime); color: var(--ink); font-weight: 850; padding: 15px 22px; border-radius: 4px; cursor: pointer; transition: transform .2s, background .2s; }
.search button:hover, .primary-button:hover, .compact-search button:hover { transform: translateY(-2px); background: var(--lime-dark); }
.popular { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; font-size: 12px; color: #8fa098; }
.popular button { border: 1px solid #50635b; background: transparent; color: #d6dfdb; padding: 6px 10px; border-radius: 999px; cursor: pointer; }
.popular button:hover { border-color: var(--lime); color: var(--lime); }

.source-panel { background: var(--card); color: var(--ink); padding: 24px; border-radius: 9px; box-shadow: 15px 15px 0 var(--lime); max-width: 410px; justify-self: end; width: 100%; }
.source-panel-head { display: flex; align-items: center; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.source-panel-head p { display: flex; flex-direction: column; gap: 3px; margin: 0; }.source-panel-head small { color: var(--muted); }
.live-dot { width: 11px; height: 11px; border-radius: 50%; background: #5fa924; box-shadow: 0 0 0 5px rgba(95,169,36,.14); }
.source-list { padding: 8px 0; }
.source-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.source-row p { margin: 0; display: flex; flex-direction: column; gap: 2px; }.source-row small { color: var(--muted); font-size: 11px; }
.status-badge { padding: 5px 8px; border-radius: 999px; font-size: 10px; font-weight: 850; background: #e7ebdf; }
.status-badge.ready, .status-badge.online { color: #345d1b; background: #e3f4d5; }.status-badge.pending { color: #765718; background: #fff0c6; }.status-badge.error { color: #7c2d21; background: #f7ddd7; }
.source-panel-note { display: grid; grid-template-columns: 24px 1fr; gap: 10px; margin-top: 17px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.source-panel-note svg { width: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; }.source-panel-note p { margin: 0; }

.trust-strip { max-width: 1184px; margin: 0 auto; padding: 28px 0; display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid var(--line); }
.trust-strip div { display: flex; flex-direction: column; text-align: center; border-right: 1px solid var(--line); }.trust-strip div:last-child { border: 0; }
.trust-strip strong { font-size: 14px; }.trust-strip small { color: var(--muted); margin-top: 4px; }
.explain-section { max-width: 1184px; margin: 0 auto; padding: 95px 0 110px; }
.explain-section .eyebrow, .page-header .eyebrow { color: var(--muted); }
.explain-section h2 { font-family: Georgia,serif; font-size: clamp(42px,5vw,64px); line-height: 1; letter-spacing: -2.4px; font-weight: 400; margin: 0 0 48px; }
.steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.steps article { background: var(--card); border: 1px solid var(--line); padding: 30px; min-height: 210px; }
.steps b { color: #829089; font-family: Georgia,serif; font-size: 28px; }.steps h3 { margin: 38px 0 8px; }.steps p { color: var(--muted); line-height: 1.6; }

.page-header { background: var(--ink); color: white; padding: 70px max(28px,calc((100vw - 1184px)/2)) 74px; }
.page-header h1 { font-size: clamp(50px,6vw,78px); }
.page-header > p:last-child { color: #bdc9c4; max-width: 650px; line-height: 1.6; margin: 22px 0 0; }
.black-friday-hub, .catalog-toolbar, .connector-status, .result-summary, .offers-grid, .coupon-grid, .empty-state { max-width: 1184px; margin-left: auto; margin-right: auto; }
.black-friday-hub { margin-top: 36px; background: #000; color: #fff; display: grid; grid-template-columns: 1.35fr .65fr; overflow: hidden; border-radius: 9px; box-shadow: 0 20px 50px rgba(0,0,0,.18); }
.black-friday-copy { padding: 42px; position: relative; overflow: hidden; }
.black-friday-copy::after { content: "BF"; position: absolute; right: -12px; bottom: -62px; color: rgba(255,255,255,.055); font-family: Georgia,serif; font-size: 210px; line-height: 1; pointer-events: none; }
.black-friday-copy .eyebrow { color: #fff; }
.black-friday-copy .eyebrow span { background: #fff; }
.black-friday-copy h2 { max-width: 650px; margin: 0; font-family: Georgia,serif; font-weight: 400; font-size: clamp(38px,4.3vw,61px); line-height: .98; letter-spacing: -2.4px; }
.black-friday-copy h2 em { color: #fff; font-weight: 400; }
.black-friday-copy > p:not(.eyebrow) { max-width: 630px; color: #d8d8d8; line-height: 1.6; margin: 20px 0; }
.black-friday-copy > small { display: block; max-width: 680px; margin-top: 20px; color: #aaa; line-height: 1.5; }
.black-friday-categories { display: flex; flex-wrap: wrap; gap: 8px; position: relative; z-index: 1; }
.black-friday-categories button { border: 1px solid #777; border-radius: 999px; background: transparent; color: #fff; padding: 9px 13px; cursor: pointer; transition: border-color .2s,color .2s,background .2s,transform .2s; }
.black-friday-categories button:hover { border-color: #fff; background: #fff; color: #000; transform: translateY(-2px); }
.black-friday-spotlight { padding: 34px; background: #fff; color: #000; display: flex; flex-direction: column; justify-content: space-between; }
.black-friday-date { font-size: 11px; font-weight: 850; letter-spacing: 1px; text-transform: uppercase; }
.black-friday-countdown { display: block; margin: 10px 0 30px; font-family: Georgia,serif; font-size: clamp(52px,6vw,76px); line-height: .9; font-weight: 400; }
.black-friday-best { border-top: 1px solid rgba(0,0,0,.3); padding-top: 24px; }
.black-friday-best small { display: block; font-size: 10px; font-weight: 850; letter-spacing: .8px; text-transform: uppercase; }
.black-friday-best > strong { display: block; margin-top: 10px; font-size: 25px; }
.black-friday-best p { min-height: 44px; margin: 8px 0 18px; font-size: 13px; line-height: 1.45; }
.black-friday-action { width: 100%; border: 0; background: #000; color: #fff; padding: 12px; font-weight: 850; cursor: pointer; }
.catalog-toolbar { padding: 36px 0 12px; display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }
.compact-search { display: flex; flex: 1 1 330px; border: 1px solid var(--line); background: var(--card); padding: 5px; }
.compact-search input { flex: 1; min-width: 0; border: 0; background: transparent; padding: 0 13px; outline: 0; }
.compact-search button { padding: 10px 16px; }
.filters { display: flex; flex-wrap: wrap; gap: 6px; }
.filter { border: 1px solid var(--line); background: transparent; padding: 9px 12px; border-radius: 999px; cursor: pointer; color: var(--muted); }.filter:hover,.filter.active { background: var(--ink); border-color: var(--ink); color: white; }
.sort-label { color: var(--muted); font-size: 12px; }.sort-label select { border: 0; border-bottom: 1px solid var(--ink); background: transparent; padding: 7px; color: var(--ink); }
.connector-status { display: flex; flex-wrap: wrap; gap: 7px; padding: 6px 0 12px; }
.source-pill { border: 1px solid var(--line); background: rgba(255,255,255,.5); border-radius: 999px; padding: 7px 10px; font-size: 11px; color: var(--muted); }
.source-pill.ready,.source-pill.online { border-color: #b9d4a8; }.source-pill.pending { border-color: #decf9c; }.source-pill.error { border-color: #e0b7ae; }
.result-summary { color: var(--muted); font-size: 13px; padding: 8px 0 18px; }
.offers-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; padding-bottom: 100px; }
.offer-card { background: var(--card); border: 1px solid var(--line); padding: 15px; border-radius: 7px; position: relative; transition: transform .2s,box-shadow .2s; }
.offer-card:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(16,37,29,.09); }
.card-image { height: 190px; border-radius: 5px; background: #ece8de; display: grid; place-items: center; overflow: hidden; color: var(--muted); font-size: 12px; }
.card-image img { width: 100%; height: 100%; object-fit: contain; background: white; padding: 12px; }
.save-button { position: absolute; top: 25px; right: 25px; width: 38px; height: 38px; border-radius: 50%; border: 0; background: rgba(255,255,255,.95); display: grid; place-items: center; cursor: pointer; box-shadow: 0 4px 15px rgba(0,0,0,.12); }
.save-button svg { width: 19px; fill: none; stroke: var(--ink); stroke-width: 1.8; }.save-button.saved { background: var(--ink); }.save-button.saved svg { stroke: var(--lime); fill: var(--lime); }
.card-meta { display: flex; justify-content: space-between; gap: 8px; margin: 15px 0 8px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .7px; font-weight: 800; }.card-meta time { text-transform: none; letter-spacing: 0; }
.offer-card h2 { font-size: 17px; line-height: 1.3; min-height: 44px; margin: 0 0 13px; }
.old-price { color: #8b9691; text-decoration: line-through; font-size: 12px; min-height: 15px; margin: 0; }
.card-price { display: flex; align-items: center; gap: 9px; margin: 4px 0; }.card-price strong { font-family: Georgia,serif; font-size: 29px; }.card-price span { background: var(--lime); color: #335400; padding: 4px 6px; border-radius: 3px; font-size: 11px; font-weight: 900; }
.card-note { min-height: 18px; color: var(--muted); font-size: 11px; margin: 5px 0; }
.card-actions { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 15px; padding-top: 13px; border-top: 1px solid var(--line); }
.open-offer { border: 0; background: var(--ink); color: white; padding: 11px; font-weight: 800; cursor: pointer; }.alert-offer { border: 1px solid var(--ink); background: transparent; padding: 10px 12px; cursor: pointer; font-weight: 800; }
.verified-label { display: inline-flex; align-items: center; gap: 5px; color: #42632c; font-size: 10px; margin-top: 7px; }
.loading-card { min-height: 385px; background: linear-gradient(90deg,#ece8df 25%,#faf7ef 50%,#ece8df 75%); background-size: 200% 100%; animation: pulse 1.2s infinite linear; }
@keyframes pulse { to { background-position: -200% 0; } }
.empty-state { text-align: center; background: var(--card); border: 1px dashed #bdb8ab; padding: 70px 20px; margin-bottom: 100px; }
.empty-mark { width: 58px; height: 58px; border: 2px solid var(--ink); border-radius: 50%; margin: 0 auto 20px; position: relative; }.empty-mark::after { content: ""; position: absolute; width: 22px; height: 2px; background: var(--ink); right: -14px; bottom: 5px; transform: rotate(45deg); }
.empty-mark.ticket { border-radius: 8px; width: 70px; height: 45px; }.empty-mark.ticket::after { display: none; }
.empty-state h2 { font-family: Georgia,serif; font-size: 32px; margin: 0 0 10px; }.empty-state p { color: var(--muted); margin: 0 auto 24px; max-width: 560px; line-height: 1.6; }

.coupon-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; padding: 42px 0 100px; }
.coupon-card { background: var(--card); border: 1px solid var(--line); padding: 25px; position: relative; }.coupon-card::before { content: ""; position: absolute; left: -8px; top: 50%; width: 15px; height: 15px; border-radius: 50%; background: var(--paper); border-right: 1px solid var(--line); }
.coupon-card .store { color: var(--muted); text-transform: uppercase; font-size: 10px; font-weight: 850; letter-spacing: 1px; }.coupon-card h2 { margin: 14px 0 8px; }.coupon-card p { color: var(--muted); line-height: 1.55; }
.coupon-card h2 { display: -webkit-box; overflow: hidden; line-height: 1.15; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; }
.coupon-code { display: flex; justify-content: space-between; align-items: center; border: 1px dashed var(--ink); padding: 12px; margin: 20px 0; }.coupon-code strong { letter-spacing: 1.4px; }.coupon-code button { border: 0; background: transparent; font-weight: 800; cursor: pointer; }
.coupon-benefit { display: inline-block; margin-top: 12px; padding: 5px 8px; background: var(--lime); color: var(--ink); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.automatic-discount { border: 1px dashed var(--line); padding: 12px; margin: 20px 0; color: var(--muted); font-size: 13px; font-weight: 750; }
.coupon-card > a { display: block; text-align: center; background: var(--ink); color: white; padding: 12px; font-weight: 800; }

.premium-hero { min-height: 590px; background: var(--ink); color: white; padding: 80px max(28px,calc((100vw - 1184px)/2)); display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: center; }
.premium-hero > div:first-child > p:not(.eyebrow) { color: #bdc9c4; line-height: 1.65; max-width: 620px; font-size: 17px; }.premium-hero .primary-button { margin-top: 14px; }.premium-hero > div:first-child > small { display: block; color: #91a098; margin-top: 15px; max-width: 550px; }
.plan-card { background: var(--card); color: var(--ink); padding: 32px; box-shadow: 14px 14px 0 var(--lime); }.plan-card > span { text-transform: uppercase; letter-spacing: 1.4px; font-size: 11px; font-weight: 850; }.plan-card > strong { display: block; font-family: Georgia,serif; font-size: 50px; margin: 18px 0; }.plan-card > strong small { font-family: inherit; font-size: 16px; color: var(--muted); }.plan-card ul { list-style: none; padding: 0; margin: 0; }.plan-card li { padding: 13px 0 13px 25px; border-top: 1px solid var(--line); position: relative; }.plan-card li::before { content: ""; position: absolute; left: 2px; top: 17px; width: 9px; height: 5px; border-left: 2px solid var(--ink); border-bottom: 2px solid var(--ink); transform: rotate(-45deg); }
.plan-compare { max-width: 900px; margin: 70px auto 100px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.plan-compare article { padding: 30px; border: 1px solid var(--line); background: var(--card); }.plan-compare .featured { border: 2px solid var(--ink); }.plan-compare h2 { margin-top: 0; }.plan-compare strong { font-family: Georgia,serif; font-size: 28px; }.plan-compare p { color: var(--muted); line-height: 1.6; }

.account-card,.account-summary,.account-columns,.admin-forms,.metrics,.notice,.integration-card { max-width: 1184px; margin-left: auto; margin-right: auto; }
.account-card { margin-top: 45px; margin-bottom: 100px; background: var(--card); border: 1px solid var(--line); padding: 40px; }.account-card h2 { margin-top: 0; }.account-card p { color: var(--muted); }.inline-button { display: inline-block; margin-top: 10px; }
.account-summary { margin-top: 38px; display: grid; grid-template-columns: 1fr 1fr auto; gap: 18px; align-items: stretch; }.account-summary > div { background: var(--card); border: 1px solid var(--line); padding: 24px; display: flex; flex-direction: column; gap: 5px; }.account-summary small { color: var(--muted); text-transform: uppercase; letter-spacing: 1px; }.account-summary strong { font-size: 22px; }.account-summary span,.account-summary a { color: var(--muted); font-size: 13px; }.account-summary > a { align-self: center; }
.account-columns { margin-top: 18px; margin-bottom: 100px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.account-columns > section { background: var(--card); border: 1px solid var(--line); padding: 26px; min-height: 280px; }.section-title { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }.section-title span { background: var(--ink); color: white; border-radius: 999px; padding: 3px 8px; font-size: 11px; }.stack-item { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 15px 0; border-bottom: 1px solid var(--line); }.stack-item p { margin: 0; display: flex; flex-direction: column; gap: 4px; }.stack-item small { color: var(--muted); }.stack-item button { border: 0; background: transparent; text-decoration: underline; cursor: pointer; color: var(--muted); }
.notice { margin-top: 40px; margin-bottom: 100px; padding: 20px; border: 1px solid #decf9c; background: #fff4d5; }
.integration-card { margin-top: 35px; padding: 26px; background: var(--card); border: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.integration-card h2 { margin: 8px 0; font-family: Georgia,serif; font-size: 30px; }.integration-card > div > p:last-child { margin: 0; color: var(--muted); line-height: 1.55; }.integration-card .primary-button { flex: 0 0 auto; }.integration-card .primary-button:disabled { opacity: .55; cursor: not-allowed; }
.metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 35px; }.metric { background: var(--card); border: 1px solid var(--line); padding: 22px; }.metric small { color: var(--muted); }.metric strong { display: block; font-family: Georgia,serif; font-size: 35px; margin-top: 8px; }
.admin-forms { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; margin-bottom: 100px; }.data-form { background: var(--card); border: 1px solid var(--line); padding: 28px; }.data-form h2 { margin-top: 0; }.data-form label,.dialog-form label { display: flex; flex-direction: column; gap: 7px; margin: 14px 0; font-size: 12px; font-weight: 750; }.data-form input,.data-form select,.dialog-form input { width: 100%; border: 1px solid var(--line); background: white; padding: 12px; color: var(--ink); }.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

.legal-copy { max-width: 800px; margin: 0 auto; padding: 80px 24px 110px; }.legal-copy h1 { font-size: clamp(48px,6vw,76px); }.legal-copy h2 { margin-top: 45px; }.legal-copy p { color: var(--muted); line-height: 1.8; }
footer { max-width: 1184px; margin: auto; padding: 35px 0; min-height: 170px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 25px; color: var(--muted); border-top: 1px solid var(--line); }.footer-brand { color: var(--ink); } footer > p { font-family: Georgia,serif; font-style: italic; }.footer-links { display: flex; gap: 15px; font-size: 12px; } footer > small { grid-column: 1 / -1; line-height: 1.5; }

dialog { width: min(520px,calc(100vw - 32px)); border: 0; padding: 0; background: var(--card); color: var(--ink); box-shadow: var(--shadow); }dialog::backdrop { background: rgba(16,37,29,.68); }.dialog-form { padding: 30px; position: relative; }.dialog-form h2 { font-family: Georgia,serif; font-size: 30px; }.dialog-form p:not(.eyebrow) { color: var(--muted); font-size: 12px; line-height: 1.6; }.dialog-close { position: absolute; right: 15px; top: 12px; border: 0; background: transparent; font-size: 26px; cursor: pointer; }
.toast { position: fixed; z-index: 20; right: 22px; bottom: 22px; max-width: 420px; background: var(--ink); color: white; padding: 14px 18px; border-radius: 4px; box-shadow: var(--shadow); opacity: 0; transform: translateY(15px); pointer-events: none; transition: .2s; }.toast.show { opacity: 1; transform: translateY(0); }

@media (max-width: 1000px) {
  .hero,.premium-hero,.login-shell { grid-template-columns: 1fr; gap: 55px; }.source-panel { justify-self: start; max-width: 500px; }.offers-grid,.coupon-grid { grid-template-columns: repeat(2,1fr); }.black-friday-hub { grid-template-columns: 1fr; }.catalog-toolbar,.connector-status,.result-summary,.offers-grid,.coupon-grid,.empty-state,.black-friday-hub,.trust-strip,.explain-section,footer,.account-card,.account-summary,.account-columns,.admin-forms,.metrics,.notice,.integration-card { margin-left: 24px; margin-right: 24px; }.metrics { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 720px) {
  .topbar { padding: 15px 17px; }.topbar nav { display: none; }.account-button { padding: 9px 11px; }.icon-button { min-width: 46px; }.hero { padding: 58px 18px 65px; }.login-page { padding: 52px 20px 70px; }.login-card { padding: 30px 24px; box-shadow: 9px 9px 0 var(--lime); }.login-card .secondary-button { margin-left: 0; }.hero::before { opacity: .5; }h1,.page-header h1 { font-size: 50px; letter-spacing: -2.4px; }.hero-text { font-size: 16px; }.search { flex-wrap: wrap; padding: 13px; }.search input { width: calc(100% - 40px); height: 36px; }.search button { width: 100%; }.source-panel { box-shadow: 9px 9px 0 var(--lime); }.trust-strip,.steps,.offers-grid,.coupon-grid,.premium-hero,.plan-compare,.account-columns,.admin-forms { grid-template-columns: 1fr; }.trust-strip div { border-right: 0; border-bottom: 1px solid var(--line); padding: 15px; }.explain-section { padding: 70px 0; }.explain-section h2 { font-size: 42px; }.page-header { padding: 55px 20px; }.black-friday-hub { margin-top: 20px; }.black-friday-copy,.black-friday-spotlight { padding: 27px 22px; }.black-friday-copy h2 { font-size: 40px; }.black-friday-copy::after { font-size: 150px; }.catalog-toolbar { align-items: stretch; }.filters { order: 3; }.sort-label { display: flex; justify-content: space-between; width: 100%; }.offers-grid,.coupon-grid { padding-bottom: 70px; }.premium-hero { padding: 60px 20px; }.plan-compare { margin-top: 45px; }.account-summary { grid-template-columns: 1fr; }.account-summary > a { justify-self: start; }.metrics { grid-template-columns: 1fr 1fr; }.form-row { grid-template-columns: 1fr; }.integration-card { align-items: stretch; flex-direction: column; }.integration-card .primary-button { width: 100%; }footer { grid-template-columns: 1fr; margin: 0 20px; }.footer-links { flex-wrap: wrap; }
}

/* Identidade clássica refinada — verde, creme e lima */
:root {
  --ink: #10251d;
  --ink-2: #1d3a2f;
  --muted: #66766f;
  --paper: #f5f1e8;
  --card: #fffdf8;
  --line: #d9d6cb;
  --lime: #d7ff4f;
  --lime-dark: #c7ef43;
  --orange: #f26b4f;
  --blue: #dcebed;
  --shadow: 0 24px 64px rgba(16,37,29,.12);
}
html { color-scheme: light; }
body {
  color: var(--ink);
  background: radial-gradient(circle at 10% 0, rgba(215,255,79,.13), transparent 23rem), var(--paper);
  font-family: "Avenir Next", "Helvetica Neue", ui-sans-serif, system-ui, -apple-system, sans-serif;
}
body::before { opacity: .18; background-image: linear-gradient(rgba(16,37,29,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(16,37,29,.03) 1px, transparent 1px); }
.topbar { border-color: rgba(16,37,29,.10); background: rgba(245,241,232,.88); }
.brand { color: var(--ink); }
.brand strong { color: var(--ink); text-shadow: none; }
.brand-mark {
  width: 38px;
  height: 38px;
  padding: 10px;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 2px;
  overflow: hidden;
  border: 1px solid rgba(241,239,231,.20);
  border-radius: 50%;
  background: linear-gradient(145deg, #26372f, #0c1712);
  box-shadow: 0 11px 24px rgba(16,37,29,.28), inset 0 0 0 4px rgba(215,255,79,.05);
  transform: rotateX(10deg) rotateY(-8deg) rotateZ(-7deg);
  filter: none;
}
.brand-mark img { display: none; }
.brand-mark i { display: block; width: 3px; border-radius: 4px; background: var(--lime); box-shadow: 0 0 9px rgba(215,255,79,.34); }
.brand-mark i:nth-child(1) { height: 6px; }
.brand-mark i:nth-child(2) { height: 13px; }
.brand-mark i:nth-child(3) { height: 9px; }
nav a:hover, nav a.active { color: var(--ink); background: rgba(16,37,29,.07); }
.icon-button, .account-button, .secondary-button { color: var(--ink); border-color: rgba(16,37,29,.18); background: rgba(255,255,255,.35); }
.icon-button:hover, .account-button:hover, .secondary-button:hover { color: var(--ink); border-color: var(--ink); background: var(--lime); }
.login-page, .hero, .page-header, .premium-hero {
  color: #fff;
  background: radial-gradient(circle at 82% 18%, rgba(215,255,79,.10), transparent 26rem), linear-gradient(125deg, #10251d, #163328 72%, #10251d);
}
.hero::before { border-color: rgba(215,255,79,.18); box-shadow: 0 0 0 95px rgba(215,255,79,.03), 0 0 0 190px rgba(215,255,79,.02); }
.hero-logo-3d { display: none; }
.hero-logo {
  width: 68px;
  height: 68px;
  margin: -20px 0 26px;
  padding: 17px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 4px;
  border: 1px solid rgba(241,239,231,.20);
  border-radius: 50%;
  background: linear-gradient(145deg, #26372f, #09120e);
  box-shadow: 0 18px 38px rgba(0,0,0,.35), inset 0 0 0 6px rgba(215,255,79,.05);
  transform: rotateX(12deg) rotateY(-9deg) rotateZ(-7deg);
}
.hero-logo i { width: 7px; display: block; border-radius: 6px; background: var(--lime); box-shadow: 0 0 14px rgba(215,255,79,.34); }
.hero-logo i:nth-child(1) { height: 14px; }
.hero-logo i:nth-child(2) { height: 31px; }
.hero-logo i:nth-child(3) { height: 21px; }
.brand-mark + span { transform: translateY(1px); }
h1 em { color: var(--lime); text-shadow: none; }
.eyebrow { color: inherit; }
.eyebrow span { background: var(--lime); box-shadow: none; }
.hero-text, .login-copy > p:not(.eyebrow), .page-header > p:last-child, .premium-hero > div:first-child > p:not(.eyebrow) { color: #bdc9c4; }
.search, .compact-search, .access-form input, .data-form input, .data-form select, .dialog-form input, .sort-label select {
  color: var(--ink);
  border-color: var(--line);
  background: #fffdf8;
  box-shadow: none;
}
.search { box-shadow: var(--shadow); }
.search input, .compact-search input { color: var(--ink); }
.search input::placeholder, .compact-search input::placeholder, .access-form input::placeholder { color: #87938d; }
.search:focus-within, .compact-search:focus-within { outline: 3px solid rgba(215,255,79,.48); box-shadow: var(--shadow); }
.search button, .primary-button, .compact-search button { color: var(--ink); background: var(--lime); box-shadow: none; }
.search button:hover, .primary-button:hover, .compact-search button:hover { color: var(--ink); background: var(--lime-dark); box-shadow: 0 10px 24px rgba(16,37,29,.14); }
.popular button { color: #d6dfdb; border-color: #50635b; background: transparent; }
.popular button:hover { color: var(--lime); border-color: var(--lime); background: transparent; }
.login-card, .source-panel, .steps article, .offer-card, .coupon-card, .account-card, .account-summary > div, .account-columns > section, .integration-card, .metric, .data-form, dialog, .plan-card, .plan-compare article {
  color: var(--ink);
  border-color: var(--line);
  background: var(--card);
  box-shadow: 0 18px 48px rgba(16,37,29,.08);
}
.login-card, .source-panel, .plan-card { box-shadow: 12px 12px 0 var(--lime), 0 22px 60px rgba(16,37,29,.14); }
.login-card p:not(.eyebrow), .login-card small, .source-panel-head small, .source-row small, .source-panel-note, .steps p { color: var(--muted); }
.access-feedback { color: var(--ink) !important; border-color: #b9d5a3; background: #eef7e8; }
.access-feedback.error { color: var(--ink) !important; border-color: #e7b7ad; background: #fff0ed; }
.live-dot { background: #5fa924; box-shadow: 0 0 0 5px rgba(95,169,36,.14); }
.status-badge, .source-pill { color: var(--muted); border-color: var(--line); background: rgba(255,255,255,.56); }
.status-badge.ready, .status-badge.online { color: #345d1b; background: #e3f4d5; }
.status-badge.pending { color: #765718; background: #fff0c6; }
.status-badge.error { color: #7c2d21; background: #f7ddd7; }
.steps b { color: #718278; text-shadow: none; }
.steps article:hover { border-color: rgba(16,37,29,.24); box-shadow: 0 22px 48px rgba(16,37,29,.10); }
.black-friday-banner { border-color: rgba(255,255,255,.16); background: linear-gradient(105deg, #060606, #191919 62%, #080808); }
.catalog-toolbar { color: var(--ink); }
.filter { color: var(--muted); border-color: var(--line); background: transparent; }
.filter:hover, .filter.active { color: #fff; border-color: var(--ink); background: var(--ink); }
.offer-card:hover { border-color: rgba(16,37,29,.24); box-shadow: 0 22px 48px rgba(16,37,29,.12); }
.save-button { border-color: rgba(16,37,29,.10); background: rgba(255,255,255,.95); }
.save-button svg { stroke: var(--ink); }
.save-button.saved { background: var(--ink); }
.save-button.saved svg { stroke: var(--lime); fill: var(--lime); }
.card-price strong { color: var(--ink); }
.card-price span, .coupon-benefit { color: #335400; background: var(--lime); }
.verified-label { color: #42632c; }
.open-offer, .coupon-card > a { color: #fff; background: var(--ink); }
.open-offer:hover, .coupon-card > a:hover { color: var(--ink); background: var(--lime); }
.alert-offer { color: var(--ink); border-color: var(--ink); background: transparent; }
.alert-offer:hover { color: var(--ink); border-color: var(--ink); background: rgba(16,37,29,.06); }
.loading-card { background: linear-gradient(90deg,#ece8df 25%,#faf7ef 50%,#ece8df 75%); background-size: 200% 100%; }
.empty-state { border-color: #bdb8ab; background: var(--card); }
.empty-mark { border-color: var(--ink); filter: none; }
.empty-mark::after { background: var(--ink); }
.coupon-card::before { background: var(--paper); }
.coupon-code { border-color: var(--ink); }
.notice { color: var(--ink); border-color: #decf9c; background: #fff4d5; }
.section-title span { color: #fff; background: var(--ink); }
.data-form input:focus, .data-form select:focus, .dialog-form input:focus, .access-form input:focus { outline: 2px solid rgba(16,37,29,.20); border-color: var(--ink); }
.legal-copy h1 { color: var(--ink); }
.footer-brand { color: var(--ink); }
dialog::backdrop { background: rgba(16,37,29,.68); }
.toast { color: #fff; background: var(--ink); box-shadow: var(--shadow); }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }

/* OfertaHub Neon — visual system v26 */
:root {
  --ink: #eef5ff;
  --ink-2: #c7d2e4;
  --muted: #8e9bb0;
  --paper: #070a12;
  --card: #0d1220;
  --line: rgba(151, 178, 220, .16);
  --lime: #3cf4ff;
  --lime-dark: #6bfbff;
  --orange: #a875ff;
  --blue: #10182a;
  --shadow: 0 28px 80px rgba(0, 0, 0, .42), 0 0 0 1px rgba(60, 244, 255, .06);
}

html { color-scheme: dark; }
body {
  min-height: 100vh;
  overflow-x: hidden;
  color: var(--ink);
  background:
    radial-gradient(circle at 12% -10%, rgba(60,244,255,.12), transparent 28rem),
    radial-gradient(circle at 92% 18%, rgba(139,92,246,.13), transparent 32rem),
    var(--paper);
  font-family: "Avenir Next", "Helvetica Neue", ui-sans-serif, system-ui, -apple-system, sans-serif;
  letter-spacing: -.01em;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .28;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 54px 54px;
  -webkit-mask-image: linear-gradient(to bottom, #000, transparent 78%);
  mask-image: linear-gradient(to bottom, #000, transparent 78%);
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 12;
  max-width: none;
  padding: 13px max(24px, calc((100vw - 1240px)/2));
  border-bottom: 1px solid var(--line);
  background: rgba(7,10,18,.78);
  backdrop-filter: blur(22px) saturate(145%);
}
.brand { gap: 12px; color: #f5f9ff; font-weight: 650; letter-spacing: -.7px; }
.brand strong { color: var(--lime); text-shadow: 0 0 18px rgba(60,244,255,.42); }
.brand-mark {
  width: 45px;
  height: 45px;
  padding: 0;
  border-radius: 14px;
  overflow: visible;
  background: transparent;
  transform: none;
  filter: drop-shadow(0 0 12px rgba(60,244,255,.32)) drop-shadow(0 0 24px rgba(139,92,246,.22));
}
.brand-mark img { width: 100%; height: 100%; object-fit: contain; transform: scale(1.28); }
.brand-mark i { display: none; }
nav { gap: 10px; }
nav a { padding: 9px 14px; border-radius: 999px; transition: color .2s, background .2s; }
nav a:hover, nav a.active { color: #fff; background: rgba(60,244,255,.08); }
.icon-button, .account-button, .secondary-button {
  border-color: var(--line);
  background: rgba(255,255,255,.035);
  color: var(--ink);
  transition: border-color .2s, background .2s, color .2s, transform .2s;
}
.icon-button:hover, .account-button:hover, .secondary-button:hover {
  color: #071018;
  border-color: var(--lime);
  background: var(--lime);
  transform: translateY(-1px);
}

.page { isolation: isolate; }
.login-page, .hero, .page-header, .premium-hero {
  background:
    radial-gradient(circle at 78% 28%, rgba(139,92,246,.20), transparent 25rem),
    radial-gradient(circle at 18% 12%, rgba(60,244,255,.12), transparent 24rem),
    #080c16;
  color: #f7fbff;
}
.login-page { min-height: calc(100vh - 72px); }
.login-shell { grid-template-columns: 1.05fr .95fr; gap: clamp(44px, 7vw, 100px); }
.login-copy, .hero-copy { position: relative; }
.hero-logo-3d {
  width: clamp(116px, 13vw, 178px);
  margin: -34px 0 4px -20px;
  display: block;
  filter: drop-shadow(0 0 24px rgba(60,244,255,.34)) drop-shadow(0 0 46px rgba(139,92,246,.24));
  animation: logo-float 5s ease-in-out infinite;
}
.login-logo-3d { width: clamp(130px, 15vw, 206px); margin-bottom: -2px; }
@keyframes logo-float { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-9px) rotate(2deg); } }
h1, .page-header h1, .explain-section h2, .login-card h2, .black-friday-banner h2, .metric strong, .empty-state h2, .dialog-form h2 {
  font-family: "Avenir Next", "Helvetica Neue", ui-sans-serif, system-ui, sans-serif;
  letter-spacing: -.055em;
}
h1, .page-header h1 { font-weight: 700; line-height: .96; }
h1 em { display: block; color: var(--lime); font-style: normal; text-shadow: 0 0 26px rgba(60,244,255,.24); }
.hero::before {
  width: 720px;
  height: 720px;
  right: -230px;
  top: -360px;
  border-color: rgba(60,244,255,.16);
  box-shadow: 0 0 0 95px rgba(60,244,255,.025), 0 0 0 190px rgba(139,92,246,.02), 0 0 90px rgba(60,244,255,.08);
}
.eyebrow { color: #b7c7dc; letter-spacing: .18em; }
.eyebrow span { background: linear-gradient(90deg, var(--lime), #9d6cff); box-shadow: 0 0 13px rgba(60,244,255,.68); }
.hero-text, .login-copy > p:not(.eyebrow), .page-header > p:last-child, .premium-hero > div:first-child > p:not(.eyebrow) { color: #a9b7ca; }
.search, .compact-search, .access-form input, .data-form input, .data-form select, .dialog-form input, .sort-label select {
  color: var(--ink);
  border: 1px solid rgba(116,145,187,.22);
  background: rgba(12,18,31,.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
.search { border-radius: 18px; box-shadow: 0 24px 72px rgba(0,0,0,.38), 0 0 0 1px rgba(60,244,255,.05); }
.search input, .compact-search input { color: var(--ink); }
.search input::placeholder, .compact-search input::placeholder, .access-form input::placeholder { color: #6f7d93; }
.search:focus-within, .compact-search:focus-within { outline: 2px solid rgba(60,244,255,.36); box-shadow: 0 0 34px rgba(60,244,255,.10); }
.search button, .primary-button, .compact-search button {
  color: #041014;
  border-radius: 11px;
  background: linear-gradient(135deg, #77f8ff, #2ee8f3);
  box-shadow: 0 10px 26px rgba(60,244,255,.18), inset 0 1px 0 rgba(255,255,255,.62);
}
.search button:hover, .primary-button:hover, .compact-search button:hover {
  color: #041014;
  background: linear-gradient(135deg, #a8fbff, #57f4ff);
  box-shadow: 0 14px 34px rgba(60,244,255,.30);
}
.popular button { border-color: rgba(138,162,198,.28); color: #aebbd0; background: rgba(255,255,255,.025); }
.popular button:hover { border-color: var(--lime); color: var(--lime); background: rgba(60,244,255,.06); }

.login-card, .source-panel, .steps article, .offer-card, .coupon-card, .account-card, .account-summary > div, .account-columns > section, .integration-card, .metric, .data-form, dialog, .plan-card, .plan-compare article {
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(18,26,44,.95), rgba(10,15,27,.96));
  box-shadow: var(--shadow);
}
.login-card, .source-panel, .plan-card { box-shadow: var(--shadow), 0 0 42px rgba(60,244,255,.08); }
.login-card h2 { font-weight: 650; }
.login-card p:not(.eyebrow), .login-card small, .source-panel-head small, .source-row small, .source-panel-note, .steps p { color: var(--muted); }
.access-feedback { color: #bfffcf !important; border-color: rgba(78,255,142,.28); background: rgba(51,210,113,.10); }
.access-feedback.error { color: #ffd2dc !important; border-color: rgba(255,93,133,.30); background: rgba(255,70,112,.09); }
.live-dot { background: var(--lime); box-shadow: 0 0 0 5px rgba(60,244,255,.12), 0 0 22px var(--lime); }
.status-badge, .source-pill { background: rgba(255,255,255,.035); color: #aebbd0; border-color: var(--line); }
.status-badge.ready, .status-badge.online { color: #7bffcf; background: rgba(63,255,181,.08); }
.status-badge.pending { color: #ffe090; background: rgba(255,198,70,.08); }
.status-badge.error { color: #ff9db4; background: rgba(255,82,123,.08); }

.trust-strip { border-color: var(--line); }
.trust-strip div { border-color: var(--line); }
.explain-section .eyebrow, .page-header .eyebrow { color: #9dadc3; }
.steps b { color: var(--lime); text-shadow: 0 0 22px rgba(60,244,255,.25); }
.steps article { transition: transform .25s, border-color .25s; }
.steps article:hover { transform: translateY(-5px); border-color: rgba(60,244,255,.30); }
.page-header { border-bottom: 1px solid rgba(60,244,255,.10); }

.black-friday-banner {
  max-width: 1184px;
  margin: 30px auto 0;
  padding: 18px 22px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 22px;
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 17px;
  color: #f8f8f8;
  background: linear-gradient(105deg, #050505, #171717 62%, #080808);
  box-shadow: 0 18px 56px rgba(0,0,0,.38);
}
.black-friday-banner::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg, transparent 28%, rgba(255,255,255,.055) 48%, transparent 67%); transform: translateX(-100%); animation: banner-shine 7s ease-in-out infinite; }
@keyframes banner-shine { 0%,68% { transform: translateX(-100%); } 88%,100% { transform: translateX(100%); } }
.black-friday-kicker { padding: 9px 12px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; font-size: 10px; font-weight: 850; letter-spacing: .18em; white-space: nowrap; }
.black-friday-banner h2 { margin: 0; font-size: clamp(18px, 2.1vw, 27px); font-weight: 650; }
.black-friday-banner p { margin: 5px 0 0; color: #a8a8a8; font-size: 13px; }
.black-friday-banner aside { min-width: 150px; text-align: right; }
.black-friday-banner aside span { display: block; color: #a7a7a7; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.black-friday-banner aside strong { display: block; margin-top: 4px; font-size: 20px; color: #fff; }
.black-friday-banner aside button {
  margin-top: 10px;
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 8px;
  color: #fff;
  background: rgba(255,255,255,.08);
  font-size: 11px;
  font-weight: 750;
  cursor: pointer;
}
.black-friday-banner aside button:hover { color: #050505; border-color: #fff; background: #fff; }

.catalog-toolbar { padding-top: 28px; }
.compact-search { border-radius: 14px; }
.filter { border-color: var(--line); color: var(--muted); background: rgba(255,255,255,.02); }
.filter:hover, .filter.active { color: #051015; border-color: var(--lime); background: var(--lime); }
.source-pill.ready, .source-pill.online { border-color: rgba(72,255,181,.25); }
.source-pill.pending { border-color: rgba(255,211,96,.25); }
.source-pill.error { border-color: rgba(255,97,133,.28); }
.offer-card { border-radius: 18px; overflow: hidden; padding: 13px; }
.offer-card:hover { transform: translateY(-6px); border-color: rgba(60,244,255,.30); box-shadow: 0 24px 66px rgba(0,0,0,.45), 0 0 34px rgba(60,244,255,.06); }
.card-image { background: #f2f5f8; border-radius: 12px; }
.save-button { background: rgba(8,12,21,.90); border: 1px solid rgba(255,255,255,.12); }
.save-button svg { stroke: #fff; }
.save-button.saved { background: var(--lime); }
.save-button.saved svg { stroke: #061014; fill: #061014; }
.card-price strong { font-family: inherit; color: #f8fbff; font-weight: 750; letter-spacing: -.04em; }
.card-price span, .coupon-benefit { color: #061014; background: var(--lime); }
.verified-label { color: #71ffd0; }
.open-offer, .coupon-card > a { border-radius: 10px; color: #041014; background: var(--lime); }
.open-offer:hover, .coupon-card > a:hover { background: #99fbff; }
.alert-offer { border-radius: 10px; color: var(--ink); border-color: var(--line); background: rgba(255,255,255,.025); }
.alert-offer:hover { color: var(--lime); border-color: var(--lime); }
.loading-card { background: linear-gradient(90deg,#0d1422 25%,#151f32 50%,#0d1422 75%); background-size: 200% 100%; }
.empty-state { border-color: var(--line); border-radius: 20px; background: rgba(13,18,32,.72); }
.empty-mark { border-color: var(--lime); filter: drop-shadow(0 0 12px rgba(60,244,255,.35)); }
.empty-mark::after { background: var(--lime); }
.coupon-card::before { background: var(--paper); border-color: var(--line); }
.coupon-code { border-color: rgba(60,244,255,.40); }

.notice { color: #ffe7a8; border-color: rgba(255,209,96,.26); border-radius: 16px; background: rgba(255,199,58,.07); }
.section-title span { color: #061014; background: var(--lime); }
.data-form input:focus, .data-form select:focus, .dialog-form input:focus, .access-form input:focus { outline: 2px solid rgba(60,244,255,.30); border-color: var(--lime); box-shadow: none; }
.integration-card h2, .metric strong { font-family: inherit; }
.legal-copy h1 { color: #fff; }
footer { border-color: var(--line); }
.footer-brand { color: #fff; }
dialog::backdrop { background: rgba(2,4,9,.76); backdrop-filter: blur(8px); }
.toast { color: #061014; border-radius: 12px; background: var(--lime); box-shadow: 0 18px 50px rgba(0,0,0,.45), 0 0 34px rgba(60,244,255,.20); }

@media (max-width: 1000px) {
  .black-friday-banner { margin-left: 24px; margin-right: 24px; }
}
@media (max-width: 720px) {
  .topbar { padding: 10px 15px; }
  .brand-mark { width: 40px; height: 40px; }
  .hero-logo-3d { margin-left: -12px; margin-top: -18px; }
  .login-card, .source-panel { box-shadow: var(--shadow), 0 0 30px rgba(60,244,255,.07); }
  .black-friday-banner { grid-template-columns: 1fr auto; gap: 14px; margin-top: 18px; padding: 16px; }
  .black-friday-kicker { grid-column: 1 / -1; justify-self: start; }
  .black-friday-banner p { display: none; }
  .black-friday-banner aside { min-width: 92px; }
  .black-friday-banner aside span { display: none; }
  .black-friday-banner aside strong { font-size: 16px; }
}

/* Final: identidade original do OfertaHub com acabamento atual */
:root { --ink:#10251d; --ink-2:#1d3a2f; --muted:#66766f; --paper:#f5f1e8; --card:#fffdf8; --line:#d9d6cb; --lime:#d7ff4f; --lime-dark:#c7ef43; --shadow:0 24px 64px rgba(16,37,29,.12); }
html { color-scheme: light; }
body { color:var(--ink); background:radial-gradient(circle at 10% 0,rgba(215,255,79,.13),transparent 23rem),var(--paper); }
body::before { opacity:.18; background-image:linear-gradient(rgba(16,37,29,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(16,37,29,.03) 1px,transparent 1px); }
.topbar { border-color:rgba(16,37,29,.10); background:rgba(245,241,232,.90); }
.brand,.footer-brand { color:var(--ink); }
.brand strong { color:var(--ink); text-shadow:none; }
.brand-mark { width:38px; height:38px; padding:10px; display:flex; align-items:end; justify-content:center; gap:2px; overflow:hidden; border:1px solid rgba(241,239,231,.20); border-radius:50%; background:linear-gradient(145deg,#26372f,#0c1712); box-shadow:0 11px 24px rgba(16,37,29,.28),inset 0 0 0 4px rgba(215,255,79,.05); transform:rotateX(10deg) rotateY(-8deg) rotateZ(-7deg); filter:none; }
.brand-mark img { display:none; }
.brand-mark i { display:block; width:3px; border-radius:4px; background:var(--lime); box-shadow:0 0 9px rgba(215,255,79,.34); }
.brand-mark i:nth-child(1){height:6px}.brand-mark i:nth-child(2){height:13px}.brand-mark i:nth-child(3){height:9px}
nav a:hover,nav a.active { color:var(--ink); background:rgba(16,37,29,.07); }
.icon-button,.account-button,.secondary-button { color:var(--ink); border-color:rgba(16,37,29,.18); background:rgba(255,255,255,.35); }
.icon-button:hover,.account-button:hover,.secondary-button:hover { color:var(--ink); border-color:var(--ink); background:var(--lime); }
.login-page,.hero,.page-header,.premium-hero { color:#fff; background:radial-gradient(circle at 82% 18%,rgba(215,255,79,.10),transparent 26rem),linear-gradient(125deg,#10251d,#163328 72%,#10251d); }
.hero::before { border-color:rgba(215,255,79,.18); box-shadow:0 0 0 95px rgba(215,255,79,.03),0 0 0 190px rgba(215,255,79,.02); }
h1 em { color:var(--lime); text-shadow:none; }
.eyebrow span { background:var(--lime); box-shadow:none; }
.hero-text,.login-copy>p:not(.eyebrow),.page-header>p:last-child,.premium-hero>div:first-child>p:not(.eyebrow){color:#bdc9c4}
.search,.compact-search,.access-form input,.data-form input,.data-form select,.dialog-form input,.sort-label select { color:var(--ink); border-color:var(--line); background:#fffdf8; box-shadow:none; }
.search { box-shadow:var(--shadow); }
.search input,.compact-search input { color:var(--ink); }
.search button,.primary-button,.compact-search button { color:var(--ink); background:var(--lime); box-shadow:none; }
.search button:hover,.primary-button:hover,.compact-search button:hover { color:var(--ink); background:var(--lime-dark); box-shadow:0 10px 24px rgba(16,37,29,.14); }
.login-card,.source-panel,.steps article,.offer-card,.coupon-card,.account-card,.account-summary>div,.account-columns>section,.integration-card,.metric,.data-form,dialog,.plan-card,.plan-compare article { color:var(--ink); border-color:var(--line); background:var(--card); box-shadow:0 18px 48px rgba(16,37,29,.08); }
.login-card,.source-panel,.plan-card { box-shadow:12px 12px 0 var(--lime),0 22px 60px rgba(16,37,29,.14); }
.login-card p:not(.eyebrow),.login-card small,.source-panel-head small,.source-row small,.source-panel-note,.steps p{color:var(--muted)}
.live-dot { background:#5fa924; box-shadow:0 0 0 5px rgba(95,169,36,.14); }
.status-badge,.source-pill { color:var(--muted); border-color:var(--line); background:rgba(255,255,255,.56); }
.status-badge.ready,.status-badge.online { color:#345d1b; background:#e3f4d5; }
.status-badge.pending { color:#765718; background:#fff0c6; }
.status-badge.error { color:#7c2d21; background:#f7ddd7; }
.filter { color:var(--muted); border-color:var(--line); background:transparent; }
.filter:hover,.filter.active { color:#fff; border-color:var(--ink); background:var(--ink); }
.offer-card:hover { border-color:rgba(16,37,29,.24); box-shadow:0 22px 48px rgba(16,37,29,.12); }
.save-button { border-color:rgba(16,37,29,.10); background:rgba(255,255,255,.95); }
.save-button svg { stroke:var(--ink); }
.save-button.saved { background:var(--ink); }
.save-button.saved svg { stroke:var(--lime); fill:var(--lime); }
.card-price strong { color:var(--ink); }
.card-price span,.coupon-benefit { color:#335400; background:var(--lime); }
.verified-label { color:#42632c; }
.open-offer,.coupon-card>a { color:#fff; background:var(--ink); }
.open-offer:hover,.coupon-card>a:hover { color:var(--ink); background:var(--lime); }
.alert-offer { color:var(--ink); border-color:var(--ink); background:transparent; }
.empty-state { border-color:#bdb8ab; background:var(--card); }
.empty-mark { border-color:var(--ink); filter:none; }.empty-mark::after{background:var(--ink)}
.coupon-card::before { background:var(--paper); }.coupon-code{border-color:var(--ink)}
.notice { color:var(--ink); border-color:#decf9c; background:#fff4d5; }
.section-title span { color:#fff; background:var(--ink); }
.legal-copy h1 { color:var(--ink); }
dialog::backdrop { background:rgba(16,37,29,.68); }
.toast { color:#fff; background:var(--ink); box-shadow:var(--shadow); }

/* Navegação de marketplaces: separa visualmente cada fonte sem expor configuração técnica. */
.marketplace-picker { max-width:1184px; margin:34px auto 0; padding:20px; display:grid; grid-template-columns:minmax(190px,.7fr) minmax(0,2.3fr); align-items:center; gap:24px; border:1px solid var(--line); border-radius:18px; background:rgba(255,253,248,.72); box-shadow:0 16px 42px rgba(16,37,29,.07); }
.marketplace-picker-copy { display:flex; flex-direction:column; gap:5px; }
.marketplace-picker-copy>span { color:var(--muted); font-size:10px; font-weight:900; letter-spacing:.14em; }
.marketplace-picker-copy>strong { max-width:220px; font-size:16px; line-height:1.25; letter-spacing:-.02em; }
.marketplace-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.marketplace-filter { min-width:0; padding:10px 12px; display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:13px; color:var(--ink); background:var(--card); cursor:pointer; text-align:left; transition:transform .18s,border-color .18s,box-shadow .18s,background .18s; }
.marketplace-filter:hover { transform:translateY(-2px); border-color:rgba(16,37,29,.30); box-shadow:0 10px 24px rgba(16,37,29,.08); }
.marketplace-filter.active { border-color:var(--ink); background:var(--ink); color:#fff; box-shadow:0 10px 24px rgba(16,37,29,.16); }
.marketplace-filter>span:last-child { min-width:0; display:flex; flex-direction:column; gap:2px; }
.marketplace-filter strong { overflow:hidden; font-size:12px; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
.marketplace-filter small { color:var(--muted); font-size:9px; line-height:1.2; white-space:nowrap; }
.marketplace-filter.active small { color:#c4d0ca; }
.marketplace-logo { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; position:relative; border-radius:10px; font-size:11px; font-weight:950; letter-spacing:-.05em; }
.all-logo { display:flex; align-items:flex-end; justify-content:center; gap:2px; color:var(--ink); background:var(--lime); }
.all-logo i { width:3px; border-radius:4px; background:currentColor; }.all-logo i:nth-child(1){height:8px}.all-logo i:nth-child(2){height:16px}.all-logo i:nth-child(3){height:11px}
.ml-logo { color:#26394d; background:#ffe600; }
.shopee-logo { color:#fff; background:#ee4d2d; }
.shopee-logo::before { content:""; position:absolute; top:6px; width:13px; height:7px; border:2px solid currentColor; border-bottom:0; border-radius:8px 8px 0 0; }
.shopee-logo b { margin-top:5px; font-size:14px; }
.aliexpress-logo { color:#fff; background:linear-gradient(135deg,#ff4747,#ff6a00); font-size:16px; }

@media (max-width:1000px) {
  .marketplace-picker { margin-left:24px; margin-right:24px; grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .marketplace-picker { margin:20px 16px 0; padding:15px; gap:14px; }
  .marketplace-picker-copy>strong { max-width:none; }
  .marketplace-filters { display:flex; overflow-x:auto; padding:1px 1px 7px; scrollbar-width:thin; }
  .marketplace-filter { min-width:145px; }
}

/* Modo escuro e hero interativo das ofertas */
.theme-toggle { height:40px; display:inline-flex; align-items:center; gap:7px; padding:0 13px; border:1px solid var(--line); border-radius:999px; color:var(--ink); background:rgba(255,255,255,.35); cursor:pointer; font-size:11px; font-weight:800; transition:background .2s,border-color .2s,transform .2s; }
.theme-toggle:hover { transform:translateY(-1px); border-color:var(--ink); background:var(--lime); }
.theme-toggle svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.theme-moon { display:none; }
[data-theme="dark"] .theme-sun { display:none; }
[data-theme="dark"] .theme-moon { display:block; }

.offers-hero { --pointer-x:72%; --pointer-y:42%; --tilt-x:0deg; --tilt-y:0deg; min-height:360px; position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); align-items:center; gap:40px; overflow:hidden; background:linear-gradient(125deg,#10251d 5%,#163328 60%,#10251d); }
.offers-hero::before { content:""; position:absolute; inset:0; z-index:-2; background:radial-gradient(circle 330px at var(--pointer-x) var(--pointer-y),rgba(215,255,79,.20),transparent 70%); transition:background .12s linear; }
.offers-hero-grid { position:absolute; inset:0; z-index:-3; opacity:.22; background-image:linear-gradient(rgba(215,255,79,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(215,255,79,.08) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(90deg,#000,transparent 90%); animation:grid-drift 16s linear infinite; }
.offers-hero-glow { position:absolute; width:480px; height:480px; right:-130px; top:-170px; z-index:-1; border:1px solid rgba(215,255,79,.20); border-radius:50%; box-shadow:0 0 0 70px rgba(215,255,79,.035),0 0 0 140px rgba(215,255,79,.022); animation:hero-breathe 5s ease-in-out infinite; }
.offers-hero-copy { position:relative; z-index:2; }
.animated-offers-title { perspective:900px; }
.animated-offers-title span,.animated-offers-title em { display:inline-block; opacity:0; transform:translateY(35px) rotateX(-32deg); transform-origin:bottom; animation:title-arrival .8s cubic-bezier(.18,.82,.24,1) forwards; }
.animated-offers-title em { color:var(--lime); font-style:normal; animation-delay:.13s; background:linear-gradient(90deg,var(--lime),#fff,var(--lime)); background-size:220% 100%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; animation:title-arrival .8s .13s cubic-bezier(.18,.82,.24,1) forwards,title-shimmer 4.5s 1.2s linear infinite; }
.animated-offers-title i { display:inline-block; color:var(--lime); font-style:normal; animation:dot-pulse 1.6s ease-in-out infinite; }
.hero-live-line { display:flex; align-items:center; gap:9px; margin-top:23px; color:#c8d4ce; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.hero-live-line span { width:8px; height:8px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 0 rgba(215,255,79,.45); animation:live-ripple 2s ease-out infinite; }
.deal-orbit { width:min(31vw,310px); aspect-ratio:1; justify-self:end; position:relative; transform-style:preserve-3d; transform:perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); transition:transform .16s ease-out; }
.orbit-ring { position:absolute; inset:12%; border:1px solid rgba(215,255,79,.34); border-radius:50%; }
.orbit-ring-one { animation:orbit-spin 13s linear infinite; }.orbit-ring-one::before { content:""; position:absolute; width:12px; height:12px; left:14%; top:5%; border-radius:50%; background:var(--lime); box-shadow:0 0 22px var(--lime); }
.orbit-ring-two { inset:25%; border-style:dashed; opacity:.58; animation:orbit-spin 9s linear infinite reverse; }
.orbit-core { position:absolute; inset:35%; display:flex; align-items:flex-end; justify-content:center; gap:5px; padding:22px; border:1px solid rgba(255,255,255,.16); border-radius:28%; background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(5,15,11,.7)); box-shadow:0 24px 70px rgba(0,0,0,.34),inset 0 0 30px rgba(215,255,79,.06); transform:rotate(-7deg) translateZ(34px); backdrop-filter:blur(10px); }
.orbit-core i { width:7px; border-radius:6px; background:var(--lime); box-shadow:0 0 18px rgba(215,255,79,.55); }.orbit-core i:nth-child(1){height:26%}.orbit-core i:nth-child(2){height:76%}.orbit-core i:nth-child(3){height:49%}
.floating-deal { position:absolute; z-index:3; padding:8px 11px; border:1px solid rgba(255,255,255,.20); border-radius:10px; color:#fff; background:rgba(8,22,16,.72); box-shadow:0 12px 30px rgba(0,0,0,.22); backdrop-filter:blur(9px); font-size:11px; font-weight:900; letter-spacing:.05em; }
.deal-one { right:0; top:18%; color:var(--lime); animation:deal-float 3.7s ease-in-out infinite; }.deal-two { left:2%; bottom:22%; animation:deal-float 4.4s .4s ease-in-out infinite reverse; }.deal-three { right:8%; bottom:8%; font-size:9px; animation:deal-float 4s .8s ease-in-out infinite; }
@keyframes title-arrival { to{opacity:1;transform:translateY(0) rotateX(0)} }
@keyframes title-shimmer { to{background-position:-220% 0} }
@keyframes dot-pulse { 50%{opacity:.3;transform:scale(.76)} }
@keyframes live-ripple { 70%{box-shadow:0 0 0 8px rgba(215,255,79,0)} 100%{box-shadow:0 0 0 0 rgba(215,255,79,0)} }
@keyframes grid-drift { to{background-position:42px 42px} }
@keyframes hero-breathe { 50%{transform:scale(1.06);opacity:.72} }
@keyframes orbit-spin { to{transform:rotate(360deg)} }
@keyframes deal-float { 50%{transform:translateY(-10px) rotate(2deg)} }

[data-theme="dark"] { color-scheme:dark; --ink:#eff8f2; --ink-2:#dcebe1; --muted:#9aaca2; --paper:#090d0b; --card:#111713; --line:#29352e; --lime:#d7ff4f; --lime-dark:#c7ef43; --shadow:0 24px 64px rgba(0,0,0,.38); }
[data-theme="dark"] body { color:var(--ink); background:radial-gradient(circle at 10% 0,rgba(215,255,79,.055),transparent 24rem),var(--paper); }
[data-theme="dark"] body::before { opacity:.22; background-image:linear-gradient(rgba(215,255,79,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(215,255,79,.025) 1px,transparent 1px); }
[data-theme="dark"] .topbar { border-color:rgba(255,255,255,.07); background:rgba(9,13,11,.90); }
[data-theme="dark"] .brand,[data-theme="dark"] .footer-brand,[data-theme="dark"] nav a:hover,[data-theme="dark"] nav a.active { color:var(--ink); }
[data-theme="dark"] .theme-toggle,[data-theme="dark"] .icon-button,[data-theme="dark"] .account-button,[data-theme="dark"] .secondary-button { color:var(--ink); border-color:var(--line); background:rgba(255,255,255,.025); }
[data-theme="dark"] .theme-toggle:hover,[data-theme="dark"] .icon-button:hover,[data-theme="dark"] .account-button:hover,[data-theme="dark"] .secondary-button:hover { color:#10251d; border-color:var(--lime); background:var(--lime); }
[data-theme="dark"] .login-card,[data-theme="dark"] .source-panel,[data-theme="dark"] .steps article,[data-theme="dark"] .offer-card,[data-theme="dark"] .coupon-card,[data-theme="dark"] .account-card,[data-theme="dark"] .account-summary>div,[data-theme="dark"] .account-columns>section,[data-theme="dark"] .integration-card,[data-theme="dark"] .metric,[data-theme="dark"] .data-form,[data-theme="dark"] dialog,[data-theme="dark"] .plan-card,[data-theme="dark"] .plan-compare article,[data-theme="dark"] .empty-state,[data-theme="dark"] .marketplace-picker { color:var(--ink); border-color:var(--line); background:var(--card); box-shadow:0 18px 50px rgba(0,0,0,.28); }
[data-theme="dark"] .compact-search,[data-theme="dark"] .search,[data-theme="dark"] .access-form input,[data-theme="dark"] .data-form input,[data-theme="dark"] .data-form select,[data-theme="dark"] .dialog-form input,[data-theme="dark"] .sort-label select { color:var(--ink); border-color:var(--line); background:#151d18; }
[data-theme="dark"] .search input,[data-theme="dark"] .compact-search input { color:var(--ink); }
[data-theme="dark"] .filter:hover,[data-theme="dark"] .filter.active { color:#10251d; border-color:var(--lime); background:var(--lime); }
[data-theme="dark"] .marketplace-filter { color:var(--ink); border-color:var(--line); background:#151d18; }
[data-theme="dark"] .marketplace-filter.active { color:#10251d; border-color:var(--lime); background:var(--lime); }
[data-theme="dark"] .marketplace-filter.active small { color:#385044; }
[data-theme="dark"] .offer-card:hover { border-color:rgba(215,255,79,.34); box-shadow:0 24px 54px rgba(0,0,0,.38); }
[data-theme="dark"] .card-price strong,[data-theme="dark"] .legal-copy h1 { color:var(--ink); }
[data-theme="dark"] .save-button { border-color:var(--line); background:rgba(9,13,11,.92); } [data-theme="dark"] .save-button svg{stroke:var(--ink)}
[data-theme="dark"] .open-offer,[data-theme="dark"] .coupon-card>a { color:#10251d; background:var(--lime); }
[data-theme="dark"] footer { border-color:var(--line); }

@media (max-width:720px) {
  .theme-toggle { width:40px; justify-content:center; padding:0; }
  .theme-toggle span { display:none; }
  .offers-hero { min-height:420px; grid-template-columns:1fr; padding-top:55px; padding-bottom:55px; }
  .deal-orbit { position:absolute; width:220px; right:-72px; bottom:-58px; opacity:.72; }
  .offers-hero-copy { max-width:82%; }
}
@media (prefers-reduced-motion:reduce) {
  .offers-hero-grid,.offers-hero-glow,.animated-offers-title span,.animated-offers-title em,.animated-offers-title i,.hero-live-line span,.orbit-ring,.floating-deal { animation:none !important; }
  .animated-offers-title span,.animated-offers-title em { opacity:1; transform:none; }
  .deal-orbit { transition:none; }
}

/* Logo oficial no cabeçalho, rodapé e ícone instalável. */
.brand-mark.brand-logo { width:42px; height:42px; padding:0; border:0; overflow:visible; background:transparent; box-shadow:0 9px 22px rgba(16,37,29,.24); transform:none; }
.brand-mark.brand-logo img { display:block; width:100%; height:100%; object-fit:contain; transform:none; filter:drop-shadow(0 0 8px rgba(215,255,79,.10)); }
[data-theme="dark"] .brand-mark.brand-logo { box-shadow:0 9px 24px rgba(0,0,0,.42); }
@media (max-width:720px) { .brand-mark.brand-logo { width:40px; height:40px; } }
