/*
Theme Name: POIMORE
Theme URI: https://poimore.jp/
Author: POIMORE
Description: ポイモア専用WordPressテーマ。登録前トップページ、ログイン後ダッシュボード、案件一覧ページを統一UIで提供します。
Version: 3.11.3
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: poimore
*/

:root {
  --pm-blue: #2f80ed;
  --pm-blue-2: #5aa9ff;
  --pm-blue-3: #eef6ff;
  --pm-navy: #172033;
  --pm-text: #202a3d;
  --pm-muted: #68738a;
  --pm-orange: #ff9d3d;
  --pm-green: #19b67a;
  --pm-red: #ff5b6e;
  --pm-line: #e7edf5;
  --pm-bg: #f7fbff;
  --pm-white: #ffffff;
  --pm-shadow: 0 14px 40px rgba(25, 74, 130, .10);
  --pm-radius: 20px;
  --pm-sidebar: 236px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; background: #fff; color: var(--pm-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans JP",sans-serif;
  line-height: 1.7;
}

/* v3.10.7: unified registration UI and global mobile navigation */
.pm-bank-transfer-panel { margin-top: 24px; }
.pm-bank-transfer-note { margin: 18px 0; padding: 16px 18px; border-radius: 16px; background: #f3f8ff; color: var(--pm-text); }
.pm-bank-transfer-note ul { margin: 8px 0 0; padding-left: 1.25em; }
.pm-bank-transfer-form { display: grid; gap: 18px; }
.pm-bank-transfer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pm-bank-transfer-grid label { display: grid; gap: 7px; color: var(--pm-text); font-weight: 800; }
.pm-bank-transfer-grid label span { font-size: 13px; }
.pm-bank-transfer-grid input,
.pm-bank-transfer-grid select { width: 100%; min-height: 50px; padding: 10px 13px; border: 1px solid var(--pm-line); border-radius: 12px; background: #fff; color: var(--pm-text); }
.pm-bank-transfer-grid input:focus,
.pm-bank-transfer-grid select:focus { outline: 3px solid rgba(47,128,237,.14); border-color: var(--pm-blue); }
.pm-bank-transfer-security { margin: 0; color: var(--pm-muted); font-size: 12px; }
@media (max-width: 680px) {
  .pm-bank-transfer-grid { grid-template-columns: 1fr; }
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, select { font: inherit; }
.pm-container { width: min(1280px, calc(100% - 40px)); margin: 0 auto; }

.pm-site-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.94); backdrop-filter: blur(14px); border-bottom: 1px solid var(--pm-line); }
.pm-header-inner { min-height: 72px; display: flex; align-items: center; gap: 24px; }
.pm-logo { display: inline-flex; align-items: center; gap: 10px; font-size: 24px; font-weight: 900; letter-spacing: -.03em; }
.pm-logo-mark { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(135deg, var(--pm-blue), var(--pm-blue-2)); color: #fff; font-weight: 900; }
.pm-logo span:last-child { color: var(--pm-orange); }
.pm-header-nav { margin-left: auto; display: flex; align-items: center; gap: 24px; font-size: 14px; font-weight: 700; color: #55627a; }
.pm-header-actions { display: flex; gap: 10px; margin-left: 8px; }
.pm-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 20px; border: 0; border-radius: 13px; font-weight: 800; cursor: pointer; transition: .2s ease; }
.pm-btn:hover { transform: translateY(-1px); }
.pm-btn-primary { background: linear-gradient(135deg, var(--pm-blue), var(--pm-blue-2)); color: #fff; box-shadow: 0 9px 18px rgba(47,128,237,.20); }
.pm-btn-soft { background: var(--pm-blue-3); color: var(--pm-blue); }
.pm-btn-dark { background: var(--pm-navy); color: #fff; }
.pm-btn-white { background: #fff; color: var(--pm-blue); }
.pm-btn-outline { background: #fff; border: 1px solid var(--pm-line); color: var(--pm-text); }

.pm-hero { padding: 76px 0 64px; background: radial-gradient(circle at 85% 18%, rgba(90,169,255,.18), transparent 30%), linear-gradient(180deg, #f2f8ff 0%, #fff 100%); }
.pm-hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 56px; align-items: center; }
.pm-eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 999px; background: #eaf4ff; color: var(--pm-blue); font-size: 12px; font-weight: 900; }
.pm-hero h1 { margin: 18px 0 20px; font-size: clamp(42px, 6vw, 72px); line-height: 1.05; letter-spacing: -.045em; color: var(--pm-navy); }
.pm-hero h1 em { color: var(--pm-blue); font-style: normal; }
.pm-hero-lead { max-width: 700px; margin: 0; color: var(--pm-muted); font-size: 17px; line-height: 1.9; }
.pm-hero-cta { display: flex; gap: 12px; margin: 28px 0 26px; }
.pm-hero-proof { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 560px; gap: 10px; }
.pm-proof { padding: 14px 15px; background: rgba(255,255,255,.82); border: 1px solid var(--pm-line); border-radius: 14px; }
.pm-proof strong { display: block; font-size: 15px; }
.pm-proof span { display: block; margin-top: 2px; color: var(--pm-muted); font-size: 11px; }

.pm-hero-panel { padding: 28px; border: 1px solid var(--pm-line); border-radius: 28px; background: #fff; box-shadow: var(--pm-shadow); }
.pm-hero-panel-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.pm-hero-panel-head span { color: var(--pm-muted); font-size: 13px; }
.pm-chip { padding: 5px 9px; border-radius: 999px; background: #eaf9f3; color: var(--pm-green); font-size: 11px; font-weight: 900; }
.pm-balance-demo { margin: 14px 0 2px; font-size: 50px; line-height: 1; font-weight: 900; letter-spacing: -.04em; color: var(--pm-navy); }
.pm-balance-demo small { font-size: 16px; color: var(--pm-muted); }
.pm-hero-panel-note { margin: 8px 0 20px; color: var(--pm-muted); font-size: 12px; }
.pm-feature-mini-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.pm-feature-mini { padding: 15px; border-radius: 15px; background: var(--pm-bg); font-size: 13px; font-weight: 800; }
.pm-feature-mini span { display: block; font-size: 22px; margin-bottom: 4px; }

.pm-section { padding: 78px 0; }
.pm-section-alt { background: var(--pm-bg); }
.pm-section-head { display: flex; justify-content: space-between; gap: 24px; align-items: flex-end; margin-bottom: 30px; }
.pm-section-kicker { color: var(--pm-blue); font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.pm-section-head h2 { margin: 6px 0 0; font-size: clamp(28px, 4vw, 40px); line-height: 1.3; letter-spacing: -.025em; }
.pm-section-head p { max-width: 660px; margin: 8px 0 0; color: var(--pm-muted); }
.pm-link-more { color: var(--pm-blue); font-weight: 800; font-size: 14px; white-space: nowrap; }

.pm-category-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.pm-category-card { padding: 20px 14px; border: 1px solid var(--pm-line); border-radius: 18px; background: #fff; text-align: center; transition: .2s; }
.pm-category-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(25,74,130,.08); border-color: #bfd9f8; }
.pm-category-icon { font-size: 30px; margin-bottom: 8px; }
.pm-category-card strong { display: block; }
.pm-category-card small { display: block; margin-top: 4px; color: var(--pm-muted); }

.pm-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pm-offer-card { padding: 18px; border: 1px solid var(--pm-line); border-radius: 18px; background: #fff; box-shadow: 0 8px 22px rgba(25,74,130,.05); }
.pm-card-tag { display: inline-flex; padding: 5px 9px; border-radius: 999px; background: #eaf4ff; color: var(--pm-blue); font-size: 11px; font-weight: 900; }
.pm-offer-thumb { height: 126px; display: grid; place-items: center; margin: 14px 0; border-radius: 14px; background: var(--pm-bg); font-size: 44px; }
.pm-offer-card h3 { margin: 0 0 5px; font-size: 17px; }
.pm-offer-card p { margin: 0; min-height: 44px; color: var(--pm-muted); font-size: 12px; }
.pm-offer-point { margin: 14px 0; color: var(--pm-orange); font-size: 28px; font-weight: 900; }
.pm-offer-point small { color: var(--pm-muted); font-size: 12px; }
.pm-offer-card .pm-btn { width: 100%; min-height: 44px; font-size: 13px; }

.pm-how-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.pm-how-card { padding: 26px 22px; border: 1px solid var(--pm-line); border-radius: 18px; background: #fff; }
.pm-how-num { color: var(--pm-blue); font-size: 12px; font-weight: 900; }
.pm-how-icon { margin: 10px 0; font-size: 34px; }
.pm-how-card h3 { margin: 0 0 6px; }
.pm-how-card p { margin: 0; color: var(--pm-muted); font-size: 13px; }

.pm-daily-banner { padding: 34px; display: grid; grid-template-columns: 1fr 1fr; gap: 34px; align-items: center; border-radius: 26px; color: #fff; background: linear-gradient(135deg, #162a4a, #294a7a); }
.pm-daily-banner h2 { margin: 8px 0 10px; font-size: 34px; }
.pm-daily-banner p { margin: 0; color: #d7e3f3; }
.pm-daily-list { display: grid; gap: 10px; }
.pm-daily-item { display: flex; align-items: center; gap: 13px; padding: 14px; background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.10); border-radius: 14px; }
.pm-daily-item > span { font-size: 24px; }
.pm-daily-item strong, .pm-daily-item small { display: block; }
.pm-daily-item small { color: #cbd9ea; }

.pm-trust-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.pm-trust-card { padding: 20px; border-radius: 16px; background: var(--pm-bg); }
.pm-trust-card > span { font-size: 27px; }
.pm-trust-card h3 { margin: 9px 0 5px; font-size: 15px; }
.pm-trust-card p { margin: 0; color: var(--pm-muted); font-size: 12px; }

.pm-final-cta { padding: 30px 0 80px; }
.pm-final-cta-box { padding: 48px 24px; border-radius: 26px; text-align: center; color: #fff; background: linear-gradient(135deg, var(--pm-blue), var(--pm-blue-2)); }
.pm-final-cta-box h2 { margin: 7px 0 10px; font-size: 34px; }
.pm-final-cta-box p { margin: 0 0 22px; color: #e9f3ff; }

.pm-dashboard-body { background: #f4f7fb; }
.pm-app-shell { min-height: 100vh; display: grid; grid-template-columns: var(--pm-sidebar) 1fr; }
.pm-sidebar { position: sticky; top: 0; height: 100vh; padding: 22px 16px; background: #fff; border-right: 1px solid var(--pm-line); }
.pm-sidebar .pm-logo { margin: 0 8px 28px; }
.pm-side-nav { display: grid; gap: 6px; }
.pm-side-nav a { display: flex; align-items: center; gap: 11px; padding: 11px 12px; border-radius: 11px; color: #5a667c; font-size: 14px; font-weight: 750; }
.pm-side-nav a:hover, .pm-side-nav a.is-active { color: var(--pm-blue); background: #eef6ff; }
.pm-side-bottom { position: absolute; left: 16px; right: 16px; bottom: 18px; display: grid; gap: 6px; }
.pm-app-main { min-width: 0; }
.pm-app-topbar { min-height: 68px; padding: 0 28px; display: flex; align-items: center; gap: 14px; background: rgba(244,247,251,.92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--pm-line); }
.pm-app-title { font-weight: 900; color: var(--pm-navy); }
.pm-user-chip { margin-left: auto; display: flex; align-items: center; gap: 9px; padding: 7px 10px; background: #fff; border: 1px solid var(--pm-line); border-radius: 999px; font-size: 12px; font-weight: 800; }
.pm-avatar { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #eaf4ff; color: var(--pm-blue); font-weight: 900; }
.pm-dashboard { width: min(1360px, calc(100% - 44px)); margin: 0 auto; padding: 28px 0 90px; }
.pm-dashboard-hello { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.pm-dashboard-hello h1 { margin: 0; font-size: 28px; letter-spacing: -.02em; }
.pm-dashboard-hello p { margin: 5px 0 0; color: var(--pm-muted); font-size: 13px; }

.pm-stat-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 14px; margin-bottom: 16px; }
.pm-stat { padding: 20px; border: 1px solid var(--pm-line); border-radius: 17px; background: #fff; box-shadow: 0 6px 18px rgba(25,74,130,.04); }
.pm-stat-label { color: var(--pm-muted); font-size: 12px; font-weight: 800; }
.pm-stat-value { margin-top: 6px; font-size: 30px; line-height: 1.15; font-weight: 900; letter-spacing: -.03em; }
.pm-stat-value small { font-size: 12px; color: var(--pm-muted); }
.pm-stat-primary { color: #fff; border: 0; background: linear-gradient(135deg, var(--pm-blue), var(--pm-blue-2)); }
.pm-stat-primary .pm-stat-label, .pm-stat-primary .pm-stat-value small { color: #eaf4ff; }

.pm-dashboard-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(320px,.75fr); gap: 16px; }
.pm-panel { padding: 20px; background: #fff; border: 1px solid var(--pm-line); border-radius: 17px; }
.pm-panel + .pm-panel { margin-top: 16px; }
.pm-panel-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.pm-panel-head h2 { margin: 0; font-size: 17px; }
.pm-panel-head a { color: var(--pm-blue); font-size: 12px; font-weight: 800; }

.pm-task-list { display: grid; gap: 10px; }
.pm-task { display: grid; grid-template-columns: 42px 1fr auto; gap: 12px; align-items: center; padding: 12px; border: 1px solid var(--pm-line); border-radius: 14px; }
.pm-task-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: var(--pm-bg); font-size: 22px; }
.pm-task strong { display: block; font-size: 13px; }
.pm-task small { display: block; color: var(--pm-muted); margin-top: 2px; }
.pm-task-reward { color: var(--pm-orange); font-weight: 900; font-size: 13px; }
.pm-progress { height: 8px; background: #edf1f6; border-radius: 999px; overflow: hidden; margin-top: 7px; }
.pm-progress > span { display: block; height: 100%; background: linear-gradient(90deg, var(--pm-blue), var(--pm-blue-2)); border-radius: 999px; }

.pm-dashboard-offers { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.pm-dash-offer { padding: 14px; border: 1px solid var(--pm-line); border-radius: 14px; }
.pm-dash-offer .pm-offer-thumb { height: 82px; margin: 0 0 10px; font-size: 32px; }
.pm-dash-offer strong { display: block; font-size: 13px; }
.pm-dash-offer small { color: var(--pm-muted); }
.pm-dash-offer .pm-offer-point { font-size: 20px; margin: 8px 0; }

.pm-history { display: grid; }
.pm-history-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--pm-line); }
.pm-history-row:last-child { border-bottom: 0; }
.pm-history-row strong { font-size: 13px; }
.pm-history-row small { display: block; color: var(--pm-muted); margin-top: 2px; }
.pm-history-point { font-weight: 900; color: var(--pm-green); font-size: 13px; }
.pm-history-point.is-pending { color: var(--pm-orange); }
.pm-empty { padding: 24px 16px; border: 1px dashed #ccd8e7; border-radius: 14px; color: var(--pm-muted); background: #fbfdff; text-align: center; font-size: 13px; }

.pm-footer { padding: 38px 0 20px; background: #111827; color: #c9d3e2; }
.pm-footer-grid { display: flex; justify-content: space-between; gap: 28px; }
.pm-footer .pm-logo { color: #fff; }
.pm-footer p { color: #8e9aab; font-size: 12px; }
.pm-footer-links { display: flex; flex-wrap: wrap; gap: 14px 18px; align-content: flex-start; font-size: 12px; }
.pm-copy { margin-top: 28px; color: #6f7a8a; font-size: 11px; text-align: center; }

.pm-mobile-nav { display: none; }

/* Offers page v1.3 */
.pm-offers-mp { background: #f7fbff; }
.pm-offers-mp-top {
  padding: 22px 0 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border-bottom: 1px solid var(--pm-line);
}
.pm-offers-mp-searchbar {
  display: grid;
  grid-template-columns: 170px minmax(0,1fr) 130px;
  gap: 14px;
  align-items: center;
}
.pm-offers-mp-brand { display: flex; align-items: center; gap: 10px; }
.pm-offers-mp-brand-mark {
  width: 46px; height: 46px; display: grid; place-items: center;
  border-radius: 14px; background: linear-gradient(135deg, #24c6b9, #2f80ed);
  color: #fff; font-size: 22px; font-weight: 900;
}
.pm-offers-mp-brand-text {
  color: #24b8aa; font-size: 34px; line-height: 1; font-weight: 900; letter-spacing: -.04em;
}
.pm-offers-mp-searchgroup {
  display: grid;
  grid-template-columns: minmax(0,1fr) 94px 170px 52px;
  gap: 10px;
  align-items: center;
}
.pm-offers-mp-searchfield {
  min-height: 52px; display: flex; align-items: center; gap: 10px; padding: 0 16px;
  background: #fff; border: 2px solid #24c6b9; border-radius: 16px;
  box-shadow: 0 8px 18px rgba(36,198,185,.08);
}
.pm-offers-mp-searchfield span { font-size: 18px; }
.pm-offers-mp-searchfield input {
  width: 100%; border: 0; outline: 0; background: transparent; color: var(--pm-text); font-size: 14px;
}
.pm-offers-mp-searchbtn {
  min-height: 52px; border: 0; border-radius: 14px; background: #24c6b9;
  color: #fff; font-size: 18px; font-weight: 900; cursor: pointer;
}
.pm-offers-mp-sort {
  min-height: 52px; padding: 0 14px; border: 1px solid var(--pm-line); border-radius: 14px;
  background: #fff; color: var(--pm-text); font-weight: 800;
}
.pm-offers-mp-heart {
  width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid var(--pm-line);
  border-radius: 14px; background: #fff; color: #ff7183; font-size: 24px; cursor: pointer;
}
.pm-offers-mp-user {
  display: flex; justify-content: flex-end; align-items: center; gap: 8px; min-height: 52px;
  padding: 0 14px; border-radius: 14px; background: #fff; border: 1px solid var(--pm-line);
  color: var(--pm-muted); font-size: 13px; font-weight: 800;
}
.pm-offers-mp-user strong { color: var(--pm-orange); font-size: 24px; line-height: 1; }
.pm-offers-mp-user a { color: var(--pm-blue); }

.pm-offers-mp-tags {
  display: flex; flex-wrap: nowrap; gap: 10px; overflow-x: auto; padding: 16px 0 12px; scrollbar-width: none;
}
.pm-offers-mp-tags::-webkit-scrollbar { display: none; }
.pm-offers-mp-tag {
  flex: 0 0 auto; padding: 8px 14px; border: 1px solid #dbe7f3; border-radius: 999px;
  background: #fff; color: #5b677d; font-size: 12px; font-weight: 800; cursor: pointer;
}

.pm-offers-mp-iconnav {
  display: flex; flex-wrap: nowrap; gap: 10px; overflow-x: auto; padding: 10px 0 12px; scrollbar-width: none;
}
.pm-offers-mp-iconnav::-webkit-scrollbar { display: none; }
.pm-offers-mp-iconitem {
  flex: 0 0 auto; min-width: 92px; padding: 12px 10px; border: 0; border-radius: 14px; background: #fff;
  box-shadow: 0 6px 16px rgba(31,84,129,.05); cursor: pointer;
}
.pm-offers-mp-iconitem span { display: block; font-size: 23px; line-height: 1.1; }
.pm-offers-mp-iconitem small { display: block; margin-top: 6px; color: var(--pm-text); font-size: 12px; font-weight: 800; }
.pm-offers-mp-iconitem.is-active { background: linear-gradient(135deg, #24c6b9, #2f80ed); }
.pm-offers-mp-iconitem.is-active small,
.pm-offers-mp-iconitem.is-active span { color: #fff; }

.pm-offers-mp-pickup {
  display: grid; grid-template-columns: 70px 1fr; gap: 12px; align-items: center; margin-top: 8px;
  padding: 12px 14px; border-radius: 16px; background: #fff; border: 1px solid var(--pm-line);
}
.pm-offers-mp-pickup-chip {
  display: inline-flex; justify-content: center; padding: 6px 10px; border-radius: 999px;
  background: #fff2d9; color: #d07e0f; font-size: 11px; font-weight: 900;
}
.pm-offers-mp-pickup-list { display: flex; gap: 8px; flex-wrap: wrap; }
.pm-offers-mp-pickup-list span {
  display: inline-flex; padding: 6px 10px; border-radius: 999px; background: #f5f9fd;
  color: var(--pm-muted); font-size: 11px; font-weight: 700;
}

.pm-offers-mp-main { padding: 26px 0 80px; }
.pm-offers-mp-heading {
  display: flex; justify-content: space-between; align-items: flex-end; gap: 18px; margin-bottom: 18px;
}
.pm-offers-mp-subtitle { margin: 0 0 5px; color: var(--pm-blue); font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.pm-offers-mp-heading h1 { margin: 0; color: var(--pm-navy); font-size: 34px; line-height: 1.2; letter-spacing: -.03em; }
.pm-offers-mp-meta { display: flex; align-items: center; gap: 10px; }
.pm-offers-mp-countcard {
  min-width: 100px; padding: 10px 14px; border-radius: 16px; background: #fff; border: 1px solid var(--pm-line); text-align: center;
}
.pm-offers-mp-countcard small { display: block; color: var(--pm-muted); font-size: 10px; font-weight: 800; }
.pm-offers-mp-countcard strong { display: block; margin-top: 4px; color: var(--pm-navy); font-size: 28px; line-height: 1; }
.pm-offers-mp-note { padding: 10px 12px; border-radius: 999px; background: #fff4e8; color: #b76817; font-size: 11px; font-weight: 800; }

.pm-offers-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.pm-offer-list-card {
  display: flex; flex-direction: column; min-width: 0;
  padding: 18px; border-radius: 18px; background: #fff;
  border: 1px solid var(--pm-line); box-shadow: 0 10px 24px rgba(31,84,129,.06);
  transition: transform .18s ease, box-shadow .18s ease;
}
.pm-offer-list-card:hover { transform: translateY(-3px); box-shadow: 0 18px 34px rgba(31,84,129,.10); }
.pm-offer-list-top { display: flex; justify-content: space-between; align-items: center; min-height: 30px; }
.pm-offer-list-badge { display: inline-flex; padding: 5px 9px; border-radius: 999px; background: #eaf4ff; color: var(--pm-blue); font-size: 10px; font-weight: 900; }
.pm-favorite-btn {
  width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--pm-line);
  border-radius: 50%; background: #fff; color: #8793a6; font-size: 18px; cursor: pointer;
}
.pm-favorite-btn.is-active { color: var(--pm-red); border-color: #ffd1d8; background: #fff6f8; }
.pm-offer-list-thumb {
  height: 112px; display: grid; place-items: center; margin: 12px 0; border-radius: 16px;
  background: linear-gradient(180deg, #f9fcff, #eef6ff); font-size: 40px;
}
.pm-offer-list-category { margin-bottom: 6px; color: var(--pm-blue); font-size: 11px; font-weight: 900; }
.pm-offer-list-card h2 { margin: 0 0 8px; color: var(--pm-navy); font-size: 17px; line-height: 1.45; }
.pm-offer-list-card p { min-height: 56px; margin: 0 0 14px; color: var(--pm-muted); font-size: 12px; line-height: 1.7; }
.pm-offer-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.pm-offer-meta-item { padding: 12px; border-radius: 14px; background: #f8fbff; }
.pm-offer-meta-item small { display: block; color: var(--pm-muted); font-size: 10px; }
.pm-offer-meta-item strong { display: block; margin-top: 4px; color: var(--pm-navy); font-size: 14px; }
.pm-offer-list-footer { margin-top: auto; display: block; }
.pm-offer-list-footer .pm-btn { width: 100%; min-height: 44px; border-radius: 14px; font-size: 12px; }
.pm-offer-disabled { opacity: .45; cursor: default; pointer-events: none; }

.pm-no-offers {
  margin-top: 20px; padding: 50px 20px; border: 1px dashed #cbd6e5; border-radius: 18px;
  background: #fff; text-align: center; color: var(--pm-muted);
}
.pm-no-offers > div { font-size: 36px; }
.pm-no-offers strong { display: block; margin-top: 8px; color: var(--pm-navy); }
.pm-no-offers p { margin: 5px 0 0; font-size: 12px; }

@media (max-width: 1200px) {
  .pm-offers-mp-searchbar { grid-template-columns: 150px 1fr; }
  .pm-offers-mp-user { grid-column: 1 / -1; justify-content: flex-start; }
  .pm-offers-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1020px) {
  .pm-header-nav { display: none; }
  .pm-hero-grid { grid-template-columns: 1fr; }
  .pm-category-grid { grid-template-columns: repeat(3,1fr); }
  .pm-card-grid { grid-template-columns: repeat(2,1fr); }
  .pm-trust-grid { grid-template-columns: repeat(2,1fr); }
  .pm-app-shell { grid-template-columns: 1fr; }
  .pm-sidebar { display: none; }
  .pm-dashboard { width: min(100% - 28px, 1100px); }
  .pm-dashboard-grid { grid-template-columns: 1fr; }
  .pm-mobile-nav {
    position: fixed; z-index: 90; left: 10px; right: 10px; bottom: 10px;
    display: grid; grid-template-columns: repeat(5,1fr);
    padding: 7px; border: 1px solid var(--pm-line); border-radius: 17px;
    background: rgba(255,255,255,.96); box-shadow: 0 12px 28px rgba(20,50,90,.14);
  }
  .pm-mobile-nav a { padding: 6px 4px; text-align: center; color: #69768a; font-size: 10px; font-weight: 800; }
  .pm-mobile-nav span { display: block; font-size: 19px; line-height: 1.25; }
}
@media (max-width: 900px) {
  .pm-offers-mp-searchgroup { grid-template-columns: minmax(0,1fr) 90px; }
  .pm-offers-mp-sort, .pm-offers-mp-heart { display: none; }
  .pm-offers-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .pm-container { width: calc(100% - 22px); }
  .pm-site-header .pm-header-inner { min-height: 64px; }
  .pm-header-actions .pm-btn-soft { display: none; }
  .pm-header-actions .pm-btn { min-height: 42px; padding: 0 14px; font-size: 12px; }
  .pm-hero { padding: 42px 0 50px; }
  .pm-hero h1 { font-size: 42px; }
  .pm-hero-lead { font-size: 14px; }
  .pm-hero-cta { display: grid; }
  .pm-hero-cta .pm-btn { width: 100%; }
  .pm-hero-proof { grid-template-columns: repeat(3,1fr); gap: 6px; }
  .pm-proof { padding: 10px 9px; }
  .pm-proof strong { font-size: 12px; }
  .pm-proof span { font-size: 9px; }
  .pm-hero-panel { padding: 20px; }
  .pm-balance-demo { font-size: 40px; }
  .pm-section { padding: 54px 0; }
  .pm-section-head { align-items: flex-start; flex-direction: column; margin-bottom: 22px; }
  .pm-category-grid { grid-template-columns: repeat(2,1fr); }
  .pm-card-grid, .pm-how-grid, .pm-trust-grid { grid-template-columns: 1fr; }
  .pm-daily-banner { grid-template-columns: 1fr; padding: 24px; }
  .pm-daily-banner h2 { font-size: 28px; }
  .pm-app-topbar { padding: 0 14px; }
  .pm-dashboard { width: calc(100% - 20px); padding-top: 16px; }
  .pm-dashboard-hello { align-items: flex-start; flex-direction: column; }
  .pm-dashboard-hello h1 { font-size: 22px; }
  .pm-stat-grid { grid-template-columns: 1fr 1fr; }
  .pm-stat-primary { grid-column: 1 / -1; }
  .pm-stat-value { font-size: 24px; }
  .pm-dashboard-offers { grid-template-columns: 1fr; }
  .pm-task { grid-template-columns: 42px 1fr; }
  .pm-task-reward { grid-column: 2; }
  .pm-footer-grid { flex-direction: column; }

  .pm-offers-mp-top { padding-top: 14px; }
  .pm-offers-mp-searchbar { grid-template-columns: 1fr; }
  .pm-offers-mp-brand { justify-content: center; }
  .pm-offers-mp-searchgroup { grid-template-columns: 1fr; }
  .pm-offers-mp-searchbtn, .pm-offers-mp-sort { width: 100%; }
  .pm-offers-mp-user { justify-content: center; }
  .pm-offers-mp-pickup { grid-template-columns: 1fr; }
  .pm-offers-mp-heading { flex-direction: column; align-items: flex-start; }
  .pm-offers-mp-heading h1 { font-size: 28px; }
  .pm-offers-grid { grid-template-columns: 1fr; }
}

/* =========================================
   POIMORE OFFER DETAIL v1.4
========================================= */
.pm-offer-detail { background: #f7fbff; min-height: 70vh; }
.pm-offer-detail-hero {
  padding: 26px 0 34px;
  background: radial-gradient(circle at 85% 16%, rgba(90,169,255,.15), transparent 28%), linear-gradient(180deg, #ffffff 0%, #f4f9ff 100%);
  border-bottom: 1px solid var(--pm-line);
}
.pm-breadcrumbs { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:22px; color:var(--pm-muted); font-size:11px; }
.pm-breadcrumbs a:hover { color:var(--pm-blue); }
.pm-offer-detail-grid { display:grid; grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr); gap:34px; align-items:stretch; }
.pm-offer-detail-visual {
  min-height:350px; display:grid; place-items:center; padding:26px; background:#fff;
  border:1px solid var(--pm-line); border-radius:24px; box-shadow:0 15px 34px rgba(31,84,129,.07);
}
.pm-offer-detail-icon { width:210px; height:210px; display:grid; place-items:center; border-radius:36px; background:linear-gradient(180deg,#f9fcff 0%,#eaf4ff 100%); font-size:88px; }
.pm-offer-detail-image { width:100%; max-height:330px; object-fit:contain; border-radius:18px; }
.pm-offer-detail-summary { display:flex; flex-direction:column; justify-content:center; }
.pm-offer-detail-badges { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:12px; }
.pm-offer-detail-badge,.pm-offer-detail-category { display:inline-flex; padding:6px 11px; border-radius:999px; font-size:11px; font-weight:900; }
.pm-offer-detail-badge { background:#fff0e5; color:#c86d14; }
.pm-offer-detail-category { background:#eaf4ff; color:var(--pm-blue); }
.pm-offer-detail-summary h1 { margin:0; color:var(--pm-navy); font-size:clamp(30px,4.5vw,48px); line-height:1.28; letter-spacing:-.035em; }
.pm-offer-detail-lead { margin:12px 0 0; color:var(--pm-muted); font-size:14px; }
.pm-offer-detail-pointbox { margin-top:22px; padding:22px; background:#fff; border:1px solid var(--pm-line); border-radius:20px; box-shadow:0 10px 24px rgba(31,84,129,.05); }
.pm-offer-detail-pointbox > span { display:block; color:var(--pm-muted); font-size:11px; font-weight:800; }
.pm-offer-detail-pointbox strong { display:block; margin-top:4px; color:var(--pm-orange); font-size:44px; line-height:1.05; letter-spacing:-.04em; }
.pm-offer-detail-pointbox strong small { font-size:15px; }
.pm-offer-detail-pointbox em { display:block; margin-top:7px; color:var(--pm-muted); font-style:normal; font-size:10px; }
.pm-offer-detail-quick { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
.pm-offer-detail-quick > div { padding:14px; background:rgba(255,255,255,.86); border:1px solid var(--pm-line); border-radius:15px; }
.pm-offer-detail-quick small { display:block; color:var(--pm-muted); font-size:10px; }
.pm-offer-detail-quick strong { display:block; margin-top:4px; color:var(--pm-navy); font-size:13px; }
.pm-offer-detail-cta { margin-top:16px; }
.pm-offer-detail-cta .pm-btn { width:100%; min-height:56px; font-size:15px; }
.pm-btn-disabled { opacity:.62; cursor:not-allowed; transform:none !important; }
.pm-offer-detail-cta small { display:block; margin-top:8px; color:var(--pm-muted); font-size:10px; line-height:1.6; }
.pm-offer-detail-body { padding:28px 0 80px; }
.pm-offer-detail-bodygrid { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:22px; align-items:start; }
.pm-offer-detail-main { display:grid; gap:16px; }
.pm-offer-detail-card { padding:24px; background:#fff; border:1px solid var(--pm-line); border-radius:20px; box-shadow:0 8px 20px rgba(31,84,129,.045); }
.pm-offer-detail-card-head { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.pm-offer-detail-card-head > span { width:36px; height:36px; display:grid; place-items:center; border-radius:11px; background:#eaf8f2; }
.pm-danger-head > span { background:#fff2f4; }
.pm-offer-detail-card h2 { margin:0; color:var(--pm-navy); font-size:18px; }
.pm-offer-detail-text,.pm-offer-detail-content { color:#4f5b6e; font-size:13px; line-height:1.9; }
.pm-offer-detail-content > *:first-child { margin-top:0; }
.pm-offer-detail-content > *:last-child { margin-bottom:0; }
.pm-offer-checklist { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.pm-offer-checklist li { position:relative; padding:11px 12px 11px 38px; border-radius:13px; background:#f8fbff; color:#566278; font-size:12px; }
.pm-offer-checklist li::before { content:"✓"; position:absolute; left:14px; top:10px; color:var(--pm-green); font-weight:900; }
.pm-offer-detail-side { position:sticky; top:92px; display:grid; gap:14px; }
.pm-offer-detail-sidecard,.pm-offer-detail-notice { padding:18px; background:#fff; border:1px solid var(--pm-line); border-radius:18px; }
.pm-offer-detail-sidecard h3,.pm-offer-detail-notice strong { display:block; margin:0 0 12px; color:var(--pm-navy); font-size:14px; }
.pm-offer-detail-sidecard dl { display:grid; gap:0; margin:0; }
.pm-offer-detail-sidecard dl > div { display:grid; grid-template-columns:110px 1fr; gap:10px; padding:11px 0; border-bottom:1px solid var(--pm-line); }
.pm-offer-detail-sidecard dl > div:last-child { border-bottom:0; }
.pm-offer-detail-sidecard dt { color:var(--pm-muted); font-size:10px; }
.pm-offer-detail-sidecard dd { margin:0; color:var(--pm-navy); font-size:12px; font-weight:800; text-align:right; }
.pm-offer-detail-notice { background:#fff9ef; border-color:#f4dfba; }
.pm-offer-detail-notice p { margin:0; color:#796544; font-size:11px; line-height:1.75; }
.pm-back-offers { width:100%; }
@media (max-width:960px) {
  .pm-offer-detail-grid,.pm-offer-detail-bodygrid { grid-template-columns:1fr; }
  .pm-offer-detail-side { position:static; }
  .pm-offer-detail-visual { min-height:280px; }
}
@media (max-width:680px) {
  .pm-offer-detail-hero { padding-top:18px; }
  .pm-offer-detail-visual { min-height:220px; padding:18px; }
  .pm-offer-detail-icon { width:150px; height:150px; font-size:64px; }
  .pm-offer-detail-summary h1 { font-size:30px; }
  .pm-offer-detail-pointbox strong { font-size:36px; }
  .pm-offer-detail-quick { grid-template-columns:1fr; }
  .pm-offer-detail-card { padding:18px; }
}


/* =========================================
   POIMORE AUTH PAGES v1.6
========================================= */
.pm-auth-page {
  min-height: calc(100vh - 72px);
  padding: 54px 0 80px;
  background:
    radial-gradient(circle at 15% 15%, rgba(90,169,255,.14), transparent 30%),
    radial-gradient(circle at 88% 20%, rgba(255,157,61,.10), transparent 28%),
    #f7fbff;
}

.pm-auth-shell {
  width: min(980px, calc(100% - 28px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  background: #fff;
  border: 1px solid var(--pm-line);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 20px 55px rgba(31,84,129,.10);
}

.pm-auth-side {
  padding: 44px 38px;
  color: #fff;
  background: linear-gradient(145deg, #1e6fd5, #55a8ff);
}

.pm-auth-side .pm-logo {
  color: #fff;
  margin-bottom: 42px;
}

.pm-auth-side h1 {
  margin: 0;
  font-size: 34px;
  line-height: 1.35;
  letter-spacing: -.035em;
}

.pm-auth-side p {
  margin: 14px 0 0;
  color: #e8f3ff;
  font-size: 13px;
  line-height: 1.9;
}

.pm-auth-points {
  display: grid;
  gap: 10px;
  margin-top: 30px;
}

.pm-auth-point {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 12px 13px;
  border-radius: 14px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.14);
  font-size: 12px;
  font-weight: 750;
}

.pm-auth-formarea {
  padding: 44px;
}

.pm-auth-formarea h2 {
  margin: 0;
  color: var(--pm-navy);
  font-size: 28px;
  letter-spacing: -.025em;
}

.pm-auth-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 24px;
}

.pm-auth-heading p {
  margin: 6px 0 0;
  color: var(--pm-muted);
  font-size: 12px;
  line-height: 1.7;
}

.pm-auth-login-cta {
  flex: 0 0 auto;
  min-width: 150px;
  padding: 11px 15px;
  border: 1px solid #cfe1f6;
  border-radius: 14px;
  background: #f4f9ff;
  color: var(--pm-blue);
  text-align: center;
  transition: .18s ease;
}

.pm-auth-login-cta:hover {
  border-color: #8fc1fb;
  background: #eaf5ff;
  transform: translateY(-1px);
}

.pm-auth-login-cta small,
.pm-auth-login-cta strong {
  display: block;
}

.pm-auth-login-cta small {
  color: #708096;
  font-size: 9px;
  font-weight: 700;
}

.pm-auth-login-cta strong {
  margin-top: 2px;
  font-size: 13px;
}

.pm-auth-formarea > p {
  margin: 6px 0 24px;
  color: var(--pm-muted);
  font-size: 12px;
}

.pm-auth-form {
  display: grid;
  gap: 15px;
}

.pm-auth-field label {
  display: block;
  margin-bottom: 7px;
  color: var(--pm-navy);
  font-size: 12px;
  font-weight: 800;
}

.pm-auth-field input[type="text"],
.pm-auth-field input[type="email"],
.pm-auth-field input[type="password"],
.pm-auth-field input[type="date"] {
  width: 100%;
  min-height: 50px;
  padding: 0 14px;
  border: 1px solid #dce6f1;
  border-radius: 13px;
  outline: none;
  background: #fbfdff;
  color: var(--pm-text);
  transition: .18s ease;
  box-sizing: border-box;
  font: inherit;
}

.pm-auth-field input:focus {
  border-color: #7bb7ff;
  box-shadow: 0 0 0 4px rgba(47,128,237,.08);
  background: #fff;
}

.pm-auth-help {
  display: block;
  margin-top: 5px;
  color: var(--pm-muted);
  font-size: 10px;
}

.pm-auth-check {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: #59657a;
  font-size: 11px;
  line-height: 1.7;
}

.pm-auth-check input {
  margin-top: 4px;
}

.pm-auth-check a,
.pm-auth-sub a {
  color: var(--pm-blue);
  font-weight: 800;
}

.pm-auth-submit {
  width: 100%;
  min-height: 54px;
  margin-top: 2px;
  font-size: 14px;
}

.pm-auth-error {
  margin-bottom: 18px;
  padding: 12px 14px;
  border: 1px solid #ffd2d8;
  border-radius: 13px;
  background: #fff5f6;
  color: #b74554;
  font-size: 11px;
  font-weight: 700;
}

.pm-auth-sub {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--pm-line);
  text-align: center;
  color: var(--pm-muted);
  font-size: 11px;
}

.pm-auth-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

.pm-auth-forgot {
  margin-left: auto;
  color: var(--pm-blue);
  font-size: 10px;
  font-weight: 800;
}

@media (max-width: 760px) {
  .pm-auth-page {
    padding: 26px 0 60px;
  }

  .pm-auth-shell {
    grid-template-columns: 1fr;
    border-radius: 20px;
  }

  .pm-auth-side {
    padding: 28px 22px;
  }

  .pm-auth-side .pm-logo {
    margin-bottom: 22px;
  }

  .pm-brand-auth-logo {
    margin-bottom:22px;
    padding:9px 12px;
    border-radius:13px;
  }

  .pm-brand-logo.is-auth {
    width:176px;
  }

  .pm-auth-side h1 {
    font-size: 26px;
  }

  .pm-auth-points {
    display: none;
  }

  .pm-auth-formarea {
    padding: 28px 20px;
  }

  .pm-auth-formarea h2 {
    font-size: 24px;
  }

  .pm-auth-heading {
    flex-direction: column;
    margin-bottom: 20px;
  }

  .pm-auth-login-cta {
    width: 100%;
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
  }

  .pm-auth-login-cta strong {
    margin-top: 0;
  }
}


/* =========================================
   POIMORE DASHBOARD IMPROVEMENTS v1.7
========================================= */
.pm-user-chip {
  max-width: min(100%, 320px);
  padding: 8px 12px;
}

.pm-user-chip-meta {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pm-user-chip-meta strong,
.pm-stat-account-meta strong,
.pm-account-meta-item strong,
.pm-account-list-row strong {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.pm-user-chip-meta strong {
  color: var(--pm-navy);
  font-size: 12px;
  line-height: 1.3;
}

.pm-user-chip-meta small {
  color: var(--pm-muted);
  font-size: 10px;
  font-weight: 800;
}

.pm-stat-grid-account {
  grid-template-columns: minmax(0, 1.5fr) 1fr 1fr;
}

.pm-stat-account {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pm-stat-account-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.pm-stat-account-user {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.pm-avatar-large {
  width: 52px;
  height: 52px;
  font-size: 20px;
  flex: 0 0 auto;
  background: rgba(255,255,255,.18);
  color: #fff;
}

.pm-stat-account-meta {
  min-width: 0;
}

.pm-stat-account-meta strong {
  display: block;
  margin-top: 3px;
  font-size: 22px;
  line-height: 1.25;
  color: #fff;
  font-weight: 900;
}

.pm-stat-account-meta small {
  display: block;
  margin-top: 5px;
  color: #eaf4ff;
  font-size: 11px;
  font-weight: 800;
}

.pm-account-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
}

.pm-account-status::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #60f08f;
  box-shadow: 0 0 0 4px rgba(96,240,143,.18);
}

.pm-stat-subtext {
  margin-top: -2px;
  color: #eaf4ff;
  font-size: 11px;
  font-weight: 700;
}

.pm-account-meta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 4px;
}

.pm-account-meta-item {
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.12);
}

.pm-account-meta-item span {
  display: block;
  color: #eaf4ff;
  font-size: 10px;
  font-weight: 800;
}

.pm-account-meta-item strong {
  display: block;
  margin-top: 5px;
  color: #fff;
  font-size: 12px;
  line-height: 1.45;
}

.pm-stat-note {
  margin-top: 10px;
  color: var(--pm-muted);
  font-size: 11px;
  line-height: 1.6;
}

.pm-account-list {
  display: grid;
  gap: 10px;
}

.pm-account-list-row {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 10px;
  align-items: start;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f7fbff;
}

.pm-account-list-row span {
  color: var(--pm-muted);
  font-size: 11px;
  font-weight: 800;
}

.pm-account-list-row strong {
  color: var(--pm-navy);
  font-size: 12px;
  line-height: 1.5;
  text-align: right;
}

@media (max-width: 1080px) {
  .pm-stat-grid-account {
    grid-template-columns: 1fr 1fr;
  }

  .pm-stat-account {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .pm-user-chip {
    max-width: 100%;
  }

  .pm-stat-grid-account {
    grid-template-columns: 1fr;
  }

  .pm-account-meta-grid {
    grid-template-columns: 1fr;
  }

  .pm-account-list-row {
    grid-template-columns: 1fr;
  }

  .pm-account-list-row strong {
    text-align: left;
  }
}


/* =========================================
   POIMORE MOPPY-LIKE IMPROVEMENTS v1.8.1
========================================= */
.pm-offers-mp-user {
  min-width: 250px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: stretch;
  justify-content: center;
  padding: 10px 14px;
  background: #fff;
  border: 1px solid var(--pm-line);
  border-radius: 18px;
}

.pm-offers-mp-user-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.pm-offers-mp-user-meta {
  min-width: 0;
}

.pm-offers-mp-user-meta strong {
  display: block;
  color: var(--pm-navy);
  font-size: 15px;
  line-height: 1.3;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.pm-offers-mp-user-meta small {
  display: block;
  margin-top: 4px;
  color: var(--pm-muted);
  font-size: 11px;
  font-weight: 800;
}

.pm-offers-mp-user-points {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.pm-offers-mp-user-box {
  padding: 10px 12px;
  background: #f8fbff;
  border: 1px solid #e6eef8;
  border-radius: 14px;
}

.pm-offers-mp-user-box span {
  display: block;
  color: var(--pm-muted);
  font-size: 10px;
  font-weight: 800;
}

.pm-offers-mp-user-box strong {
  display: block;
  margin-top: 6px;
  color: var(--pm-orange);
  font-size: 20px;
  line-height: 1.1;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.pm-app-topbar-mp {
  position: sticky;
  top: 0;
  z-index: 8;
}

.pm-dashboard-mp {
  padding-top: 18px;
}

.pm-dash-searchbar {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid var(--pm-line);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(25,74,130,.05);
}

.pm-dash-searchfield {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 14px;
  background: #fbfdff;
  border: 2px solid #dff0ec;
  border-radius: 14px;
}

.pm-dash-searchfield input {
  width: 100%;
  border: 0;
  background: transparent;
  outline: none;
  color: var(--pm-text);
}

.pm-dash-searchbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 22px;
  border-radius: 14px;
  background: linear-gradient(135deg,#34c7b8,#24b4c2);
  color: #fff;
  font-weight: 900;
  text-decoration: none;
}

.pm-dash-top-user {
  min-width: 190px;
  padding: 11px 14px;
  border: 1px solid var(--pm-line);
  border-radius: 14px;
  background: #fffaf6;
}

.pm-dash-top-user strong {
  display: block;
  color: var(--pm-navy);
  font-size: 14px;
  overflow-wrap: anywhere;
}

.pm-dash-top-user small {
  display: block;
  margin-top: 4px;
  color: var(--pm-muted);
  font-size: 11px;
  font-weight: 800;
}

.pm-dash-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 14px 0 12px;
}

.pm-dash-chip-row span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--pm-line);
  color: #4a576f;
  font-size: 12px;
  font-weight: 800;
}

.pm-dash-iconnav {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin-bottom: 14px;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--pm-line);
  border-radius: 18px;
}

.pm-dash-iconnav a {
  display: grid;
  place-items: center;
  gap: 7px;
  padding: 12px 10px;
  border-radius: 14px;
  text-decoration: none;
  color: var(--pm-navy);
  font-weight: 800;
  background: #fbfdff;
  border: 1px solid #edf3fa;
}

.pm-dash-iconnav a span { font-size: 22px; }
.pm-dash-iconnav a small { font-size: 11px; }

.pm-dash-campaign-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
  gap: 14px;
  margin-bottom: 16px;
}

.pm-dash-campaign-main {
  position: relative;
  overflow: hidden;
  padding: 28px 28px 30px;
  border-radius: 24px;
  background: linear-gradient(135deg, #ffd35f 0%, #ffb84d 42%, #ff8f4d 100%);
  color: #3b2c00;
  box-shadow: 0 16px 32px rgba(255,168,74,.22);
}

.pm-dash-campaign-main::after {
  content: "";
  position: absolute;
  right: -40px;
  top: -40px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: rgba(255,255,255,.18);
}

.pm-dash-campaign-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.45);
  font-size: 11px;
  font-weight: 900;
}

.pm-dash-campaign-main h2 {
  position: relative;
  z-index: 1;
  margin: 16px 0 8px;
  font-size: 34px;
  line-height: 1.25;
  letter-spacing: -.03em;
}

.pm-dash-campaign-main p {
  position: relative;
  z-index: 1;
  max-width: 500px;
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
}

.pm-dash-campaign-actions {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.pm-dash-campaign-side {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.pm-dash-side-card {
  padding: 18px 16px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid var(--pm-line);
  box-shadow: 0 8px 22px rgba(25,74,130,.05);
}

.pm-dash-side-card small {
  display: block;
  color: var(--pm-muted);
  font-size: 11px;
  font-weight: 800;
}

.pm-dash-side-card strong {
  display: block;
  margin-top: 8px;
  color: var(--pm-navy);
  font-size: 28px;
  line-height: 1.1;
  letter-spacing: -.03em;
}

.pm-stat-grid-moppy .pm-stat {
  min-height: 100%;
}

@media (max-width: 1080px) {
  .pm-dash-searchbar {
    grid-template-columns: 1fr;
  }

  .pm-dash-top-user { min-width: 0; }

  .pm-dash-campaign-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .pm-offers-mp-user {
    min-width: 0;
  }

  .pm-offers-mp-user-points {
    grid-template-columns: 1fr;
  }

  .pm-dash-iconnav {
    grid-template-columns: repeat(3, 1fr);
  }

  .pm-dash-campaign-side {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .pm-dash-iconnav {
    grid-template-columns: repeat(2, 1fr);
  }

  .pm-dash-campaign-main {
    padding: 22px 18px 24px;
  }

  .pm-dash-campaign-main h2 {
    font-size: 26px;
  }

  .pm-dash-campaign-side {
    grid-template-columns: 1fr;
  }
}


/* =========================================
   POIMORE RESPONSIVE / OVERFLOW FIX v1.8.2
========================================= */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

*, *::before, *::after {
  box-sizing: border-box;
}

.pm-site-header,
.pm-app-shell,
.pm-app-main,
.pm-dashboard,
.pm-offers-mp,
.pm-offers-mp-top,
.pm-offers-mp-main,
.pm-container {
  max-width: 100%;
}

.pm-offers-mp-searchbar,
.pm-offers-mp-searchgroup,
.pm-dash-searchbar,
.pm-dash-campaign-grid,
.pm-dashboard-grid,
.pm-stat-grid,
.pm-dash-iconnav,
.pm-offers-grid {
  min-width: 0;
}

.pm-offers-mp-searchbar > *,
.pm-offers-mp-searchgroup > *,
.pm-dash-searchbar > *,
.pm-dash-campaign-grid > *,
.pm-dashboard-grid > *,
.pm-stat-grid > *,
.pm-dash-iconnav > * {
  min-width: 0;
}

.pm-offers-mp-searchbar {
  grid-template-columns: 160px minmax(0,1fr) minmax(240px, 280px);
}

.pm-offers-mp-searchgroup {
  grid-template-columns: minmax(0,1fr) 94px minmax(130px, 160px) 52px;
}

.pm-offers-mp-searchfield,
.pm-dash-searchfield,
.pm-offers-mp-sort,
.pm-offers-mp-user,
.pm-dash-top-user,
.pm-dash-side-card,
.pm-stat,
.pm-panel,
.pm-offer-list-card {
  max-width: 100%;
}

.pm-offers-mp-user {
  min-width: 0;
  width: 100%;
}

.pm-offers-mp-user-points {
  grid-template-columns: repeat(2, minmax(0,1fr));
}

.pm-offers-mp-user-box strong,
.pm-dash-side-card strong,
.pm-stat-value,
.pm-offers-mp-countcard strong {
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-offers-grid {
  align-items: stretch;
}

.pm-offer-list-card h2,
.pm-offer-list-card p,
.pm-offer-meta-item strong,
.pm-account-list-row strong,
.pm-stat-account-meta strong,
.pm-user-chip-meta strong,
.pm-dash-top-user strong {
  word-break: break-word;
  overflow-wrap: anywhere;
}

@media (max-width: 1360px) {
  .pm-offers-mp-searchbar {
    grid-template-columns: 150px minmax(0,1fr);
  }

  .pm-offers-mp-user {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1180px) {
  .pm-offers-mp-searchgroup {
    grid-template-columns: minmax(0,1fr) 94px 52px;
  }

  .pm-offers-mp-sort {
    grid-column: 1 / -1;
    width: 100%;
  }
}

@media (max-width: 1020px) {
  body {
    padding-bottom: calc(88px + env(safe-area-inset-bottom));
  }

  .pm-dashboard {
    width: min(100%, calc(100% - 28px));
  }

  .pm-dash-searchbar,
  .pm-dash-campaign-grid,
  .pm-dashboard-grid,
  .pm-stat-grid {
    width: 100%;
  }
}

@media (max-width: 900px) {
  .pm-offers-mp-searchgroup {
    grid-template-columns: minmax(0,1fr) 90px;
  }
}

@media (max-width: 680px) {
  .pm-container {
    width: min(100%, calc(100% - 22px));
  }

  .pm-offers-mp-searchbar,
  .pm-offers-mp-searchgroup,
  .pm-dash-searchbar {
    grid-template-columns: 1fr;
  }

  .pm-offers-mp-brand {
    justify-content: center;
  }

  .pm-offers-mp-user {
    padding: 12px;
  }

  .pm-offers-mp-user-points {
    grid-template-columns: 1fr 1fr;
  }

  .pm-offers-mp-heading,
  .pm-section-head {
    min-width: 0;
  }
}

@media (max-width: 520px) {
  .pm-offers-mp-user-points,
  .pm-offer-meta,
  .pm-account-meta-grid,
  .pm-dash-campaign-side,
  .pm-stat-grid {
    grid-template-columns: 1fr;
  }

  .pm-dash-iconnav {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .pm-mobile-nav {
    left: 8px;
    right: 8px;
  }
}


/* =========================================
   POIMORE POINT HISTORY v1.9
========================================= */
.pm-history-page {
  padding-top: 22px;
}

.pm-history-page-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 18px;
  margin-bottom: 18px;
}

.pm-history-page-head h1 {
  margin: 4px 0 4px;
  color: var(--pm-navy);
  font-size: 32px;
  letter-spacing: -.03em;
}

.pm-history-page-head p {
  margin: 0;
  color: var(--pm-muted);
  font-size: 12px;
}

.pm-history-summary {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr;
  gap: 14px;
  margin-bottom: 16px;
}

.pm-history-summary-card {
  padding: 20px;
  background: #fff;
  border: 1px solid var(--pm-line);
  border-radius: 18px;
  box-shadow: 0 7px 20px rgba(25,74,130,.04);
}

.pm-history-summary-card > span {
  display: block;
  color: var(--pm-muted);
  font-size: 11px;
  font-weight: 800;
}

.pm-history-summary-card > strong {
  display: block;
  margin-top: 8px;
  color: var(--pm-navy);
  font-size: 30px;
  line-height: 1;
  letter-spacing: -.03em;
}

.pm-history-summary-card > strong small {
  font-size: 12px;
  color: var(--pm-muted);
}

.pm-history-summary-card > p {
  margin: 10px 0 0;
  color: var(--pm-muted);
  font-size: 10px;
  line-height: 1.7;
}

.pm-history-summary-primary {
  color: #fff;
  border: 0;
  background: linear-gradient(135deg, var(--pm-blue), var(--pm-blue-2));
}

.pm-history-summary-primary > span,
.pm-history-summary-primary > strong,
.pm-history-summary-primary > strong small,
.pm-history-summary-primary > p {
  color: #fff;
}

.pm-history-summary-primary > p {
  color: #eaf4ff;
}

.pm-history-panel {
  padding: 20px;
  background: #fff;
  border: 1px solid var(--pm-line);
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(25,74,130,.04);
}

.pm-history-panel-top {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-end;
  margin-bottom: 18px;
}

.pm-history-panel-top h2 {
  margin: 0;
  color: var(--pm-navy);
  font-size: 18px;
}

.pm-history-panel-top p {
  margin: 3px 0 0;
  color: var(--pm-muted);
  font-size: 10px;
}

.pm-history-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.pm-history-tabs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid var(--pm-line);
  border-radius: 999px;
  background: #f9fbfe;
  color: #5c687c;
  font-size: 11px;
  font-weight: 800;
}

.pm-history-tabs a.is-active {
  border-color: var(--pm-blue);
  background: var(--pm-blue);
  color: #fff;
}

.pm-history-table {
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--pm-line);
  border-radius: 16px;
}

.pm-history-table-head,
.pm-history-table-row {
  display: grid;
  grid-template-columns: 150px minmax(200px,1fr) 110px 120px 110px;
  gap: 12px;
  align-items: center;
}

.pm-history-table-head {
  padding: 11px 14px;
  background: #f6f9fd;
  color: var(--pm-muted);
  font-size: 10px;
  font-weight: 900;
}

.pm-history-table-row {
  padding: 14px;
  border-top: 1px solid var(--pm-line);
  background: #fff;
}

.pm-history-cell {
  min-width: 0;
  color: #59667a;
  font-size: 11px;
}

.pm-history-date {
  white-space: nowrap;
}

.pm-history-title strong {
  display: block;
  color: var(--pm-navy);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.pm-history-title small {
  display: block;
  margin-top: 3px;
  color: var(--pm-muted);
  font-size: 9px;
}

.pm-history-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.pm-history-status-pending {
  background: #fff4df;
  color: #b97916;
}

.pm-history-status-approved {
  background: #e9f8f1;
  color: #17885e;
}

.pm-history-status-rejected {
  background: #fff0f2;
  color: #bf4656;
}

.pm-history-amount {
  color: var(--pm-green);
  font-size: 13px;
  font-weight: 900;
}

.pm-history-amount.is-minus {
  color: var(--pm-red);
}

.pm-history-id {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  color: #778397;
  font-size: 9px;
}

.pm-history-empty {
  margin-top: 8px;
}

.pm-history-empty > div {
  font-size: 34px;
}

.pm-history-empty strong {
  display: block;
  margin-top: 8px;
  color: var(--pm-navy);
}

.pm-history-empty p {
  margin: 5px 0 0;
  font-size: 11px;
}

@media (max-width: 1100px) {
  .pm-history-summary {
    grid-template-columns: 1fr 1fr;
  }

  .pm-history-summary-primary {
    grid-column: 1 / -1;
  }

  .pm-history-table-head,
  .pm-history-table-row {
    grid-template-columns: 125px minmax(170px,1fr) 90px 100px;
  }

  .pm-history-table-head > :last-child,
  .pm-history-table-row > :last-child {
    display: none;
  }
}

@media (max-width: 760px) {
  .pm-history-page-head,
  .pm-history-panel-top {
    align-items: flex-start;
    flex-direction: column;
  }

  .pm-history-page-head .pm-btn {
    width: 100%;
  }

  .pm-history-summary {
    grid-template-columns: 1fr;
  }

  .pm-history-summary-primary {
    grid-column: auto;
  }

  .pm-history-panel {
    padding: 14px;
  }

  .pm-history-tabs {
    width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
  }

  .pm-history-tabs::-webkit-scrollbar {
    display: none;
  }

  .pm-history-tabs a {
    flex: 0 0 auto;
  }

  .pm-history-table {
    border: 0;
    overflow: visible;
    background: transparent;
  }

  .pm-history-table-head {
    display: none;
  }

  .pm-history-table-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    margin-bottom: 10px;
    padding: 15px;
    border: 1px solid var(--pm-line);
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(25,74,130,.035);
  }

  .pm-history-table-row > :last-child {
    display: block;
  }

  .pm-history-cell {
    display: grid;
    grid-template-columns: 92px 1fr;
    gap: 10px;
    align-items: start;
  }

  .pm-history-cell::before {
    content: attr(data-label);
    color: var(--pm-muted);
    font-size: 10px;
    font-weight: 800;
  }

  .pm-history-date {
    white-space: normal;
  }

  .pm-history-title strong,
  .pm-history-title small,
  .pm-history-status,
  .pm-history-amount,
  .pm-history-id {
    justify-self: start;
  }
}


/* =========================================
   POIMORE EXCHANGE v2.0
========================================= */
.pm-exchange-page {
  padding-top: 22px;
}

.pm-exchange-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 18px;
  margin-bottom: 18px;
}

.pm-exchange-head h1 {
  margin: 4px 0;
  color: var(--pm-navy);
  font-size: 32px;
  letter-spacing: -.03em;
}

.pm-exchange-head p {
  margin: 0;
  color: var(--pm-muted);
  font-size: 12px;
}

.pm-exchange-alert {
  margin-bottom: 14px;
  padding: 13px 15px;
  border-radius: 14px;
  font-size: 11px;
  font-weight: 800;
}

.pm-exchange-alert.is-success {
  border: 1px solid #bfe9d8;
  background: #effaf5;
  color: #197c59;
}

.pm-exchange-alert.is-error {
  border: 1px solid #ffd1d8;
  background: #fff5f6;
  color: #b94756;
}

.pm-exchange-summary {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr;
  gap: 14px;
  margin-bottom: 16px;
}

.pm-exchange-summary-main,
.pm-exchange-summary-card {
  padding: 20px;
  border-radius: 18px;
}

.pm-exchange-summary-main {
  color: #fff;
  background: linear-gradient(135deg, var(--pm-blue), var(--pm-blue-2));
  box-shadow: 0 10px 28px rgba(47,128,237,.16);
}

.pm-exchange-summary-card {
  background: #fff;
  border: 1px solid var(--pm-line);
}

.pm-exchange-summary span {
  display: block;
  font-size: 11px;
  font-weight: 800;
}

.pm-exchange-summary-main > span {
  color: #eaf4ff;
}

.pm-exchange-summary-card > span {
  color: var(--pm-muted);
}

.pm-exchange-summary strong {
  display: block;
  margin-top: 8px;
  font-size: 30px;
  line-height: 1;
  letter-spacing: -.03em;
}

.pm-exchange-summary-main strong {
  color: #fff;
}

.pm-exchange-summary-card strong {
  color: var(--pm-navy);
}

.pm-exchange-summary strong small {
  font-size: 12px;
}

.pm-exchange-summary p {
  margin: 10px 0 0;
  font-size: 10px;
  line-height: 1.7;
}

.pm-exchange-summary-main p {
  color: #eaf4ff;
}

.pm-exchange-summary-card p {
  color: var(--pm-muted);
}

.pm-exchange-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) 300px;
  gap: 16px;
  margin-bottom: 16px;
}

.pm-exchange-panel {
  padding: 20px;
  background: #fff;
  border: 1px solid var(--pm-line);
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(25,74,130,.04);
}

.pm-exchange-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.pm-exchange-panel-head h2 {
  margin: 0;
  color: var(--pm-navy);
  font-size: 18px;
}

.pm-exchange-panel-head p {
  margin: 3px 0 0;
  color: var(--pm-muted);
  font-size: 10px;
}

.pm-exchange-form {
  display: grid;
  gap: 18px;
}

.pm-exchange-methods {
  display: grid;
  gap: 10px;
}

.pm-exchange-method {
  position: relative;
  display: grid;
  grid-template-columns: 28px 48px minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--pm-line);
  border-radius: 16px;
  background: #fbfdff;
  cursor: pointer;
}

.pm-exchange-method:has(input:checked) {
  border-color: #85baff;
  box-shadow: 0 0 0 3px rgba(47,128,237,.08);
  background: #f5faff;
}

.pm-exchange-method.is-disabled {
  opacity: .55;
  cursor: not-allowed;
}

.pm-exchange-method input {
  width: 18px;
  height: 18px;
}

.pm-exchange-method-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #eef6ff;
  font-size: 22px;
  font-weight: 900;
  color: var(--pm-blue);
}

.pm-exchange-method-text {
  min-width: 0;
}

.pm-exchange-method-text strong {
  display: block;
  color: var(--pm-navy);
  font-size: 13px;
}

.pm-exchange-method-text small {
  display: block;
  margin-top: 3px;
  color: var(--pm-muted);
  font-size: 10px;
  line-height: 1.55;
}

.pm-exchange-method-state {
  padding: 6px 9px;
  border-radius: 999px;
  background: #eaf8f2;
  color: #17885e;
  font-size: 9px;
  font-weight: 900;
}

.pm-exchange-method.is-disabled .pm-exchange-method-state {
  background: #f0f3f7;
  color: #7c8798;
}

.pm-exchange-amount {
  padding: 16px;
  border-radius: 16px;
  background: #f8fbff;
}

.pm-exchange-amount label {
  display: block;
  margin-bottom: 8px;
  color: var(--pm-navy);
  font-size: 12px;
  font-weight: 900;
}

.pm-exchange-amount select {
  width: 100%;
  min-height: 50px;
  padding: 0 13px;
  border: 1px solid #dce6f1;
  border-radius: 13px;
  background: #fff;
  color: var(--pm-text);
}

.pm-exchange-amount small {
  display: block;
  margin-top: 7px;
  color: var(--pm-muted);
  font-size: 10px;
}

.pm-exchange-confirm {
  padding: 15px;
  border: 1px solid #f3e1bd;
  border-radius: 15px;
  background: #fffaf0;
}

.pm-exchange-confirm strong {
  display: block;
  color: #6b5733;
  font-size: 12px;
}

.pm-exchange-confirm ul {
  margin: 8px 0 0;
  padding-left: 18px;
  color: #796948;
  font-size: 10px;
  line-height: 1.8;
}

.pm-exchange-submit {
  width: 100%;
  min-height: 54px;
}

.pm-exchange-side {
  display: grid;
  gap: 10px;
  align-content: start;
}

.pm-exchange-guide {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  align-items: center;
  padding: 16px;
  border: 1px solid var(--pm-line);
  border-radius: 16px;
  background: #fff;
}

.pm-exchange-guide > span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #eef6ff;
  color: var(--pm-blue);
  font-size: 11px;
  font-weight: 900;
}

.pm-exchange-guide strong {
  display: block;
  color: var(--pm-navy);
  font-size: 12px;
}

.pm-exchange-guide small {
  display: block;
  margin-top: 3px;
  color: var(--pm-muted);
  font-size: 9px;
  line-height: 1.6;
}

.pm-exchange-history {
  margin-bottom: 70px;
}

.pm-exchange-request-list {
  display: grid;
  gap: 9px;
}

.pm-exchange-request {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid var(--pm-line);
  border-radius: 14px;
  background: #fbfdff;
}

.pm-exchange-request > div:first-child {
  min-width: 0;
}

.pm-exchange-request small,
.pm-exchange-request span {
  display: block;
}

.pm-exchange-request small {
  color: var(--pm-muted);
  font-size: 9px;
}

.pm-exchange-request strong {
  display: block;
  margin-top: 2px;
  color: var(--pm-navy);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.pm-exchange-request > div:first-child > span {
  margin-top: 4px;
  color: var(--pm-muted);
  font-size: 9px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.pm-exchange-request-right {
  flex: 0 0 auto;
  text-align: right;
}

.pm-exchange-request-right > strong {
  font-size: 16px;
}

.pm-exchange-request-status {
  display: inline-flex !important;
  margin-top: 5px;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 9px !important;
  font-family: inherit !important;
  font-weight: 900;
}

.pm-exchange-request-status.is-pending {
  background: #fff4df;
  color: #b97916;
}

.pm-exchange-request-status.is-approved {
  background: #e9f8f1;
  color: #17885e;
}

.pm-exchange-request-status.is-rejected {
  background: #fff0f2;
  color: #bf4656;
}

.pm-history-status-reserved {
  background: #eef1ff;
  color: #5366b8;
}

@media (max-width: 1000px) {
  .pm-exchange-layout {
    grid-template-columns: 1fr;
  }

  .pm-exchange-side {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 760px) {
  .pm-exchange-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .pm-exchange-head .pm-btn {
    width: 100%;
  }

  .pm-exchange-summary {
    grid-template-columns: 1fr;
  }

  .pm-exchange-method {
    grid-template-columns: 24px 44px minmax(0,1fr);
  }

  .pm-exchange-method-state {
    grid-column: 3;
    justify-self: start;
  }

  .pm-exchange-side {
    grid-template-columns: 1fr;
  }

  .pm-exchange-request {
    align-items: flex-start;
    flex-direction: column;
  }

  .pm-exchange-request-right {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
  }
}


/* =========================================
   POIMORE ACCOUNT / KYC READY v2.1
========================================= */
.pm-account-page {
  padding-top: 22px;
}

.pm-account-page-head {
  margin-bottom: 18px;
}

.pm-account-page-head h1 {
  margin: 4px 0;
  color: var(--pm-navy);
  font-size: 32px;
  letter-spacing: -.03em;
}

.pm-account-page-head p {
  margin: 0;
  color: var(--pm-muted);
  font-size: 12px;
}

.pm-account-alert {
  margin-bottom: 14px;
  padding: 13px 15px;
  border-radius: 14px;
  font-size: 11px;
  font-weight: 800;
}

.pm-account-alert.is-success {
  border: 1px solid #bfe9d8;
  background: #effaf5;
  color: #197c59;
}

.pm-account-alert.is-error {
  border: 1px solid #ffd1d8;
  background: #fff5f6;
  color: #b94756;
}

.pm-account-overview {
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr);
  gap: 14px;
  margin-bottom: 16px;
}

.pm-account-profile-card,
.pm-kyc-card {
  padding: 20px;
  border-radius: 20px;
}

.pm-account-profile-card {
  background: linear-gradient(135deg, var(--pm-blue), var(--pm-blue-2));
  color: #fff;
  box-shadow: 0 12px 30px rgba(47,128,237,.16);
}

.pm-account-profile-main {
  display: flex;
  align-items: center;
  gap: 15px;
}

.pm-account-avatar-large {
  width: 64px;
  height: 64px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 20px;
  background: rgba(255,255,255,.18);
  border: 1px solid rgba(255,255,255,.16);
  color: #fff;
  font-size: 24px;
  font-weight: 900;
}

.pm-account-profile-main small {
  display: block;
  color: #eaf4ff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}

.pm-account-profile-main h2 {
  margin: 3px 0 4px;
  color: #fff;
  font-size: 24px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.pm-account-profile-main strong {
  color: #fff;
  font-size: 12px;
}

.pm-account-profile-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 18px;
}

.pm-account-profile-meta > div {
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.13);
}

.pm-account-profile-meta span {
  display: block;
  color: #dfefff;
  font-size: 9px;
  font-weight: 800;
}

.pm-account-profile-meta strong {
  display: block;
  margin-top: 4px;
  color: #fff;
  font-size: 11px;
}

.pm-kyc-card {
  background: #fff;
  border: 1px solid var(--pm-line);
}

.pm-kyc-head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pm-kyc-head > span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: #eef6ff;
  font-size: 22px;
}

.pm-kyc-head small {
  display: block;
  color: var(--pm-muted);
  font-size: 9px;
  font-weight: 800;
}

.pm-kyc-head strong {
  display: block;
  margin-top: 3px;
  color: var(--pm-navy);
  font-size: 17px;
}

.pm-kyc-card > p {
  margin: 14px 0 0;
  color: var(--pm-muted);
  font-size: 10px;
  line-height: 1.75;
}

.pm-kyc-status-message {
  margin-top: 14px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f7faff;
  color: #526078;
  font-size: 10px;
  font-weight: 800;
}

.pm-kyc-verified .pm-kyc-status-message {
  background: #eaf8f2;
  color: #177a57;
}

.pm-kyc-pending .pm-kyc-status-message {
  background: #fff5df;
  color: #a36d13;
}

.pm-kyc-rejected .pm-kyc-status-message {
  background: #fff0f2;
  color: #b94756;
}

.pm-account-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) 300px;
  gap: 16px;
  margin-bottom: 80px;
}

.pm-account-panel,
.pm-account-side-card {
  padding: 20px;
  background: #fff;
  border: 1px solid var(--pm-line);
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(25,74,130,.04);
}

.pm-account-panel-head {
  margin-bottom: 18px;
}

.pm-account-panel-head h2,
.pm-account-side-card h3 {
  margin: 0;
  color: var(--pm-navy);
  font-size: 18px;
}

.pm-account-panel-head p {
  margin: 3px 0 0;
  color: var(--pm-muted);
  font-size: 10px;
}

.pm-account-form {
  display: grid;
  gap: 18px;
}

.pm-account-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.pm-account-field {
  min-width: 0;
}

.pm-account-field label {
  display: block;
  margin-bottom: 7px;
  color: var(--pm-navy);
  font-size: 11px;
  font-weight: 900;
}

.pm-account-field input {
  width: 100%;
  min-height: 48px;
  padding: 0 13px;
  border: 1px solid #dce6f1;
  border-radius: 13px;
  background: #fbfdff;
  color: var(--pm-text);
  outline: 0;
}

.pm-account-field input:focus {
  border-color: #7bb7ff;
  box-shadow: 0 0 0 4px rgba(47,128,237,.08);
  background: #fff;
}

.pm-account-field small {
  display: block;
  margin-top: 5px;
  color: var(--pm-muted);
  font-size: 9px;
  line-height: 1.6;
}

.pm-account-readonly {
  min-height: 48px;
  display: flex;
  align-items: center;
  padding: 0 13px;
  border-radius: 13px;
  background: #f3f6fa;
  color: #536078;
  font-size: 12px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.pm-account-privacy-note {
  padding: 14px;
  border: 1px solid #f2dfb8;
  border-radius: 14px;
  background: #fffaf0;
}

.pm-account-privacy-note strong {
  display: block;
  color: #6d5936;
  font-size: 11px;
}

.pm-account-privacy-note p {
  margin: 5px 0 0;
  color: #7d6c4b;
  font-size: 9px;
  line-height: 1.7;
}

.pm-account-submit {
  width: 100%;
  min-height: 52px;
}

.pm-account-side {
  display: grid;
  gap: 12px;
  align-content: start;
}

.pm-account-side-card h3 {
  margin-bottom: 14px;
  font-size: 15px;
}

.pm-account-side-card .pm-btn {
  width: 100%;
  margin-top: 12px;
}

.pm-account-info-row {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--pm-line);
}

.pm-account-info-row:last-of-type {
  border-bottom: 0;
}

.pm-account-info-row span {
  color: var(--pm-muted);
  font-size: 10px;
}

.pm-account-info-row strong {
  min-width: 0;
  color: var(--pm-navy);
  font-size: 10px;
  text-align: right;
  overflow-wrap: anywhere;
}

@media (max-width: 980px) {
  .pm-account-overview,
  .pm-account-layout {
    grid-template-columns: 1fr;
  }

  .pm-account-side {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 680px) {
  .pm-account-form-grid,
  .pm-account-profile-meta,
  .pm-account-side {
    grid-template-columns: 1fr;
  }

  .pm-account-profile-main {
    align-items: flex-start;
  }

  .pm-account-profile-main h2 {
    font-size: 20px;
  }

  .pm-account-info-row {
    grid-template-columns: 1fr;
  }

  .pm-account-info-row strong {
    text-align: left;
  }
}


/* =========================================
   POIMORE DAILY v2.2
========================================= */
.pm-daily-page,
.pm-video-page {
  padding-top: 22px;
}

.pm-daily-hero {
  display: grid;
  grid-template-columns: minmax(0,1.3fr) minmax(320px,.7fr);
  gap: 20px;
  align-items: center;
  padding: 30px;
  border-radius: 26px;
  background: linear-gradient(135deg, #ffb84e 0%, #ff994c 48%, #ff7d63 100%);
  color: #fff;
  box-shadow: 0 18px 38px rgba(255,146,73,.20);
}

.pm-daily-hero-kicker {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}

.pm-daily-hero h1 {
  margin: 14px 0 10px;
  color: #fff;
  font-size: 38px;
  line-height: 1.25;
  letter-spacing: -.035em;
}

.pm-daily-hero p {
  max-width: 620px;
  margin: 0;
  color: #fff7ef;
  font-size: 13px;
  line-height: 1.8;
}

.pm-daily-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.pm-daily-hero-stats {
  display: grid;
  gap: 10px;
}

.pm-daily-stat {
  padding: 16px 18px;
  border-radius: 17px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.14);
}

.pm-daily-stat span {
  display: block;
  color: #fff4e8;
  font-size: 10px;
  font-weight: 800;
}

.pm-daily-stat strong {
  display: block;
  margin-top: 5px;
  color: #fff;
  font-size: 28px;
  line-height: 1;
}

.pm-daily-stat strong small {
  font-size: 11px;
}

.pm-daily-progress-card {
  display: grid;
  grid-template-columns: 180px minmax(0,1fr) 70px;
  gap: 16px;
  align-items: center;
  margin: 16px 0;
  padding: 17px 19px;
  border: 1px solid var(--pm-line);
  border-radius: 18px;
  background: #fff;
}

.pm-daily-progress-card > div:first-child span {
  display: block;
  color: var(--pm-muted);
  font-size: 9px;
  font-weight: 800;
}

.pm-daily-progress-card > div:first-child strong {
  display: block;
  margin-top: 4px;
  color: var(--pm-navy);
  font-size: 14px;
}

.pm-daily-big-progress {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf2f7;
}

.pm-daily-big-progress span {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #ffad43, #ff7d63);
}

.pm-daily-progress-card > strong {
  text-align: right;
  color: var(--pm-orange);
  font-size: 20px;
}

.pm-daily-task-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
  margin-bottom: 16px;
}

.pm-daily-task-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--pm-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(25,74,130,.04);
}

.pm-daily-task-card.is-complete {
  border-color: #bee7d8;
  background: #fbfffd;
}

.pm-daily-task-card.is-disabled {
  opacity: .68;
}

.pm-daily-task-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.pm-daily-task-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: #fff4e7;
  font-size: 23px;
}

.pm-daily-task-status {
  display: inline-flex;
  padding: 6px 9px;
  border-radius: 999px;
  background: #eef3f8;
  color: #657287;
  font-size: 9px;
  font-weight: 900;
}

.pm-daily-task-status.is-complete {
  background: #e7f8f0;
  color: #158159;
}

.pm-daily-task-status.is-disabled {
  background: #f0f1f4;
  color: #8a93a2;
}

.pm-daily-task-card h2 {
  margin: 16px 0 6px;
  color: var(--pm-navy);
  font-size: 17px;
}

.pm-daily-task-card p {
  min-height: 42px;
  margin: 0;
  color: var(--pm-muted);
  font-size: 11px;
  line-height: 1.7;
}

.pm-daily-task-reward {
  margin: 16px 0;
  padding: 12px;
  border-radius: 14px;
  background: #f8fbff;
}

.pm-daily-task-reward small {
  display: block;
  color: var(--pm-muted);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .08em;
}

.pm-daily-task-reward strong {
  display: block;
  margin-top: 3px;
  color: var(--pm-orange);
  font-size: 20px;
}

.pm-daily-task-card .pm-btn {
  width: 100%;
  margin-top: auto;
}

.pm-daily-complete-label {
  margin-top: auto;
  padding: 11px 12px;
  border-radius: 12px;
  background: #f5f8fc;
  color: var(--pm-muted);
  text-align: center;
  font-size: 10px;
  font-weight: 800;
}

.pm-daily-layout {
  display: grid;
  grid-template-columns: minmax(0,1.3fr) minmax(280px,.7fr);
  gap: 14px;
  margin-bottom: 80px;
}

.pm-daily-panel {
  padding: 20px;
  border: 1px solid var(--pm-line);
  border-radius: 20px;
  background: #fff;
}

.pm-coin-history-list {
  display: grid;
  gap: 8px;
}

.pm-coin-history-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 12px 13px;
  border-radius: 13px;
  background: #f8fbff;
}

.pm-coin-history-row strong {
  display: block;
  color: var(--pm-navy);
  font-size: 11px;
}

.pm-coin-history-row small {
  display: block;
  margin-top: 3px;
  color: var(--pm-muted);
  font-size: 9px;
}

.pm-coin-history-amount {
  flex: 0 0 auto;
  color: var(--pm-orange) !important;
  font-size: 14px !important;
}

.pm-daily-rule-panel ul {
  margin: 0;
  padding-left: 18px;
  color: var(--pm-muted);
  font-size: 10px;
  line-height: 1.8;
}

/* Video */
.pm-video-hero {
  padding: 30px;
  border-radius: 24px;
  background: linear-gradient(135deg, #1b3c67, #285d9b);
  color: #fff;
}

.pm-video-hero > span {
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  color: #a9cdfa;
}

.pm-video-hero h1 {
  margin: 8px 0 8px;
  color: #fff;
  font-size: 34px;
}

.pm-video-hero p {
  max-width: 700px;
  margin: 0;
  color: #d8e7f8;
  font-size: 12px;
  line-height: 1.8;
}

.pm-video-balance {
  display: inline-block;
  margin-top: 20px;
  padding: 12px 16px;
  border-radius: 14px;
  background: rgba(255,255,255,.10);
}

.pm-video-balance small {
  display: block;
  color: #c9def6;
  font-size: 9px;
}

.pm-video-balance strong {
  display: block;
  margin-top: 4px;
  color: #fff;
  font-size: 28px;
}

.pm-video-balance strong span {
  font-size: 11px;
}

.pm-video-card {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr);
  gap: 18px;
  margin-top: 16px;
  padding: 20px;
  border: 1px solid var(--pm-line);
  border-radius: 20px;
  background: #fff;
}

.pm-video-preview {
  min-height: 330px;
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
  border-radius: 18px;
  background: linear-gradient(180deg, #edf4fc, #e4edf8);
}

.pm-video-preview > div {
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  margin-bottom: 12px;
  border-radius: 50%;
  background: #fff;
  color: var(--pm-blue);
  font-size: 28px;
  box-shadow: 0 10px 30px rgba(31,84,129,.12);
}

.pm-video-preview strong {
  color: var(--pm-navy);
  font-size: 14px;
}

.pm-video-preview small {
  margin-top: 4px;
  color: var(--pm-muted);
  font-size: 9px;
}

.pm-video-info {
  align-self: center;
}

.pm-video-chip {
  display: inline-flex;
  padding: 6px 9px;
  border-radius: 999px;
  background: #fff2dd;
  color: #bd7611;
  font-size: 9px;
  font-weight: 900;
}

.pm-video-info h2 {
  margin: 13px 0 8px;
  color: var(--pm-navy);
  font-size: 24px;
}

.pm-video-info p {
  margin: 0 0 18px;
  color: var(--pm-muted);
  font-size: 11px;
  line-height: 1.8;
}

.pm-video-info .pm-btn {
  width: 100%;
}

.pm-video-notice {
  margin: 16px 0 80px;
  padding: 16px;
  border: 1px solid #f0dfbc;
  border-radius: 15px;
  background: #fffaf1;
}

.pm-video-notice strong {
  display: block;
  color: #66542f;
  font-size: 11px;
}

.pm-video-notice p {
  margin: 5px 0 0;
  color: #756547;
  font-size: 10px;
  line-height: 1.7;
}

@media (max-width: 1000px) {
  .pm-daily-hero,
  .pm-daily-layout,
  .pm-video-card {
    grid-template-columns: 1fr;
  }

  .pm-daily-hero-stats {
    grid-template-columns: repeat(3,1fr);
  }

  .pm-daily-task-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 680px) {
  .pm-daily-hero {
    padding: 22px 18px;
  }

  .pm-daily-hero h1 {
    font-size: 29px;
  }

  .pm-daily-hero-stats {
    grid-template-columns: 1fr;
  }

  .pm-daily-progress-card {
    grid-template-columns: 1fr;
  }

  .pm-daily-progress-card > strong {
    text-align: left;
  }

  .pm-daily-task-grid {
    grid-template-columns: 1fr;
  }

  .pm-video-hero {
    padding: 22px 18px;
  }

  .pm-video-hero h1 {
    font-size: 27px;
  }

  .pm-video-preview {
    min-height: 230px;
  }
}


/* =========================================
   POIMORE REFERRAL v2.3
========================================= */
.pm-auth-referral {
  padding: 13px 14px;
  border: 1px solid #cce7dc;
  border-radius: 14px;
  background: #f0fbf6;
}

.pm-auth-referral span,
.pm-auth-referral strong,
.pm-auth-referral small {
  display: block;
}

.pm-auth-referral span {
  color: #17845d;
  font-size: 9px;
  font-weight: 900;
}

.pm-auth-referral strong {
  margin-top: 4px;
  color: #1d5f48;
  font-size: 12px;
}

.pm-auth-referral small {
  margin-top: 4px;
  color: #5c746b;
  font-size: 9px;
  line-height: 1.6;
}

.pm-dash-chip-row a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid var(--pm-line);
  border-radius: 999px;
  background: #fff;
  color: #4a576f;
  font-size: 12px;
  font-weight: 800;
}

.pm-referral-page {
  padding-top: 22px;
}

.pm-referral-hero {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr);
  gap: 20px;
  align-items: center;
  padding: 30px;
  border-radius: 26px;
  background: linear-gradient(135deg, #29bea9 0%, #329bd7 55%, #3f7ee8 100%);
  color: #fff;
  box-shadow: 0 18px 38px rgba(48,142,200,.18);
}

.pm-referral-kicker {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}

.pm-referral-hero h1 {
  margin: 14px 0 9px;
  color: #fff;
  font-size: 37px;
  line-height: 1.28;
  letter-spacing: -.035em;
}

.pm-referral-hero p {
  max-width: 650px;
  margin: 0;
  color: #eaf9ff;
  font-size: 12px;
  line-height: 1.8;
}

.pm-referral-rewards {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.pm-referral-rewards > div {
  min-width: 160px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.14);
}

.pm-referral-rewards small {
  display: block;
  color: #eaf9ff;
  font-size: 9px;
}

.pm-referral-rewards strong {
  display: block;
  margin-top: 3px;
  color: #fff;
  font-size: 19px;
}

.pm-referral-hero-card {
  padding: 22px;
  border-radius: 20px;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.18);
  text-align: center;
}

.pm-referral-hero-card span,
.pm-referral-hero-card small {
  display: block;
  color: #e6f8ff;
  font-size: 9px;
  font-weight: 800;
}

.pm-referral-hero-card strong {
  display: block;
  margin: 10px 0;
  color: #fff;
  font-size: 30px;
  letter-spacing: .08em;
}

.pm-referral-share-card,
.pm-referral-panel {
  padding: 20px;
  border: 1px solid var(--pm-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(25,74,130,.04);
}

.pm-referral-share-card {
  margin-top: 16px;
}

.pm-referral-share-head h2 {
  margin: 0;
  color: var(--pm-navy);
  font-size: 18px;
}

.pm-referral-share-head p {
  margin: 4px 0 14px;
  color: var(--pm-muted);
  font-size: 10px;
}

.pm-referral-copy-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) 150px;
  gap: 10px;
  margin-top: 9px;
}

.pm-referral-copy-row input {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 0 13px;
  border: 1px solid #dce6f1;
  border-radius: 13px;
  background: #f8fbff;
  color: #536078;
  outline: 0;
}

.pm-referral-copy-message {
  min-height: 20px;
  padding-top: 5px;
  color: #17845d;
  font-size: 10px;
  font-weight: 800;
}

.pm-referral-stats {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
  margin: 16px 0;
}

.pm-referral-stats article {
  padding: 18px;
  border: 1px solid var(--pm-line);
  border-radius: 17px;
  background: #fff;
}

.pm-referral-stats span {
  display: block;
  color: var(--pm-muted);
  font-size: 10px;
  font-weight: 800;
}

.pm-referral-stats strong {
  display: block;
  margin-top: 7px;
  color: var(--pm-navy);
  font-size: 27px;
  line-height: 1;
}

.pm-referral-stats strong small {
  color: var(--pm-muted);
  font-size: 10px;
}

.pm-referral-stat-highlight {
  background: linear-gradient(135deg,#fff7e8,#fff) !important;
  border-color: #f5ddb1 !important;
}

.pm-referral-stat-highlight strong {
  color: var(--pm-orange) !important;
}

.pm-referral-layout {
  display: grid;
  grid-template-columns: minmax(0,1.3fr) minmax(300px,.7fr);
  gap: 14px;
  margin-bottom: 80px;
}

.pm-referral-history {
  display: grid;
  gap: 9px;
}

.pm-referral-history-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 13px 14px;
  border-radius: 14px;
  background: #f8fbff;
}

.pm-referral-history-user {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}

.pm-referral-history-user > span {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #eaf4ff;
  color: var(--pm-blue);
  font-weight: 900;
}

.pm-referral-history-user strong,
.pm-referral-history-user small {
  display: block;
}

.pm-referral-history-user strong {
  color: var(--pm-navy);
  font-size: 11px;
  overflow-wrap: anywhere;
}

.pm-referral-history-user small {
  margin-top: 3px;
  color: var(--pm-muted);
  font-size: 9px;
}

.pm-referral-history-result {
  flex: 0 0 auto;
  text-align: right;
}

.pm-referral-history-result strong {
  display: block;
  margin-top: 5px;
  color: var(--pm-orange);
  font-size: 11px;
}

.pm-referral-status {
  display: inline-flex;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 900;
}

.pm-referral-status.is-rewarded {
  background: #e8f8f1;
  color: #17845d;
}

.pm-referral-status.is-pending {
  background: #fff4df;
  color: #ae7418;
}

.pm-referral-rules {
  align-self: start;
}

.pm-referral-step {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 11px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--pm-line);
}

.pm-referral-step > span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #edf7ff;
  color: var(--pm-blue);
  font-size: 10px;
  font-weight: 900;
}

.pm-referral-step strong,
.pm-referral-step small {
  display: block;
}

.pm-referral-step strong {
  color: var(--pm-navy);
  font-size: 11px;
}

.pm-referral-step small {
  margin-top: 2px;
  color: var(--pm-muted);
  font-size: 9px;
  line-height: 1.5;
}

.pm-referral-note {
  margin-top: 15px;
  padding: 13px;
  border-radius: 13px;
  background: #fff9ee;
  border: 1px solid #f1dfba;
}

.pm-referral-note strong {
  color: #6e5a34;
  font-size: 10px;
}

.pm-referral-note p {
  margin: 5px 0 0;
  color: #796a4c;
  font-size: 9px;
  line-height: 1.7;
}

@media (max-width: 980px) {
  .pm-referral-hero,
  .pm-referral-layout {
    grid-template-columns: 1fr;
  }

  .pm-referral-stats {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 680px) {
  .pm-referral-hero {
    padding: 22px 18px;
  }

  .pm-referral-hero h1 {
    font-size: 28px;
  }

  .pm-referral-copy-row {
    grid-template-columns: 1fr;
  }

  .pm-referral-copy-row .pm-btn {
    width: 100%;
  }

  .pm-referral-stats {
    grid-template-columns: 1fr;
  }

  .pm-referral-history-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .pm-referral-history-result {
    width: 100%;
    text-align: left;
  }
}


/* =========================================
   POIMORE MEMBER RANK v2.4
========================================= */
.pm-rank-dashboard-card {
  display: grid;
  grid-template-columns: minmax(250px,.75fr) minmax(0,1.25fr);
  gap: 18px;
  align-items: center;
  margin-bottom: 16px;
  padding: 18px 20px;
  border: 1px solid var(--pm-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(25,74,130,.04);
}

.pm-rank-dashboard-current {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
}

.pm-rank-icon {
  width: 56px;
  height: 56px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 17px;
  background: #f5f7fa;
  font-size: 27px;
}

.pm-rank-dashboard-current small,
.pm-rank-dashboard-current strong,
.pm-rank-dashboard-current span {
  display: block;
}

.pm-rank-dashboard-current small {
  color: var(--pm-muted);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .1em;
}

.pm-rank-dashboard-current strong {
  margin-top: 3px;
  color: var(--pm-navy);
  font-size: 21px;
}

.pm-rank-dashboard-current span {
  margin-top: 4px;
  color: var(--pm-muted);
  font-size: 9px;
}

.pm-rank-dashboard-progress {
  min-width: 0;
}

.pm-rank-dashboard-progress-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.pm-rank-dashboard-progress-head span {
  color: #536078;
  font-size: 10px;
  font-weight: 800;
}

.pm-rank-dashboard-progress-head strong {
  color: var(--pm-navy);
  font-size: 14px;
}

.pm-rank-progress-bar {
  height: 10px;
  margin: 8px 0 6px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf2f7;
}

.pm-rank-progress-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,#2f80ed,#28c4b2);
}

.pm-rank-dashboard-progress > small {
  display: block;
  color: var(--pm-muted);
  font-size: 9px;
}

.pm-rank-silver {
  border-color: #d9dee7;
  background: linear-gradient(135deg,#fbfcfe,#fff);
}

.pm-rank-silver .pm-rank-icon {
  background: linear-gradient(135deg,#eef1f5,#dce2ea);
}

.pm-rank-gold {
  border-color: #f0d59a;
  background: linear-gradient(135deg,#fffaf0,#fff);
}

.pm-rank-gold .pm-rank-icon {
  background: linear-gradient(135deg,#fff0be,#ffd873);
}

.pm-rank-platinum {
  border-color: #c8e8ec;
  background: linear-gradient(135deg,#f3fdff,#fff);
}

.pm-rank-platinum .pm-rank-icon {
  background: linear-gradient(135deg,#dcf8fa,#bdebf1);
}

.pm-rank-platinum .pm-rank-progress-bar span {
  background: linear-gradient(90deg,#22b8c9,#4a89ef);
}

@media (max-width: 760px) {
  .pm-rank-dashboard-card {
    grid-template-columns: 1fr;
  }
}


/* =========================================
   FAVORITES / VIEW HISTORY v2.5
========================================= */
.pm-offer-detail-favorite {
  width: auto;
  height: auto;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex: 0 0 auto;
  white-space: nowrap;
  line-height: 1;
  border: 1px solid #ffd3da;
  border-radius: 999px;
  background: #fff;
  color: #e95d72;
  padding: 8px 14px;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}

.pm-offer-detail-favorite.is-active {
  background: #fff2f4;
  color: #e13e59;
}

.pm-favorite-toast {
  position: fixed;
  z-index: 9999;
  left: 50%;
  bottom: 30px;
  transform: translate(-50%, 20px);
  max-width: calc(100% - 30px);
  padding: 11px 16px;
  border-radius: 999px;
  background: #1e2d42;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  opacity: 0;
  pointer-events: none;
  transition: .2s ease;
  box-shadow: 0 10px 30px rgba(20,40,70,.18);
}

.pm-favorite-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

.pm-engagement-page {
  padding-top: 22px;
}

.pm-engagement-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  margin-bottom: 18px;
}

.pm-engagement-head h1 {
  margin: 4px 0;
  color: var(--pm-navy);
  font-size: 32px;
  letter-spacing: -.03em;
}

.pm-engagement-head p {
  margin: 0;
  color: var(--pm-muted);
  font-size: 11px;
}

.pm-engagement-notice {
  margin-bottom: 14px;
  padding: 12px 14px;
  border: 1px solid #c7eadc;
  border-radius: 13px;
  background: #effaf5;
  color: #177b58;
  font-size: 10px;
  font-weight: 800;
}

.pm-saved-offers-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
  margin-bottom: 80px;
}

.pm-saved-offer-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid var(--pm-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(25,74,130,.04);
}

.pm-saved-offer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.pm-saved-offer-icon {
  height: 100px;
  display: grid;
  place-items: center;
  margin: 12px 0;
  border-radius: 15px;
  background: #f4f9ff;
  font-size: 38px;
}

.pm-saved-offer-card > small {
  color: var(--pm-blue);
  font-size: 9px;
  font-weight: 900;
}

.pm-saved-offer-card h2 {
  margin: 5px 0 7px;
  color: var(--pm-navy);
  font-size: 16px;
  line-height: 1.45;
}

.pm-saved-offer-card p {
  min-height: 48px;
  margin: 0;
  color: var(--pm-muted);
  font-size: 10px;
  line-height: 1.7;
}

.pm-saved-offer-point {
  margin-top: 14px;
  color: var(--pm-orange);
  font-size: 24px;
  font-weight: 900;
}

.pm-saved-offer-point span {
  font-size: 10px;
}

.pm-saved-offer-date {
  margin: 5px 0 12px;
  color: var(--pm-muted) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
}

.pm-saved-offer-card .pm-btn {
  width: 100%;
  margin-top: auto;
}

.pm-engagement-empty {
  padding: 60px 20px;
  border: 1px dashed #cfdbea;
  border-radius: 20px;
  background: #fff;
  text-align: center;
}

.pm-engagement-empty > div {
  font-size: 40px;
}

.pm-engagement-empty strong {
  display: block;
  margin-top: 10px;
  color: var(--pm-navy);
  font-size: 15px;
}

.pm-engagement-empty p {
  margin: 6px 0 16px;
  color: var(--pm-muted);
  font-size: 10px;
}

.pm-view-history-list {
  display: grid;
  gap: 10px;
  margin-bottom: 80px;
}

.pm-view-history-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid var(--pm-line);
  border-radius: 16px;
  background: #fff;
}

.pm-view-history-main {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 13px;
}

.pm-view-history-icon {
  width: 52px;
  height: 52px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: #f1f7ff;
  font-size: 23px;
}

.pm-view-history-main div {
  min-width: 0;
}

.pm-view-history-main small,
.pm-view-history-main strong,
.pm-view-history-main span {
  display: block;
}

.pm-view-history-main small {
  color: var(--pm-blue);
  font-size: 9px;
  font-weight: 900;
}

.pm-view-history-main strong {
  margin-top: 3px;
  color: var(--pm-navy);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.pm-view-history-main span {
  margin-top: 4px;
  color: var(--pm-muted);
  font-size: 9px;
}

.pm-view-history-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pm-view-history-actions > strong {
  color: var(--pm-orange);
  font-size: 17px;
}

.pm-recent-view-list {
  display: grid;
  gap: 8px;
}

.pm-recent-view-row {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 11px;
  border-radius: 13px;
  background: #f8fbff;
}

.pm-recent-view-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #fff;
  font-size: 20px;
}

.pm-recent-view-row strong,
.pm-recent-view-row small {
  display: block;
}

.pm-recent-view-row strong {
  color: var(--pm-navy);
  font-size: 10px;
}

.pm-recent-view-row small {
  margin-top: 3px;
  color: var(--pm-muted);
  font-size: 8px;
}

.pm-recent-view-row em {
  color: var(--pm-orange);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

@media (max-width: 980px) {
  .pm-saved-offers-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 680px) {
  .pm-engagement-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .pm-engagement-head .pm-btn,
  .pm-engagement-head form {
    width: 100%;
  }

  .pm-engagement-head form .pm-btn {
    width: 100%;
  }

  .pm-saved-offers-grid {
    grid-template-columns: 1fr;
  }

  .pm-view-history-row {
    grid-template-columns: 1fr;
  }

  .pm-view-history-actions {
    justify-content: space-between;
    padding-left: 65px;
  }
}


/* v2.5.1 favorite button fix */
@media (max-width: 680px) {
  .pm-offer-detail-favorite {
    padding: 8px 12px;
    font-size: 9px;
  }
}


/* v2.5.2 detail favorite hard fix */
.pm-offer-detail-badges .pm-offer-detail-favorite.pm-favorite-btn {
  width: auto !important;
  min-width: 132px;
  max-width: 100%;
  height: auto !important;
  min-height: 36px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 8px 14px !important;
  border-radius: 999px;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  line-height: 1.2 !important;
  font-size: 11px !important;
}

.pm-offer-detail-badges .pm-offer-detail-favorite.pm-favorite-btn.is-active {
  background: #fff2f4;
  color: #e13e59;
  border-color: #ffd3da;
}

.pm-offer-detail-badges {
  position: relative;
  z-index: 2;
}

@media (max-width: 680px) {
  .pm-offer-detail-badges .pm-offer-detail-favorite.pm-favorite-btn {
    min-width: 118px;
    padding: 8px 12px !important;
    font-size: 10px !important;
  }
}


/* =========================================
   OFFER DETAIL REDESIGN v2.6 (Moppy-like)
========================================= */
.pm-offer-page-moppy {
  background: linear-gradient(180deg,#f7fbff 0%,#f3f8fd 100%);
  min-height: 70vh;
  padding: 18px 0 72px;
}

.pm-offer-wrap {
  display: block;
}

.pm-moppy-breadcrumbs {
  margin-bottom: 16px;
}

.pm-moppy-hero-card {
  display: grid;
  grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
  gap: 24px;
  padding: 22px;
  background: #fff;
  border: 1px solid #dfe9f5;
  border-radius: 28px;
  box-shadow: 0 12px 30px rgba(25,74,130,.06);
}

.pm-moppy-hero-media {
  min-width: 0;
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  border-radius: 24px;
  background: linear-gradient(180deg,#fbfdff 0%,#eef5fc 100%);
}

.pm-moppy-hero-image {
  width: 100%;
  max-height: 360px;
  object-fit: contain;
  border-radius: 20px;
}

.pm-moppy-hero-icon {
  width: 220px;
  height: 220px;
  display: grid;
  place-items: center;
  border-radius: 42px;
  background: #f3f8ff;
  font-size: 96px;
}

.pm-moppy-hero-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.pm-moppy-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

.pm-moppy-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.pm-chip-warm { background: #fff1df; color: #c96d12; }
.pm-chip-cool { background: #eaf4ff; color: #2f80ed; }
.pm-chip-light { background: #f5f7fb; color: #6a768e; }

.pm-moppy-title-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

.pm-moppy-title-col {
  min-width: 0;
  flex: 1 1 auto;
}

.pm-moppy-title-col h1 {
  margin: 0;
  color: #16233d;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.18;
  letter-spacing: -.04em;
}

.pm-moppy-lead {
  margin: 10px 0 0;
  color: #67748a;
  font-size: 15px;
  line-height: 1.8;
}

.pm-moppy-fav-wrap {
  flex: 0 0 auto;
}

.pm-moppy-favorite.pm-favorite-btn {
  min-width: 144px;
  height: auto !important;
  min-height: 42px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 10px 16px !important;
  border: 1px solid #ffd1da;
  border-radius: 999px;
  background: #fff;
  color: #e85a71;
  white-space: nowrap;
  line-height: 1.1;
  font-size: 12px !important;
  font-weight: 900;
}

.pm-moppy-favorite.pm-favorite-btn.is-active {
  background: #fff2f5;
  color: #e13f59;
}

.pm-moppy-reward-panel {
  display: grid;
  grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr);
  gap: 12px;
  margin-top: 18px;
}

.pm-moppy-reward-main,
.pm-moppy-subitem {
  background: #fff;
  border: 1px solid #dfe9f5;
  border-radius: 20px;
}

.pm-moppy-reward-main {
  padding: 18px 20px;
  box-shadow: 0 8px 20px rgba(25,74,130,.05);
}

.pm-moppy-reward-main small,
.pm-moppy-subitem small {
  display: block;
  color: #7b889d;
  font-size: 10px;
  font-weight: 800;
}

.pm-moppy-reward-main strong {
  display: block;
  margin-top: 6px;
  color: #f39a2a;
  font-size: 48px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.04em;
}

.pm-moppy-reward-main strong span {
  font-size: 18px;
}

.pm-moppy-reward-main em {
  display: block;
  margin-top: 8px;
  color: #7b889d;
  font-size: 11px;
  font-style: normal;
}

.pm-moppy-reward-subgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.pm-moppy-subitem {
  padding: 15px 16px;
}

.pm-moppy-subitem strong {
  display: block;
  margin-top: 5px;
  color: #17243d;
  font-size: 14px;
  line-height: 1.55;
}

.pm-moppy-stepbar {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 14px;
}

.pm-moppy-step {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 14px;
  border: 1px solid #dfe9f5;
  border-radius: 16px;
  background: #f8fbff;
}

.pm-moppy-step span {
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg,#34d1c6,#2f80ed);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.pm-moppy-step p {
  margin: 0;
  color: #22324f;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
}

.pm-moppy-cta-box {
  margin-top: 16px;
  padding: 18px;
  border-radius: 20px;
  background: linear-gradient(135deg,#eff6ff 0%,#eef8ff 100%);
  border: 1px solid #d5e6fb;
}

.pm-moppy-main-cta {
  width: 100%;
  min-height: 58px;
  font-size: 16px;
}

.pm-moppy-cta-box small {
  display: block;
  margin-top: 9px;
  color: #6f7e95;
  font-size: 10px;
  line-height: 1.7;
}

.pm-moppy-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 22px;
  align-items: start;
  margin-top: 22px;
}

.pm-moppy-maincol {
  display: grid;
  gap: 16px;
}

.pm-moppy-section-card {
  padding: 24px;
  background: #fff;
  border: 1px solid #dfe9f5;
  border-radius: 24px;
  box-shadow: 0 8px 22px rgba(25,74,130,.045);
}

.pm-moppy-section-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 16px;
}

.pm-moppy-head-icon {
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #ecf9f1;
}

.pm-moppy-head-icon.is-warn { background: #fff4e9; }
.pm-moppy-head-icon.is-blue { background: #edf5ff; }
.pm-moppy-head-icon.is-purple { background: #f3f0ff; }

.pm-moppy-section-head h2 {
  margin: 0;
  color: #16233d;
  font-size: 22px;
}

.pm-moppy-section-head p {
  margin: 4px 0 0;
  color: #6f7e95;
  font-size: 12px;
  line-height: 1.7;
}

.pm-moppy-text-body,
.pm-moppy-content-body {
  color: #4f5d72;
  font-size: 14px;
  line-height: 2;
}

.pm-moppy-content-body > *:first-child { margin-top: 0; }
.pm-moppy-content-body > *:last-child { margin-bottom: 0; }

.pm-moppy-check-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.pm-moppy-check-item {
  position: relative;
  padding: 14px 14px 14px 40px;
  border: 1px solid #e2edf8;
  border-radius: 16px;
  background: #f9fbff;
  color: #253450;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7;
}

.pm-moppy-check-item::before {
  content: '✓';
  position: absolute;
  left: 14px;
  top: 14px;
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #30c9b6;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
}

.pm-moppy-sidecol {
  position: sticky;
  top: 92px;
  display: grid;
  gap: 14px;
}

.pm-moppy-sidebox {
  padding: 18px;
  background: #fff;
  border: 1px solid #dfe9f5;
  border-radius: 20px;
}

.pm-moppy-sidebox-highlight {
  display: grid;
  gap: 8px;
  text-align: center;
  background: linear-gradient(180deg,#fffaf0 0%,#fff 100%);
  border-color: #f1dfb7;
}

.pm-moppy-sidebox-highlight small {
  color: #a26c16;
  font-size: 10px;
  font-weight: 900;
}

.pm-moppy-sidebox-highlight strong {
  color: #f39a2a;
  font-size: 40px;
  line-height: 1;
  letter-spacing: -.04em;
}

.pm-moppy-sidebox-highlight span {
  color: #6f7e95;
  font-size: 11px;
}

.pm-moppy-sidebox h3 {
  margin: 0 0 12px;
  color: #16233d;
  font-size: 16px;
}

.pm-moppy-info-list {
  display: grid;
  gap: 0;
  margin: 0;
}

.pm-moppy-info-list > div {
  display: grid;
  grid-template-columns: 105px 1fr;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid #edf2f8;
}

.pm-moppy-info-list > div:last-child {
  border-bottom: 0;
}

.pm-moppy-info-list dt {
  color: #7b889d;
  font-size: 11px;
}

.pm-moppy-info-list dd {
  margin: 0;
  color: #16233d;
  text-align: right;
  font-size: 12px;
  font-weight: 800;
}

.pm-moppy-sidebox-note {
  background: #fff9ef;
  border-color: #f0dfbc;
}

.pm-moppy-sidebox-note p {
  margin: 0;
  color: #7a6948;
  font-size: 12px;
  line-height: 1.8;
}

@media (max-width: 1080px) {
  .pm-moppy-hero-card,
  .pm-moppy-layout {
    grid-template-columns: 1fr;
  }

  .pm-moppy-sidecol {
    position: static;
  }
}

@media (max-width: 760px) {
  .pm-offer-page-moppy {
    padding: 14px 0 64px;
  }

  .pm-moppy-hero-card {
    padding: 16px;
    border-radius: 22px;
  }

  .pm-moppy-hero-media {
    min-height: 240px;
    padding: 16px;
    border-radius: 18px;
  }

  .pm-moppy-hero-icon {
    width: 150px;
    height: 150px;
    font-size: 66px;
    border-radius: 28px;
  }

  .pm-moppy-title-row {
    flex-direction: column;
  }

  .pm-moppy-fav-wrap {
    width: 100%;
  }

  .pm-moppy-favorite.pm-favorite-btn {
    width: 100%;
    min-width: 0;
  }

  .pm-moppy-title-col h1 {
    font-size: 31px;
  }

  .pm-moppy-reward-panel,
  .pm-moppy-reward-subgrid,
  .pm-moppy-stepbar,
  .pm-moppy-check-grid {
    grid-template-columns: 1fr;
  }

  .pm-moppy-section-card {
    padding: 18px;
    border-radius: 18px;
  }
}


/* =========================================
   OFFERS PAGE REDESIGN v2.7
========================================= */
.pm-offers-v27 {
  min-height: 70vh;
  background: #f7fafc;
}

.pm-offers-v27 button,
.pm-offers-v27 a {
  -webkit-tap-highlight-color: transparent;
}

.pm-offers-v27-head {
  padding: 20px 0 0;
  background: #fff;
  border-bottom: 1px solid #e7edf4;
}

.pm-v27-search-row {
  display: grid;
  grid-template-columns: 170px minmax(0,1fr) auto;
  gap: 16px;
  align-items: center;
}

.pm-v27-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #24bcae;
}

.pm-v27-brand-mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(135deg,#2ec6ba,#2f80ed);
  color: #fff;
  font-size: 22px;
  font-weight: 900;
}

.pm-v27-brand strong {
  font-size: 27px;
  letter-spacing: -.04em;
}

.pm-v27-search-area {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0,1fr) 88px 150px;
  gap: 8px;
}

.pm-v27-search-box {
  min-width: 0;
  min-height: 50px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 15px;
  border: 2px solid #27c1b5;
  border-radius: 14px;
  background: #fff;
}

.pm-v27-search-box input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #24324b;
  font-size: 13px;
}

.pm-v27-search-button {
  border: 0;
  border-radius: 13px;
  background: #25bdb1;
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}

.pm-v27-sort {
  min-width: 0;
  border: 1px solid #dbe5f0;
  border-radius: 13px;
  background: #fff;
  color: #384760;
  padding: 0 12px;
  font-weight: 800;
}

.pm-v27-user-area {
  display: flex;
  align-items: center;
  gap: 10px;
}

.pm-v27-user-copy {
  max-width: 150px;
}

.pm-v27-user-copy strong,
.pm-v27-user-copy small {
  display: block;
}

.pm-v27-user-copy strong {
  color: #28354c;
  font-size: 12px;
  overflow-wrap: anywhere;
}

.pm-v27-user-copy small {
  margin-top: 2px;
  color: #8a94a4;
  font-size: 9px;
}

.pm-v27-user-points {
  min-width: 92px;
  padding: 9px 12px;
  border-radius: 13px;
  background: #f8fbff;
  border: 1px solid #e2eaf4;
  text-align: right;
}

.pm-v27-user-points span,
.pm-v27-user-points strong {
  display: block;
}

.pm-v27-user-points span {
  color: #8a94a4;
  font-size: 8px;
}

.pm-v27-user-points strong {
  margin-top: 2px;
  color: #f39a2a;
  font-size: 18px;
}

.pm-v27-heart-link {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid #ffd4dc;
  border-radius: 14px;
  background: #fff7f8;
  color: #e94e67;
  font-size: 18px;
}

.pm-v27-login-link {
  padding: 11px 16px;
  border-radius: 12px;
  background: #2f80ed;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.pm-v27-news-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
  margin-top: 14px;
  padding: 9px 0;
  border-top: 1px solid #f0f3f7;
}

.pm-v27-news-label {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff0df;
  color: #c7781c;
  font-size: 9px;
  font-weight: 900;
}

.pm-v27-news-ticker {
  min-width: 0;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
}

.pm-v27-news-ticker::-webkit-scrollbar { display:none; }

.pm-v27-news-ticker span {
  flex: 0 0 auto;
  padding: 6px 11px;
  border-radius: 999px;
  border: 1px solid #e3e9f1;
  background: #fff;
  color: #5d697d;
  font-size: 9px;
}

.pm-v27-mainnav {
  display: grid;
  grid-template-columns: repeat(9,minmax(0,1fr));
  gap: 0;
  margin-top: 3px;
}

.pm-v27-mainnav a,
.pm-v27-mainnav button {
  min-width: 0;
  min-height: 72px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 5px;
  border: 0;
  border-top: 2px solid transparent;
  background: transparent;
  color: #26344c;
  cursor: pointer;
}

.pm-v27-mainnav a:hover,
.pm-v27-mainnav button:hover {
  border-top-color: #2bc5ba;
  background: #f9fcff;
}

.pm-v27-mainnav span {
  font-size: 20px;
}

.pm-v27-mainnav small {
  font-size: 10px;
  font-weight: 900;
}

.pm-v27-hero {
  padding: 28px 0 20px;
  background: linear-gradient(180deg,#f7fafc 0%,#f7fafc 100%);
}

.pm-v27-hero-grid {
  display: grid;
  grid-template-columns: minmax(0,1.55fr) minmax(320px,.65fr);
  gap: 16px;
}

.pm-v27-hero-main {
  position: relative;
  min-height: 300px;
  overflow: hidden;
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0,1fr) 210px;
  padding: 32px;
  border-radius: 26px;
  background: linear-gradient(135deg,#ffd462 0%,#ffb850 48%,#ff9c58 100%);
  color: #493300;
  box-shadow: 0 16px 34px rgba(236,157,55,.15);
}

.pm-v27-eyebrow {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.45);
  color: #9d6714;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}

.pm-v27-hero-copy h1 {
  margin: 13px 0 9px;
  font-size: 38px;
  line-height: 1.25;
  letter-spacing: -.04em;
}

.pm-v27-hero-copy p {
  max-width: 600px;
  margin: 0;
  font-size: 12px;
  line-height: 1.8;
}

.pm-v27-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 18px;
}

.pm-v27-hero-deco {
  position: relative;
  height: 210px;
}

.pm-v27-hero-deco span {
  position: absolute;
  display: grid;
  place-items: center;
  border-radius: 24px;
  background: rgba(255,255,255,.48);
  box-shadow: 0 12px 22px rgba(160,102,30,.08);
}

.pm-v27-hero-deco span:nth-child(1) {
  width: 98px; height: 98px; left: 8px; top: 28px; font-size: 44px;
}

.pm-v27-hero-deco span:nth-child(2) {
  width: 84px; height: 84px; right: 6px; top: 10px; font-size: 38px;
}

.pm-v27-hero-deco span:nth-child(3) {
  width: 78px; height: 78px; right: 28px; bottom: 10px; font-size: 34px;
}

.pm-v27-mini-banners {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.pm-v27-mini-banner {
  min-width: 0;
  min-height: 140px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 16px;
  border: 0;
  border-radius: 20px;
  text-align: left;
  cursor: pointer;
}

.pm-v27-mini-banner span,
.pm-v27-mini-banner strong,
.pm-v27-mini-banner small {
  display: block;
}

.pm-v27-mini-banner span {
  font-size: 9px;
  font-weight: 800;
  opacity: .75;
}

.pm-v27-mini-banner strong {
  margin-top: 3px;
  font-size: 18px;
}

.pm-v27-mini-banner small {
  margin-top: 4px;
  font-size: 9px;
  opacity: .8;
}

.pm-v27-mini-banner.is-blue { background:#eaf4ff; color:#226cb9; }
.pm-v27-mini-banner.is-orange { background:#fff1df; color:#b86c16; }
.pm-v27-mini-banner.is-green { background:#eaf9f4; color:#208064; }
.pm-v27-mini-banner.is-purple { background:#f3efff; color:#7352ae; }

.pm-v27-category-section,
.pm-v27-feature-section,
.pm-v27-member-strip,
.pm-v27-offer-section {
  padding: 22px 0;
}

.pm-v27-section-head span {
  display: block;
  color: #2f80ed;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}

.pm-v27-section-head h2 {
  margin: 5px 0 0;
  color: #17243d;
  font-size: 25px;
}

.pm-v27-section-head-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.pm-v27-text-button {
  border: 0;
  background: transparent;
  color: #2f80ed;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.pm-v27-category-grid {
  display: grid;
  grid-template-columns: repeat(7,minmax(0,1fr));
  gap: 10px;
  margin-top: 14px;
}

.pm-v27-category {
  min-width: 0;
  padding: 15px 10px;
  border: 1px solid #e2eaf4;
  border-radius: 16px;
  background: #fff;
  cursor: pointer;
  text-align: center;
}

.pm-v27-category span,
.pm-v27-category strong,
.pm-v27-category small {
  display: block;
}

.pm-v27-category span { font-size: 23px; }
.pm-v27-category strong { margin-top: 7px; color:#24324b; font-size:12px; }
.pm-v27-category small { margin-top: 3px; color:#8a94a4; font-size:8px; }

.pm-v27-category.is-active {
  border-color: transparent;
  background: linear-gradient(135deg,#2bc5ba,#2f80ed);
  box-shadow: 0 8px 18px rgba(47,128,237,.14);
}

.pm-v27-category.is-active strong,
.pm-v27-category.is-active small {
  color:#fff;
}

.pm-v27-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 12px;
}

.pm-v27-tags > span {
  color: #7c8798;
  font-size: 9px;
  font-weight: 800;
}

.pm-v27-tags button {
  padding: 7px 10px;
  border: 1px solid #e1e8f0;
  border-radius: 999px;
  background: #fff;
  color: #536078;
  font-size: 9px;
  font-weight: 800;
  cursor:pointer;
}

.pm-v27-feature-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
}

.pm-v27-feature-card {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: 74px minmax(0,1fr);
  gap: 13px;
  align-items: center;
  padding: 16px;
  border: 1px solid #e2eaf4;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(25,74,130,.04);
}

.pm-v27-rank-no {
  position:absolute;
  left:10px;
  top:10px;
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#17243d;
  color:#fff;
  font-size:10px;
  font-weight:900;
}

.pm-v27-feature-icon {
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#f1f7ff;
  font-size:32px;
}

.pm-v27-feature-body {
  min-width:0;
}

.pm-v27-feature-body small,
.pm-v27-feature-body strong,
.pm-v27-feature-body span {
  display:block;
}

.pm-v27-feature-body small {
  color:#2f80ed;
  font-size:9px;
  font-weight:900;
}

.pm-v27-feature-body strong {
  margin-top:3px;
  color:#1c2941;
  font-size:13px;
  line-height:1.5;
  overflow-wrap:anywhere;
}

.pm-v27-feature-body span {
  margin-top:7px;
  color:#f39a2a;
  font-size:20px;
  font-weight:900;
}

.pm-v27-member-card {
  display:grid;
  grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);
  gap:16px;
  align-items:center;
  padding:18px 20px;
  border-radius:20px;
  background:linear-gradient(135deg,#17345f,#2f80ed);
  color:#fff;
}

.pm-v27-member-card > div:first-child small,
.pm-v27-member-card > div:first-child strong,
.pm-v27-member-card > div:first-child span {
  display:block;
}

.pm-v27-member-card > div:first-child small {
  color:#bcd8ff;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}

.pm-v27-member-card > div:first-child strong {
  margin-top:3px;
  font-size:16px;
}

.pm-v27-member-card > div:first-child span {
  margin-top:4px;
  color:#e6f1ff;
  font-size:10px;
}

.pm-v27-member-metrics {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.pm-v27-member-metrics > div,
.pm-v27-member-metrics > a {
  min-width:0;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.11);
  color:#fff;
}

.pm-v27-member-metrics small,
.pm-v27-member-metrics strong {
  display:block;
}

.pm-v27-member-metrics small {
  color:#d8e9ff;
  font-size:8px;
}

.pm-v27-member-metrics strong {
  margin-top:4px;
  font-size:18px;
}

.pm-v27-result-meta {
  display:flex;
  align-items:baseline;
  gap:4px;
  color:#69778d;
}

.pm-v27-result-meta small {
  font-size:9px;
}

.pm-v27-result-meta strong {
  color:#17243d;
  font-size:28px;
}

.pm-v27-result-meta span {
  font-size:10px;
}

.pm-v27-offers-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.pm-v27-offer-card {
  overflow:hidden;
  padding:0;
  border-radius:18px;
}

.pm-v27-card-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:14px 14px 0;
}

.pm-v27-card-badge {
  display:inline-flex;
  padding:5px 8px;
  border-radius:999px;
  background:#fff0e0;
  color:#c47418;
  font-size:9px;
  font-weight:900;
}

.pm-v27-card-main {
  display:flex;
  flex-direction:column;
  min-height:0;
  padding:0 14px;
}

.pm-v27-card-thumb {
  min-height:126px;
  display:grid;
  place-items:center;
  margin:10px 0 12px;
  border-radius:15px;
  background:linear-gradient(180deg,#f8fbff,#edf5ff);
  font-size:44px;
}

.pm-v27-card-category {
  color:#2f80ed;
  font-size:9px;
  font-weight:900;
}

.pm-v27-card-main h3 {
  margin:5px 0 7px;
  color:#1a2740;
  font-size:15px;
  line-height:1.45;
}

.pm-v27-card-main p {
  min-height:50px;
  margin:0;
  color:#778397;
  font-size:10px;
  line-height:1.7;
}

.pm-v27-card-point {
  margin-top:13px;
  padding:12px;
  border-radius:13px;
  background:#f8fbff;
}

.pm-v27-card-point small {
  display:block;
  color:#7b879a;
  font-size:8px;
  font-weight:800;
}

.pm-v27-card-point strong {
  display:block;
  margin-top:3px;
  color:#f39a2a;
  font-size:25px;
  line-height:1;
}

.pm-v27-card-point strong span {
  font-size:10px;
}

.pm-v27-card-footer {
  padding:12px 14px 14px;
}

.pm-v27-detail-button {
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#223651;
  color:#fff;
  font-size:10px;
  font-weight:900;
}

.pm-v27-detail-button:hover {
  background:#2f80ed;
}

.pm-v27-detail-button.is-disabled {
  opacity:.45;
}

.pm-v27-no-offers {
  margin-top:18px;
}

@media (max-width: 1200px) {
  .pm-v27-search-row {
    grid-template-columns:150px minmax(0,1fr);
  }

  .pm-v27-user-area {
    grid-column:1 / -1;
    justify-content:flex-end;
  }

  .pm-v27-mainnav {
    grid-template-columns:repeat(5,1fr);
  }

  .pm-v27-mainnav > :nth-child(n+6) {
    border-top:1px solid #f0f3f7;
  }

  .pm-v27-hero-grid {
    grid-template-columns:1fr;
  }

  .pm-v27-mini-banners {
    grid-template-columns:repeat(4,1fr);
  }

  .pm-v27-offers-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 900px) {
  .pm-v27-search-row {
    grid-template-columns:1fr;
  }

  .pm-v27-brand {
    justify-content:center;
  }

  .pm-v27-search-area {
    grid-template-columns:minmax(0,1fr) 90px;
  }

  .pm-v27-sort {
    grid-column:1 / -1;
    min-height:44px;
  }

  .pm-v27-user-area {
    justify-content:center;
  }

  .pm-v27-mainnav {
    display:flex;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .pm-v27-mainnav::-webkit-scrollbar { display:none; }

  .pm-v27-mainnav a,
  .pm-v27-mainnav button {
    min-width:95px;
  }

  .pm-v27-category-grid {
    grid-template-columns:repeat(4,1fr);
  }

  .pm-v27-feature-grid {
    grid-template-columns:1fr;
  }

  .pm-v27-member-card {
    grid-template-columns:1fr;
  }

  .pm-v27-offers-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 620px) {
  .pm-offers-v27-head {
    padding-top:14px;
  }

  .pm-v27-search-area {
    grid-template-columns:1fr;
  }

  .pm-v27-search-button,
  .pm-v27-sort {
    width:100%;
    min-height:44px;
  }

  .pm-v27-user-area {
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    justify-content:stretch;
  }

  .pm-v27-user-copy {
    max-width:none;
  }

  .pm-v27-news-row {
    grid-template-columns:1fr;
  }

  .pm-v27-hero-main {
    grid-template-columns:1fr;
    min-height:0;
    padding:22px 18px;
  }

  .pm-v27-hero-copy h1 {
    font-size:29px;
  }

  .pm-v27-hero-deco {
    height:120px;
    margin-top:8px;
  }

  .pm-v27-hero-deco span:nth-child(1) {
    width:68px; height:68px; left:4px; top:18px; font-size:30px;
  }

  .pm-v27-hero-deco span:nth-child(2) {
    width:62px; height:62px; right:45%; top:2px; font-size:28px;
  }

  .pm-v27-hero-deco span:nth-child(3) {
    width:58px; height:58px; right:8px; bottom:5px; font-size:25px;
  }

  .pm-v27-mini-banners {
    grid-template-columns:1fr 1fr;
  }

  .pm-v27-mini-banner {
    min-height:120px;
  }

  .pm-v27-category-grid {
    grid-template-columns:repeat(2,1fr);
  }

  .pm-v27-section-head-row {
    align-items:flex-start;
    flex-direction:column;
  }

  .pm-v27-member-metrics {
    grid-template-columns:1fr;
  }

  .pm-v27-offers-grid {
    grid-template-columns:1fr;
  }

  .pm-v27-card-main p {
    min-height:0;
  }
}


/* =========================================
   AUTO OFFER RANKINGS v2.8
========================================= */
.pm-v28-ranking-section {
  padding: 24px 0;
}

.pm-v28-ranking-description {
  margin: 5px 0 0;
  color: #7b8798;
  font-size: 10px;
}

.pm-v28-ranking-tabs {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 8px;
  padding: 7px;
  border: 1px solid #e1e8f1;
  border-radius: 17px;
  background: #fff;
}

.pm-v28-ranking-tabs button {
  min-height: 44px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #536078;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.pm-v28-ranking-tabs button:hover {
  background: #f4f8fc;
}

.pm-v28-ranking-tabs button.is-active {
  background: linear-gradient(135deg,#2bc5ba,#2f80ed);
  color: #fff;
  box-shadow: 0 7px 18px rgba(47,128,237,.16);
}

.pm-v28-ranking-panel {
  margin-top: 12px;
  padding: 18px;
  border: 1px solid #e2eaf4;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(25,74,130,.04);
}

.pm-v28-ranking-panel[hidden] {
  display: none !important;
}

.pm-v28-ranking-panel-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.pm-v28-ranking-panel-head strong,
.pm-v28-ranking-panel-head small {
  display: block;
}

.pm-v28-ranking-panel-head strong {
  color: #18263e;
  font-size: 17px;
}

.pm-v28-ranking-panel-head small {
  margin-top: 3px;
  color: #8490a1;
  font-size: 9px;
}

.pm-v28-ranking-panel-head button {
  border: 0;
  background: transparent;
  color: #2f80ed;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}

.pm-v28-ranking-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
}

.pm-v28-ranking-card {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: 68px minmax(0,1fr);
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid #e7edf5;
  border-radius: 16px;
  background: #fbfdff;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.pm-v28-ranking-card:hover {
  transform: translateY(-2px);
  border-color: #bcd6f5;
  box-shadow: 0 8px 20px rgba(25,74,130,.07);
}

.pm-v28-rank-number {
  position: absolute;
  top: 8px;
  left: 8px;
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #253550;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  z-index: 1;
}

.pm-v28-rank-number.rank-1 {
  background: linear-gradient(135deg,#ffd45b,#eaa51b);
  color: #6b4600;
}

.pm-v28-rank-number.rank-2 {
  background: linear-gradient(135deg,#eff2f6,#b9c3d0);
  color: #4f5d70;
}

.pm-v28-rank-number.rank-3 {
  background: linear-gradient(135deg,#e6b17b,#bb7844);
  color: #fff;
}

.pm-v28-rank-icon {
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: #eef6ff;
  font-size: 30px;
}

.pm-v28-rank-body {
  min-width: 0;
}

.pm-v28-rank-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
}

.pm-v28-rank-meta span {
  color: #2f80ed;
  font-size: 8px;
  font-weight: 900;
}

.pm-v28-rank-meta em {
  padding: 3px 6px;
  border-radius: 999px;
  background: #fff0df;
  color: #bb711c;
  font-size: 7px;
  font-style: normal;
  font-weight: 900;
}

.pm-v28-rank-body > strong {
  display: block;
  margin-top: 4px;
  color: #1d2b43;
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.pm-v28-rank-body > small {
  display: block;
  margin-top: 4px;
  color: #8a94a4;
  font-size: 8px;
}

.pm-v28-rank-point {
  margin-top: 7px;
  color: #f39a2a;
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
}

.pm-v28-rank-point span {
  margin-left: 2px;
  font-size: 8px;
}

.pm-v28-ranking-empty {
  padding: 28px 15px;
  border-radius: 14px;
  background: #f8fbff;
  color: #8190a4;
  text-align: center;
  font-size: 10px;
}

@media (max-width: 980px) {
  .pm-v28-ranking-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 680px) {
  .pm-v28-ranking-tabs {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .pm-v28-ranking-tabs::-webkit-scrollbar {
    display: none;
  }

  .pm-v28-ranking-tabs button {
    min-width: 128px;
    flex: 0 0 auto;
  }

  .pm-v28-ranking-panel {
    padding: 14px;
  }

  .pm-v28-ranking-panel-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .pm-v28-ranking-grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================
   DASHBOARD + NOTIFICATIONS v2.9
========================================= */
.pm-side-nav a {
  position: relative;
}

.pm-side-unread {
  min-width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  margin-left: auto;
  padding: 0 5px;
  border-radius: 999px;
  background: #ff5b70;
  color: #fff;
  font-size: 8px;
  font-weight: 900;
}

.pm-v29-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.pm-v29-topbar > div:first-child small,
.pm-v29-topbar > div:first-child strong {
  display: block;
}

.pm-v29-topbar > div:first-child small {
  color: #8b96a8;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .08em;
}

.pm-v29-topbar > div:first-child strong {
  margin-top: 2px;
  color: #18253e;
  font-size: 18px;
}

.pm-v29-top-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.pm-v29-bell {
  position: relative;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid #e1e8f1;
  border-radius: 13px;
  background: #fff;
  font-size: 17px;
}

.pm-v29-bell > span {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  padding: 0 4px;
  border-radius: 999px;
  background: #ff5b70;
  color: #fff;
  font-size: 8px;
  font-weight: 900;
}

.pm-dashboard-v29 {
  padding-top: 20px;
}

.pm-v29-search-strip {
  display: grid;
  grid-template-columns: minmax(0,1.6fr) minmax(150px,.45fr) minmax(150px,.45fr);
  gap: 10px;
  margin-bottom: 15px;
}

.pm-v29-search-strip > a {
  min-width: 0;
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 16px;
  border: 1px solid #e1e9f2;
  border-radius: 17px;
  background: #fff;
}

.pm-v29-search-main > span {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #edf7ff;
  font-size: 20px;
}

.pm-v29-search-main > div {
  min-width: 0;
  flex: 1 1 auto;
}

.pm-v29-search-main strong,
.pm-v29-search-main small,
.pm-v29-search-strip > a:not(.pm-v29-search-main) strong,
.pm-v29-search-strip > a:not(.pm-v29-search-main) small {
  display: block;
}

.pm-v29-search-main strong,
.pm-v29-search-strip > a:not(.pm-v29-search-main) strong {
  color: #20304a;
  font-size: 11px;
}

.pm-v29-search-main small,
.pm-v29-search-strip > a:not(.pm-v29-search-main) small {
  margin-top: 3px;
  color: #8490a2;
  font-size: 8px;
}

.pm-v29-search-main em {
  flex: 0 0 auto;
  color: #2f80ed;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
}

.pm-v29-search-strip > a:not(.pm-v29-search-main) {
  align-content: center;
  justify-content: center;
  text-align: center;
  flex-direction: column;
  gap: 4px;
}

.pm-v29-search-strip > a:not(.pm-v29-search-main) > span {
  font-size: 19px;
}

.pm-v29-hero {
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr);
  gap: 16px;
  padding: 27px;
  border-radius: 26px;
  background: linear-gradient(135deg,#ffd563 0%,#ffb74f 50%,#ff9f5b 100%);
  box-shadow: 0 16px 36px rgba(229,154,57,.17);
}

.pm-v29-hero-copy {
  align-self: center;
}

.pm-v29-eyebrow {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.44);
  color: #9b6817;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .08em;
}

.pm-v29-hero-copy h1 {
  margin: 12px 0 8px;
  color: #4c3503;
  font-size: 34px;
  line-height: 1.28;
  letter-spacing: -.035em;
}

.pm-v29-hero-copy p {
  max-width: 620px;
  margin: 0;
  color: #654c18;
  font-size: 11px;
  line-height: 1.8;
}

.pm-v29-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 17px;
}

.pm-v29-balance-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px;
  border-radius: 20px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(255,255,255,.65);
  backdrop-filter: blur(8px);
}

.pm-v29-balance-card > small {
  color: #8b6b2b;
  font-size: 9px;
  font-weight: 900;
}

.pm-v29-balance-card > strong {
  display: block;
  margin-top: 4px;
  color: #f09325;
  font-size: 42px;
  line-height: 1;
}

.pm-v29-balance-card > strong span {
  font-size: 13px;
}

.pm-v29-balance-sub {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 6px;
  margin-top: 14px;
}

.pm-v29-balance-sub > div {
  padding: 9px 8px;
  border-radius: 11px;
  background: rgba(255,255,255,.76);
}

.pm-v29-balance-sub span,
.pm-v29-balance-sub b {
  display: block;
}

.pm-v29-balance-sub span {
  color: #8c7a56;
  font-size: 7px;
}

.pm-v29-balance-sub b {
  margin-top: 3px;
  color: #3b4659;
  font-size: 10px;
}

.pm-v29-balance-card > a {
  margin-top: 12px;
  color: #2f80ed;
  font-size: 9px;
  font-weight: 900;
}

.pm-v29-quicknav {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 10px;
  margin: 15px 0;
}

.pm-v29-quicknav > a {
  min-width: 0;
  padding: 14px;
  border: 1px solid #e2e9f2;
  border-radius: 17px;
  background: #fff;
  text-align: center;
}

.pm-v29-quicknav span,
.pm-v29-quicknav strong,
.pm-v29-quicknav small {
  display: block;
}

.pm-v29-quicknav span { font-size: 21px; }
.pm-v29-quicknav strong { margin-top: 5px; color:#22314a; font-size:11px; }
.pm-v29-quicknav small { margin-top: 3px; color:#8b96a7; font-size:8px; }

.pm-v29-rank-card {
  display: grid;
  grid-template-columns: 230px minmax(0,1fr);
  gap: 18px;
  align-items: center;
  margin-bottom: 15px;
  padding: 17px 19px;
  border: 1px solid #e2e9f2;
  border-radius: 19px;
  background: #fff;
}

.pm-v29-rank-current {
  display: flex;
  align-items: center;
  gap: 11px;
}

.pm-v29-rank-current > span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #f3f6fa;
  font-size: 23px;
}

.pm-v29-rank-current small,
.pm-v29-rank-current strong {
  display: block;
}

.pm-v29-rank-current small {
  color: #8995a7;
  font-size: 7px;
  font-weight: 900;
}

.pm-v29-rank-current strong {
  margin-top: 3px;
  color: #1d2c45;
  font-size: 17px;
}

.pm-v29-rank-progress > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.pm-v29-rank-progress > div:first-child span {
  color: #6f7b8e;
  font-size: 9px;
  font-weight: 800;
}

.pm-v29-rank-progress > div:first-child strong {
  color: #25344d;
  font-size: 12px;
}

.pm-v29-rank-progress > small {
  display: block;
  margin-top: 4px;
  color: #8b96a7;
  font-size: 8px;
}

.pm-v29-main-grid {
  display: grid;
  grid-template-columns: minmax(0,1.45fr) minmax(300px,.55fr);
  gap: 15px;
  margin-bottom: 80px;
}

.pm-v29-main-column,
.pm-v29-side-column {
  display: grid;
  gap: 15px;
  align-content: start;
}

.pm-v29-panel,
.pm-v29-member-mini {
  padding: 18px;
  border: 1px solid #e2e9f2;
  border-radius: 19px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(25,74,130,.035);
}

.pm-v29-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-end;
  margin-bottom: 13px;
}

.pm-v29-panel-head span {
  display: block;
  color: #2f80ed;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .08em;
}

.pm-v29-panel-head h2 {
  margin: 3px 0 0;
  color: #1c2a43;
  font-size: 16px;
}

.pm-v29-panel-head > a {
  color: #2f80ed;
  font-size: 8px;
  font-weight: 900;
}

.pm-v29-task-grid {
  display: grid;
  gap: 8px;
}

.pm-v29-task-grid article {
  display: grid;
  grid-template-columns: 40px minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 11px;
  border-radius: 13px;
  background: #f8fbff;
}

.pm-v29-task-grid article.is-complete {
  background: #f0faf6;
}

.pm-v29-task-grid article > span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #fff;
  font-size: 19px;
}

.pm-v29-task-grid strong,
.pm-v29-task-grid small {
  display: block;
}

.pm-v29-task-grid strong {
  color: #25344d;
  font-size: 10px;
}

.pm-v29-task-grid small {
  margin-top: 2px;
  color: #8a95a6;
  font-size: 8px;
}

.pm-v29-task-grid em {
  color: #f39a2a;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
}

.pm-v29-popular-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
}

.pm-v29-popular-grid > a {
  position: relative;
  min-width: 0;
  padding: 12px;
  border-radius: 15px;
  background: #f8fbff;
}

.pm-v29-popular-grid > a > b {
  position: absolute;
  top: 8px;
  left: 8px;
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #25344d;
  color: #fff;
  font-size: 8px;
}

.pm-v29-popular-grid > a > span {
  height: 72px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #fff;
  font-size: 29px;
}

.pm-v29-popular-grid > a > div {
  margin-top: 9px;
}

.pm-v29-popular-grid small,
.pm-v29-popular-grid strong,
.pm-v29-popular-grid em {
  display: block;
}

.pm-v29-popular-grid small {
  color: #2f80ed;
  font-size: 7px;
  font-weight: 900;
}

.pm-v29-popular-grid strong {
  margin-top: 3px;
  color: #24324b;
  font-size: 10px;
  line-height: 1.45;
}

.pm-v29-popular-grid em {
  margin-top: 6px;
  color: #f39a2a;
  font-size: 15px;
  font-style: normal;
  font-weight: 900;
}

.pm-v29-recent-grid,
.pm-v29-dashboard-notices,
.pm-v29-history-list {
  display: grid;
  gap: 7px;
}

.pm-v29-recent-grid > a {
  display: grid;
  grid-template-columns: 40px minmax(0,1fr) auto;
  gap: 9px;
  align-items: center;
  padding: 9px 10px;
  border-radius: 12px;
  background: #f8fbff;
}

.pm-v29-recent-grid > a > span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: #fff;
  font-size: 18px;
}

.pm-v29-recent-grid strong,
.pm-v29-recent-grid small {
  display: block;
}

.pm-v29-recent-grid strong {
  color: #24324b;
  font-size: 9px;
}

.pm-v29-recent-grid small {
  margin-top: 2px;
  color: #8a95a6;
  font-size: 7px;
}

.pm-v29-recent-grid em {
  color: #f39a2a;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.pm-v29-dashboard-notices > a {
  display: grid;
  grid-template-columns: 12px minmax(0,1fr);
  gap: 8px;
  padding: 9px 0;
  border-bottom: 1px solid #edf1f6;
}

.pm-v29-dashboard-notices > a:last-child {
  border-bottom: 0;
}

.pm-v29-dashboard-notices > a > span {
  color: #2f80ed;
  font-size: 8px;
}

.pm-v29-dashboard-notices strong,
.pm-v29-dashboard-notices small {
  display: block;
}

.pm-v29-dashboard-notices strong {
  color: #27354d;
  font-size: 9px;
  line-height: 1.45;
}

.pm-v29-dashboard-notices small {
  margin-top: 3px;
  color: #919bac;
  font-size: 7px;
}

.pm-v29-history-list > div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 0;
  border-bottom: 1px solid #edf1f6;
}

.pm-v29-history-list > div:last-child {
  border-bottom: 0;
}

.pm-v29-history-list strong,
.pm-v29-history-list small {
  display: block;
}

.pm-v29-history-list strong {
  color: #27354d;
  font-size: 9px;
}

.pm-v29-history-list small {
  margin-top: 2px;
  color: #919bac;
  font-size: 7px;
}

.pm-v29-history-list em {
  color: #f39a2a;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.pm-v29-member-mini {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr) auto;
  gap: 11px;
  align-items: center;
}

.pm-v29-member-mini small,
.pm-v29-member-mini strong,
.pm-v29-member-mini span {
  display: block;
}

.pm-v29-member-mini small {
  color: #2f80ed;
  font-size: 7px;
  font-weight: 900;
}

.pm-v29-member-mini strong {
  margin-top: 2px;
  color: #223149;
  font-size: 10px;
}

.pm-v29-member-mini div > span {
  margin-top: 2px;
  color: #8a95a6;
  font-size: 7px;
}

.pm-v29-member-mini > a {
  color: #2f80ed;
  font-size: 8px;
  font-weight: 900;
}

/* notifications */
.pm-notification-page {
  padding-top: 22px;
  margin-bottom: 80px;
}

.pm-v29-page-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-end;
  margin-bottom: 16px;
}

.pm-v29-page-head h1 {
  margin: 4px 0;
  color: #18253e;
  font-size: 31px;
}

.pm-v29-page-head p {
  margin: 0;
  color: #7d899b;
  font-size: 10px;
}

.pm-v29-notice-summary {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,180px));
  gap: 10px;
  margin-bottom: 14px;
}

.pm-v29-notice-summary > div {
  padding: 14px;
  border: 1px solid #e2e9f2;
  border-radius: 15px;
  background: #fff;
}

.pm-v29-notice-summary small,
.pm-v29-notice-summary strong {
  display: block;
}

.pm-v29-notice-summary small {
  color: #8490a2;
  font-size: 8px;
}

.pm-v29-notice-summary strong {
  margin-top: 3px;
  color: #1d2c45;
  font-size: 24px;
}

.pm-v29-notice-summary strong span {
  font-size: 8px;
}

.pm-v29-notice-list {
  display: grid;
  gap: 9px;
}

.pm-v29-notice-item {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid #e2e9f2;
  border-radius: 16px;
  background: #fff;
}

.pm-v29-notice-item.is-unread {
  border-color: #bdd9fb;
  background: #f8fbff;
}

.pm-v29-notice-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #edf6ff;
  font-size: 20px;
}

.pm-v29-notice-copy {
  min-width: 0;
}

.pm-v29-notice-title-row {
  display: flex;
  gap: 8px;
  align-items: center;
}

.pm-v29-notice-title-row strong {
  color: #20304a;
  font-size: 11px;
}

.pm-v29-notice-title-row span {
  padding: 3px 6px;
  border-radius: 999px;
  background: #2f80ed;
  color: #fff;
  font-size: 6px;
  font-weight: 900;
}

.pm-v29-notice-copy p {
  margin: 5px 0 0;
  color: #667389;
  font-size: 9px;
  line-height: 1.65;
}

.pm-v29-notice-copy > small {
  display: block;
  margin-top: 5px;
  color: #929cad;
  font-size: 7px;
}

.pm-v29-notice-action {
  flex: 0 0 auto;
  color: #2f80ed;
  font-size: 9px;
  font-weight: 900;
}

@media (max-width: 1050px) {
  .pm-v29-hero,
  .pm-v29-main-grid {
    grid-template-columns: 1fr;
  }

  .pm-v29-popular-grid {
    grid-template-columns: repeat(3,1fr);
  }
}

@media (max-width: 760px) {
  .pm-v29-search-strip {
    grid-template-columns: 1fr 1fr;
  }

  .pm-v29-search-main {
    grid-column: 1 / -1;
  }

  .pm-v29-hero {
    padding: 22px 18px;
  }

  .pm-v29-hero-copy h1 {
    font-size: 28px;
  }

  .pm-v29-balance-sub,
  .pm-v29-quicknav {
    grid-template-columns: 1fr 1fr;
  }

  .pm-v29-rank-card {
    grid-template-columns: 1fr;
  }

  .pm-v29-popular-grid {
    grid-template-columns: 1fr;
  }

  .pm-v29-page-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .pm-v29-page-head form,
  .pm-v29-page-head .pm-btn {
    width: 100%;
  }

  .pm-v29-notice-item {
    grid-template-columns: 42px minmax(0,1fr);
  }

  .pm-v29-notice-action {
    grid-column: 2;
  }
}

@media (max-width: 480px) {
  .pm-v29-search-strip {
    grid-template-columns: 1fr;
  }

  .pm-v29-search-main {
    grid-column: auto;
  }

  .pm-v29-balance-sub,
  .pm-v29-quicknav {
    grid-template-columns: 1fr;
  }

  .pm-v29-topbar .pm-user-chip-meta {
    display: none;
  }
}


/* =========================================
   POIMORE MEMBER APP DESIGN SYSTEM v3.0
========================================= */
.pm-shared-app-shell {
  background: #f6f9fc;
}

.pm-shared-sidebar {
  border-right: 1px solid #e7edf4;
  background: #fff;
}

.pm-shared-logo {
  min-height: 72px;
}

.pm-shared-sidebar-label {
  margin: 6px 18px 8px;
  color: #a0a9b6;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .12em;
}

.pm-shared-side-nav {
  padding-bottom: 132px;
}

.pm-shared-side-nav > a {
  min-height: 43px;
  gap: 10px;
  margin: 2px 10px;
  padding: 0 12px;
  border-radius: 12px;
  color: #526078;
  font-size: 10px;
  font-weight: 800;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}

.pm-shared-side-nav > a:hover {
  background: #f4f8fc;
  color: #2f80ed;
  transform: translateX(1px);
}

.pm-shared-side-nav > a.is-active {
  background: linear-gradient(135deg,#ecf8ff 0%,#eef7ff 100%);
  color: #2475d4;
  box-shadow: inset 3px 0 0 #2f80ed;
}

.pm-shared-nav-icon {
  width: 24px;
  flex: 0 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

.pm-shared-sidebar-account {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 82px;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr);
  gap: 9px;
  align-items: center;
  padding: 10px;
  border: 1px solid #e5ecf4;
  border-radius: 14px;
  background: #f9fbfe;
}

.pm-shared-sidebar-account strong,
.pm-shared-sidebar-account small {
  display: block;
  overflow-wrap: anywhere;
}

.pm-shared-sidebar-account strong {
  color: #24324a;
  font-size: 9px;
}

.pm-shared-sidebar-account small {
  margin-top: 2px;
  color: #929cab;
  font-size: 7px;
}

.pm-shared-side-bottom {
  bottom: 10px;
}

.pm-shared-topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 22px;
  border-bottom: 1px solid #e7edf4;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(14px);
}

.pm-shared-topbar-title small,
.pm-shared-topbar-title strong {
  display: block;
}

.pm-shared-topbar-title small {
  color: #9aa4b2;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .1em;
}

.pm-shared-topbar-title strong {
  margin-top: 3px;
  color: #17243d;
  font-size: 18px;
  line-height: 1.2;
}

.pm-shared-topbar-actions {
  display: flex;
  align-items: center;
  gap: 9px;
}

.pm-shared-topbar-search,
.pm-shared-bell {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border: 1px solid #e2e9f2;
  border-radius: 13px;
  background: #fff;
  color: #526078;
  font-size: 16px;
}

.pm-shared-topbar-search:hover,
.pm-shared-bell:hover {
  background: #f6f9fc;
}

.pm-shared-user-chip {
  min-height: 44px;
  padding: 4px 8px 4px 5px;
  border: 1px solid #e2e9f2;
  border-radius: 14px;
  background: #fff;
}

.pm-shared-app-main > .pm-dashboard {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 22px;
  padding-right: 22px;
}

/* Common mobile bottom navigation */
.pm-shared-mobile-nav {
  z-index: 900;
  border-top: 1px solid #dde6f0;
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(14px);
}

.pm-shared-mobile-nav > a,
.pm-shared-mobile-nav > button {
  position: relative;
  min-width: 0;
  border: 0;
  background: transparent;
  color: #7a8798;
  font-size: 8px;
  font-weight: 800;
  cursor: pointer;
}

.pm-shared-mobile-nav > a.is-active,
.pm-shared-mobile-nav > button.is-active {
  color: #2f80ed;
}

.pm-mobile-nav-icon {
  position: relative;
  display: block;
  margin-bottom: 2px;
  font-size: 18px;
  line-height: 1;
}

.pm-mobile-nav-icon b {
  position: absolute;
  top: -8px;
  right: calc(50% - 22px);
  min-width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
  padding: 0 4px;
  border-radius: 999px;
  background: #ff5b70;
  color: #fff;
  font-size: 6px;
  font-weight: 900;
}

.pm-mobile-more-button {
  padding: 0;
}

.pm-mobile-menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 980;
  background: rgba(20,32,50,.38);
  opacity: 0;
  transition: opacity .2s ease;
}

.pm-mobile-menu-backdrop.is-open {
  opacity: 1;
}

.pm-mobile-member-menu {
  position: fixed;
  z-index: 990;
  left: 0;
  right: 0;
  bottom: 0;
  max-height: min(76vh,680px);
  overflow-y: auto;
  padding: 10px 16px calc(22px + env(safe-area-inset-bottom));
  border-radius: 24px 24px 0 0;
  background: #fff;
  box-shadow: 0 -18px 50px rgba(21,39,66,.18);
  transform: translateY(110%);
  transition: transform .22s ease;
}

.pm-mobile-member-menu.is-open {
  transform: translateY(0);
}

.pm-mobile-member-menu-handle {
  width: 44px;
  height: 4px;
  margin: 0 auto 10px;
  border-radius: 999px;
  background: #d8e0ea;
}

.pm-mobile-member-menu-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 2px 14px;
}

.pm-mobile-member-menu-head small,
.pm-mobile-member-menu-head strong {
  display: block;
}

.pm-mobile-member-menu-head small {
  color: #2f80ed;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .1em;
}

.pm-mobile-member-menu-head strong {
  margin-top: 3px;
  color: #1c2a43;
  font-size: 15px;
}

.pm-mobile-member-menu-head button {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #f2f6fa;
  color: #5f6d82;
  font-size: 20px;
  cursor: pointer;
}

.pm-mobile-member-menu-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 9px;
}

.pm-mobile-member-menu-grid > a {
  min-width: 0;
  min-height: 86px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 6px;
  border: 1px solid #e4ebf3;
  border-radius: 15px;
  background: #f9fbfe;
  text-align: center;
}

.pm-mobile-member-menu-grid > a.is-active {
  border-color: #bfdbfb;
  background: #eef7ff;
}

.pm-mobile-member-menu-grid span {
  font-size: 21px;
}

.pm-mobile-member-menu-grid strong {
  color: #34425a;
  font-size: 9px;
}

.pm-mobile-member-menu-foot {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 12px;
}

.pm-mobile-member-menu-foot a {
  padding: 11px;
  border-radius: 12px;
  background: #f4f7fa;
  color: #5f6d82;
  text-align: center;
  font-size: 9px;
  font-weight: 800;
}

body.pm-mobile-menu-open {
  overflow: hidden;
}

@media (min-width: 769px) {
  .pm-mobile-member-menu,
  .pm-mobile-menu-backdrop {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .pm-shared-topbar {
    min-height: 62px;
    padding: 9px 14px;
  }

  .pm-shared-topbar-title strong {
    font-size: 15px;
  }

  .pm-shared-topbar-search,
  .pm-shared-bell {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .pm-shared-user-chip {
    min-height: 38px;
  }

  .pm-shared-user-chip .pm-user-chip-meta {
    display: none;
  }

  .pm-shared-app-main > .pm-dashboard {
    padding-left: 13px;
    padding-right: 13px;
  }
}

/* =========================================
   SIDEBAR LAYOUT FIX v3.0.1
   Prevent account/help/logout overlap.
========================================= */
@media (min-width: 769px) {
  .pm-sidebar.pm-shared-sidebar {
    display: flex;
    flex-direction: column;
    height: 100vh;
    min-height: 0;
    overflow: hidden;
    padding: 18px 12px 12px;
  }

  .pm-shared-sidebar .pm-shared-logo {
    flex: 0 0 auto;
    min-height: 58px;
    margin: 0 8px 10px;
  }

  .pm-shared-sidebar .pm-shared-sidebar-label {
    flex: 0 0 auto;
    margin: 2px 14px 7px;
  }

  .pm-shared-sidebar .pm-shared-side-nav {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0 0 8px;
    scrollbar-width: thin;
    scrollbar-color: #d7e1ed transparent;
  }

  .pm-shared-sidebar .pm-shared-side-nav::-webkit-scrollbar {
    width: 5px;
  }

  .pm-shared-sidebar .pm-shared-side-nav::-webkit-scrollbar-track {
    background: transparent;
  }

  .pm-shared-sidebar .pm-shared-side-nav::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #d7e1ed;
  }

  .pm-shared-sidebar .pm-shared-side-nav > a {
    min-height: 41px;
    margin: 2px 6px;
    padding: 0 11px;
  }

  .pm-shared-sidebar .pm-shared-sidebar-account {
    position: static;
    left: auto;
    right: auto;
    bottom: auto;
    flex: 0 0 auto;
    width: auto;
    margin: 7px 4px 6px;
    padding: 9px 10px;
    box-sizing: border-box;
  }

  .pm-shared-sidebar .pm-shared-side-bottom {
    position: static;
    left: auto;
    right: auto;
    bottom: auto;
    flex: 0 0 auto;
    overflow: visible;
    padding: 0;
    margin: 0 0 1px;
    gap: 2px;
  }

  .pm-shared-sidebar .pm-shared-side-bottom > a {
    min-height: 38px;
    margin: 0 6px;
    padding: 0 11px;
  }
}

/* Short desktop windows: compact non-critical spacing while keeping menu scrollable. */
@media (min-width: 769px) and (max-height: 760px) {
  .pm-sidebar.pm-shared-sidebar {
    padding-top: 12px;
  }

  .pm-shared-sidebar .pm-shared-logo {
    min-height: 48px;
    margin-bottom: 5px;
  }

  .pm-shared-sidebar .pm-shared-sidebar-label {
    margin-bottom: 4px;
  }

  .pm-shared-sidebar .pm-shared-side-nav > a {
    min-height: 38px;
  }

  .pm-shared-sidebar .pm-shared-sidebar-account {
    margin-top: 4px;
    margin-bottom: 4px;
  }

  .pm-shared-sidebar .pm-shared-side-bottom > a {
    min-height: 35px;
  }
}


/* =========================================
   USER JOURNEY / ONBOARDING v3.1
========================================= */
.pm-v31-welcome-alert {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 14px;
  padding: 15px 17px;
  border: 1px solid #cde8dd;
  border-radius: 16px;
  background: #effaf5;
}

.pm-v31-welcome-alert > span {
  font-size: 23px;
}

.pm-v31-welcome-alert strong,
.pm-v31-welcome-alert p {
  display: block;
}

.pm-v31-welcome-alert strong {
  color: #1e6f55;
  font-size: 12px;
}

.pm-v31-welcome-alert p {
  margin: 4px 0 0;
  color: #5a746a;
  font-size: 9px;
  line-height: 1.7;
}

.pm-v31-guide-page,
.pm-v31-activity-page {
  padding-top: 20px;
  margin-bottom: 80px;
}

.pm-v31-guide-hero {
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr);
  gap: 18px;
  align-items: center;
  padding: 26px;
  border-radius: 24px;
  background: linear-gradient(135deg,#edf7ff 0%,#f7fbff 50%,#fff6e9 100%);
  border: 1px solid #dce9f6;
}

.pm-v31-guide-hero h1 {
  margin: 7px 0 8px;
  color: #18263e;
  font-size: 32px;
  line-height: 1.28;
  letter-spacing: -.035em;
}

.pm-v31-guide-hero p {
  max-width: 660px;
  margin: 0;
  color: #68758a;
  font-size: 11px;
  line-height: 1.8;
}

.pm-v31-guide-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 17px;
}

.pm-v31-guide-score {
  padding: 20px;
  border-radius: 19px;
  background: #fff;
  border: 1px solid #e2eaf3;
}

.pm-v31-guide-score > small {
  color: #8390a3;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .08em;
}

.pm-v31-guide-score > strong {
  display: block;
  margin-top: 5px;
  color: #2f80ed;
  font-size: 40px;
  line-height: 1;
}

.pm-v31-guide-score > strong span {
  font-size: 12px;
}

.pm-v31-guide-score > div {
  height: 10px;
  margin-top: 13px;
  overflow: hidden;
  border-radius: 999px;
  background: #eaf0f6;
}

.pm-v31-guide-score > div span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,#2bc5ba,#2f80ed);
}

.pm-v31-guide-score p {
  margin: 7px 0 0;
  color: #7c889a;
  font-size: 9px;
}

.pm-v31-guide-steps {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.pm-v31-guide-steps article {
  display: grid;
  grid-template-columns: 36px 48px minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 15px 17px;
  border: 1px solid #e2e9f2;
  border-radius: 17px;
  background: #fff;
}

.pm-v31-guide-steps article.is-complete {
  border-color: #caeadc;
  background: #fbfffd;
}

.pm-v31-step-number {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf5ff;
  color: #2f80ed;
  font-size: 10px;
  font-weight: 900;
}

.pm-v31-guide-steps article.is-complete .pm-v31-step-number {
  background: #e6f8f0;
  color: #16805b;
}

.pm-v31-step-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #f7faff;
  font-size: 22px;
}

.pm-v31-step-copy > div {
  display: flex;
  gap: 8px;
  align-items: center;
}

.pm-v31-step-copy h2 {
  margin: 0;
  color: #223149;
  font-size: 13px;
}

.pm-v31-step-copy > div > span {
  padding: 3px 7px;
  border-radius: 999px;
  background: #e7f8f0;
  color: #17805b;
  font-size: 7px;
  font-weight: 900;
}

.pm-v31-step-copy p {
  margin: 4px 0 0;
  color: #7b8799;
  font-size: 9px;
  line-height: 1.65;
}

.pm-v31-guide-steps article > a {
  color: #2f80ed;
  font-size: 9px;
  font-weight: 900;
  white-space: nowrap;
}

.pm-v31-guide-notes {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  margin-top: 16px;
}

.pm-v31-guide-notes > div {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 15px;
  border: 1px solid #e2e9f2;
  border-radius: 16px;
  background: #fff;
}

.pm-v31-guide-notes > div > span {
  font-size: 20px;
}

.pm-v31-guide-notes strong {
  display: block;
  color: #26354d;
  font-size: 10px;
}

.pm-v31-guide-notes p {
  margin: 4px 0 0;
  color: #7b8799;
  font-size: 8px;
  line-height: 1.7;
}

/* Dashboard onboarding */
.pm-v31-dashboard-guide {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(250px,.55fr);
  gap: 16px;
  align-items: center;
  margin: 15px 0;
  padding: 15px 17px;
  border: 1px solid #d8e7f7;
  border-radius: 17px;
  background: linear-gradient(135deg,#f4f9ff,#fffaf2);
}

.pm-v31-dashboard-guide-copy {
  display: flex;
  gap: 11px;
  align-items: center;
}

.pm-v31-dashboard-guide-copy > span {
  width: 43px;
  height: 43px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #fff;
  font-size: 20px;
}

.pm-v31-dashboard-guide-copy small,
.pm-v31-dashboard-guide-copy strong,
.pm-v31-dashboard-guide-copy p {
  display: block;
}

.pm-v31-dashboard-guide-copy small {
  color: #2f80ed;
  font-size: 7px;
  font-weight: 900;
}

.pm-v31-dashboard-guide-copy strong {
  margin-top: 2px;
  color: #223149;
  font-size: 11px;
}

.pm-v31-dashboard-guide-copy p {
  margin: 3px 0 0;
  color: #7c889a;
  font-size: 8px;
}

.pm-v31-dashboard-guide-progress > div {
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #e5ecf4;
}

.pm-v31-dashboard-guide-progress > div span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,#2bc5ba,#2f80ed);
}

.pm-v31-dashboard-guide-progress > a {
  display: block;
  margin-top: 7px;
  color: #2f80ed;
  text-align: right;
  font-size: 8px;
  font-weight: 900;
}

/* Activity */
.pm-v31-page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 15px;
}

.pm-v31-page-head h1 {
  margin: 4px 0;
  color: #18263e;
  font-size: 29px;
}

.pm-v31-page-head p {
  margin: 0;
  color: #7e899a;
  font-size: 10px;
}

.pm-v31-activity-summary {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.pm-v31-activity-summary > div {
  padding: 13px;
  border: 1px solid #e2e9f2;
  border-radius: 15px;
  background: #fff;
}

.pm-v31-activity-summary span,
.pm-v31-activity-summary small,
.pm-v31-activity-summary strong {
  display: block;
}

.pm-v31-activity-summary span { font-size: 18px; }
.pm-v31-activity-summary small { margin-top:5px;color:#8390a2;font-size:7px; }
.pm-v31-activity-summary strong { margin-top:3px;color:#223149;font-size:20px; }

.pm-v31-activity-filters {
  display: flex;
  gap: 7px;
  overflow-x: auto;
  margin-bottom: 12px;
  scrollbar-width: none;
}

.pm-v31-activity-filters::-webkit-scrollbar { display:none; }

.pm-v31-activity-filters a {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 11px;
  border: 1px solid #e1e8f1;
  border-radius: 999px;
  background: #fff;
  color: #5f6c80;
  font-size: 8px;
  font-weight: 900;
}

.pm-v31-activity-filters a span {
  min-width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #f0f4f8;
  font-size: 7px;
}

.pm-v31-activity-filters a.is-active {
  background: #2f80ed;
  border-color: #2f80ed;
  color: #fff;
}

.pm-v31-activity-list {
  display: grid;
  gap: 10px;
}

.pm-v31-activity-item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(230px,1.1fr) minmax(200px,.9fr) minmax(130px,.55fr) minmax(230px,.8fr) auto;
  gap: 12px;
  align-items: center;
  padding: 15px 16px;
  border: 1px solid #e2e9f2;
  border-radius: 17px;
  background: #fff;
}

.pm-v31-activity-item.is-approved {
  border-color: #cde9dc;
}

.pm-v31-activity-item.is-rejected {
  border-color: #f2d8dc;
}

.pm-v31-activity-offer {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.pm-v31-activity-offer > span {
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #f0f7ff;
  font-size: 22px;
}

.pm-v31-activity-offer small,
.pm-v31-activity-offer strong,
.pm-v31-activity-offer em {
  display: block;
}

.pm-v31-activity-offer small {
  color: #2f80ed;
  font-size: 7px;
  font-weight: 900;
}

.pm-v31-activity-offer strong {
  margin-top: 2px;
  color: #223149;
  font-size: 10px;
  line-height: 1.45;
}

.pm-v31-activity-offer em {
  margin-top: 3px;
  color: #929cad;
  font-size: 7px;
  font-style: normal;
}

.pm-v31-activity-status {
  display: flex;
  gap: 8px;
  align-items: center;
}

.pm-v31-activity-status > span {
  font-size: 18px;
}

.pm-v31-activity-status strong,
.pm-v31-activity-status small {
  display: block;
}

.pm-v31-activity-status strong {
  color: #2a394f;
  font-size: 9px;
}

.pm-v31-activity-status small {
  margin-top: 2px;
  color: #8995a6;
  font-size: 7px;
  line-height: 1.5;
}

.pm-v31-activity-progress > div {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e9eff5;
}

.pm-v31-activity-progress > div span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,#2bc5ba,#2f80ed);
}

.pm-v31-activity-item.is-rejected .pm-v31-activity-progress > div span {
  background: #e66b7a;
}

.pm-v31-activity-progress > small {
  display: block;
  margin-top: 4px;
  color: #8995a6;
  font-size: 7px;
}

.pm-v31-activity-meta {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 5px;
}

.pm-v31-activity-meta > div {
  padding: 7px;
  border-radius: 10px;
  background: #f8fbff;
}

.pm-v31-activity-meta small,
.pm-v31-activity-meta strong {
  display: block;
}

.pm-v31-activity-meta small {
  color: #8a96a7;
  font-size: 6px;
}

.pm-v31-activity-meta strong {
  margin-top: 2px;
  color: #26354d;
  font-size: 8px;
}

.pm-v31-activity-detail {
  color: #2f80ed;
  font-size: 8px;
  font-weight: 900;
  white-space: nowrap;
}

.pm-v31-activity-note {
  margin-top: 12px;
  padding: 13px 15px;
  border: 1px solid #f0dfbc;
  border-radius: 14px;
  background: #fffaf1;
}

.pm-v31-activity-note strong {
  color: #745d31;
  font-size: 9px;
}

.pm-v31-activity-note p {
  margin: 4px 0 0;
  color: #7d6c4d;
  font-size: 8px;
  line-height: 1.7;
}

@media (max-width: 1100px) {
  .pm-v31-activity-item {
    grid-template-columns: 1fr 1fr;
  }

  .pm-v31-activity-progress,
  .pm-v31-activity-meta {
    grid-column: span 1;
  }
}

@media (max-width: 800px) {
  .pm-v31-guide-hero,
  .pm-v31-dashboard-guide {
    grid-template-columns: 1fr;
  }

  .pm-v31-guide-notes {
    grid-template-columns: 1fr;
  }

  .pm-v31-activity-summary {
    grid-template-columns: repeat(2,1fr);
  }

  .pm-v31-page-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .pm-v31-page-head .pm-btn {
    width: 100%;
  }
}

@media (max-width: 620px) {
  .pm-v31-guide-hero {
    padding: 20px 17px;
  }

  .pm-v31-guide-hero h1 {
    font-size: 27px;
  }

  .pm-v31-guide-steps article {
    grid-template-columns: 34px 42px minmax(0,1fr);
  }

  .pm-v31-guide-steps article > a {
    grid-column: 3;
  }

  .pm-v31-step-icon {
    width: 42px;
    height: 42px;
  }

  .pm-v31-activity-item {
    grid-template-columns: 1fr;
  }

  .pm-v31-activity-progress,
  .pm-v31-activity-meta {
    grid-column: auto;
  }

  .pm-v31-activity-detail {
    display: block;
    padding: 9px 10px;
    border-radius: 10px;
    background: #f1f7ff;
    text-align: center;
  }
}


/* =========================================
   OFFERS SEARCH HEADER CLEANUP v3.1.1
========================================= */
.pm-v27-search-row.pm-v311-search-row {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
}

.pm-v311-search-row .pm-v27-search-area {
  grid-template-columns: minmax(420px, 1fr) 92px 150px;
}

.pm-v311-search-row .pm-v27-user-area {
  justify-self: end;
}

@media (max-width: 1200px) {
  .pm-v27-search-row.pm-v311-search-row {
    grid-template-columns: 1fr;
  }

  .pm-v311-search-row .pm-v27-user-area {
    justify-self: stretch;
    justify-content: flex-end;
  }
}

@media (max-width: 900px) {
  .pm-v311-search-row .pm-v27-search-area {
    grid-template-columns: minmax(0,1fr) 90px;
  }

  .pm-v311-search-row .pm-v27-sort {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .pm-v311-search-row .pm-v27-search-area {
    grid-template-columns: 1fr;
  }

  .pm-v311-search-row .pm-v27-search-button,
  .pm-v311-search-row .pm-v27-sort {
    width: 100%;
  }
}


/* =========================================
   v3.1.2 MY PAGE LINK + EXCHANGE CTA
========================================= */
.pm-header-mypage-btn {
  position: relative;
  z-index: 3;
  cursor: pointer;
}

.pm-v312-exchange-cta {
  display: grid !important;
  grid-template-columns: 38px minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
  margin-top: 14px !important;
  padding: 12px 13px;
  border-radius: 14px;
  background: linear-gradient(135deg,#ffb54a,#f39a2a);
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(243,154,42,.18);
}

.pm-v312-exchange-cta > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: rgba(255,255,255,.22);
  font-size: 18px;
}

.pm-v312-exchange-cta strong,
.pm-v312-exchange-cta small {
  display: block;
}

.pm-v312-exchange-cta strong {
  color: #fff;
  font-size: 11px;
}

.pm-v312-exchange-cta small {
  margin-top: 2px;
  color: rgba(255,255,255,.86);
  font-size: 7px;
}

.pm-v312-exchange-cta em {
  color: #fff;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
}

.pm-v29-quicknav .quick-exchange-v312 {
  border-color: #f5d6aa;
  background: linear-gradient(180deg,#fff8ee,#fff);
}

.pm-v29-quicknav .quick-exchange-v312 strong {
  color: #b86a17;
}

@media (max-width: 620px) {
  .pm-v312-exchange-cta {
    grid-template-columns: 34px minmax(0,1fr) auto;
  }
}


/* =========================================
   v3.1.3 GLOBAL POINT EXCHANGE CTA
========================================= */
.pm-header-exchange-btn {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 14px;
  border: 1px solid #f4d3a0;
  border-radius: 13px;
  background: linear-gradient(135deg,#ffb44a,#f39a2a);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  box-shadow: 0 7px 18px rgba(243,154,42,.15);
}

.pm-header-exchange-btn:hover {
  color: #fff;
  transform: translateY(-1px);
}

.pm-shared-exchange-button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 13px;
  border-radius: 13px;
  background: linear-gradient(135deg,#ffb44a,#f39a2a);
  color: #fff;
  box-shadow: 0 7px 17px rgba(243,154,42,.16);
}

.pm-shared-exchange-button span {
  font-size: 15px;
}

.pm-shared-exchange-button strong {
  color: #fff;
  font-size: 9px;
  white-space: nowrap;
}

.pm-shared-side-nav a.is-exchange-link,
.pm-mobile-member-menu a.is-exchange-link {
  border-color: #f3d4a7;
  background: linear-gradient(135deg,#fff8ed,#fff);
}

.pm-shared-side-nav a.is-exchange-link > span:not(.pm-shared-nav-icon),
.pm-mobile-member-menu a.is-exchange-link {
  color: #b96812;
  font-weight: 900;
}

@media (max-width: 760px) {
  .pm-header-exchange-btn {
    display: none;
  }

  .pm-shared-exchange-button {
    min-width: 42px;
    width: 42px;
    padding: 0;
  }

  .pm-shared-exchange-button strong {
    display: none;
  }
}
\n\n/* =========================================\n   v3.1.4 MY PAGE CLARITY + EXCHANGE DISCOVERY\n========================================= */\n.pm-v314-page-identity {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 18px;\n  margin-bottom: 14px;\n  padding: 16px 18px;\n  border: 1px solid #dfe8f3;\n  border-radius: 18px;\n  background: #fff;\n}\n\n.pm-v314-page-identity > div:first-child > span {\n  display: block;\n  color: #2f80ed;\n  font-size: 8px;\n  font-weight: 900;\n  letter-spacing: .1em;\n}\n\n.pm-v314-page-identity h1 {\n  margin: 3px 0 2px;\n  color: #18263e;\n  font-size: 24px;\n}\n\n.pm-v314-page-identity p {\n  margin: 0;\n  color: #7d899b;\n  font-size: 9px;\n}\n\n.pm-v314-identity-exchange {\n  min-width: 210px;\n  display: grid;\n  grid-template-columns: 38px minmax(0,1fr) auto;\n  gap: 10px;\n  align-items: center;\n  padding: 11px 13px;\n  border-radius: 14px;\n  background: linear-gradient(135deg,#ffb74f,#f39a2a);\n  color: #fff;\n  box-shadow: 0 8px 18px rgba(243,154,42,.18);\n}\n\n.pm-v314-identity-exchange > span {\n  width: 38px;\n  height: 38px;\n  display: grid;\n  place-items: center;\n  border-radius: 11px;\n  background: rgba(255,255,255,.22);\n  font-size: 18px;\n}\n\n.pm-v314-identity-exchange small,\n.pm-v314-identity-exchange strong { display:block; }\n.pm-v314-identity-exchange small { color:rgba(255,255,255,.85);font-size:7px; }\n.pm-v314-identity-exchange strong { margin-top:2px;color:#fff;font-size:11px; }\n.pm-v314-identity-exchange em { color:#fff;font-size:14px;font-style:normal;font-weight:900; }\n\n/* Public top page: make logged-in destination explicit. */\n.pm-v314-front-exchange {\n  background: linear-gradient(135deg,#ffb74f,#f39a2a) !important;\n  border-color: transparent !important;\n  color: #fff !important;\n  box-shadow: 0 8px 18px rgba(243,154,42,.16);\n}\n\n.pm-v314-final-exchange {\n  margin-left: 8px;\n  background: #ffb14b !important;\n  color: #fff !important;\n  border: 1px solid rgba(255,255,255,.22) !important;\n}\n\n/* Make all shared exchange entry points visually consistent. */\n.pm-shared-exchange-button,\n.pm-header-exchange-btn {\n  background: linear-gradient(135deg,#ffb74f,#f39a2a) !important;\n  border-color: transparent !important;\n  color: #fff !important;\n  box-shadow: 0 7px 16px rgba(243,154,42,.14);\n}\n\n.pm-shared-exchange-button strong,\n.pm-header-exchange-btn {\n  color: #fff !important;\n}\n\n.pm-shared-side-nav a.is-exchange-link {\n  border: 1px solid #f4d3a5 !important;\n  background: linear-gradient(135deg,#fff6e8,#fff) !important;\n}\n\n.pm-shared-side-nav a.is-exchange-link > span:not(.pm-shared-nav-icon) {\n  color: #b76916 !important;\n  font-weight: 900 !important;\n}\n\n/* Mobile: Exchange is now a primary tab. */\n.pm-shared-mobile-nav a[href*="/mypage/exchange/"] {\n  color: #c47519;\n}\n\n.pm-shared-mobile-nav a[href*="/mypage/exchange/"].is-active {\n  color: #f39a2a;\n}\n\n@media (max-width: 760px) {\n  .pm-v314-page-identity {\n    align-items: stretch;\n    flex-direction: column;\n  }\n\n  .pm-v314-identity-exchange {\n    width: 100%;\n    min-width: 0;\n  }\n\n  .pm-v314-front-exchange {\n    width: 100%;\n  }\n}\n

/* =========================================
   v3.1.5 DASHBOARD DISCOVERY + MEMBER MENU
========================================= */
.pm-v315-topbar {
  min-height: 76px;
}

.pm-v315-topbar-actions {
  gap: 10px;
}

.pm-v315-wallet {
  min-width: 176px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 12px 10px 14px;
  border: 1px solid #f4d3a5;
  border-radius: 15px;
  background: linear-gradient(135deg,#fff8ee,#fff);
  box-shadow: 0 5px 15px rgba(243,154,42,.08);
}

.pm-v315-wallet small,
.pm-v315-wallet strong {
  display: block;
}

.pm-v315-wallet small {
  color: #8b7560;
  font-size: 7px;
  font-weight: 800;
}

.pm-v315-wallet strong {
  margin-top: 2px;
  color: #f39a2a;
  font-size: 21px;
  line-height: 1;
}

.pm-v315-wallet strong span {
  margin-left: 2px;
  font-size: 8px;
}

.pm-v315-wallet em {
  min-height: 35px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 11px;
  border-radius: 10px;
  background: linear-gradient(135deg,#ffb54a,#f28f20);
  color: #fff;
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.pm-v315-menu-button {
  width: 46px;
  height: 46px;
  display: grid;
  place-content: center;
  gap: 5px;
  padding: 0;
  border: 1px solid #e0e8f1;
  border-radius: 13px;
  background: #fff;
  cursor: pointer;
}

.pm-v315-menu-button span {
  width: 21px;
  height: 2px;
  display: block;
  border-radius: 999px;
  background: #2f80ed;
}

.pm-v315-menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9997;
  background: rgba(20,30,45,.54);
  opacity: 0;
  transition: opacity .18s ease;
}

.pm-v315-menu-backdrop.is-open {
  opacity: 1;
}

.pm-v315-menu-modal {
  position: fixed;
  z-index: 9998;
  top: 50%;
  left: 50%;
  width: min(860px, calc(100vw - 44px));
  max-height: min(760px, calc(100vh - 44px));
  overflow-y: auto;
  transform: translate(-50%,-46%) scale(.98);
  padding: 26px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(16,31,54,.28);
  opacity: 0;
  visibility: hidden;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.pm-v315-menu-modal.is-open {
  transform: translate(-50%,-50%) scale(1);
  opacity: 1;
  visibility: visible;
}

body.pm-desktop-menu-open {
  overflow: hidden;
}

.pm-v315-menu-head {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto 42px;
  gap: 15px;
  align-items: center;
  padding-bottom: 18px;
  border-bottom: 1px solid #e7edf4;
}

.pm-v315-menu-head > div:first-child small,
.pm-v315-menu-head > div:first-child strong,
.pm-v315-menu-head > div:first-child span {
  display: block;
}

.pm-v315-menu-head > div:first-child small {
  color: #2f80ed;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .08em;
}

.pm-v315-menu-head > div:first-child strong {
  margin-top: 3px;
  color: #1d2b43;
  font-size: 17px;
}

.pm-v315-menu-head > div:first-child span {
  margin-top: 3px;
  color: #8b96a6;
  font-size: 8px;
}

.pm-v315-menu-wallet {
  min-width: 205px;
  padding: 11px 13px;
  border-radius: 14px;
  background: linear-gradient(135deg,#fff6e8,#fff);
  border: 1px solid #f3d09d;
}

.pm-v315-menu-wallet small,
.pm-v315-menu-wallet strong,
.pm-v315-menu-wallet em {
  display: block;
}

.pm-v315-menu-wallet small {
  color: #92724d;
  font-size: 7px;
}

.pm-v315-menu-wallet strong {
  margin-top: 2px;
  color: #f39a2a;
  font-size: 22px;
}

.pm-v315-menu-wallet strong span {
  font-size: 8px;
}

.pm-v315-menu-wallet em {
  margin-top: 4px;
  color: #b96916;
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
}

.pm-v315-menu-close {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid #e4eaf1;
  border-radius: 12px;
  background: #fff;
  color: #47556b;
  font-size: 22px;
  cursor: pointer;
}

.pm-v315-menu-section {
  margin-top: 20px;
}

.pm-v315-menu-section-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 11px;
  color: #2f80ed;
  font-size: 10px;
  font-weight: 900;
}

.pm-v315-menu-section-title::after {
  content: '';
  height: 1px;
  flex: 1;
  background: #dde7f1;
}

.pm-v315-menu-earn-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 9px;
}

.pm-v315-menu-earn-grid > a {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 12px;
  border-radius: 13px;
  background: #f8fbff;
  color: #26354d;
}

.pm-v315-menu-earn-grid > a > span {
  font-size: 19px;
}

.pm-v315-menu-earn-grid strong {
  font-size: 9px;
}

.pm-v315-menu-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
}

.pm-v315-menu-grid > a {
  min-width: 0;
  min-height: 112px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px;
  border: 1px solid #e1e9f2;
  border-radius: 16px;
  background: #fff;
  color: #26354d;
  text-align: center;
}

.pm-v315-menu-grid > a:hover,
.pm-v315-menu-grid > a.is-active {
  border-color: #b7d7fb;
  background: #f5faff;
}

.pm-v315-menu-grid > a > span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf6ff;
  font-size: 20px;
}

.pm-v315-menu-grid > a > strong {
  font-size: 10px;
}

.pm-v315-menu-grid > a > small {
  color: #8c98a9;
  font-size: 7px;
}

.pm-v315-menu-grid > a.pm-v315-menu-exchange {
  border: 0;
  background: linear-gradient(135deg,#ffb54a,#f28f20);
  color: #fff;
  box-shadow: 0 10px 22px rgba(243,154,42,.18);
}

.pm-v315-menu-grid > a.pm-v315-menu-exchange > span {
  background: rgba(255,255,255,.22);
}

.pm-v315-menu-grid > a.pm-v315-menu-exchange > strong,
.pm-v315-menu-grid > a.pm-v315-menu-exchange > small {
  color: #fff;
}

.pm-v315-menu-foot {
  display: flex;
  justify-content: flex-end;
  gap: 18px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #e7edf4;
}

.pm-v315-menu-foot a {
  color: #657287;
  font-size: 9px;
  font-weight: 800;
}

/* Dashboard usage section */
.pm-v315-usage-section {
  margin: 16px 0;
  padding: 20px;
  border: 1px solid #e1e9f2;
  border-radius: 20px;
  background: #fff;
}

.pm-v315-usage-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 13px;
}

.pm-v315-usage-head span {
  display: block;
  color: #2f80ed;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .09em;
}

.pm-v315-usage-head h2 {
  margin: 3px 0 3px;
  color: #1c2a43;
  font-size: 19px;
}

.pm-v315-usage-head p {
  margin: 0;
  color: #8390a2;
  font-size: 9px;
}

.pm-v315-usage-head > a {
  color: #2f80ed;
  font-size: 8px;
  font-weight: 900;
  white-space: nowrap;
}

.pm-v315-usage-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}

.pm-v315-usage-card {
  position: relative;
  min-height: 180px;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0,1fr) 105px;
  gap: 10px;
  align-items: center;
  padding: 20px;
  border-radius: 18px;
  color: #25344c;
}

.pm-v315-usage-card.is-offers { background: linear-gradient(135deg,#eaf5ff,#f7fbff); }
.pm-v315-usage-card.is-daily { background: linear-gradient(135deg,#fff2df,#fffaf2); }
.pm-v315-usage-card.is-referral { background: linear-gradient(135deg,#edf9f4,#f8fffc); }
.pm-v315-usage-card.is-exchange { background: linear-gradient(135deg,#ffb64d,#f28e1e); color:#fff; }

.pm-v315-usage-copy {
  min-width: 0;
}

.pm-v315-usage-copy small,
.pm-v315-usage-copy strong,
.pm-v315-usage-copy p,
.pm-v315-usage-copy span {
  display: block;
}

.pm-v315-usage-copy small {
  font-size: 8px;
  font-weight: 900;
  opacity: .72;
}

.pm-v315-usage-copy strong {
  margin-top: 4px;
  font-size: 21px;
  line-height: 1.3;
}

.pm-v315-usage-copy p {
  margin: 7px 0 0;
  font-size: 9px;
  line-height: 1.7;
  opacity: .8;
}

.pm-v315-usage-copy span {
  margin-top: 13px;
  font-size: 9px;
  font-weight: 900;
}

.pm-v315-usage-icon {
  width: 92px;
  height: 92px;
  display: grid;
  place-items: center;
  justify-self: end;
  border-radius: 25px;
  background: rgba(255,255,255,.66);
  font-size: 42px;
}

.pm-v315-usage-card.is-exchange .pm-v315-usage-icon {
  background: rgba(255,255,255,.2);
}

/* Make exchange CTA visually dominant inside the balance card. */
.pm-v29-balance-card .pm-v312-exchange-cta {
  min-height: 58px;
  margin-top: 15px !important;
  border: 2px solid rgba(255,255,255,.75);
  box-shadow: 0 11px 24px rgba(219,121,23,.24);
}

.pm-v29-balance-card .pm-v312-exchange-cta strong {
  font-size: 12px;
}

@media (max-width: 900px) {
  .pm-v315-wallet {
    min-width: 150px;
  }

  .pm-v315-menu-modal {
    width: min(720px, calc(100vw - 30px));
  }

  .pm-v315-menu-earn-grid {
    grid-template-columns: repeat(2,1fr);
  }
}

@media (max-width: 760px) {
  .pm-v315-wallet {
    min-width: 0;
    padding: 8px 9px;
  }

  .pm-v315-wallet > div small,
  .pm-v315-wallet em {
    display: none;
  }

  .pm-v315-wallet strong {
    font-size: 17px;
  }

  .pm-v315-menu-button {
    display: none;
  }

  .pm-v315-menu-modal,
  .pm-v315-menu-backdrop {
    display: none !important;
  }

  .pm-v315-usage-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .pm-v315-usage-grid {
    grid-template-columns: 1fr;
  }

  .pm-v315-usage-card {
    min-height: 155px;
    grid-template-columns: minmax(0,1fr) 82px;
    padding: 17px;
  }

  .pm-v315-usage-icon {
    width: 74px;
    height: 74px;
    font-size: 32px;
  }
}


/* =========================================
   v3.1.6 PUBLIC LOGGED-IN HEADER MENU
========================================= */
.pm-site-header.pm-public-member-header {
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid #e7edf4;
  box-shadow: 0 3px 14px rgba(22,41,72,.035);
}

.pm-public-member-header .pm-header-inner {
  min-height: 72px;
  justify-content: space-between;
}

.pm-public-member-right {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
}

.pm-public-member-user {
  text-align: right;
  line-height: 1.25;
}

.pm-public-member-user strong,
.pm-public-member-user small {
  display: block;
}

.pm-public-member-user strong {
  color: #26354d;
  font-size: 12px;
}

.pm-public-member-user small {
  margin-top: 3px;
  color: #8a96a7;
  font-size: 8px;
}

.pm-public-member-points {
  min-width: 100px;
  padding: 8px 12px;
  border-left: 1px solid #e7edf4;
  border-right: 1px solid #e7edf4;
  text-align: center;
}

.pm-public-member-points small,
.pm-public-member-points strong {
  display: block;
}

.pm-public-member-points small {
  color: #8a96a7;
  font-size: 7px;
}

.pm-public-member-points strong {
  margin-top: 2px;
  color: #f39a2a;
  font-size: 19px;
  line-height: 1;
}

.pm-public-member-points strong span {
  margin-left: 2px;
  font-size: 8px;
}

.pm-public-member-header .pm-v315-menu-button {
  flex: 0 0 auto;
}

@media (max-width: 760px) {
  .pm-public-member-header .pm-header-inner {
    min-height: 62px;
    gap: 10px;
  }

  .pm-public-member-user {
    display: none;
  }

  .pm-public-member-points {
    min-width: 76px;
    padding: 7px 8px;
  }

  .pm-public-member-points strong {
    font-size: 15px;
  }

  .pm-public-member-header .pm-v315-menu-button {
    width: 42px;
    height: 42px;
  }
}


/* =========================================
   PUBLIC INDEX + MEMBER FOOTER v3.1.7
========================================= */
.pm-member-public-footer {
  display: grid;
  grid-template-columns: minmax(190px,.55fr) minmax(0,1.45fr);
  gap: 20px 28px;
  align-items: start;
  margin: 28px 20px 88px;
  padding: 22px 24px;
  border: 1px solid #e2eaf3;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(25,74,130,.035);
}

.pm-member-public-footer-brand .pm-logo {
  display: inline-flex;
}

.pm-member-public-footer-brand p {
  margin: 8px 0 0;
  color: #8792a3;
  font-size: 9px;
}

.pm-member-public-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  align-items: center;
  justify-content: flex-end;
}

.pm-member-public-footer-links a {
  color: #4f5d73;
  font-size: 9px;
  font-weight: 800;
}

.pm-member-public-footer-links a:hover {
  color: #2f80ed;
}

.pm-member-public-footer-note {
  grid-column: 1 / -1;
  display: flex;
  gap: 8px;
  align-items: center;
  padding-top: 13px;
  border-top: 1px solid #edf1f6;
}

.pm-member-public-footer-note > span {
  flex: 0 0 auto;
  padding: 5px 8px;
  border-radius: 999px;
  background: #edf6ff;
  color: #2f80ed;
  font-size: 7px;
  font-weight: 900;
}

.pm-member-public-footer-note small {
  color: #8a95a6;
  font-size: 8px;
}

@media (max-width: 760px) {
  .pm-member-public-footer {
    grid-template-columns: 1fr;
    margin: 22px 12px 92px;
    padding: 18px;
  }

  .pm-member-public-footer-links {
    justify-content: flex-start;
  }
}


/* =========================================
   PUBLIC TRUST / LEGAL PAGES v3.2
========================================= */
.pm-public-hero {
  padding: 48px 0 42px;
  background:
    radial-gradient(circle at 84% 18%, rgba(47,128,237,.12), transparent 28%),
    linear-gradient(180deg,#f7fbff 0%,#eef6ff 100%);
  border-bottom: 1px solid #e1e9f3;
}

.pm-public-breadcrumb {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 24px;
  color: #8490a2;
  font-size: 10px;
}

.pm-public-breadcrumb a {
  color: #5f6c80;
}

.pm-public-eyebrow {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: #e9f4ff;
  color: #2f80ed;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}

.pm-public-hero h1 {
  margin: 12px 0 9px;
  color: #17243d;
  font-size: clamp(34px,5vw,54px);
  line-height: 1.18;
  letter-spacing: -.045em;
}

.pm-public-hero p {
  max-width: 760px;
  margin: 0;
  color: #66748a;
  font-size: 14px;
  line-height: 1.9;
}

.pm-public-main {
  padding: 34px 0 74px;
  background: #f7f9fc;
}

.pm-public-intro-card {
  display: grid;
  grid-template-columns: minmax(0,1.4fr) minmax(240px,.6fr);
  gap: 24px;
  align-items: center;
  padding: 28px;
  border: 1px solid #dfe8f2;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(25,74,130,.045);
}

.pm-public-intro-card > div:first-child > span {
  color: #2f80ed;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}

.pm-public-intro-card h2 {
  margin: 7px 0 10px;
  color: #192840;
  font-size: 28px;
}

.pm-public-intro-card p {
  margin: 0;
  color: #657287;
  font-size: 13px;
  line-height: 1.95;
}

.pm-public-intro-point {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 8px;
  padding: 25px;
  border-radius: 20px;
  background: linear-gradient(135deg,#fff5e5,#fff);
  border: 1px solid #f2dfbc;
  text-align: center;
}

.pm-public-intro-point strong {
  color: #f39a2a;
  font-size: 27px;
}

.pm-public-intro-point > span {
  color: #9a7a44;
  font-size: 18px;
}

.pm-public-intro-point small {
  flex-basis: 100%;
  color: #8c7a5d;
  font-size: 9px;
  line-height: 1.6;
}

.pm-public-section {
  margin-top: 28px;
}

.pm-public-soft-section {
  padding: 28px;
  border: 1px solid #e0e9f2;
  border-radius: 24px;
  background: #fff;
}

.pm-public-section-head {
  margin-bottom: 16px;
}

.pm-public-section-head > span {
  display: block;
  color: #2f80ed;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}

.pm-public-section-head h2 {
  margin: 5px 0 0;
  color: #192840;
  font-size: 27px;
}

.pm-public-step-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
}

.pm-public-step-grid article {
  position: relative;
  min-height: 210px;
  padding: 22px;
  border: 1px solid #dfe8f2;
  border-radius: 20px;
  background: #fff;
}

.pm-public-step-grid article > b {
  position: absolute;
  top: 14px;
  right: 15px;
  color: #d9e8f8;
  font-size: 28px;
}

.pm-public-step-grid article > span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #eef6ff;
  font-size: 23px;
}

.pm-public-step-grid h3 {
  margin: 16px 0 7px;
  color: #223149;
  font-size: 16px;
}

.pm-public-step-grid p {
  margin: 0;
  color: #748095;
  font-size: 11px;
  line-height: 1.8;
}

.pm-public-check-list {
  display: grid;
  gap: 9px;
}

.pm-public-check-list > div {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  gap: 12px;
  align-items: flex-start;
  padding: 13px 15px;
  border-radius: 14px;
  background: #f7fbff;
}

.pm-public-check-list > div > span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #2f80ed;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
}

.pm-public-check-list p {
  margin: 2px 0 0;
  color: #647187;
  font-size: 11px;
  line-height: 1.75;
}

.pm-public-check-list strong {
  color: #25344c;
}

.pm-public-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.pm-public-info-card {
  padding: 22px;
  border: 1px solid #dfe8f2;
  border-radius: 18px;
  background: #fff;
}

.pm-public-info-card > span {
  font-size: 25px;
}

.pm-public-info-card h3 {
  margin: 10px 0 6px;
  color: #223149;
}

.pm-public-info-card p {
  margin: 0;
  color: #718095;
  font-size: 11px;
  line-height: 1.8;
}

.pm-public-cta {
  margin-top: 30px;
  padding: 34px 28px;
  border-radius: 25px;
  background: linear-gradient(135deg,#2f80ed,#52a2fb);
  color: #fff;
  text-align: center;
}

.pm-public-cta > span {
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
  opacity: .8;
}

.pm-public-cta h2 {
  margin: 8px 0;
  color: #fff;
  font-size: 29px;
}

.pm-public-cta p {
  margin: 0;
  color: rgba(255,255,255,.85);
  font-size: 11px;
}

.pm-public-cta > div {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 17px;
}

/* FAQ */
.pm-faq-layout {
  display: grid;
  gap: 26px;
}

.pm-faq-group > h2 {
  margin: 0 0 12px;
  color: #1d2c44;
  font-size: 22px;
}

.pm-faq-items {
  display: grid;
  gap: 8px;
}

.pm-faq-item {
  border: 1px solid #dfe8f2;
  border-radius: 15px;
  background: #fff;
  overflow: hidden;
}

.pm-faq-item summary {
  list-style: none;
  display: flex;
  gap: 11px;
  align-items: center;
  padding: 16px 18px;
  color: #25344c;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.pm-faq-item summary::-webkit-details-marker {
  display: none;
}

.pm-faq-item summary > span,
.pm-faq-item > div > span {
  width: 29px;
  height: 29px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 9px;
  font-weight: 900;
}

.pm-faq-item summary > span {
  background: #eaf4ff;
  color: #2f80ed;
}

.pm-faq-item > div {
  display: grid;
  grid-template-columns: 29px minmax(0,1fr);
  gap: 11px;
  padding: 0 18px 17px;
}

.pm-faq-item > div > span {
  background: #fff1de;
  color: #c97516;
}

.pm-faq-item > div p {
  margin: 4px 0 0;
  color: #69768a;
  font-size: 11px;
  line-height: 1.9;
}

/* Company */
.pm-company-table {
  overflow: hidden;
  border: 1px solid #dfe8f2;
  border-radius: 20px;
  background: #fff;
}

.pm-company-table dl {
  margin: 0;
}

.pm-company-table dl > div {
  display: grid;
  grid-template-columns: 220px minmax(0,1fr);
  border-bottom: 1px solid #edf1f6;
}

.pm-company-table dl > div:last-child {
  border-bottom: 0;
}

.pm-company-table dt,
.pm-company-table dd {
  margin: 0;
  padding: 17px 20px;
}

.pm-company-table dt {
  background: #f7faff;
  color: #667489;
  font-size: 11px;
  font-weight: 800;
}

.pm-company-table dd {
  color: #25344c;
  font-size: 12px;
  line-height: 1.8;
}

.pm-company-table a {
  color: #2f80ed;
}

.pm-public-policy-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
}

.pm-public-policy-grid article {
  padding: 18px;
  border-radius: 16px;
  background: #f7fbff;
}

.pm-public-policy-grid article > span {
  font-size: 23px;
}

.pm-public-policy-grid h3 {
  margin: 10px 0 5px;
  color: #25344c;
  font-size: 13px;
}

.pm-public-policy-grid p {
  margin: 0;
  color: #748095;
  font-size: 9px;
  line-height: 1.75;
}

.pm-public-link-card {
  display: grid;
  grid-template-columns: 45px minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 18px;
  border: 1px solid #dfe8f2;
  border-radius: 17px;
  background: #fff;
}

.pm-public-link-card > span {
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #eef6ff;
  font-size: 22px;
}

.pm-public-link-card strong,
.pm-public-link-card small {
  display: block;
}

.pm-public-link-card strong {
  color: #25344c;
  font-size: 12px;
}

.pm-public-link-card small {
  margin-top: 3px;
  color: #8490a2;
  font-size: 9px;
}

.pm-public-link-card em {
  color: #2f80ed;
  font-style: normal;
  font-weight: 900;
}

/* Legal pages */
.pm-legal-card {
  max-width: 980px;
  margin: 0 auto;
  padding: 34px;
  border: 1px solid #dfe8f2;
  border-radius: 22px;
  background: #fff;
}

.pm-legal-updated {
  margin-bottom: 22px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e8edf4;
  color: #8893a3;
  font-size: 10px;
}

.pm-legal-card > p,
.pm-legal-card li {
  color: #59677b;
  font-size: 12px;
  line-height: 2;
}

.pm-legal-card h2 {
  margin: 30px 0 9px;
  color: #1d2c44;
  font-size: 19px;
}

.pm-legal-card ol,
.pm-legal-card ul {
  padding-left: 24px;
}

.pm-legal-note,
.pm-legal-contact {
  margin-top: 28px;
  padding: 18px;
  border-radius: 15px;
  background: #f7fbff;
  border: 1px solid #dfe9f4;
}

.pm-legal-note strong,
.pm-legal-contact strong {
  color: #25344c;
  font-size: 11px;
}

.pm-legal-note p,
.pm-legal-contact p {
  margin: 5px 0 0;
  color: #66748a;
  font-size: 10px;
  line-height: 1.8;
}

.pm-legal-contact a {
  color: #2f80ed;
}

@media (max-width: 900px) {
  .pm-public-intro-card,
  .pm-public-two-col {
    grid-template-columns: 1fr;
  }

  .pm-public-step-grid {
    grid-template-columns: 1fr 1fr;
  }

  .pm-public-policy-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 620px) {
  .pm-public-hero {
    padding: 34px 0 30px;
  }

  .pm-public-hero p {
    font-size: 12px;
  }

  .pm-public-main {
    padding-top: 22px;
  }

  .pm-public-intro-card,
  .pm-public-soft-section,
  .pm-legal-card {
    padding: 20px;
    border-radius: 18px;
  }

  .pm-public-step-grid,
  .pm-public-policy-grid {
    grid-template-columns: 1fr;
  }

  .pm-public-step-grid article {
    min-height: 0;
  }

  .pm-company-table dl > div {
    grid-template-columns: 1fr;
  }

  .pm-company-table dt {
    padding-bottom: 6px;
  }

  .pm-company-table dd {
    padding-top: 6px;
  }

  .pm-public-section-head h2,
  .pm-public-cta h2 {
    font-size: 23px;
  }
}


/* =========================================
   COMPLIANCE HARDENING v3.3
========================================= */
.pm-ad-disclosure,
.pm-offer-ad-note {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  padding: 12px 14px;
  border: 1px solid #f0d8b5;
  border-radius: 13px;
  background: #fff9f0;
}

.pm-ad-disclosure {
  margin: 14px 0 0;
}

.pm-ad-disclosure > span,
.pm-chip-pr,
.pm-pr-mini {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #fff0df;
  color: #b86711 !important;
  font-weight: 900;
  white-space: nowrap;
}

.pm-ad-disclosure > span {
  padding: 5px 8px;
  font-size: 8px;
}

.pm-ad-disclosure p {
  margin: 1px 0 0;
  color: #705f48;
  font-size: 9px;
  line-height: 1.7;
}

.pm-chip-pr {
  border: 1px solid #f2d2a6;
}

.pm-pr-mini {
  padding: 3px 6px;
  font-size: 7px !important;
}

.pm-v33-card-labels {
  display: flex;
  gap: 5px;
  align-items: center;
  flex-wrap: wrap;
}

.pm-offer-ad-note {
  margin: 11px 0;
}

.pm-offer-ad-note strong {
  flex: 0 0 auto;
  color: #a75c0a;
  font-size: 9px;
}

.pm-offer-ad-note span {
  color: #75634c;
  font-size: 8px;
  line-height: 1.6;
}

.pm-ranking-criteria {
  margin-top: 10px;
  border: 1px solid #e0e8f2;
  border-radius: 14px;
  background: #fff;
}

.pm-ranking-criteria summary {
  padding: 11px 14px;
  color: #2f80ed;
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
}

.pm-ranking-criteria > div {
  padding: 0 14px 13px;
}

.pm-ranking-criteria p {
  margin: 5px 0;
  color: #6e7b90;
  font-size: 8px;
  line-height: 1.7;
}

.pm-ranking-criteria-note {
  padding-top: 7px;
  border-top: 1px solid #edf1f6;
}

.pm-age-confirm span {
  display: block;
}

.pm-age-confirm small {
  display: block;
  margin-top: 3px;
  color: #8390a2;
  font-size: 8px;
  line-height: 1.5;
}

.pm-exchange-closed {
  display: grid;
  grid-template-columns: 70px minmax(0,1fr);
  gap: 18px;
  align-items: start;
  margin-top: 16px;
  padding: 25px;
  border: 1px solid #dce5ef;
  border-radius: 20px;
  background: #fff;
}

.pm-exchange-closed-icon {
  width: 70px;
  height: 70px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  background: #f2f6fa;
  font-size: 29px;
}

.pm-exchange-closed small {
  color: #2f80ed;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .08em;
}

.pm-exchange-closed h2 {
  margin: 5px 0 8px;
  color: #203049;
  font-size: 21px;
}

.pm-exchange-closed p {
  margin: 6px 0;
  color: #6d798c;
  font-size: 10px;
  line-height: 1.8;
}

.pm-exchange-compliance-note {
  margin-top: 12px;
  padding: 18px;
  border: 1px solid #dbe8f4;
  border-radius: 16px;
  background: #f7fbff;
}

.pm-exchange-compliance-note h3 {
  margin: 0 0 8px;
  color: #27374f;
  font-size: 12px;
}

.pm-exchange-compliance-note ul {
  margin: 0;
  padding-left: 20px;
}

.pm-exchange-compliance-note li {
  margin: 4px 0;
  color: #69778c;
  font-size: 9px;
  line-height: 1.7;
}

.pm-exchange-legal-links {
  display: flex;
  gap: 15px;
  margin-top: 16px;
  justify-content: flex-end;
}

.pm-exchange-legal-links a {
  color: #2f80ed;
  font-size: 9px;
  font-weight: 800;
}

.pm-public-ad-policy {
  display: grid;
  grid-template-columns: 110px minmax(0,1fr);
  gap: 15px;
  align-items: start;
  margin-top: 28px;
  padding: 18px;
  border: 1px solid #f0d8b5;
  border-radius: 16px;
  background: #fff9f0;
}

.pm-public-ad-policy > span {
  display: inline-flex;
  justify-content: center;
  padding: 7px 8px;
  border-radius: 999px;
  background: #fff0df;
  color: #b86711;
  font-size: 8px;
  font-weight: 900;
}

.pm-public-ad-policy strong {
  display: block;
  color: #5f4d36;
  font-size: 11px;
}

.pm-public-ad-policy p {
  margin: 5px 0 0;
  color: #776650;
  font-size: 9px;
  line-height: 1.7;
}

.pm-legal-card h3 {
  margin: 22px 0 8px;
  color: #2d3b52;
  font-size: 15px;
}

@media (max-width: 620px) {
  .pm-ad-disclosure,
  .pm-offer-ad-note {
    flex-direction: column;
  }

  .pm-exchange-closed {
    grid-template-columns: 1fr;
  }

  .pm-public-ad-policy {
    grid-template-columns: 1fr;
  }
}


/* =========================================
   MOBILE MEMBER HEADER / REAL POINTS v3.4
========================================= */
.pm-v34-mobile-member-top { display:none; }

.pm-v34-mobile-member-main {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
}

.pm-v34-mobile-member-main small,
.pm-v34-mobile-member-main strong { display:block; }

.pm-v34-mobile-member-main small {
  color:#8a97aa;
  font-size:10px;
  font-weight:700;
}

.pm-v34-mobile-member-main strong {
  margin-top:3px;
  color:#f39a2a;
  font-size:31px;
  line-height:1;
}

.pm-v34-mobile-member-main strong span {
  margin-left:2px;
  font-size:12px;
}

.pm-v34-mobile-member-sub {
  display:flex;
  gap:8px;
  align-items:center;
  margin-top:8px;
}

.pm-v34-mobile-member-sub span {
  color:#2d3b52;
  font-size:11px;
  font-weight:800;
}

.pm-v34-mobile-member-sub small {
  color:#95a0b0;
  font-size:8px;
}

.pm-v34-mobile-menu-toggle,
.pm-v34-global-mobile-burger {
  width:44px;
  height:44px;
  border:0;
  border-radius:13px;
  background:#fff;
  box-shadow:0 0 0 1px #dfe7f1 inset;
  display:none;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
}

.pm-v34-mobile-menu-toggle span,
.pm-v34-global-mobile-burger span {
  width:20px;
  height:2px;
  border-radius:99px;
  background:#223149;
}

.pm-member-menu-overlay.is-open,
.pm-app-menu-overlay.is-open,
.pm-member-drawer.is-open,
[data-poimore-member-menu].is-open {
  display:flex !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

body.pm-menu-open { overflow:hidden; }

@media (max-width:800px) {
  .pm-v34-mobile-member-top {
    display:block;
    margin:12px 16px 14px;
    padding:16px 17px;
    border:1px solid #e0e8f1;
    border-radius:18px;
    background:#fff;
    box-shadow:0 6px 18px rgba(29,72,120,.05);
  }

  .pm-v34-mobile-menu-toggle,
  .pm-v34-global-mobile-burger {
    display:flex;
  }

  .pm-v27-user-area {
    display:none !important;
  }

  .pm-v27-search-row {
    padding-top:4px;
  }

  .pm-header-actions .pm-header-mypage-btn,
  .pm-header-actions > a[href*="logout"] {
    display:none !important;
  }

  .pm-v34-global-mobile-burger {
    margin-left:auto;
  }
}

@media (max-width:620px) {
  .pm-v34-mobile-member-top {
    margin:10px 12px 12px;
    padding:14px 15px;
  }

  .pm-v34-mobile-member-main strong {
    font-size:28px;
  }
}


/* =========================================
   MOBILE BURGER FIX / SINGLE SOURCE v3.4.1
========================================= */
@media (max-width:760px) {

  /* Existing v3.1.5 CSS hid this button on mobile.
     Re-enable it explicitly. */
  .pm-v315-menu-button,
  .pm-public-member-header .pm-v315-menu-button {
    display:grid !important;
    width:44px;
    height:44px;
    flex:0 0 44px;
    place-content:center;
  }

  /* The same large member menu is now usable on mobile. */
  .pm-v315-menu-modal {
    display:block !important;
    top:auto;
    bottom:0;
    left:0;
    width:100%;
    max-height:88dvh;
    padding:20px 16px calc(22px + env(safe-area-inset-bottom));
    border-radius:24px 24px 0 0;
    transform:translateY(102%);
    opacity:1;
    visibility:hidden;
    overflow-y:auto;
  }

  .pm-v315-menu-modal.is-open {
    transform:translateY(0);
    visibility:visible;
  }

  .pm-v315-menu-backdrop {
    display:block !important;
  }

  .pm-v315-menu-backdrop[hidden] {
    display:none !important;
  }

  /* Public/home logged-in header */
  .pm-site-header.pm-public-member-header {
    display:block !important;
    position:sticky;
    top:0;
    z-index:9990;
  }

  body.admin-bar .pm-site-header.pm-public-member-header {
    top:46px;
  }

  .pm-public-member-header .pm-header-inner {
    min-height:64px;
    padding-left:14px;
    padding-right:14px;
  }

  .pm-public-member-header .pm-logo {
    min-width:0;
  }

  .pm-public-member-header .pm-logo > span:last-child {
    display:none;
  }

  .pm-public-member-right {
    margin-left:auto;
    gap:8px;
  }

  .pm-public-member-user {
    display:none !important;
  }

  .pm-public-member-points {
    min-width:88px;
    padding:6px 10px;
    border-left:0;
    border-right:0;
    border-radius:12px;
    background:#fff9f1;
  }

  .pm-public-member-points small {
    font-size:8px;
  }

  .pm-public-member-points strong {
    margin-top:2px;
    font-size:22px;
  }

  /* Dashboard/member pages:
     real point balance should be the first and strongest element. */
  .pm-v315-topbar {
    position:sticky;
    top:0;
    z-index:990;
    min-height:70px;
    padding:10px 12px;
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(12px);
    border-bottom:1px solid #e7edf4;
  }

  body.admin-bar .pm-v315-topbar {
    top:46px;
  }

  .pm-v315-topbar .pm-shared-topbar-title {
    display:none !important;
  }

  .pm-v315-topbar-actions {
    width:100%;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 44px;
    gap:9px;
    align-items:center;
  }

  .pm-v315-wallet {
    width:100%;
    min-width:0;
    min-height:50px;
    padding:8px 13px;
    border:1px solid #e4eaf1;
    border-radius:14px;
    background:#fff;
  }

  .pm-v315-wallet > div {
    display:block;
  }

  .pm-v315-wallet > div small {
    display:block !important;
    color:#8b97a8;
    font-size:8px;
  }

  .pm-v315-wallet strong {
    margin-top:2px;
    color:#f39a2a;
    font-size:25px;
  }

  .pm-v315-wallet strong span {
    font-size:9px;
  }

  .pm-v315-wallet em {
    display:none !important;
  }

  .pm-v29-bell {
    display:none !important;
  }

  /* v3.4 experimental duplicate card is no longer used */
  .pm-v34-mobile-member-top {
    display:none !important;
  }

  /* Menu layout tuned for mobile */
  .pm-v315-menu-head {
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
  }

  .pm-v315-menu-wallet {
    grid-column:1 / -1;
    order:3;
  }

  .pm-v315-menu-close {
    grid-column:2;
    grid-row:1;
  }

  .pm-v315-menu-earn-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .pm-v315-menu-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* =========================================
   POINT SUPPORT / INQUIRY v3.5
========================================= */
.pm-support-page {
  padding-top:20px;
  padding-bottom:70px;
}

.pm-support-head h1 {
  margin:5px 0 6px;
  color:#18263e;
  font-size:29px;
}

.pm-support-head p {
  margin:0;
  color:#788598;
  font-size:10px;
}

.pm-support-notice {
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin-top:14px;
  padding:14px 16px;
  border-radius:14px;
}

.pm-support-notice.is-success {
  background:#effaf5;
  border:1px solid #cde9dd;
}

.pm-support-notice.is-error {
  background:#fff3f2;
  border:1px solid #f1d1ce;
}

.pm-support-notice strong {
  display:block;
  color:#26354d;
  font-size:10px;
}

.pm-support-notice p {
  margin:3px 0 0;
  color:#6e7b8e;
  font-size:8px;
}

.pm-support-guide {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}

.pm-support-guide > div {
  padding:13px;
  border:1px solid #e1e8f1;
  border-radius:14px;
  background:#fff;
}

.pm-support-guide > div > span {
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#2f80ed;
  color:#fff;
  font-size:9px;
  font-weight:900;
}

.pm-support-guide strong,
.pm-support-guide small {
  display:block;
}

.pm-support-guide strong {
  margin-top:8px;
  color:#26354d;
  font-size:10px;
}

.pm-support-guide small {
  margin-top:3px;
  color:#8a95a6;
  font-size:7px;
  line-height:1.6;
}

.pm-support-layout {
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr);
  gap:14px;
  align-items:start;
  margin-top:14px;
}

.pm-support-form-card,
.pm-support-history {
  padding:20px;
  border:1px solid #e1e8f1;
  border-radius:18px;
  background:#fff;
}

.pm-support-card-head small {
  color:#2f80ed;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
}

.pm-support-card-head h2 {
  margin:4px 0 0;
  color:#223149;
  font-size:17px;
}

.pm-support-field {
  display:block;
  margin-top:15px;
}

.pm-support-field > span {
  display:block;
  margin-bottom:6px;
  color:#344258;
  font-size:9px;
  font-weight:800;
}

.pm-support-field > span b {
  color:#d05555;
  font-size:7px;
}

.pm-support-field input,
.pm-support-field select,
.pm-support-field textarea {
  width:100%;
  box-sizing:border-box;
  border:1px solid #dce5ef;
  border-radius:11px;
  background:#fff;
  color:#28374e;
  font:inherit;
  font-size:10px;
}

.pm-support-field input,
.pm-support-field select {
  min-height:43px;
  padding:0 11px;
}

.pm-support-field textarea {
  padding:11px;
  line-height:1.7;
  resize:vertical;
}

.pm-support-field > small {
  display:block;
  margin-top:5px;
  color:#929dad;
  font-size:7px;
}

.pm-support-check {
  display:flex;
  gap:9px;
  align-items:flex-start;
  margin-top:15px;
  padding:12px;
  border-radius:12px;
  background:#f7fbff;
}

.pm-support-check input {
  margin-top:2px;
}

.pm-support-check > span {
  color:#435168;
  font-size:9px;
  font-weight:700;
}

.pm-support-check small {
  display:block;
  margin-top:3px;
  color:#8490a2;
  font-size:7px;
  line-height:1.6;
  font-weight:400;
}

.pm-support-security {
  margin-top:14px;
  padding:12px;
  border:1px solid #f0d8b5;
  border-radius:12px;
  background:#fff9f0;
}

.pm-support-security strong {
  color:#a75d11;
  font-size:9px;
}

.pm-support-security p {
  margin:3px 0 0;
  color:#77654c;
  font-size:7px;
  line-height:1.6;
}

.pm-support-submit {
  width:100%;
  min-height:48px;
  margin-top:15px;
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,#2f80ed,#50a2fa);
  color:#fff;
  font-weight:900;
  cursor:pointer;
}

.pm-support-side {
  display:grid;
  gap:9px;
}

.pm-support-side > div,
.pm-support-side > a {
  padding:15px;
  border:1px solid #e1e8f1;
  border-radius:15px;
  background:#fff;
}

.pm-support-side > div > span {
  font-size:19px;
}

.pm-support-side > div strong {
  display:block;
  margin-top:8px;
  color:#2d3c52;
  font-size:10px;
}

.pm-support-side > div p {
  margin:4px 0 0;
  color:#7e8a9c;
  font-size:8px;
  line-height:1.7;
}

.pm-support-side > a {
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
}

.pm-support-side > a > span {
  font-size:18px;
}

.pm-support-side > a strong,
.pm-support-side > a small {
  display:block;
}

.pm-support-side > a strong {
  color:#2d3c52;
  font-size:9px;
}

.pm-support-side > a small {
  margin-top:2px;
  color:#8b96a7;
  font-size:7px;
}

.pm-support-side > a em {
  color:#2f80ed;
  font-style:normal;
  font-weight:900;
}

.pm-support-history {
  margin-top:14px;
}

.pm-support-ticket-list {
  display:grid;
  gap:10px;
  margin-top:12px;
}

.pm-support-ticket {
  padding:14px;
  border:1px solid #e4eaf2;
  border-radius:14px;
  background:#fbfdff;
}

.pm-support-ticket-top {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}

.pm-support-ticket-top small,
.pm-support-ticket-top strong {
  display:block;
}

.pm-support-ticket-top small {
  color:#8793a4;
  font-size:7px;
}

.pm-support-ticket-top strong {
  margin-top:2px;
  color:#27364d;
  font-size:10px;
}

.pm-support-ticket-top > span {
  padding:5px 8px;
  border-radius:999px;
  background:#edf4fb;
  color:#51657d;
  font-size:7px;
  font-weight:900;
  white-space:nowrap;
}

.pm-support-ticket-top > span.is-investigating,
.pm-support-ticket-top > span.is-waiting_asp {
  background:#fff3de;
  color:#a96716;
}

.pm-support-ticket-top > span.is-resolved {
  background:#e9f8f0;
  color:#167353;
}

.pm-support-ticket-top > span.is-not_eligible,
.pm-support-ticket-top > span.is-closed {
  background:#f3f4f6;
  color:#747d8b;
}

.pm-support-ticket-body {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-top:10px;
}

.pm-support-ticket-body > div {
  padding:8px;
  border-radius:9px;
  background:#fff;
}

.pm-support-ticket-body small,
.pm-support-ticket-body strong {
  display:block;
}

.pm-support-ticket-body small {
  color:#929dad;
  font-size:6px;
}

.pm-support-ticket-body strong {
  margin-top:2px;
  color:#344258;
  font-size:8px;
}

.pm-support-result {
  margin-top:10px;
  padding:10px;
  border-radius:10px;
  background:#eef8f4;
}

.pm-support-result strong {
  color:#176a50;
  font-size:8px;
}

.pm-support-result p {
  margin:4px 0 0;
  color:#597368;
  font-size:8px;
  line-height:1.7;
}

.pm-support-empty {
  margin-top:12px;
  padding:20px;
  border-radius:12px;
  background:#f7f9fc;
  color:#8490a2;
  font-size:9px;
  text-align:center;
}

.pm-support-inline-cta {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:12px;
  padding:12px 14px;
  border:1px solid #d9e8f7;
  border-radius:14px;
  background:#f3f9ff;
}

.pm-support-inline-cta > div {
  display:flex;
  gap:9px;
  align-items:center;
}

.pm-support-inline-cta strong,
.pm-support-inline-cta small {
  display:block;
}

.pm-support-inline-cta strong {
  color:#2d3b51;
  font-size:9px;
}

.pm-support-inline-cta small {
  margin-top:2px;
  color:#8490a2;
  font-size:7px;
}

.pm-support-inline-cta > a {
  color:#2f80ed;
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
}

@media (max-width:900px) {
  .pm-support-layout {
    grid-template-columns:1fr;
  }

  .pm-support-guide {
    grid-template-columns:1fr 1fr;
  }

  .pm-support-ticket-body {
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:620px) {
  .pm-support-page {
    padding-top:12px;
  }

  .pm-support-guide {
    grid-template-columns:1fr 1fr;
  }

  .pm-support-form-card,
  .pm-support-history {
    padding:15px;
  }

  .pm-support-ticket-body {
    grid-template-columns:1fr 1fr;
  }

  .pm-support-inline-cta {
    align-items:flex-start;
    flex-direction:column;
  }
}

/* =========================================================
   POIMORE v3.6 — Offer photography / featured-image system
   ========================================================= */
.pm-offer-thumb-photo,
.pm-v36-offer-media,
.pm-v36-rank-media,
.pm-v36-dashboard-offer-thumb,
.pm-v36-recent-thumb,
.pm-v36-saved-media,
.pm-v36-history-media,
.pm-v36-activity-thumb,
.pm-v36-single-fallback {
  overflow: hidden;
  padding: 0;
  background: #eef5fc;
}

.pm-offer-thumb-photo img,
.pm-v36-offer-image,
.pm-v36-rank-image,
.pm-v36-dashboard-offer-image,
.pm-v36-recent-image,
.pm-v36-saved-image,
.pm-v36-history-image,
.pm-v36-activity-image,
.pm-v36-single-fallback-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Public top: replace emoji placeholders with photo cards. */
.pm-offer-thumb-photo {
  height: 150px;
  border: 1px solid #e5edf7;
}
.pm-offer-thumb-photo img {
  transition: transform .25s ease;
}
.pm-offer-card:hover .pm-offer-thumb-photo img {
  transform: scale(1.025);
}

/* Main offer listing. */
.pm-v36-offer-media {
  min-height: 126px;
  height: 126px;
  border: 1px solid #e7eef7;
}
.pm-v36-offer-image {
  height: 126px;
}
.pm-v27-offer-card:hover .pm-v36-offer-image {
  transform: scale(1.02);
}
.pm-v36-offer-image {
  transition: transform .2s ease;
}

/* Ranking thumbnails. */
.pm-v36-rank-media {
  width: 68px;
  height: 68px;
}
.pm-v36-rank-image {
  border-radius: inherit;
}

/* Dashboard popular / recent. */
.pm-v29-popular-grid > a > .pm-v36-dashboard-offer-thumb {
  height: 82px;
  display: block;
  border-radius: 13px;
  background: #fff;
}
.pm-v36-dashboard-offer-image {
  border-radius: inherit;
}
.pm-v29-recent-grid > a > .pm-v36-recent-thumb {
  width: 44px;
  height: 44px;
  display: block;
  border-radius: 11px;
  background: #fff;
}
.pm-v36-recent-image {
  border-radius: inherit;
}

/* Favorites and history. */
.pm-v36-saved-media {
  height: 120px;
  display: block;
  border: 1px solid #e6edf6;
}
.pm-v36-saved-image {
  border-radius: inherit;
}
.pm-view-history-icon.pm-v36-history-media {
  width: 58px;
  height: 58px;
  display: block;
  border-radius: 14px;
}
.pm-v36-history-image {
  border-radius: inherit;
}

/* Activity list. */
.pm-v31-activity-offer > .pm-v36-activity-thumb {
  width: 54px;
  height: 54px;
  display: block;
  border-radius: 14px;
}
.pm-v36-activity-image {
  border-radius: inherit;
}

/* Offer detail fallback when the merchant image has not been uploaded yet. */
.pm-moppy-hero-icon.pm-v36-single-fallback {
  width: 100%;
  height: 360px;
  max-width: none;
  border-radius: 20px;
  font-size: 0;
}
.pm-v36-single-fallback-image {
  border-radius: inherit;
}

@media (max-width: 760px) {
  .pm-offer-thumb-photo {
    height: 132px;
  }
  .pm-v36-offer-media,
  .pm-v36-offer-image {
    height: 118px;
    min-height: 118px;
  }
  .pm-moppy-hero-icon.pm-v36-single-fallback {
    height: 230px;
  }
}

/* =========================================
   POIMORE REWARDED VIDEO v3.7
========================================= */
.pm-video-page {
  display: grid;
  gap: 18px;
}

.pm-video-hero-v37 {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(240px, .75fr);
  gap: 24px;
  align-items: end;
  padding: 34px;
  background:
    radial-gradient(circle at 84% 18%, rgba(92,168,255,.34), transparent 32%),
    linear-gradient(135deg, #172a48 0%, #214b78 54%, #2f80ed 130%);
  box-shadow: 0 18px 46px rgba(22, 61, 108, .16);
  overflow: hidden;
}

.pm-video-eyebrow {
  display: inline-flex;
  margin-bottom: 9px;
  color: #9fcfff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
}

.pm-video-hero-v37 h1 {
  margin: 0 0 10px;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.15;
  letter-spacing: -.03em;
}

.pm-video-hero-v37 p {
  max-width: 600px;
  font-size: 12px;
}

.pm-video-provider-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  padding: 7px 11px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #d7e7f8;
  font-size: 10px;
  font-weight: 800;
}

.pm-video-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f5b84b;
  box-shadow: 0 0 0 4px rgba(245,184,75,.12);
}

.pm-video-provider-status.is-ready .pm-video-status-dot {
  background: #3bd395;
  box-shadow: 0 0 0 4px rgba(59,211,149,.12);
}

.pm-video-balance-v37 {
  display: block;
  margin: 0;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 20px;
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(8px);
}

.pm-video-balance-v37 small {
  font-size: 10px;
}

.pm-video-balance-v37 strong {
  margin-top: 5px;
  font-size: 34px;
  line-height: 1.1;
}

.pm-video-balance-v37 em {
  display: block;
  margin-top: 8px;
  color: #bcd4ee;
  font-size: 9px;
  font-style: normal;
}

.pm-video-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.pm-video-summary-card {
  padding: 17px 18px;
  border: 1px solid var(--pm-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(31,84,129,.05);
}

.pm-video-summary-card span {
  display: block;
  color: var(--pm-muted);
  font-size: 9px;
  font-weight: 800;
}

.pm-video-summary-card strong {
  display: block;
  margin-top: 5px;
  color: var(--pm-navy);
  font-size: 21px;
  line-height: 1.2;
}

.pm-video-main-card {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--pm-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 44px rgba(31,84,129,.07);
}

.pm-video-player-panel {
  padding: 24px;
  background: linear-gradient(180deg, #f4f9ff 0%, #edf6ff 100%);
}

.pm-video-player-art {
  position: relative;
  min-height: 330px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #dfeaf7;
  border-radius: 20px;
  background:
    radial-gradient(circle at 50% 42%, rgba(47,128,237,.18), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #edf6ff 100%);
}

.pm-video-play-ring {
  position: relative;
  z-index: 2;
  width: 98px;
  height: 98px;
  display: grid;
  place-items: center;
  border: 12px solid rgba(255,255,255,.86);
  border-radius: 50%;
  background: linear-gradient(135deg, var(--pm-blue), #60afff);
  box-shadow: 0 18px 40px rgba(47,128,237,.25);
}

.pm-video-play-ring i {
  width: 0;
  height: 0;
  margin-left: 7px;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-left: 22px solid #fff;
}

.pm-video-wave {
  position: absolute;
  width: 290px;
  height: 290px;
  border: 1px solid rgba(47,128,237,.12);
  border-radius: 50%;
}

.pm-video-wave-one { transform: scale(.78); }
.pm-video-wave-two { transform: scale(1.12); }

.pm-video-progress-wrap {
  margin-top: 18px;
}

.pm-video-progress-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  color: var(--pm-muted);
  font-size: 10px;
}

.pm-video-progress-label strong {
  color: var(--pm-navy);
}

.pm-video-progress-track {
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #dfeaf7;
}

.pm-video-progress-track span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--pm-blue), #6db6ff);
  transition: width .25s ease;
}

.pm-video-action-panel {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 34px 30px;
}

.pm-video-chip.is-live {
  background: #eaf9f2;
  color: #138a5d;
}

.pm-video-action-panel h2 {
  margin: 14px 0 10px;
  color: var(--pm-navy);
  font-size: 26px;
  line-height: 1.4;
}

.pm-video-action-panel h2 strong {
  color: var(--pm-orange);
  font-size: 31px;
}

.pm-video-action-panel > p {
  margin: 0 0 20px;
  color: var(--pm-muted);
  font-size: 11px;
  line-height: 1.85;
}

.pm-video-start-button {
  width: 100%;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 0;
  cursor: pointer;
}

.pm-video-start-button:disabled {
  cursor: not-allowed;
  opacity: .6;
}

.pm-video-button-icon {
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid currentColor;
}

.pm-video-start-button.is-loading .pm-video-button-icon {
  width: 15px;
  height: 15px;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  border-radius: 50%;
  animation: pm-video-spin .75s linear infinite;
}

@keyframes pm-video-spin {
  to { transform: rotate(360deg); }
}

.pm-video-message {
  min-height: 18px;
  margin-top: 11px;
  color: var(--pm-muted);
  font-size: 9px;
  line-height: 1.6;
}

.pm-video-message.is-success { color: #138a5d; }
.pm-video-message.is-error { color: #c43f50; }

.pm-video-security-note {
  display: grid;
  gap: 2px;
  margin-top: 15px;
  padding: 12px 13px;
  border-radius: 13px;
  background: #f7f9fc;
}

.pm-video-security-note strong {
  color: var(--pm-navy);
  font-size: 9px;
}

.pm-video-security-note span {
  color: var(--pm-muted);
  font-size: 9px;
}

.pm-video-howto {
  padding: 24px;
  border: 1px solid var(--pm-line);
  border-radius: 22px;
  background: #fff;
}

.pm-video-howto-title span {
  color: var(--pm-blue);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
}

.pm-video-howto-title h2 {
  margin: 4px 0 18px;
  color: var(--pm-navy);
  font-size: 20px;
}

.pm-video-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.pm-video-steps article {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 10px;
  align-items: start;
  padding: 14px;
  border-radius: 15px;
  background: #f8fbff;
}

.pm-video-steps article > b {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #e8f3ff;
  color: var(--pm-blue);
  font-size: 11px;
}

.pm-video-steps strong {
  display: block;
  color: var(--pm-navy);
  font-size: 10px;
}

.pm-video-steps p {
  margin: 3px 0 0;
  color: var(--pm-muted);
  font-size: 9px;
  line-height: 1.65;
}

.pm-video-notice-v37 {
  margin-top: 0;
}

@media (max-width: 1000px) {
  .pm-video-hero-v37,
  .pm-video-main-card {
    grid-template-columns: 1fr;
  }

  .pm-video-summary-grid,
  .pm-video-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pm-video-balance-v37 {
    width: 100%;
  }
}

@media (max-width: 680px) {
  .pm-video-hero-v37 {
    padding: 24px 18px;
  }

  .pm-video-summary-grid,
  .pm-video-steps {
    grid-template-columns: 1fr 1fr;
  }

  .pm-video-summary-card {
    padding: 14px;
  }

  .pm-video-summary-card strong {
    font-size: 18px;
  }

  .pm-video-player-panel {
    padding: 14px;
  }

  .pm-video-player-art {
    min-height: 220px;
  }

  .pm-video-play-ring {
    width: 82px;
    height: 82px;
  }

  .pm-video-action-panel {
    padding: 24px 18px;
  }

  .pm-video-action-panel h2 {
    font-size: 22px;
  }

  .pm-video-action-panel h2 strong {
    font-size: 27px;
  }

  .pm-video-howto {
    padding: 18px;
  }
}


/* ========== POIMORE Theme v3.8 Roadmap Dashboard ========== */
.pm-roadmap-dashboard { display:flex; flex-direction:column; gap:22px; }
.pm-roadmap-hero {
  display:grid; grid-template-columns: 1.02fr 1.18fr; gap:22px;
  padding:26px; border-radius:32px;
  background:linear-gradient(180deg, #f4f9ff 0%, #edf6ff 100%);
  border:1px solid rgba(66,133,244,.12);
  box-shadow:0 24px 54px rgba(24,72,120,.10);
}
.pm-roadmap-eyebrow {
  display:inline-flex; align-items:center; padding:7px 12px; border-radius:999px;
  background:#e8f2ff; color:#2f80ed; font-size:12px; font-weight:900; letter-spacing:.12em;
}
.pm-roadmap-hero-copy h1 { margin:16px 0 10px; font-size:clamp(34px, 4vw, 58px); line-height:1.04; letter-spacing:-.04em; color:#13213d; }
.pm-roadmap-hero-copy > p { margin:0 0 20px; color:#6c7a93; font-size:17px; }
.pm-roadmap-progress-card {
  padding:24px; border-radius:24px; background:rgba(255,255,255,.88);
  box-shadow:0 14px 34px rgba(19,33,61,.08); border:1px solid rgba(66,133,244,.10);
}
.pm-roadmap-progress-head, .pm-roadmap-progress-main { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; }
.pm-roadmap-progress-head small, .pm-roadmap-progress-rate span { display:block; color:#7990b0; font-size:12px; font-weight:700; }
.pm-roadmap-progress-head strong { display:block; margin-top:4px; font-size:20px; color:#20488f; }
.pm-roadmap-stage-badge {
  display:inline-flex; align-items:center; justify-content:center; padding:10px 16px; border-radius:18px;
  background:linear-gradient(135deg, #2f80ed, #5aa9ff); color:#fff; font-size:14px; font-weight:900;
  box-shadow:0 12px 24px rgba(47,128,237,.25);
}
.pm-roadmap-progress-main { margin-top:16px; align-items:center; }
.pm-roadmap-progress-amount { font-size:56px; line-height:1; font-weight:900; letter-spacing:-.05em; color:#13213d; }
.pm-roadmap-progress-amount span { font-size:20px; color:#73839e; font-weight:800; }
.pm-roadmap-progress-rate { text-align:right; }
.pm-roadmap-progress-rate strong { display:block; font-size:54px; line-height:1; color:#20488f; letter-spacing:-.05em; }
.pm-roadmap-progress-bar { margin-top:18px; height:18px; border-radius:999px; background:#e4ecf7; overflow:hidden; }
.pm-roadmap-progress-bar span { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,#2f80ed,#4aa1ff); box-shadow:0 10px 20px rgba(47,128,237,.24); }
.pm-roadmap-progress-note { margin:12px 0 0; color:#5b6a84; font-size:14px; font-weight:700; }
.pm-roadmap-mountain-card {
  position:relative; min-height:370px; overflow:hidden; border-radius:28px;
  background:linear-gradient(180deg,#dff0ff 0%, #eef8ff 45%, #e6f2ff 100%); border:1px solid rgba(66,133,244,.12);
}
.pm-roadmap-mountain-bg::before, .pm-roadmap-mountain-bg::after {
  content:""; position:absolute; inset:auto 0 0 0; height:72%;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(235,244,255,.3) 20%, rgba(129,169,218,.35) 100%);
  clip-path:polygon(0% 100%, 0% 82%, 10% 70%, 22% 78%, 34% 55%, 44% 70%, 58% 42%, 68% 63%, 81% 28%, 92% 48%, 100% 22%, 100% 100%);
}
.pm-roadmap-mountain-bg::after {
  height:58%; opacity:.66;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(76,130,189,.18) 100%);
  clip-path:polygon(0% 100%, 0% 88%, 15% 78%, 30% 84%, 48% 58%, 60% 70%, 76% 40%, 88% 60%, 100% 35%, 100% 100%);
}
.pm-roadmap-mountain-copy {
  position:absolute; top:34px; right:34px; color:#2f80ed; font-size:16px; font-weight:900; line-height:1.6;
  transform:rotate(-8deg); text-align:center;
}
.pm-roadmap-trail {
  position:absolute; inset:24px 18px 18px; background-image:linear-gradient(135deg, rgba(255,255,255,.18) 25%, rgba(255,255,255,0) 25%), linear-gradient(225deg, rgba(255,255,255,.18) 25%, rgba(255,255,255,0) 25%);
}
.pm-roadmap-trail::before {
  content:""; position:absolute; left:6%; right:8%; bottom:12%; height:64%;
  border-top:4px dashed rgba(255,255,255,.9); border-right:4px dashed rgba(255,255,255,.9);
  border-radius:999px 999px 0 0 / 100% 100% 0 0; transform:skewX(-18deg) rotate(-8deg);
  opacity:.96;
}
.pm-roadmap-step { position:absolute; transform:translate(-50%, 50%); display:flex; flex-direction:column; align-items:center; gap:6px; }
.pm-roadmap-dot {
  width:18px; height:18px; border-radius:50%; background:#b0c8e9; border:3px solid rgba(255,255,255,.96);
  box-shadow:0 6px 14px rgba(0,0,0,.08);
}
.pm-roadmap-step small {
  display:inline-flex; align-items:center; justify-content:center; min-width:58px; padding:4px 10px; border-radius:12px;
  background:#fff; color:#315989; font-size:12px; font-weight:800; box-shadow:0 8px 18px rgba(24,72,120,.08);
}
.pm-roadmap-step.is-complete .pm-roadmap-dot { background:#2f80ed; }
.pm-roadmap-step.is-current .pm-roadmap-dot { width:24px; height:24px; background:#ff9d3d; box-shadow:0 10px 24px rgba(255,157,61,.35); }
.pm-roadmap-step.is-current small { background:#2f80ed; color:#fff; }
.pm-roadmap-current-bubble {
  position:absolute; left:58%; top:35%; display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:96px; height:96px; border-radius:26px; background:linear-gradient(180deg,#2f80ed,#4aa1ff); color:#fff;
  font-size:15px; font-weight:900; box-shadow:0 18px 36px rgba(47,128,237,.28); text-align:center;
}
.pm-roadmap-current-bubble strong { display:block; margin-top:2px; font-size:32px; line-height:1; }
.pm-roadmap-flag {
  position:absolute; top:28px; right:18px; display:flex; align-items:center; gap:8px; color:#13213d; font-weight:900;
}
.pm-roadmap-flag span { font-size:30px; }
.pm-roadmap-summary-grid {
  display:grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap:16px;
}
.pm-roadmap-summary-card {
  display:flex; align-items:center; gap:14px; padding:20px 18px; border-radius:22px; background:#fff;
  border:1px solid rgba(19,33,61,.06); box-shadow:0 12px 30px rgba(19,33,61,.05);
}
.pm-roadmap-summary-icon {
  width:54px; height:54px; border-radius:18px; display:grid; place-items:center; font-size:24px; background:#eef5ff;
}
.pm-roadmap-summary-card small { display:block; color:#7b8da8; font-size:12px; font-weight:800; }
.pm-roadmap-summary-card strong { display:block; font-size:19px; line-height:1.2; color:#13213d; }
.pm-roadmap-main-grid { display:grid; grid-template-columns: minmax(0,1.6fr) 320px; gap:20px; }
.pm-roadmap-main-column, .pm-roadmap-side-column { display:flex; flex-direction:column; gap:20px; }
.pm-roadmap-panel, .pm-roadmap-side-card {
  padding:22px; border-radius:24px; background:#fff; border:1px solid rgba(19,33,61,.06); box-shadow:0 16px 34px rgba(19,33,61,.05);
}
.pm-roadmap-panel-head { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; margin-bottom:18px; }
.pm-roadmap-panel-head span { display:block; color:#2f80ed; font-size:12px; font-weight:900; letter-spacing:.08em; }
.pm-roadmap-panel-head h2 { margin:4px 0 6px; font-size:32px; line-height:1.15; color:#13213d; }
.pm-roadmap-panel-head p { margin:0; color:#73839e; font-size:14px; }
.pm-roadmap-panel-head a { color:#2f80ed; font-weight:800; white-space:nowrap; }
.pm-roadmap-task-list { display:flex; flex-direction:column; gap:14px; }
.pm-roadmap-task-item {
  display:grid; grid-template-columns: 40px minmax(0,1fr) auto 16px; gap:14px; align-items:center;
  padding:16px 18px; border-radius:18px; background:#fbfdff; border:1px solid #e8eef7;
}
.pm-roadmap-task-item.is-complete { background:#f0f7ff; }
.pm-roadmap-task-check {
  width:30px; height:30px; border-radius:10px; border:2px solid #d5dfed; display:grid; place-items:center; color:#fff; background:#fff; font-weight:900;
}
.pm-roadmap-task-item.is-complete .pm-roadmap-task-check { background:#3d8bff; border-color:#3d8bff; }
.pm-roadmap-task-copy strong { display:block; font-size:17px; color:#13213d; }
.pm-roadmap-task-copy small { display:block; margin-top:2px; color:#7788a3; }
.pm-roadmap-task-reward { color:#ff8a1d; font-size:16px; font-weight:900; }
.pm-roadmap-task-arrow { color:#8aa0bf; font-size:22px; line-height:1; }
.pm-roadmap-offer-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
.pm-roadmap-offer-card {
  overflow:hidden; border-radius:20px; background:#fff; border:1px solid #ebeff6; box-shadow:0 10px 26px rgba(22,61,115,.06);
}
.pm-roadmap-offer-media { aspect-ratio: 4 / 3; overflow:hidden; background:#eef4fb; }
.pm-roadmap-offer-image { width:100%; height:100%; object-fit:cover; display:block; }
.pm-roadmap-offer-body { padding:14px 16px 16px; }
.pm-roadmap-offer-tag {
  display:inline-flex; align-items:center; padding:5px 10px; border-radius:999px; background:#fff1df; color:#ff8a1d; font-size:12px; font-weight:900;
}
.pm-roadmap-offer-body strong { display:block; margin-top:10px; font-size:24px; line-height:1.25; color:#13213d; letter-spacing:-.03em; }
.pm-roadmap-offer-body small { display:block; margin-top:6px; color:#7788a3; }
.pm-roadmap-offer-foot { display:flex; justify-content:space-between; align-items:center; margin-top:12px; }
.pm-roadmap-offer-foot em { color:#ff6f00; font-style:normal; font-size:18px; font-weight:900; }
.pm-roadmap-offer-foot span { color:#90a4c2; font-size:24px; line-height:1; }
.pm-roadmap-side-head { display:flex; align-items:center; gap:10px; color:#13213d; }
.pm-roadmap-side-head span { font-size:24px; }
.pm-roadmap-side-head strong { font-size:18px; }
.pm-roadmap-streak-number { margin-top:18px; font-size:72px; line-height:1; font-weight:900; color:#ff8a1d; text-align:center; }
.pm-roadmap-streak-label { text-align:center; font-size:32px; font-weight:900; color:#13213d; }
.pm-roadmap-side-card.is-streak p { text-align:center; color:#73839e; margin:6px 0 14px; }
.pm-roadmap-streak-flames { display:flex; justify-content:center; gap:6px; font-size:28px; }
.pm-roadmap-streak-flames span { filter:grayscale(1); opacity:.35; }
.pm-roadmap-streak-flames span.is-on { filter:none; opacity:1; }
.pm-roadmap-profile { display:flex; gap:14px; align-items:center; margin-top:16px; }
.pm-roadmap-avatar {
  width:56px; height:56px; border-radius:20px; display:grid; place-items:center; background:linear-gradient(135deg,#2f80ed,#5aa9ff); color:#fff; font-size:26px; font-weight:900;
}
.pm-roadmap-profile strong { display:block; color:#13213d; }
.pm-roadmap-profile small { color:#7a8ca8; }
.pm-roadmap-account-stats { display:grid; gap:10px; margin-top:16px; }
.pm-roadmap-account-stats div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border-radius:16px; background:#f7fbff; }
.pm-roadmap-account-stats span, .pm-roadmap-side-card p, .pm-roadmap-side-card small { color:#73839e; }
.pm-roadmap-account-stats strong { color:#13213d; }
.pm-roadmap-side-link { display:inline-flex; margin-top:14px; color:#2f80ed; font-weight:900; }
.pm-roadmap-notice-list { list-style:none; padding:0; margin:14px 0 0; display:flex; flex-direction:column; gap:12px; }
.pm-roadmap-notice-list li a { display:block; padding:12px 14px; border-radius:16px; background:#f8fbff; }
.pm-roadmap-notice-list strong { display:block; color:#13213d; }
.pm-roadmap-notice-list small { display:block; margin-top:3px; }
.pm-roadmap-mini-progress { margin:14px 0 10px; height:10px; border-radius:999px; background:#e4ecf7; overflow:hidden; }
.pm-roadmap-mini-progress span { display:block; height:100%; background:linear-gradient(90deg,#2f80ed,#5aa9ff); }
@media (max-width: 1200px) {
  .pm-roadmap-summary-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .pm-roadmap-main-grid { grid-template-columns: 1fr; }
  .pm-roadmap-side-column { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1024px) {
  .pm-roadmap-hero { grid-template-columns:1fr; }
  .pm-roadmap-offer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .pm-roadmap-dashboard { gap:16px; }
  .pm-roadmap-hero { padding:16px; border-radius:22px; }
  .pm-roadmap-hero-copy h1 { font-size:34px; }
  .pm-roadmap-hero-copy > p { font-size:14px; }
  .pm-roadmap-progress-card { padding:18px; border-radius:20px; }
  .pm-roadmap-progress-head, .pm-roadmap-progress-main { flex-direction:column; align-items:flex-start; }
  .pm-roadmap-progress-amount { font-size:38px; }
  .pm-roadmap-progress-rate strong { font-size:34px; }
  .pm-roadmap-mountain-card { min-height:300px; }
  .pm-roadmap-mountain-copy { top:18px; right:18px; font-size:13px; }
  .pm-roadmap-current-bubble { width:78px; height:78px; border-radius:20px; left:54%; top:39%; font-size:12px; }
  .pm-roadmap-current-bubble strong { font-size:24px; }
  .pm-roadmap-summary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap:12px; }
  .pm-roadmap-summary-card { padding:16px 14px; border-radius:18px; }
  .pm-roadmap-summary-icon { width:44px; height:44px; border-radius:14px; font-size:20px; }
  .pm-roadmap-summary-card strong { font-size:16px; }
  .pm-roadmap-panel, .pm-roadmap-side-card { padding:18px; border-radius:20px; }
  .pm-roadmap-panel-head { flex-direction:column; gap:10px; }
  .pm-roadmap-panel-head h2 { font-size:24px; }
  .pm-roadmap-task-item { grid-template-columns: 34px minmax(0,1fr); }
  .pm-roadmap-task-reward, .pm-roadmap-task-arrow { grid-column: 2; }
  .pm-roadmap-task-reward { margin-top:4px; }
  .pm-roadmap-task-arrow { display:none; }
  .pm-roadmap-offer-grid { grid-template-columns: 1fr; }
  .pm-roadmap-offer-body strong { font-size:20px; }
  .pm-roadmap-side-column { grid-template-columns: 1fr; }
}


/* ========== POIMORE Theme v3.9.2 Roadmap visual polish ========== */
.pm-roadmap-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(430px,.92fr) minmax(520px,1.08fr);
  gap: 0;
  min-height: 430px;
  overflow: hidden;
  padding: 30px 30px 24px;
  border-radius: 30px;
  background:
    linear-gradient(90deg, rgba(244,250,255,.98) 0%, rgba(244,250,255,.94) 36%, rgba(244,250,255,.34) 57%, rgba(244,250,255,.04) 100%),
    url('assets/images/roadmap-mountain.svg') center right / cover no-repeat;
  border: 1px solid rgba(47,128,237,.12);
  box-shadow: 0 24px 54px rgba(24,72,120,.10);
}
.pm-roadmap-hero-copy { position:relative; z-index:4; align-self:center; padding-right:22px; }
.pm-roadmap-hero-copy h1 { max-width:640px; font-size:clamp(38px,4vw,62px); }
.pm-roadmap-hero-copy > p { max-width:570px; }
.pm-roadmap-progress-card { max-width:620px; backdrop-filter:blur(12px); }
.pm-roadmap-mountain-card {
  position:relative;
  min-height:376px;
  align-self:stretch;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
}
.pm-roadmap-mountain-card .pm-roadmap-mountain-bg { display:none !important; }
.pm-roadmap-mountain-copy {
  position:absolute; top:16px; right:100px; z-index:4;
  color:#2f80ed; font-size:17px; font-weight:900; line-height:1.65;
  transform:rotate(-7deg); text-align:center; text-shadow:0 2px 0 rgba(255,255,255,.6);
}
.pm-roadmap-trail { position:absolute; inset:28px 0 22px 0; z-index:3; }
.pm-roadmap-trail::before { display:none !important; }
.pm-roadmap-route-svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.pm-roadmap-route-svg path {
  fill:none; stroke:rgba(255,255,255,.96); stroke-width:5; stroke-linecap:round;
  stroke-dasharray:8 10; filter:drop-shadow(0 2px 2px rgba(40,90,140,.22));
}
.pm-roadmap-step { z-index:4; }
.pm-roadmap-step small {
  min-width:54px; padding:5px 10px; border-radius:13px; background:rgba(255,255,255,.94);
  color:#204f86; box-shadow:0 8px 18px rgba(24,72,120,.11); white-space:nowrap;
}
.pm-roadmap-dot { width:18px; height:18px; background:#90b8e8; border:3px solid #fff; }
.pm-roadmap-step.is-complete .pm-roadmap-dot { background:#4c86c6; }
.pm-roadmap-step.is-current { z-index:8; }
.pm-roadmap-step.is-current .pm-roadmap-dot {
  width:24px; height:24px; background:#ff9d3d; border:4px solid #fff;
  box-shadow:0 0 0 6px rgba(47,128,237,.28), 0 12px 22px rgba(47,128,237,.24);
}
.pm-roadmap-step.is-current small { background:#fff; color:#1d4b82; }
.pm-roadmap-current-label {
  position:absolute; left:50%; bottom:54px; transform:translateX(-50%);
  min-width:110px; padding:10px 14px; border-radius:20px;
  background:linear-gradient(180deg,#287cf0,#4a9dff); color:#fff;
  text-align:center; font-size:12px; line-height:1.2; font-weight:900;
  box-shadow:0 14px 28px rgba(47,128,237,.30); white-space:nowrap;
}
.pm-roadmap-current-label::after {
  content:""; position:absolute; left:50%; bottom:-8px; transform:translateX(-50%);
  width:0; height:0; border-left:8px solid transparent; border-right:8px solid transparent; border-top:9px solid #4a9dff;
}
.pm-roadmap-current-label strong { display:block; margin-top:3px; font-size:22px; }
.pm-roadmap-current-bubble { display:none !important; }
.pm-roadmap-flag {
  top:4px; right:6px; z-index:5; padding:7px 12px; border-radius:14px;
  background:rgba(255,255,255,.88); box-shadow:0 8px 18px rgba(24,72,120,.10);
}
.pm-roadmap-flag span { font-size:26px; }
.pm-roadmap-goal-callout {
  position:absolute; right:14px; bottom:12px; z-index:5;
  display:flex; align-items:center; gap:10px; max-width:245px; padding:14px 18px;
  border-radius:18px; background:rgba(255,255,255,.92); color:#17365f;
  box-shadow:0 14px 28px rgba(24,72,120,.12); font-size:13px; line-height:1.55;
}
.pm-roadmap-goal-callout span { font-size:28px; }
.pm-roadmap-goal-callout strong { font-weight:900; }

/* Logged-in static front page uses the member app shell only. No duplicate public header. */
body.logged-in.home .pm-public-member-header { display:none !important; }

@media (max-width:1180px) {
  .pm-roadmap-hero { grid-template-columns:1fr; padding:24px; min-height:720px; background-position:center bottom; }
  .pm-roadmap-hero-copy { padding-right:0; max-width:720px; }
  .pm-roadmap-mountain-card { min-height:360px; margin-top:8px; }
}
@media (max-width:767px) {
  .pm-roadmap-hero {
    display:block; min-height:0; padding:18px 16px 14px; border-radius:24px;
    background:
      linear-gradient(180deg, rgba(244,250,255,.99) 0%, rgba(244,250,255,.90) 43%, rgba(244,250,255,.14) 68%, rgba(244,250,255,0) 100%),
      url('assets/images/roadmap-mountain.svg') 63% bottom / auto 62% no-repeat,
      #eaf6ff;
  }
  .pm-roadmap-hero-copy h1 { font-size:34px; }
  .pm-roadmap-progress-card { padding:16px; }
  .pm-roadmap-mountain-card { min-height:355px; margin-top:8px; }
  .pm-roadmap-mountain-copy { top:18px; right:14px; font-size:12px; }
  .pm-roadmap-trail { inset:42px 4px 18px; }
  .pm-roadmap-step small { min-width:44px; padding:3px 7px; font-size:10px; }
  .pm-roadmap-current-label { bottom:44px; min-width:88px; padding:8px 10px; font-size:10px; }
  .pm-roadmap-current-label strong { font-size:18px; }
  .pm-roadmap-flag { top:6px; right:2px; font-size:12px; }
  .pm-roadmap-goal-callout { display:none; }
}


/* ========== POIMORE v3.9.2 Brand Integration ========== */
.pm-brand-logo { display:block; width:auto; max-width:100%; height:auto; }
.pm-brand-logo.is-header { width:176px; }
.pm-brand-logo.is-sidebar { width:174px; }
.pm-brand-logo.is-footer { width:164px; filter:none; }
.pm-brand-logo.is-auth { width:200px; image-rendering:auto; }
.pm-brand-icon { display:block; width:100%; height:100%; object-fit:contain; }
.pm-brand-public-logo,
.pm-brand-sidebar-logo,
.pm-brand-auth-logo,
.pm-brand-footer-logo { display:inline-flex; align-items:center; flex:0 0 auto; }

.pm-brand-sidebar {
  width:220px !important;
  padding:22px 16px 18px !important;
  background:linear-gradient(180deg,#fbfdff 0%,#f4f9ff 100%) !important;
  border-right:1px solid #e7eef8 !important;
  box-shadow:none !important;
}
.pm-brand-sidebar-logo { margin:0 8px 30px; min-height:48px; }
.pm-brand-primary-nav { display:flex; flex-direction:column; gap:7px; }
.pm-brand-primary-nav > a {
  min-height:52px; padding:0 13px !important; display:flex !important; align-items:center !important; gap:12px !important;
  border-radius:14px !important; color:#61718c !important; background:transparent !important;
  font-size:14px !important; font-weight:800 !important;
}
.pm-brand-primary-nav > a:hover { background:#eef6ff !important; color:#2f80ed !important; }
.pm-brand-primary-nav > a.is-active { background:#eaf4ff !important; color:#1578ee !important; box-shadow:none !important; }
.pm-brand-primary-nav > a.is-referral-link {
  border:1px solid #dcecff !important;
  background:linear-gradient(135deg,#f2f8ff 0%,#ffffff 100%) !important;
  color:#2b72c8 !important;
}
.pm-brand-primary-nav > a.is-referral-link:hover {
  border-color:#bcdcff !important;
  background:linear-gradient(135deg,#eaf5ff 0%,#f8fbff 100%) !important;
}
.pm-brand-primary-nav > a.is-referral-link.is-active {
  border-color:#a9d2ff !important;
  background:linear-gradient(135deg,#e4f2ff 0%,#f4f9ff 100%) !important;
  color:#126fd8 !important;
}
.pm-brand-nav-icon { width:25px; height:25px; display:grid; place-items:center; flex:0 0 25px; }
.pm-brand-nav-icon svg { width:24px; height:24px; display:block; }
.pm-brand-primary-nav .pm-side-unread { margin-left:auto; min-width:23px; height:23px; border-radius:999px; display:grid; place-items:center; background:#ff4b55; color:#fff; font-size:11px; }
.pm-brand-premium-card {
  display:flex; flex-direction:column; gap:4px; margin-top:auto; padding:18px 15px; border-radius:18px;
  background:linear-gradient(180deg,#eff8ff,#e7f3ff); border:1px solid #dcecff; color:#18345f;
}
.pm-brand-premium-card > span { color:#2f80ed; font-size:11px; font-weight:900; }
.pm-brand-premium-card strong { font-size:19px; line-height:1.3; }
.pm-brand-premium-card small { color:#6e83a3; line-height:1.7; }
.pm-brand-premium-card em { margin-top:8px; padding:9px 12px; border-radius:999px; background:#fff; color:#1c6fd4; font-style:normal; font-size:12px; font-weight:900; text-align:center; }
.pm-brand-sidebar-account { margin-top:12px !important; padding:12px !important; border-radius:15px !important; background:#fff !important; border:1px solid #edf1f6 !important; }

.pm-shared-app-shell { grid-template-columns:220px minmax(0,1fr) !important; }
.pm-brand-topbar {
  min-height:72px !important; padding:0 24px 0 28px !important; background:#fff !important;
  border-bottom:1px solid #edf2f8 !important; backdrop-filter:none !important;
}
.pm-brand-topbar-message { color:#73839e; font-size:14px; font-weight:800; letter-spacing:.02em; }
.pm-brand-topbar-actions { margin-left:auto; display:flex; align-items:center; gap:12px; }
.pm-brand-wallet {
  min-height:48px; display:flex; align-items:center; gap:8px; padding:0 16px; border:1px solid #e4ecf6; border-radius:14px;
  background:#fff; color:#172033; box-shadow:0 5px 16px rgba(25,74,130,.05);
}
.pm-brand-wallet-coin { width:22px; height:22px; border-radius:50%; display:grid; place-items:center; background:#ffad22; color:#fff; font-size:0; position:relative; }
.pm-brand-wallet-coin::after { content:none !important; }
.pm-brand-wallet strong { font-size:20px; line-height:1; }
.pm-brand-wallet small { color:#63718a; font-size:12px; font-weight:800; }
.pm-brand-bell { width:44px; height:44px; display:grid; place-items:center; color:#172033; position:relative; }
.pm-brand-bell svg { width:25px; height:25px; }
.pm-brand-bell > span { position:absolute; top:3px; right:3px; min-width:17px; height:17px; padding:0 4px; display:grid; place-items:center; border-radius:999px; background:#ff3d4d; color:#fff; font-size:9px; font-weight:900; border:2px solid #fff; }
.pm-brand-menu-button { width:48px !important; height:48px !important; border:0 !important; border-radius:12px !important; background:transparent !important; }
.pm-brand-menu-button:hover { background:#f5f8fc !important; }
.pm-brand-menu-button span { width:24px !important; height:2px !important; background:#16243e !important; }

.pm-roadmap-dashboard-v39 { padding-top:18px !important; }
.pm-roadmap-dashboard-v39 .pm-roadmap-hero { gap:0 !important; min-height:390px; overflow:hidden; padding:0 !important; border-radius:22px !important; }
.pm-roadmap-dashboard-v39 .pm-roadmap-hero-copy { padding:34px 0 28px 34px; z-index:3; }
.pm-roadmap-dashboard-v39 .pm-roadmap-mountain-card { border-radius:0 !important; min-height:390px !important; }
.pm-roadmap-dashboard-v39 .pm-roadmap-progress-card { max-width:560px; margin-top:18px; }
.pm-roadmap-dashboard-v39 .pm-roadmap-summary-grid { margin-top:0; }
.pm-roadmap-dashboard-v39 .pm-roadmap-content-grid { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) 250px !important; }
.pm-roadmap-dashboard-v39 .pm-roadmap-secondary-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }

.pm-member-public-footer-brand .pm-brand-footer-logo { margin-bottom:8px; }
.pm-brand-auth-logo {
  margin-bottom:28px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:15px;
  background:rgba(255,255,255,.97);
  box-shadow:0 10px 26px rgba(10,70,145,.13);
  line-height:0;
}

@media (max-width: 1180px) {
  .pm-shared-app-shell { grid-template-columns:200px minmax(0,1fr) !important; }
  .pm-brand-sidebar { width:200px !important; }
  .pm-brand-logo.is-sidebar { width:154px; }
  .pm-roadmap-dashboard-v39 .pm-roadmap-content-grid { grid-template-columns:1fr 1fr !important; }
  .pm-roadmap-dashboard-v39 .pm-roadmap-side-rail { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .pm-brand-sidebar { display:none !important; }
  .pm-shared-app-shell { display:block !important; }
  .pm-brand-topbar { position:sticky; top:0; z-index:80; min-height:64px !important; padding:0 14px !important; }
  .pm-brand-topbar-message { display:block; max-width:180px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:12px; }
  .pm-brand-wallet { padding:0 10px; min-height:42px; }
  .pm-brand-wallet strong { font-size:17px; }
  .pm-brand-bell { width:40px; height:40px; }
  .pm-roadmap-dashboard-v39 { padding-top:10px !important; }
}

@media (max-width: 640px) {
  .pm-brand-topbar-message { width:34px; height:34px; font-size:0; background:url("assets/brand/poimore-icon.png") center/contain no-repeat; }
  .pm-brand-wallet-coin { width:18px; height:18px; }
  .pm-brand-wallet strong { font-size:15px; }
  .pm-brand-wallet small { display:none; }
  .pm-brand-bell { display:none; }
  .pm-roadmap-dashboard-v39 .pm-roadmap-hero-copy { padding:20px 18px 0; }
  .pm-roadmap-dashboard-v39 .pm-roadmap-hero { min-height:auto; }
  .pm-roadmap-dashboard-v39 .pm-roadmap-mountain-card { min-height:300px !important; }
  .pm-roadmap-dashboard-v39 .pm-roadmap-content-grid { grid-template-columns:1fr !important; }
  .pm-roadmap-dashboard-v39 .pm-roadmap-side-rail { grid-template-columns:1fr; }
  .pm-roadmap-dashboard-v39 .pm-roadmap-secondary-grid { grid-template-columns:1fr !important; }
}


/* ========== POIMORE v3.9.3 Wallet & Reward Store ========== */
.pm-roadmap-title{display:flex;align-items:baseline;flex-wrap:nowrap;white-space:nowrap;word-break:keep-all;gap:0}.pm-roadmap-title span{white-space:nowrap;display:inline}.pm-brand-wallet-cluster{display:flex;align-items:center;gap:8px}.pm-brand-wallet-cluster .pm-brand-wallet{min-width:132px;padding:7px 12px;gap:8px}.pm-brand-wallet-copy{display:flex;flex-direction:column;line-height:1.05}.pm-brand-wallet-copy small{font-size:9px;color:#7c8da8;font-weight:800}.pm-brand-wallet-copy strong{font-size:18px;white-space:nowrap}.pm-brand-wallet-copy em{font-size:10px;font-style:normal;margin-left:3px;color:#7d8da4}.pm-brand-wallet-more{background:#fff9ef!important;border-color:#ffe1ab!important}.pm-brand-wallet-more-icon{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ffbf3e,#ff8e20);color:#fff;font-size:11px;font-weight:900;box-shadow:0 5px 12px rgba(255,153,37,.25)}
.pm-coin-wallet-page{display:flex;flex-direction:column;gap:20px}.pm-coin-wallet-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px;border-radius:28px;background:linear-gradient(135deg,#eef7ff,#fff8e8);border:1px solid #e4edf8}.pm-coin-wallet-hero h1{margin:7px 0 5px;font-size:40px;color:#13213d}.pm-coin-wallet-hero p{margin:0;color:#72839d}.pm-coin-wallet-balance{min-width:300px;padding:20px 24px;border-radius:22px;background:#fff;box-shadow:0 12px 28px rgba(26,61,105,.08)}.pm-coin-wallet-balance small,.pm-coin-wallet-balance em{display:block;color:#788aa3;font-style:normal}.pm-coin-wallet-balance strong{display:block;font-size:42px;line-height:1;color:#ff922a;margin:8px 0}.pm-coin-wallet-balance strong span{font-size:15px;color:#73839e}.pm-coin-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pm-coin-info-grid article{padding:22px;border-radius:22px;background:#fff;border:1px solid #e7edf5;box-shadow:0 10px 25px rgba(26,61,105,.05)}.pm-coin-info-grid article>span{font-size:28px}.pm-coin-info-grid h2{margin:8px 0 5px;font-size:19px}.pm-coin-info-grid p{margin:0;color:#71829d;font-size:14px}.pm-reward-store-panel{margin-top:22px}.pm-reward-store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pm-reward-store-card{overflow:hidden;border-radius:20px;border:1px solid #e7edf5;background:#fff}.pm-reward-store-image{aspect-ratio:16/10;background:#f5f8fc;display:grid;place-items:center;font-size:44px}.pm-reward-store-image img{width:100%;height:100%;object-fit:cover}.pm-reward-store-body{padding:16px}.pm-reward-store-body h3{margin:0 0 6px;font-size:18px;color:#172033}.pm-reward-store-body p{margin:0 0 10px;color:#71819a;font-size:13px}.pm-reward-store-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 0}.pm-reward-store-meta strong{font-size:21px;color:#ff7b18}.pm-reward-store-meta span{font-size:12px;color:#70819b}.pm-reward-store-body>small{display:block;color:#73839e;margin-bottom:10px}.pm-reward-store-form{display:grid;gap:8px}.pm-reward-store-form details{border:1px solid #e3eaf3;border-radius:12px;padding:9px 10px}.pm-reward-store-form summary{cursor:pointer;font-weight:800;color:#2f80ed}.pm-reward-store-form input,.pm-reward-store-form textarea{width:100%;margin-top:8px;padding:9px 10px;border:1px solid #dbe4ef;border-radius:10px}.pm-reward-store-notice{padding:12px 14px;border-radius:13px;background:#eef7ff;color:#245f9f;font-weight:800;margin:0 0 16px}.pm-reward-store-notice.is-success{background:#eaf8f1;color:#168359}.pm-reward-store-notice.is-insufficient,.pm-reward-store-notice.is-error{background:#fff0f1;color:#be4050}
@media(max-width:1100px){.pm-brand-wallet-cluster .pm-brand-wallet{min-width:auto}.pm-brand-wallet-copy small{display:none}.pm-reward-store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.pm-roadmap-title{display:block;white-space:normal}.pm-roadmap-title span{display:block;white-space:nowrap}.pm-brand-wallet-cluster{gap:4px}.pm-brand-wallet-cluster .pm-brand-wallet{padding:5px 7px;min-width:0}.pm-brand-wallet-copy strong{font-size:13px}.pm-brand-wallet-copy em{font-size:8px}.pm-brand-wallet-coin,.pm-brand-wallet-more-icon{width:18px!important;height:18px!important}.pm-coin-wallet-hero{align-items:stretch;flex-direction:column;padding:18px}.pm-coin-wallet-hero h1{font-size:30px}.pm-coin-wallet-balance{min-width:0}.pm-coin-info-grid,.pm-reward-store-grid{grid-template-columns:1fr}}


/* ========== POIMORE v3.9.5 Wallet Icon Hotfix ========== */
.pm-brand-wallet-coin::before,
.pm-brand-wallet-coin::after { content:none !important; display:none !important; }
.pm-brand-wallet-coin {
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  color:#fff !important;
  background:linear-gradient(135deg,#ffbf3e,#ff8e20) !important;
}
.pm-brand-wallet-copy { gap:1px; }
.pm-brand-wallet-eyebrow {
  display:block;
  font-size:8px !important;
  line-height:1.05;
  color:#9aa7bb !important;
  font-weight:800;
  letter-spacing:.02em;
}
.pm-brand-wallet-label {
  display:block;
  font-size:10px;
  line-height:1.05;
  color:#72839e;
  font-weight:800;
  white-space:nowrap;
}
.pm-brand-wallet-copy strong { margin-top:1px; }
@media (max-width:767px){
  .pm-brand-wallet-eyebrow{display:none;}
  .pm-brand-wallet-label{font-size:8px;}
  .pm-brand-wallet-coin{font-size:10px !important;}
}


/* ========== POIMORE v3.9.6 Launch Ready ========== */
.pm-feedback-page{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.pm-feedback-hero{padding:28px;border:1px solid #dce8f7;border-radius:24px;background:linear-gradient(135deg,#f4f9ff,#fff);box-shadow:0 12px 30px rgba(29,78,137,.06)}
.pm-feedback-kicker{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e8f3ff;color:#2f80ed;font-size:11px;font-weight:900;letter-spacing:.12em}
.pm-feedback-hero h1{margin:12px 0 8px;color:#13213d;font-size:32px;letter-spacing:-.03em}.pm-feedback-hero p{margin:0;color:#6d7d96}
.pm-feedback-success{padding:14px 16px;border-radius:16px;background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;font-weight:800}
.pm-feedback-form{padding:24px;border:1px solid #e2e8f0;border-radius:24px;background:#fff;box-shadow:0 12px 30px rgba(29,78,137,.05);display:flex;flex-direction:column;gap:18px}
.pm-feedback-field{display:flex;flex-direction:column;gap:8px}.pm-feedback-field>span{font-weight:800;color:#24344f}.pm-feedback-field select,.pm-feedback-field textarea{width:100%;border:1px solid #d7e1ef;border-radius:14px;padding:12px 14px;background:#fbfdff;color:#172033}.pm-feedback-field select:focus,.pm-feedback-field textarea:focus{outline:2px solid rgba(47,128,237,.18);border-color:#5aa9ff}
.pm-feedback-note{margin:0;color:#7b8da8;font-size:12px}
.pm-launch-beta-cta{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:20px 24px;border:1px solid #dbe8f8;border-radius:22px;background:linear-gradient(135deg,#f5faff,#fff8ed);box-shadow:0 12px 28px rgba(29,78,137,.05)}
.pm-launch-beta-cta span{display:block;color:#2f80ed;font-size:11px;font-weight:900;letter-spacing:.12em}.pm-launch-beta-cta strong{display:block;margin-top:4px;color:#13213d;font-size:18px}.pm-launch-beta-cta p{margin:3px 0 0;color:#74849d;font-size:13px}.pm-launch-beta-cta a{display:inline-flex;white-space:nowrap;padding:11px 16px;border-radius:14px;background:#2f80ed;color:#fff;font-weight:900}
@media(max-width:767px){.pm-feedback-hero,.pm-feedback-form{padding:18px;border-radius:20px}.pm-feedback-hero h1{font-size:26px}.pm-launch-beta-cta{align-items:flex-start;flex-direction:column;padding:18px}.pm-launch-beta-cta a{width:100%;justify-content:center}}

/* ========== POIMORE v3.9.7 CHALLENGE ========== */
.pm-dashboard-challenge-card{margin:18px 0 24px;padding:22px 24px;border:1px solid #dbe8fb;border-radius:24px;background:linear-gradient(135deg,#f4f9ff 0%,#fff8ec 100%);display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 12px 32px rgba(39,94,166,.08)}
.pm-dashboard-challenge-copy>span{display:block;color:#2f80ed;font-size:11px;font-weight:900;letter-spacing:.11em;margin-bottom:5px}.pm-dashboard-challenge-copy h2{margin:0;font-size:25px;color:#17233f}.pm-dashboard-challenge-copy p{margin:7px 0 12px;color:#66748c;font-size:13px}.pm-dashboard-challenge-meta{display:flex;gap:8px;flex-wrap:wrap}.pm-dashboard-challenge-meta b{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #e2eaf6;font-size:11px;color:#485a78}.pm-dashboard-challenge-card>a{flex:0 0 auto;display:inline-flex;align-items:center;gap:14px;text-decoration:none;background:linear-gradient(135deg,#2f80ed,#2269d3);color:#fff;padding:13px 17px;border-radius:14px;font-weight:900;box-shadow:0 10px 22px rgba(47,128,237,.2)}

.pm-challenge-page{max-width:1220px;margin:0 auto;padding:26px 28px 60px}.pm-challenge-hero{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px;align-items:center;padding:30px;border-radius:28px;background:linear-gradient(135deg,#edf6ff 0%,#fff9ef 100%);border:1px solid #dfeafd;box-shadow:0 16px 42px rgba(40,86,150,.08)}.pm-challenge-kicker{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.13em;color:#2f80ed;margin-bottom:8px}.pm-challenge-hero h1{font-size:44px;line-height:1.12;margin:0;color:#17233f;letter-spacing:-.03em}.pm-challenge-hero h1 em{font-style:normal;color:#f29121}.pm-challenge-hero p{font-size:14px;color:#66748c;line-height:1.8;margin:14px 0}.pm-challenge-hero-note{display:inline-flex;align-items:baseline;gap:6px;flex-wrap:wrap;padding:9px 12px;border-radius:12px;background:#fff;border:1px solid #e2eaf6;color:#5f6f87;font-size:12px}.pm-challenge-hero-note strong{font-size:16px;color:#17233f}.pm-challenge-hero-note small{font-size:10px}.pm-challenge-ticket-card{background:#fff;border:1px solid #dbe7f7;border-radius:22px;min-height:180px;display:grid;grid-template-columns:auto auto;justify-content:center;align-content:center;column-gap:8px;text-align:center;box-shadow:0 12px 28px rgba(45,86,142,.08)}.pm-challenge-ticket-card>span{grid-column:1/3;font-size:36px}.pm-challenge-ticket-card>small{grid-column:1/3;color:#7b8aa3;font-weight:800;font-size:11px}.pm-challenge-ticket-card>strong{font-size:48px;line-height:1;color:#17233f}.pm-challenge-ticket-card>em{align-self:end;font-size:15px;font-style:normal;font-weight:800;color:#687993;padding-bottom:6px}.pm-challenge-ticket-card>div{grid-column:1/3;margin-top:10px;font-size:11px;color:#687993}.pm-challenge-ticket-card>div b{color:#2f80ed}.pm-challenge-prep{display:flex;gap:14px;align-items:flex-start;margin:16px 0 0;padding:14px 16px;border:1px solid #f4d9a5;background:#fff8e8;border-radius:16px}.pm-challenge-prep>span{font-size:24px}.pm-challenge-prep strong{color:#7b5815}.pm-challenge-prep p{margin:4px 0 0;color:#846d42;font-size:12px;line-height:1.6}

.pm-challenge-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:20px;margin-top:22px}.pm-challenge-video-panel,.pm-challenge-game-panel,.pm-challenge-checkpoints{background:#fff;border:1px solid #e1e9f4;border-radius:24px;padding:22px;box-shadow:0 10px 28px rgba(28,65,115,.06)}.pm-challenge-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.pm-challenge-section-head span{display:block;color:#2f80ed;font-size:10px;font-weight:900;letter-spacing:.12em}.pm-challenge-section-head h2{font-size:21px;margin:2px 0 0;color:#17233f}.pm-challenge-section-head>b{font-size:11px;background:#f2f6fc;color:#65758d;border-radius:999px;padding:7px 10px;white-space:nowrap}.pm-challenge-sponsor{display:flex;align-items:center;gap:8px;margin-bottom:10px}.pm-challenge-sponsor small{font-size:9px;font-weight:900;color:#9aa5b7;border:1px solid #dbe3ee;border-radius:5px;padding:3px 5px}.pm-challenge-sponsor strong{font-size:12px;color:#53627b}.pm-challenge-video{width:100%;aspect-ratio:16/9;object-fit:contain;background:#0c1320;border-radius:16px;display:block}.pm-challenge-video-panel h3{font-size:16px;margin:13px 0 5px;color:#24314b}.pm-challenge-video-panel>p{font-size:12px;color:#738199;line-height:1.7}.pm-challenge-video-start{width:100%;justify-content:center;margin-top:7px}.pm-challenge-video-start:disabled{opacity:.48;cursor:not-allowed}.pm-challenge-status{min-height:22px;margin-top:9px;font-size:11px;color:#2b6fc8;font-weight:700}.pm-challenge-empty-video{min-height:230px;border:1px dashed #cbd9ea;border-radius:18px;background:#f8fbff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.pm-challenge-empty-video span{font-size:38px}.pm-challenge-empty-video strong{font-size:16px;color:#34435d}.pm-challenge-empty-video p{font-size:11px;color:#8491a5;max-width:280px;line-height:1.6}

.pm-challenge-streak{text-align:center;margin:4px auto 14px}.pm-challenge-streak small{display:block;color:#8592a7;font-size:11px;font-weight:800}.pm-challenge-streak strong{font-size:68px;line-height:1;color:#17233f;letter-spacing:-.06em}.pm-challenge-streak span{font-size:14px;font-weight:900;color:#6e7d94}.pm-challenge-result{min-height:76px;border:1px solid #dfe8f4;border-radius:15px;background:#f9fbfe;padding:14px;text-align:center;display:flex;flex-direction:column;justify-content:center}.pm-challenge-result strong{font-size:16px;color:#24314b}.pm-challenge-result p{margin:5px 0 0;font-size:11px;color:#748198;line-height:1.6}.pm-challenge-result.is-win{background:#effbf4;border-color:#c7eed7}.pm-challenge-result.is-win strong{color:#168a50}.pm-challenge-result.is-lose{background:#fff5f5;border-color:#f4d1d1}.pm-challenge-result.is-lose strong{color:#c74343}.pm-challenge-result.is-grand{background:linear-gradient(135deg,#fff9dd,#fff0cf);border-color:#f1cf72}.pm-challenge-result.is-grand strong{color:#a36d00}.pm-challenge-result.is-ready{background:#f2f7ff;border-color:#cdddf5}.pm-challenge-start-run{width:100%;margin-top:14px;border:0;border-radius:15px;background:linear-gradient(135deg,#ffad33,#f28b18);color:#fff;padding:14px 18px;font-weight:900;font-size:15px;cursor:pointer;box-shadow:0 10px 20px rgba(242,139,24,.18)}.pm-challenge-start-run:disabled{opacity:.45;cursor:not-allowed}.pm-challenge-hands{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}.pm-challenge-hands button{border:1px solid #dce7f5;border-radius:17px;background:#fff;padding:14px 6px;cursor:pointer;transition:.18s ease;color:#263653}.pm-challenge-hands button:hover{transform:translateY(-2px);border-color:#9bc2f4;box-shadow:0 8px 18px rgba(47,128,237,.1)}.pm-challenge-hands button:disabled{opacity:.5;cursor:wait}.pm-challenge-hands span{display:block;font-size:38px;line-height:1.1}.pm-challenge-hands strong{display:block;font-size:12px;margin-top:6px}.pm-challenge-checkpoint-actions{display:grid;gap:9px;margin-top:14px}.pm-challenge-checkpoint-actions button{border:0;border-radius:14px;padding:13px 12px;font-weight:900;cursor:pointer}.pm-challenge-checkpoint-actions .is-cashout{background:#2f80ed;color:#fff}.pm-challenge-checkpoint-actions .is-continue{background:#17233f;color:#fff}.pm-challenge-opponent{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;padding:10px;background:#f8fafc;border-radius:12px}.pm-challenge-opponent small{color:#7b889c}.pm-challenge-opponent strong{font-size:26px}

.pm-challenge-checkpoints{margin-top:20px}.pm-challenge-reward-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pm-challenge-reward-node{padding:14px;border-radius:16px;border:1px solid #e0e8f3;background:#fbfdff;text-align:center}.pm-challenge-reward-node>span{display:block;font-size:10px;font-weight:900;color:#2f80ed}.pm-challenge-reward-node>strong{display:block;margin-top:3px;font-size:16px;color:#1f2d48}.pm-challenge-reward-node>small{display:block;margin-top:4px;font-size:9px;color:#8794a7}.pm-challenge-reward-node.is-grand{background:linear-gradient(135deg,#fff9df,#fff2d2);border-color:#f1d47f}.pm-challenge-reward-node.is-grand>span{color:#a87700}.pm-challenge-reward-node.is-grand>strong{font-size:13px;color:#8c6200}.pm-challenge-rule-note{margin:14px 0 0;padding-top:12px;border-top:1px solid #edf1f6;font-size:10px;line-height:1.7;color:#8490a3}.pm-challenge-safety{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.pm-challenge-safety>div{padding:15px;border:1px solid #e1e9f4;border-radius:16px;background:#fff}.pm-challenge-safety span{font-size:23px}.pm-challenge-safety strong{display:block;margin-top:5px;color:#263653;font-size:13px}.pm-challenge-safety p{margin:5px 0 0;font-size:10px;color:#8290a5;line-height:1.6}

@media(max-width:1024px){.pm-challenge-page{padding:22px 20px 58px}.pm-challenge-hero{grid-template-columns:minmax(0,1fr) 200px}.pm-challenge-hero h1{font-size:37px}.pm-challenge-grid{grid-template-columns:1fr}.pm-challenge-reward-track{grid-template-columns:repeat(4,1fr)}}
@media(max-width:767px){.pm-dashboard-challenge-card{padding:17px;align-items:stretch;flex-direction:column;border-radius:19px}.pm-dashboard-challenge-copy h2{font-size:20px}.pm-dashboard-challenge-card>a{justify-content:center}.pm-challenge-page{padding:14px 12px 92px}.pm-challenge-hero{grid-template-columns:1fr;padding:20px;border-radius:20px}.pm-challenge-hero h1{font-size:32px}.pm-challenge-hero p{font-size:12px}.pm-challenge-ticket-card{min-height:145px}.pm-challenge-ticket-card>strong{font-size:43px}.pm-challenge-grid{gap:14px;margin-top:14px}.pm-challenge-video-panel,.pm-challenge-game-panel,.pm-challenge-checkpoints{border-radius:19px;padding:16px}.pm-challenge-section-head h2{font-size:18px}.pm-challenge-streak strong{font-size:58px}.pm-challenge-hands span{font-size:34px}.pm-challenge-reward-track{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-challenge-safety{grid-template-columns:1fr}.pm-challenge-hero-note{display:block}.pm-challenge-hero-note small{display:block;margin-top:3px}}
.pm-challenge-test-note{margin:8px 0 0;padding:9px 11px;border-radius:10px;background:#fff7e5;color:#856317;font-size:10px;font-weight:700}

/* ========== POIMORE v3.9.8 Challenge integration ========== */
.pm-brand-wallet-ticket{
  background:#fffaf1!important;
  border-color:#ffd694!important;
}
.pm-brand-wallet-ticket-icon{
  width:22px;height:22px;border-radius:8px;display:grid;place-items:center;
  background:linear-gradient(135deg,#ffbf3e,#ff9418);font-size:13px;box-shadow:0 5px 12px rgba(255,153,37,.2);
}

.pm-dashboard-challenge-guide{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(460px,1.35fr) 180px;
  align-items:stretch;gap:14px;padding:16px 18px;border-radius:24px;
  background:linear-gradient(135deg,#f9fcff 0%,#fffdfa 100%);border:1px solid #dfe9f6;
  box-shadow:0 12px 30px rgba(24,68,120,.05);
}
.pm-dashboard-challenge-intro{display:flex;align-items:center;gap:16px;min-width:0}
.pm-dashboard-challenge-hand-icons{position:relative;flex:0 0 112px;height:86px}
.pm-dashboard-challenge-hand-icons span{position:absolute;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font-size:25px;color:#fff;box-shadow:0 8px 18px rgba(40,90,150,.12)}
.pm-dashboard-challenge-hand-icons span:nth-child(1){left:0;bottom:0;background:#5aa9ff}
.pm-dashboard-challenge-hand-icons span:nth-child(2){left:54px;top:0;background:#ff8b8b}
.pm-dashboard-challenge-hand-icons span:nth-child(3){left:55px;bottom:0;background:#ffc94d}
.pm-dashboard-challenge-kicker{display:block;font-size:10px;letter-spacing:.12em;font-weight:900;color:#2f80ed}
.pm-dashboard-challenge-intro h2{margin:3px 0 6px;font-size:24px;line-height:1.2;color:#162440}
.pm-dashboard-challenge-intro p{margin:0;color:#6f7f98;font-size:12px;line-height:1.65}
.pm-dashboard-challenge-intro a{display:inline-flex;margin-top:8px;color:#2f80ed;font-size:11px;font-weight:900}
.pm-dashboard-challenge-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pm-dashboard-challenge-steps article{position:relative;padding:12px 10px 11px 42px;border-radius:16px;background:#fff;border:1px solid #dfe9f6;min-height:100px}
.pm-dashboard-challenge-steps article>b{position:absolute;left:10px;top:10px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#2f80ed;color:#fff;font-size:11px}
.pm-dashboard-challenge-steps article>span{display:block;font-size:23px;line-height:1;margin-bottom:6px}
.pm-dashboard-challenge-steps article>strong{display:block;font-size:12px;line-height:1.4;color:#183154}
.pm-dashboard-challenge-steps article>small{display:block;margin-top:5px;font-size:9px;line-height:1.45;color:#8290a4}
.pm-dashboard-ticket-mini{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:17px;background:#fff7e9;border:1px solid #ffd798;text-align:center;padding:10px}
.pm-dashboard-ticket-mini>span{font-size:29px}
.pm-dashboard-ticket-mini>small{font-size:10px;color:#7a889d;font-weight:800}
.pm-dashboard-ticket-mini>strong{font-size:27px;line-height:1.1;color:#182640;margin-top:3px}

.pm-roadmap-content-grid-v398{grid-template-columns:minmax(330px,.9fr) minmax(480px,1.35fr) 260px;align-items:stretch}
.pm-dashboard-prize-panel{min-width:0}
.pm-dashboard-prize-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.pm-dashboard-prize-card{overflow:hidden;border:1px solid #e4ebf5;border-radius:15px;background:#fbfdff;text-align:center;min-width:0}
.pm-dashboard-prize-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;object-position:center;background:#fff;padding:10px;box-sizing:border-box}
.pm-dashboard-prize-card small{display:block;padding:8px 7px 0;font-size:9px;color:#8290a5}
.pm-dashboard-prize-card strong{display:block;padding:2px 7px 9px;font-size:11px;line-height:1.35;color:#1d2c48}
.pm-dashboard-prize-note{margin:9px 0 0;text-align:center;color:#98a4b6;font-size:9px;line-height:1.5}
.pm-roadmap-recommend-wide{margin-top:0}
.pm-roadmap-recommend-wide .pm-roadmap-offer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

.pm-challenge-video-task.is-playable{background:#f8fffb;border-color:#caecd8}
.pm-roadmap-task-check.is-video{background:#2f80ed;border-color:#2f80ed;color:#fff;font-size:12px}
.pm-challenge-video-task-action{display:flex;align-items:center;gap:8px;justify-content:flex-end;white-space:nowrap}
.pm-challenge-video-task-action>span{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#e8f8ef;color:#1c9a56;font-size:10px;font-weight:900}
.pm-challenge-video-task-action>span.is-done{background:#eef3f8;color:#6c7a90}
.pm-challenge-video-task-action>span.is-waiting{background:#fff4df;color:#b36b00}
.pm-challenge-video-task-action>a{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;background:#2f80ed;color:#fff;font-size:10px;font-weight:900;box-shadow:0 6px 14px rgba(47,128,237,.18)}

.pm-challenge-prizes{margin-top:20px;background:#fff;border:1px solid #e1e9f4;border-radius:24px;padding:22px;box-shadow:0 10px 28px rgba(28,65,115,.06)}
.pm-challenge-prizes .pm-challenge-section-head p{margin:4px 0 0;font-size:11px;line-height:1.55;color:#8490a3}
.pm-challenge-prize-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.pm-challenge-prize-card{overflow:hidden;border-radius:16px;border:1px solid #e3ebf5;background:#fbfdff;text-align:center}
.pm-challenge-prize-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;object-position:center;background:#fff;padding:10px;box-sizing:border-box}
.pm-challenge-prize-card small{display:block;padding:8px 8px 0;color:#8a97a9;font-size:9px}
.pm-challenge-prize-card strong{display:block;padding:2px 8px 10px;color:#24314b;font-size:11px;line-height:1.4}
.pm-challenge-prize-note{margin:10px 0 0;color:#8a97aa;font-size:9px;line-height:1.6;text-align:center}

@media(max-width:1250px){
  .pm-dashboard-challenge-guide{grid-template-columns:1fr 1.1fr}
  .pm-dashboard-ticket-mini{grid-column:1/3;flex-direction:row;gap:10px;min-height:58px}
  .pm-dashboard-ticket-mini>strong{font-size:22px}
  .pm-roadmap-content-grid-v398{grid-template-columns:1fr 1fr}
  .pm-roadmap-content-grid-v398>.pm-roadmap-side-rail{grid-column:1/3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
}
@media(max-width:1024px){
  .pm-dashboard-challenge-guide{grid-template-columns:1fr}
  .pm-dashboard-ticket-mini{grid-column:auto}
  .pm-dashboard-challenge-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pm-roadmap-content-grid-v398{grid-template-columns:1fr}
  .pm-roadmap-content-grid-v398>.pm-roadmap-side-rail{grid-column:auto}
  .pm-dashboard-prize-grid,.pm-challenge-prize-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:767px){
  .pm-brand-wallet-cluster .pm-brand-wallet-ticket{min-width:0}
  .pm-brand-wallet-ticket-icon{width:18px;height:18px;font-size:10px}
  .pm-dashboard-challenge-guide{padding:14px;border-radius:19px;gap:12px}
  .pm-dashboard-challenge-intro{align-items:flex-start;gap:10px}
  .pm-dashboard-challenge-hand-icons{flex-basis:78px;height:62px}
  .pm-dashboard-challenge-hand-icons span{width:36px;height:36px;font-size:18px}
  .pm-dashboard-challenge-hand-icons span:nth-child(2),.pm-dashboard-challenge-hand-icons span:nth-child(3){left:39px}
  .pm-dashboard-challenge-intro h2{font-size:19px}
  .pm-dashboard-challenge-intro p{font-size:11px}
  .pm-dashboard-challenge-steps{grid-template-columns:1fr}
  .pm-dashboard-challenge-steps article{min-height:84px}
  .pm-roadmap-content-grid-v398>.pm-roadmap-side-rail{grid-template-columns:1fr}
  .pm-dashboard-prize-grid,.pm-challenge-prize-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pm-dashboard-prize-card:last-child,.pm-challenge-prize-card:last-child{grid-column:1/3}
  .pm-roadmap-recommend-wide .pm-roadmap-offer-grid{grid-template-columns:1fr}
  .pm-challenge-video-task-action{grid-column:2;justify-content:flex-start;flex-wrap:wrap}
  .pm-challenge-prizes{padding:16px;border-radius:19px}
}
.pm-roadmap-dashboard-v39 .pm-roadmap-content-grid-v398{grid-template-columns:minmax(330px,.9fr) minmax(480px,1.35fr) 260px !important}
@media(max-width:1250px){.pm-roadmap-dashboard-v39 .pm-roadmap-content-grid-v398{grid-template-columns:1fr 1fr !important}}
@media(max-width:1024px){.pm-roadmap-dashboard-v39 .pm-roadmap-content-grid-v398{grid-template-columns:1fr !important}}


/* ========== POIMORE v3.9.9 Challenge visual quality ========== */
.pm-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.pm-dashboard-challenge-copy-v399{min-width:0;display:flex;flex-direction:column;justify-content:center}
.pm-dashboard-challenge-title-art{display:block;width:100%;max-width:560px;height:auto;border-radius:12px;margin:0 0 6px;object-fit:contain;background:#fff}
.pm-dashboard-challenge-copy-v399 p{margin:0;color:#6f7f98;font-size:12px;line-height:1.65}
.pm-dashboard-challenge-copy-v399 a{display:inline-flex;margin-top:8px;color:#2f80ed;font-size:11px;font-weight:900}
.pm-dashboard-prize-card img,.pm-challenge-prize-card img{image-rendering:auto;object-position:center center;filter:saturate(1.02) contrast(1.01)}
@media(max-width:767px){
  .pm-dashboard-challenge-title-art{max-width:100%;border-radius:10px;margin-bottom:5px}
  .pm-dashboard-challenge-copy-v399 p{font-size:11px}
}


/* ========== POIMORE v3.10.0 Individual Prize Images ========== */
.pm-dashboard-prize-card,.pm-challenge-prize-card{display:flex;flex-direction:column;min-width:0}
.pm-dashboard-prize-card img,.pm-challenge-prize-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain!important;object-position:center center!important;background:#fff!important;padding:12px;box-sizing:border-box;image-rendering:auto;transform:none!important}
.pm-dashboard-prize-card small,.pm-challenge-prize-card small{margin-top:auto}
@media(max-width:767px){.pm-dashboard-prize-card img,.pm-challenge-prize-card img{padding:8px}}


/* ========== POIMORE v3.10.1 Full-frame Prize Image Fix ========== */
.pm-dashboard-prize-card img,
.pm-challenge-prize-card img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:4 / 3!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:0!important;
  margin:0!important;
  background:#fff!important;
  transform:none!important;
  max-width:none!important;
}
.pm-dashboard-prize-card,
.pm-challenge-prize-card{overflow:hidden!important;}
@media(max-width:767px){
  .pm-dashboard-prize-card img,
  .pm-challenge-prize-card img{aspect-ratio:4 / 3!important;}
}


/* ========== POIMORE v3.10.2 Prize cache-bust + full-product fit ========== */
.pm-dashboard-prize-card img,
.pm-challenge-prize-card img{
  display:block!important;
  width:100%!important;
  height:clamp(150px, 13vw, 230px)!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#fff!important;
  padding:14px!important;
  margin:0!important;
  box-sizing:border-box!important;
  max-width:100%!important;
  transform:none!important;
}
.pm-dashboard-prize-card,
.pm-challenge-prize-card{
  overflow:hidden!important;
  background:#fbfdff!important;
}
@media (max-width:767px){
  .pm-dashboard-prize-card img,
  .pm-challenge-prize-card img{
    height:150px!important;
    padding:10px!important;
  }
}


/* ========== POIMORE v3.10.3 Prize CMS cards ========== */
.pm-prize-media{
  width:100%;
  aspect-ratio:4/3;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  overflow:hidden;
  box-sizing:border-box;
}
.pm-prize-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:0!important;
  margin:0!important;
  transform:none!important;
  background:transparent!important;
}
.pm-prize-media-placeholder{
  width:100%;height:100%;display:grid;place-items:center;
  border:1px dashed #d6e0ec;border-radius:12px;color:#97a4b7;
  font-size:12px;font-weight:700;background:#fbfdff;
}
.pm-prize-card-badge{display:inline-flex;align-items:center;justify-content:center;margin:8px auto 0;padding:3px 8px;border-radius:999px;background:#eef6ff;color:#2f80ed;font-size:9px;font-weight:800}
.pm-prize-card-link{display:block;color:inherit;text-decoration:none;height:100%}
@media(max-width:767px){.pm-prize-media{padding:10px}.pm-prize-media{aspect-ratio:4/3}}


/* ========== POIMORE v3.10.4 Growth Loop ========== */
.pm-growth-share-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.pm-growth-share-btn{appearance:none;border:1px solid #d8e6f8;background:#fff;color:#17365f;padding:10px 15px;border-radius:12px;font-weight:800;text-decoration:none;cursor:pointer}.pm-growth-share-btn.is-x{background:#101827;color:#fff;border-color:#101827}.pm-growth-loop-card{margin:24px 0;background:#fff;border:1px solid #dbe7f5;border-radius:22px;padding:24px;box-shadow:0 12px 32px rgba(29,72,120,.06)}.pm-growth-loop-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.pm-growth-loop-head span{color:#2b7eea;font-size:12px;font-weight:900;letter-spacing:.15em}.pm-growth-loop-head h2{margin:4px 0 6px;font-size:24px;color:#142440}.pm-growth-loop-head p{margin:0;color:#7588a4}.pm-growth-loop-head>strong{white-space:nowrap;background:#eef7ff;color:#2376df;padding:8px 12px;border-radius:999px}.pm-growth-claim-form{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:10px;margin-top:16px}.pm-growth-claim-form select,.pm-growth-claim-form input{border:1px solid #d8e6f8;border-radius:12px;padding:11px 12px;background:#fff}.pm-growth-claim-form button{border:0;border-radius:12px;padding:11px 16px;background:#2482f2;color:#fff;font-weight:900;cursor:pointer}.pm-growth-claim-form button:disabled{opacity:.45;cursor:not-allowed}.pm-growth-share-note{font-size:12px;color:#8798ad;margin:12px 0 0}.pm-growth-share-message{font-size:13px;font-weight:800;color:#1d6bc7;margin-top:10px}.pm-inline-share-cta{margin-top:14px;padding:12px 14px;border-radius:14px;background:#f5f9ff;border:1px solid #dbe9fb;display:grid;gap:4px}.pm-inline-share-cta strong{font-size:13px}.pm-inline-share-cta span{font-size:11px;color:#768ba6}.pm-inline-share-cta a{font-size:12px;font-weight:900;color:#257ce1;text-decoration:none}.pm-referral-stat-highlight strong small{font-size:.45em}
@media(max-width:767px){.pm-growth-loop-card{padding:18px;border-radius:18px}.pm-growth-loop-head{display:block}.pm-growth-loop-head>strong{display:inline-block;margin-top:10px}.pm-growth-claim-form{grid-template-columns:1fr}.pm-growth-share-actions{display:grid;grid-template-columns:1fr}.pm-growth-share-btn{text-align:center}}

/* =========================================================
   POIMORE v3.10.5 - ayeT App Offerwall gateway
========================================================= */
.pm-v27-tags .pm-v27-tag-link {
  padding: 7px 10px;
  border: 1px solid #e1e8f0;
  border-radius: 999px;
  background: #fff;
  color: #536078;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.4;
}
.pm-v27-category-link { text-decoration: none; }
.pm-ayet-gateway-page {
  width: min(1160px, calc(100% - 36px));
  margin: 0 auto;
  padding: 28px 0 54px;
}
.pm-ayet-breadcrumb {
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:18px;
  color:#7a8799;
  font-size:12px;
  font-weight:800;
}
.pm-ayet-breadcrumb a:hover { color:var(--pm-blue); }
.pm-ayet-breadcrumb strong { color:#33435c; }
.pm-ayet-hero {
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.65fr);
  gap:22px;
  padding:34px;
  border:1px solid #dbe9fb;
  border-radius:28px;
  background:linear-gradient(135deg,#f4f9ff 0%,#ffffff 54%,#fff8ef 100%);
  box-shadow:0 18px 50px rgba(25,74,130,.08);
}
.pm-ayet-hero-copy { min-width:0; }
.pm-ayet-kicker,
.pm-ayet-section-head > span {
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#2f80ed;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
}
.pm-ayet-hero h1 {
  margin:10px 0 12px;
  color:#172033;
  font-size:clamp(30px,4.2vw,50px);
  line-height:1.18;
  letter-spacing:-.045em;
}
.pm-ayet-hero-copy > p {
  max-width:680px;
  margin:0;
  color:#66738a;
  font-size:14px;
  line-height:1.9;
}
.pm-ayet-hero-pills {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:22px 0;
}
.pm-ayet-hero-pills span {
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 11px;
  border:1px solid #dbe7f5;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:#42516a;
  font-size:11px;
  font-weight:800;
}
.pm-ayet-launch-button {
  width:min(100%,420px);
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 20px 0 23px;
  border-radius:17px;
  background:linear-gradient(135deg,#2f80ed,#5aa9ff);
  color:#fff;
  box-shadow:0 13px 30px rgba(47,128,237,.24);
  font-size:15px;
  font-weight:900;
  transition:transform .18s ease, box-shadow .18s ease;
}
.pm-ayet-launch-button:hover {
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(47,128,237,.3);
}
.pm-ayet-launch-button strong { font-size:22px; }
.pm-ayet-launch-note {
  display:block;
  margin-top:9px;
  color:#8994a6;
  font-size:10px;
}
.pm-ayet-unavailable {
  padding:16px;
  border:1px solid #ffe0a6;
  border-radius:15px;
  background:#fffaf0;
  color:#7d5c20;
}
.pm-ayet-unavailable p { margin:4px 0 0; font-size:12px; }
.pm-ayet-member-card {
  align-self:stretch;
  display:flex;
  flex-direction:column;
  padding:24px;
  border:1px solid #e3ebf5;
  border-radius:22px;
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 32px rgba(25,74,130,.06);
}
.pm-ayet-member-icon {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin-bottom:16px;
  border-radius:15px;
  background:#2f80ed;
  color:#fff;
  font-size:24px;
  font-weight:1000;
}
.pm-ayet-member-card > small {
  color:#7c899d;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}
.pm-ayet-member-card > strong {
  margin-top:3px;
  color:#24324a;
  font-size:17px;
}
.pm-ayet-member-balance {
  margin:18px 0 14px;
  padding:15px 16px;
  border-radius:16px;
  background:#f4f8fd;
}
.pm-ayet-member-balance span {
  display:block;
  color:#7a879a;
  font-size:10px;
  font-weight:800;
}
.pm-ayet-member-balance strong {
  display:block;
  margin-top:2px;
  color:#172033;
  font-size:25px;
  line-height:1.2;
}
.pm-ayet-member-balance em {
  margin-left:3px;
  color:#61708a;
  font-size:11px;
  font-style:normal;
}
.pm-ayet-member-card p {
  margin:auto 0 0;
  color:#79869a;
  font-size:10px;
  line-height:1.75;
}
.pm-ayet-flow-section {
  margin-top:26px;
  padding:28px;
  border:1px solid #e4ebf4;
  border-radius:24px;
  background:#fff;
}
.pm-ayet-section-head h2 {
  margin:4px 0 0;
  color:#1d2a40;
  font-size:24px;
  line-height:1.35;
}
.pm-ayet-flow-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:20px;
}
.pm-ayet-flow-grid article {
  position:relative;
  min-width:0;
  padding:22px 19px 20px;
  border:1px solid #e6edf6;
  border-radius:18px;
  background:#fbfdff;
}
.pm-ayet-flow-grid article > span {
  position:absolute;
  right:14px;
  top:12px;
  color:#b8c6d9;
  font-size:12px;
  font-weight:1000;
}
.pm-ayet-flow-grid article > div { font-size:28px; }
.pm-ayet-flow-grid strong {
  display:block;
  margin-top:10px;
  color:#26354d;
  font-size:14px;
}
.pm-ayet-flow-grid p {
  margin:7px 0 0;
  color:#77849a;
  font-size:11px;
  line-height:1.75;
}
.pm-ayet-notice-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
  margin-top:18px;
}
.pm-ayet-notice-grid article {
  display:flex;
  gap:13px;
  padding:17px;
  border:1px solid #e5ebf3;
  border-radius:17px;
  background:#fff;
}
.pm-ayet-notice-grid article > span { font-size:22px; }
.pm-ayet-notice-grid strong { color:#31415a; font-size:12px; }
.pm-ayet-notice-grid p { margin:4px 0 0; color:#7b8798; font-size:10px; line-height:1.65; }
.pm-ayet-notice-grid a { display:inline-block; margin-top:6px; color:#2f80ed; font-size:10px; font-weight:900; }
.pm-ayet-foot-actions {
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:20px;
}
.pm-ayet-foot-actions a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 17px;
  border:1px solid #dce5ef;
  border-radius:13px;
  background:#fff;
  color:#53627a;
  font-size:11px;
  font-weight:900;
}
.pm-ayet-foot-actions a.is-primary { border-color:#2f80ed; background:#2f80ed; color:#fff; }
.pm-ayet-pr-note { margin:14px 2px 0; color:#8a95a6; font-size:9px; line-height:1.6; }
@media (max-width: 900px) {
  .pm-ayet-hero { grid-template-columns:1fr; padding:24px; }
  .pm-ayet-flow-grid,
  .pm-ayet-notice-grid { grid-template-columns:1fr; }
  .pm-ayet-member-card { min-height:auto; }
}
@media (max-width: 640px) {
  .pm-ayet-gateway-page { width:min(100% - 24px,1160px); padding:18px 0 34px; }
  .pm-ayet-hero { padding:20px; border-radius:22px; }
  .pm-ayet-hero h1 { font-size:30px; }
  .pm-ayet-launch-button { width:100%; }
  .pm-ayet-flow-section { padding:20px; }
  .pm-ayet-foot-actions { flex-direction:column; }
  .pm-ayet-foot-actions a { width:100%; }
}

/* v3.10.8: My Page bank account registration / cashout UX */
.pm-account-main-stack { display:grid; gap:16px; min-width:0; }
.pm-bank-account-panel { scroll-margin-top: 92px; }
.pm-bank-account-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.pm-bank-account-status { display:inline-flex; align-items:center; min-height:28px; padding:0 10px; border-radius:999px; background:#eaf8f2; color:#177a57; font-size:11px; font-weight:900; white-space:nowrap; }
.pm-bank-rule-card { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:16px 0; padding:14px; border-radius:16px; background:linear-gradient(135deg,#f2f8ff,#fff8ef); border:1px solid #e4edf8; }
.pm-bank-rule-card > div { padding:12px; border-radius:13px; background:#fff; border:1px solid var(--pm-line); }
.pm-bank-rule-card span { display:block; color:var(--pm-muted); font-size:10px; font-weight:800; }
.pm-bank-rule-card strong { display:block; margin-top:4px; color:var(--pm-navy); font-size:16px; }
.pm-bank-rule-card p { grid-column:1/-1; margin:0; color:var(--pm-muted); font-size:11px; }
.pm-bank-account-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:14px 0; padding:14px; border:1px solid var(--pm-line); border-radius:16px; background:#fbfdff; }
.pm-bank-account-summary > div { min-width:0; }
.pm-bank-account-summary span { display:block; color:var(--pm-muted); font-size:10px; font-weight:800; }
.pm-bank-account-summary strong { display:block; margin-top:4px; color:var(--pm-navy); font-size:13px; overflow-wrap:anywhere; }
.pm-bank-account-summary small { grid-column:1/-1; color:var(--pm-muted); font-size:10px; }
.pm-bank-account-empty { margin:14px 0; padding:16px; border-radius:16px; background:#f8fbff; border:1px dashed #cfdced; color:var(--pm-muted); font-size:12px; }
.pm-bank-account-editor { margin-top:14px; border-top:1px solid var(--pm-line); padding-top:14px; }
.pm-bank-account-editor summary { cursor:pointer; color:var(--pm-blue); font-weight:900; font-size:12px; }
.pm-bank-account-form { display:grid; gap:14px; margin-top:14px; }
.pm-bank-holder-field { grid-column:1/-1; }
.pm-cashout-cta { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:18px; padding:16px; border-radius:16px; background:#f7fbff; border:1px solid #dce9f8; }
.pm-cashout-cta strong { display:block; color:var(--pm-navy); font-size:15px; }
.pm-cashout-cta span { display:block; margin-top:2px; color:var(--pm-muted); font-size:11px; }
.pm-bank-legal-note { margin:10px 0 0; color:var(--pm-muted); font-size:10px; }
.pm-exchange-bank-summary { align-items:end; }
.pm-exchange-bank-summary .pm-btn { min-height:40px; padding:0 14px; justify-self:start; }
.pm-cashout-grid { grid-template-columns:minmax(0,360px); }
.pm-bank-payout-date { display:flex; flex-direction:column; gap:3px; padding:14px 16px; border-radius:15px; background:#fff8ef; border:1px solid #ffe0b8; }
.pm-bank-payout-date span,.pm-bank-payout-date small { color:#8a6840; font-size:10px; }
.pm-bank-payout-date strong { color:#6f4f27; font-size:18px; }
.pm-exchange-bank-empty p { margin:6px 0 14px; }
@media (max-width: 760px) {
  .pm-bank-rule-card, .pm-bank-account-summary { grid-template-columns:1fr; }
  .pm-bank-rule-card p,.pm-bank-account-summary small,.pm-bank-holder-field { grid-column:auto; }
  .pm-cashout-cta { align-items:stretch; flex-direction:column; }
  .pm-cashout-cta .pm-btn { width:100%; }
}


/* v3.10.9: bank-account security hardening */
.pm-bank-security-lock { margin:14px 0; padding:14px 16px; border:1px solid #ffd6a8; border-radius:16px; background:#fff8ef; color:#76542d; font-size:12px; }
.pm-bank-security-lock strong { display:block; margin-bottom:4px; color:#6b481f; }
.pm-bank-security-points { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.pm-bank-security-points span { display:inline-flex; align-items:center; min-height:28px; padding:0 10px; border-radius:999px; background:#f3f8ff; color:#36597d; font-size:10px; font-weight:800; }
.pm-bank-fee-note { color:var(--pm-green); font-weight:900; }


/* =========================================
   v3.11.0 DASHBOARD TOPICS + PUBLIC MOBILE NAV FIX
========================================= */
@media (max-width: 1020px) {
  body:not(.logged-in) { padding-bottom: 0 !important; }
}

.pm-dashboard-topics {
  margin: 18px 0 22px;
  padding: 20px;
  border: 1px solid #e3ebf4;
  border-radius: 22px;
  background: linear-gradient(135deg,#ffffff 0%,#f8fbff 62%,#fff9f0 100%);
  box-shadow: 0 10px 28px rgba(25,74,130,.05);
}
.pm-dashboard-topics-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.pm-dashboard-topics-head small {
  display:block;
  color:#2f80ed;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
}
.pm-dashboard-topics-head h2 {
  margin:3px 0 0;
  color:#172033;
  font-size:20px;
  line-height:1.35;
}
.pm-dashboard-topics-head > a {
  color:#2f80ed;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.pm-dashboard-topics-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.pm-dashboard-topic-card {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:9px;
  padding:15px;
  border:1px solid #e5edf6;
  border-radius:16px;
  background:#fff;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.pm-dashboard-topic-card:hover {
  transform:translateY(-2px);
  border-color:#cfe1f6;
  box-shadow:0 9px 22px rgba(25,74,130,.08);
}
.pm-dashboard-topic-meta {
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.pm-dashboard-topic-type {
  display:inline-flex;
  align-items:center;
  gap:4px;
  max-width:100%;
  padding:4px 8px;
  border-radius:999px;
  background:#edf5ff;
  color:#2f80ed;
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
}
.pm-dashboard-topic-new {
  padding:3px 6px;
  border-radius:999px;
  background:#ff6574;
  color:#fff;
  font-size:7px;
  font-weight:900;
}
.pm-dashboard-topic-date {
  margin-left:auto;
  color:#96a0af;
  font-size:8px;
  white-space:nowrap;
}
.pm-dashboard-topic-card h3 {
  margin:0;
  color:#1c2940;
  font-size:13px;
  line-height:1.55;
  letter-spacing:-.01em;
}
.pm-dashboard-topic-card p {
  margin:0;
  color:#748095;
  font-size:9px;
  line-height:1.7;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.pm-dashboard-topic-foot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:auto;
  padding-top:3px;
}
.pm-dashboard-topic-foot strong {
  color:#f39a2a;
  font-size:14px;
  line-height:1;
}
.pm-dashboard-topic-foot span {
  color:#2f80ed;
  font-size:9px;
  font-weight:900;
}
.pm-dashboard-topics-empty {
  padding:17px;
  border:1px dashed #d9e4ef;
  border-radius:14px;
  color:#7d899b;
  background:rgba(255,255,255,.7);
  font-size:11px;
  text-align:center;
}
.pm-dashboard-topic-card.is-campaign .pm-dashboard-topic-type { background:#fff3e4;color:#c8761d; }
.pm-dashboard-topic-card.is-new_offer .pm-dashboard-topic-type { background:#eaf9f3;color:#168b61; }
.pm-dashboard-topic-card.is-maintenance .pm-dashboard-topic-type { background:#f3efff;color:#7357c7; }

@media (max-width: 1180px) {
  .pm-dashboard-topics-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .pm-dashboard-topics { margin:12px 0 18px;padding:15px;border-radius:18px; }
  .pm-dashboard-topics-head { align-items:center;margin-bottom:11px; }
  .pm-dashboard-topics-head h2 { font-size:17px; }
  .pm-dashboard-topics-grid {
    display:flex;
    gap:10px;
    margin:0 -15px;
    padding:0 15px 3px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
  }
  .pm-dashboard-topic-card {
    flex:0 0 min(78vw,280px);
    scroll-snap-align:start;
  }
}

/* ========== POIMORE v3.11.1 Login logo clarity ========== */
@media (max-width:760px) {
  .pm-brand-auth-logo {
    margin-bottom:22px;
    padding:9px 12px;
    border-radius:13px;
  }
  .pm-brand-logo.is-auth { width:176px; }
}


/* ========== POIMORE v3.11.2 Coin retirement / survey task ========== */
.pm-roadmap-task-action-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 14px;border-radius:999px;background:#2f80ed;color:#fff!important;text-decoration:none;font-weight:800;font-size:13px;box-shadow:0 7px 18px rgba(47,128,237,.18)}
.pm-roadmap-task-action-link:hover{transform:translateY(-1px);filter:brightness(.98)}
@media(max-width:767px){.pm-roadmap-task-action-link{min-height:34px;padding:6px 11px;font-size:12px}}

/* ========== POIMORE v3.11.3 Footer logo clarity fix ========== */
.pm-brand-logo.is-footer {
  width:164px;
  height:auto;
  max-width:100%;
  image-rendering:auto;
  object-fit:contain;
  filter:none;
  transform:translateZ(0);
}
.pm-brand-public-logo.is-footer,
.pm-brand-footer-logo {
  line-height:0;
}
@media (min-resolution: 2dppx) {
  .pm-brand-logo.is-footer { image-rendering:auto; }
}
@media (max-width:760px) {
  .pm-brand-logo.is-footer { width:156px; }
}

