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

:root {
  --pq-warm-pill-bg: #fff4d7;
  --pq-warm-pill-text: #9a5b00;
  --pq-warm-pill-border: #f9c76b;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, sans-serif;
  background: #c8d4e8;
  width: 100%;
  min-height: 100dvh;
  min-height: var(--app-height, 100dvh);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
}

.phone {
  width: 100%;
  height: 100dvh;
  height: var(--app-height, 100dvh);
  max-height: var(--app-height, 100dvh);
  background: #f8fafc;
  border-radius: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
}

@media (min-width: 600px) and (hover: hover) and (pointer: fine) {
  body { background: #b8c8de; min-height: 100vh; align-items: center; }
  .phone { width: 390px; height: 844px; border-radius: 44px; box-shadow: 0 0 0 1px rgba(0,0,0,0.09), 0 40px 100px rgba(0,0,0,0.3); }
}

html.pq-mobile-shell,
html.pq-mobile-shell body {
  width: 100% !important; min-width: 100% !important;
  height: var(--app-height, 100dvh) !important;
  min-height: var(--app-height, 100dvh) !important;
  overflow: hidden !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  background: #c8d4e8 !important;
}
html.pq-mobile-shell .phone {
  width: 100vw !important; max-width: 100vw !important; min-width: 100vw !important;
  height: var(--app-height, 100dvh) !important; max-height: var(--app-height, 100dvh) !important;
  min-height: var(--app-height, 100dvh) !important;
  border-radius: 0 !important; box-shadow: none !important;
}
@media (max-width: 899px), (pointer: coarse) {
  body { background: #eef2f7; align-items: stretch; justify-content: flex-start; }
  .phone { width: 100vw; max-width: 100vw; min-width: 100vw; height: var(--app-height, 100dvh); max-height: var(--app-height, 100dvh); border-radius: 0; box-shadow: none; }
}

/* ── Header ── */
.hdr {
  background: #238ac8;
  padding: calc(env(safe-area-inset-top) + 14px) 18px 4px;
  flex-shrink: 0;
}
.hdr-row1 {
  position: relative;
  min-height: 36px;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start;
  margin-bottom: 0;
}
.logo { justify-self: start; align-self: start; min-width: 0; max-width: 100%; border: none; background: transparent; padding: 0; display: flex; align-items: flex-start; justify-content: flex-start; cursor: pointer; text-align: left; line-height: 0; }
.logo:active { transform: scale(0.98); }
.logo-mark { flex-shrink: 1; width: clamp(156px, 48vw, 206px); height: auto; max-height: 46px; object-fit: contain; object-position: left top; transform: translate(-2px, -2px); filter: drop-shadow(0 5px 12px rgba(15,23,42,0.16)); }
.logo em {
  color: #ffd35a; font-style: normal; position: relative; display: inline-block;
  background: linear-gradient(105deg, #f6b72d 0%, #ffe89b 22%, #d99412 45%, #fff1b8 57%, #f6b72d 74%, #c98406 100%);
  background-size: 260% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  text-shadow: 0 1px 8px rgba(251,191,36,0.18);
  animation: questGoldShimmer 2.35s cubic-bezier(0.16,1,0.3,1) 0.45s 1 both;
}
@keyframes questGoldShimmer {
  0%   { background-position: 110% 0; filter: brightness(0.98); }
  42%  { background-position: 0% 0; filter: brightness(1.32); }
  100% { background-position: 48% 0; filter: brightness(1.04); }
}
.hdr-icons { justify-self: end; align-self: start; display: flex; align-items: center; gap: 5px; padding-top: 0; }
.hdr-icon-btn {
  background: none; border: none; color: rgba(255,255,255,0.88);
  font-size: 22px; cursor: pointer; padding: 0; line-height: 1;
}
.hdr-profile {
  width: 34px; height: 34px; border: 1px solid rgba(255,255,255,0.36); border-radius: 50%;
  display: grid; place-items: center; flex-shrink: 0;
  background: rgba(255,255,255,0.16); color: white; font-size: 21px; font-weight: 900;
  line-height: 1; cursor: pointer; box-shadow: 0 8px 18px rgba(0,0,0,0.12);
}
.hdr-profile:active { transform: scale(0.96); background: rgba(255,255,255,0.24); }
.sync-dot {
  width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,0.7);
  display: inline-block; margin-left: 6px; vertical-align: middle;
  animation: syncPulse 0.9s ease-in-out infinite;
}
@keyframes syncPulse { 0%,100%{opacity:0.3;transform:scale(0.8);}50%{opacity:1;transform:scale(1.15);} }

/* ── Points Bar ── */
.points-bar-wrap {
  background:
    radial-gradient(120% 140% at 100% 12%, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 34%, transparent 62%),
    linear-gradient(90deg, #238ac8 0%, #238ac8 42%, #258fcb 78%, #2d9cdb 100%);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  padding: 5px 20px 10px; flex-shrink: 0;
  position: relative; z-index: 40; overflow: visible;
}
.points-bar-main { display: flex; align-items: flex-end; gap: 10px; }
.points-bar-body { flex: 1; min-width: 0; }
.points-bar-row {
  display: flex; align-items: baseline; gap: 7px; margin-bottom: 7px;
}
.points-bar-level { font-size: 12px; font-weight: 900; color: #fff; }
.points-bar-title { font-size: 14px; font-weight: 800; color: #fff; flex: 1; }
.points-bar-nums  { font-size: 11px; font-weight: 800; color: rgba(255,255,255,0.86); }
.points-bar-track {
  height: 8px; background: rgba(211,229,246,0.28); border-radius: 999px; overflow: hidden;
  box-shadow: inset 0 1px 2px rgba(15,23,42,0.10), inset 0 -1px 0 rgba(255,255,255,0.18);
}
.points-bar-fill {
  height: 100%; border-radius: 999px;
  background: linear-gradient(90deg, rgba(250,204,21,0.70) 0%, #facc15 48%, #f59e0b 82%, #fff4d7 100%);
  box-shadow: 0 0 10px rgba(250,204,21,0.24);
  transition: width 0.6s cubic-bezier(0.16,1,0.3,1);
}
.points-bar-fill.fire { background: linear-gradient(90deg, rgba(253,224,71,0.76) 0%, #fde047 42%, #f97316 84%, #fff4d7 100%); }
.points-filter { position: relative; flex-shrink: 0; transform: translate(2px, 2px); }
.points-filter .today-filter-btn {
  box-sizing: border-box;
  width: 34px;
  height: 34px;
  border: none;
  background: transparent;
  color: #fff;
  box-shadow: none;
}
.points-filter .today-filter-btn:active { background: transparent; }
.points-filter-menu { top: 39px; right: 0; width: 188px; z-index: 90; }
.ff-professional-ia-v2 .hdr-profile { display: none; }
.ff-professional-ia-v2 .points-bar-wrap {
  background: #f3f8fd;
  border-bottom: 1px solid #dbe7f3;
  padding: 6px 18px 8px;
}
.ff-professional-ia-v2 .points-bar-level {
  color: #0f4f86;
  font-size: 11px;
  letter-spacing: 0;
  text-transform: none;
}
.ff-professional-ia-v2 .points-bar-title {
  color: #314965;
  font-size: 12px;
  font-weight: 900;
}
.ff-professional-ia-v2 .points-bar-nums {
  color: #5d718c;
  font-size: 10.5px;
}
.ff-professional-ia-v2 .points-bar-row { margin-bottom: 5px; }
.ff-professional-ia-v2 .points-bar-track {
  height: 5px;
  background: #dbe7f3;
  box-shadow: none;
}
.ff-professional-ia-v2 .points-bar-fill {
  background: linear-gradient(90deg, #0f8a61 0%, #176bb5 100%);
  box-shadow: none;
}
.ff-professional-ia-v2 .points-bar-fill.fire {
  background: linear-gradient(90deg, #0f8a61 0%, #176bb5 100%);
}
.ff-professional-ia-v2 .points-filter .today-filter-btn {
  color: #176bb5;
}
.morning-chip.fire { background: var(--pq-warm-pill-bg); color: var(--pq-warm-pill-text); }
.morning-chip.fire.lit { background: #fee2e2; color: #dc2626; animation: fireFlicker 1.4s ease-in-out infinite; }
@keyframes fireFlicker { 0%,100% { opacity:1; } 50% { opacity:0.7; } }

.setup-logo {
  display: flex;
  align-items: flex-start;
  line-height: 0;
  margin-bottom: 18px;
}
.setup-logo-mark {
  width: 184px;
  height: auto;
  max-height: 48px;
  object-fit: contain;
  object-position: left top;
  filter: drop-shadow(0 8px 16px rgba(15,23,42,0.12));
}
.setup-logo em { color: #f4b400; font-style: normal; }
.setup-label {
  display: block;
  color: #334155;
  font-size: 12px;
  font-weight: 950;
  margin-bottom: 7px;
}
.setup-input {
  width: 100%;
  height: 46px;
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  background: #ffffff;
  color: #172033;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  padding: 0 13px;
  outline: none;
}
.setup-input:focus {
  border-color: #176bb5;
  box-shadow: 0 0 0 3px rgba(23,107,181,0.14);
}
.setup-result {
  margin-top: 12px;
  border-radius: 14px;
  padding: 11px 12px;
  display: grid;
  gap: 3px;
  font-size: 13px;
  font-weight: 850;
}
.setup-result.error {
  color: #991b1b;
  background: #fee2e2;
  border: 1px solid rgba(239,68,68,0.25);
}

.auth-screen {
  min-height: 100dvh;
  padding: calc(env(safe-area-inset-top) + 28px) 18px 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(180deg, rgba(35,138,200,0.98) 0%, rgba(45,156,219,0.96) 43%, #eef6ff 43%, #f8fafc 100%);
}
.auth-card {
  width: 100%;
  max-width: 356px;
  max-height: calc(100dvh - 44px);
  overflow-y: auto;
  border: 1px solid #dbeafe;
  border-radius: 24px;
  background: rgba(255,255,255,0.97);
  padding: 20px 18px 18px;
  box-shadow: 0 24px 60px rgba(15,23,42,0.22);
  -webkit-overflow-scrolling: touch;
}
.auth-card::-webkit-scrollbar { display: none; }
.auth-kicker { color: #176bb5; font-size: 10px; font-weight: 950; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; }
.auth-title { color: #0f4f86; font-size: 24px; font-weight: 950; line-height: 1.05; margin-bottom: 7px; }
.auth-sub { color: #64748b; font-size: 13px; font-weight: 750; line-height: 1.35; margin-bottom: 16px; }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 14px; background: #e2e8f0; margin-bottom: 15px; }
.auth-tabs button { min-height: 36px; border: none; border-radius: 11px; background: transparent; color: #64748b; font: inherit; font-size: 13px; font-weight: 950; cursor: pointer; }
.auth-tabs button.on { background: #fff; color: #0f4f86; box-shadow: 0 3px 10px rgba(15,23,42,0.09); }
.auth-primary-btn,
.auth-demo-btn {
  width: 100%;
  min-height: 44px;
  border: none;
  border-radius: 14px;
  font: inherit;
  font-size: 13px;
  font-weight: 950;
  cursor: pointer;
}
.auth-primary-btn { margin-top: 16px; background: #176bb5; color: #fff; box-shadow: 0 10px 22px rgba(23,107,181,0.18); }
.auth-demo-btn { margin-top: 10px; background: var(--pq-warm-pill-bg); color: var(--pq-warm-pill-text); border: 1px solid var(--pq-warm-pill-border); }
.auth-footnote { margin-top: 12px; color: #64748b; font-size: 11px; font-weight: 750; line-height: 1.35; }

.today-completed-box { margin: 12px 16px 86px; }
.today-completed-toggle { width: auto; min-height: 28px; border: 1px solid rgba(97,114,192,0.18); border-radius: 9px; background: rgba(97,114,192,0.14); padding: 5px 9px 5px 10px; display: inline-flex; align-items: center; justify-content: flex-start; gap: 7px; color: rgba(54,70,142,0.82); font-family: inherit; font-weight: 950; text-align: left; cursor: pointer; box-shadow: none; }
.today-completed-box.simplified .today-completed-toggle { border-color: #bfdbfe; background: #dbeafe; color: #176bb5; }
.today-completed-box.inline-undo { display: grid; gap: 7px; align-items: start; justify-items: start; }
.today-completed-undo { border: 1px solid #bfdbfe; border-radius: 999px; background: #dbeafe; color: #176bb5; font-family: inherit; font-size: 11px; font-weight: 950; line-height: 1; cursor: pointer; }
.today-completed-undo { flex-shrink: 0; min-height: 30px; padding: 7px 11px; }
.today-completed-undo:active { transform: scale(0.97); background: #eff6ff; }
.today-completed-label { font-size: 12px; line-height: 1; }
.today-completed-chev { width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); transition: transform 0.18s ease; flex-shrink: 0; opacity: 0.78; }
.today-completed-chev.open { transform: rotate(45deg) translate(-1px, -1px); }
.today-completed-list { width: 100%; box-sizing: border-box; margin-top: 8px; border: 1px solid #dbeafe; border-radius: 14px; background: rgba(255,255,255,0.94); overflow: hidden; box-shadow: 0 10px 28px rgba(15,23,42,0.08); }
.today-completed-row { width: 100%; border: none; border-top: 1px solid #f1f5f9; background: transparent; padding: 10px 12px; display: flex; align-items: center; gap: 10px; font-family: inherit; text-align: left; cursor: pointer; }
.today-completed-row:first-child { border-top: none; }
.today-completed-row:active { background: #eff6ff; }
.today-completed-main { min-width: 0; flex: 1; display: grid; gap: 2px; }
.today-completed-name { color: #172033; font-size: 13px; font-weight: 900; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.today-completed-meta { color: #64748b; font-size: 11px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ── Scroll container ── */
.scroll { flex: 1; min-height: 0; overflow: hidden; display: flex; flex-direction: column; touch-action: pan-y; }
.screen-pane { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.screen-pane.slide-left { animation: screenSlideLeft 0.26s cubic-bezier(0.16,1,0.3,1) both; }
.screen-pane.slide-right { animation: screenSlideRight 0.26s cubic-bezier(0.16,1,0.3,1) both; }
@keyframes screenSlideLeft {
  from { opacity: 0; transform: translateX(32px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes screenSlideRight {
  from { opacity: 0; transform: translateX(-32px); }
  to { opacity: 1; transform: translateX(0); }
}

/* ── Bottom nav ── */
.bnav {
  background: white; border-top: 1px solid #e5e7eb;
  display: flex; align-items: center;
  padding: 8px 0 6px;
  flex-shrink: 0;
  position: relative;
  z-index: 95;
  transition: transform 0.24s cubic-bezier(0.16,1,0.3,1), opacity 0.18s ease;
}
.bnav.two-up { justify-content: center; gap: 14px; padding: 9px 22px 7px; }
.safe-area-filler { background: white; flex-shrink: 0; height: env(safe-area-inset-bottom, 20px); position: relative; z-index: 95; transition: transform 0.24s cubic-bezier(0.16,1,0.3,1), opacity 0.18s ease; }
.phone:has(.score-sheet-backdrop) .bnav,
.phone:has(.next-step-sheet-backdrop) .bnav,
.phone:has(.activity-sheet-backdrop) .bnav {
  pointer-events: none;
}
.bnav-btn {
  flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px;
  padding: 2px 4px 1px; background: none; border: none;
  cursor: pointer; color: #6b7280; transition: color 0.15s, transform 0.15s;
}
.bnav.two-up .bnav-btn { flex: 1 1 0; max-width: 152px; min-height: 48px; justify-content: center; border-radius: 18px; }
.bnav.two-up .bnav-btn.on { background: #eff6ff; box-shadow: 0 6px 18px rgba(23,107,181,0.12); }
.bnav-btn.on { color: #176bb5; transform: translateY(-1px); }
.bnav-ico { width: 37px; height: 31px; border-radius: 15px; display: flex; align-items: center; justify-content: center; line-height: 1; transition: background 0.15s, box-shadow 0.15s, transform 0.15s; }
.bnav-ico svg { width: 24px; height: 24px; }
.bnav-btn.on .bnav-ico { background: #dbeafe; box-shadow: 0 5px 14px rgba(23,107,181,0.18); transform: scale(1.06); }
.bnav-lbl { font-size: 11px; font-weight: 700; }
.bnav-btn.on .bnav-lbl { font-weight: 950; }

/* ── Sync error header button ── */
.hdr-sync-err-btn {
  position: relative; width: 34px; height: 34px; border: 1px solid rgba(255,200,150,0.5); border-radius: 50%;
  display: grid; place-items: center; flex-shrink: 0;
  background: rgba(220,38,38,0.28); color: white; cursor: pointer;
}
.hdr-sync-err-btn:active { transform: scale(0.96); background: rgba(220,38,38,0.44); }
.hdr-sync-err-badge {
  position: absolute; top: -3px; right: -3px; background: #dc2626; color: white;
  font-size: 9px; font-weight: 950; border-radius: 999px; min-width: 15px; height: 15px;
  display: flex; align-items: center; justify-content: center; padding: 0 3px; border: 1.5px solid #176bb5;
}
/* ── Sync error dropdown panel ── */
.sync-err-panel {
  position: absolute; top: 0; left: 0; right: 0; z-index: 92;
  background: white; border-bottom: 1px solid #e5e7eb;
  box-shadow: 0 12px 32px rgba(0,0,0,0.14);
  animation: syncPanelIn 0.22s cubic-bezier(0.16,1,0.3,1) both;
  padding: 10px 14px 12px;
}
@keyframes syncPanelIn { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
.sync-err-panel-hdr {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 12px; font-weight: 950; color: #dc2626; margin-bottom: 8px;
}
.sync-err-panel-close {
  border: none; background: none; color: #6b7280; font-size: 18px; font-weight: 700; cursor: pointer; padding: 0 2px; line-height: 1;
}
.sync-err-item {
  border: 1px solid #fecaca; border-radius: 10px; padding: 8px 10px; margin-bottom: 6px; background: #fff5f5;
}
.sync-err-item:last-child { margin-bottom: 0; }
.sync-err-item-label { font-size: 11.5px; font-weight: 850; color: #991b1b; margin-bottom: 2px; }
.sync-err-item-msg { font-size: 10px; font-weight: 700; color: #b91c1c; margin-bottom: 6px; overflow-wrap: anywhere; }
.sync-err-item-actions { display: flex; gap: 6px; }
.sync-retry-btn, .sync-dismiss-btn {
  border: none; border-radius: 8px; height: 26px; padding: 0 10px;
  font-size: 10.5px; font-weight: 950; cursor: pointer;
}
.sync-retry-btn { background: #dc2626; color: white; }
.sync-retry-btn:active { background: #b91c1c; }
.sync-dismiss-btn { background: #e5e7eb; color: #374151; }
.sync-dismiss-btn:active { background: #d1d5db; }

/* ── Shared ── */
.sec-ttl { font-size: 20px; font-weight: 800; color: #172033; margin-bottom: 14px; padding: 16px 16px 0; }
.card { background: white; border: 1px solid #e5e7eb; border-radius: 18px; padding: 16px; margin-bottom: 12px; }
.card-ttl { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.7px; color: #9ca3af; margin-bottom: 12px; }
.empty { text-align: center; padding: 16px; color: #9ca3af; font-size: 13px; }

/* ── Today / Home screen ── */
/* ── Pull to refresh ── */
.ptr-ind { height: 0; overflow: hidden; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ptr-ico { font-size: 22px; font-weight: 900; color: #176bb5; line-height: 1; opacity: 0; }
@keyframes ptr-spin { to { transform: rotate(360deg); } }

.today-content { flex: 1; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-y: contain; padding-bottom: 80px; }
.today-content::-webkit-scrollbar { display: none; }
.section-hdr {
  padding: 10px 16px 6px; min-height: 46px; font-size: 13px; font-weight: 800;
  color: #6b7280; background: #f8fafc; border-bottom: 1px solid #edf0f4;
  text-transform: uppercase; letter-spacing: .5px;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.section-hdr-text { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.section-hdr-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.section-hdr-sub { font-size: 10px; font-weight: 800; color: #94a3b8; text-transform: none; letter-spacing: 0; line-height: 1.15; }
.today-filter { position: relative; flex-shrink: 0; }
.today-filter-btn {
  width: 34px; height: 34px; border: 1px solid #dbeafe; border-radius: 12px;
  display: grid; place-items: center; background: white; color: #176bb5;
  font-size: 17px; font-weight: 900; line-height: 1; cursor: pointer;
}
.today-filter-btn:active { transform: scale(0.96); background: #eff6ff; }
.today-filter-menu {
  position: absolute; right: 0; top: 40px; z-index: 30; width: 174px;
  border: 1px solid rgba(147,197,253,0.5); border-radius: 14px;
  background: rgba(255,255,255,0.88); box-shadow: 0 16px 36px rgba(29,78,216,0.16);
  padding: 6px; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  text-transform: none; letter-spacing: 0; animation: filterIn 0.14s ease-out;
}
.today-filter-menu.closing { animation: filterOut 0.14s ease-in forwards; pointer-events: none; }
@keyframes filterIn { from{opacity:0;transform:translateY(-4px) scale(0.98);}to{opacity:1;transform:translateY(0) scale(1);} }
@keyframes filterOut { from{opacity:1;transform:translateY(0) scale(1);}to{opacity:0;transform:translateY(-4px) scale(0.98);} }
.today-filter-option {
  width: 100%; border: none; border-radius: 10px; padding: 10px 9px;
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  background: transparent; color: #1f4d7a; font-size: 12px; font-weight: 900; cursor: pointer;
}
.today-filter-option.on { background: #dbeafe; color: #0f3a69; }
.today-filter-check { color: #176bb5; font-size: 12px; }
/* ── Swipe rows ── */
.swipe-row {
  position: relative; overflow: hidden; min-height: 96px; max-height: 96px;
  border-bottom: none; background: white;
  transition: max-height 0.34s cubic-bezier(0.16,1,0.3,1), min-height 0.34s cubic-bezier(0.16,1,0.3,1), opacity 0.24s ease, border-color 0.24s ease;
}
.swipe-row::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 0; height: 1px; background: #e5e7eb; z-index: 3; pointer-events: none; }
.swipe-row.simplified { min-height: 102px; max-height: 102px; }
.swipe-row.simplified::after { left: 14px; right: 14px; bottom: 0; z-index: 2; }
.swipe-row.expanded { max-height: 226px; }
.swipe-row.simplified.expanded { max-height: 226px; }
.swipe-row.exiting { min-height: 0; max-height: 0; opacity: 0; border-bottom-color: transparent; }
.swipe-row.exiting::after { opacity: 0; }
.action-bg { position: absolute; inset: 0; pointer-events: none; }
.done-bg { position: absolute; inset: 0; display: flex; align-items: center; padding-left: 22px; gap: 8px; color: #128938; background: #d8f4df; font-size: 15px; font-weight: 800; }
.skip-bg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: flex-end; padding-right: 22px; gap: 8px; color: #d72727; background: #fde0e0; font-size: 15px; font-weight: 800; }
.row-card {
  position: relative; z-index: 1; min-height: 76px; background: white;
  display: grid; grid-template-columns: 58px minmax(0, 1fr);
  gap: 10px; padding: 9px 14px; align-items: flex-start;
  will-change: transform, opacity; touch-action: pan-y;
  -webkit-touch-callout: none; -webkit-user-select: none; user-select: none;
}
.swipe-row.simplified .row-card { min-height: 82px; padding-top: 10px; padding-bottom: 14px; align-items: flex-start; }
.row-card.done-dim { grid-template-columns: 58px minmax(0, 1fr) auto; opacity: 0.52; }
.row-avatar {
  position: relative;
  align-self: flex-start;
  width: 55px; height: 55px; border-radius: 50%;
  display: grid; place-items: center; color: white;
  font-weight: 900; font-size: 25px; letter-spacing: 0;
  background: linear-gradient(135deg, #2d9cdb, #63c7b2);
  flex-shrink: 0; user-select: none;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.10);
  filter: brightness(1.06) saturate(0.96);
}
.row-avatar-btn { border: none; padding: 0; appearance: none; -webkit-appearance: none; cursor: pointer; font-family: inherit; position: relative; }
.row-avatar-btn:active { transform: scale(0.96); filter: brightness(1.02) saturate(0.96); }
.row-avatar.email { background: linear-gradient(135deg, #2563eb, #38bdf8); }
.row-avatar.call { background: linear-gradient(135deg, #16a34a, #84cc16); }
.row-avatar.meeting { background: linear-gradient(135deg, #7c3aed, #a855f7); }
.row-avatar.demo { background: linear-gradient(135deg, #d946ef, #ec4899); }
.row-avatar.proposal { background: linear-gradient(135deg, #d97706, #fbbf24); }
.row-avatar.at-risk { background: linear-gradient(135deg, #dc2626, #f97316); }
.row-avatar.risk-ready { animation: riskPulse 1.65s ease-in-out infinite; }
@keyframes riskPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(239,68,68,0.34), 0 8px 18px rgba(15,23,42,0.10); }
  50% { box-shadow: 0 0 0 7px rgba(239,68,68,0.02), 0 12px 25px rgba(248,113,113,0.30); }
}
.row-main { min-width: 0; }
.row-top { position: relative; display: flex; align-items: flex-start; gap: 7px; min-width: 0; margin-bottom: 2px; }
.row-account { flex: 1; min-width: 0; color: #172033; font-size: 16px; font-weight: 850; line-height: 1.12; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding-top: 1px; display: block; }
.row-forecast-stack { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; max-width: 112px; padding-top: 0; }
.row-forecast-pill { border-radius: 999px; padding: 6px 12px; min-height: 33px; height: 33px; box-sizing: border-box; font-size: 14px; font-weight: 850; white-space: nowrap; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; line-height: 1.1; border: 1px solid transparent; }
button.row-forecast-pill { appearance: none; -webkit-appearance: none; cursor: pointer; font-family: inherit; }
button.row-forecast-pill:active { transform: scale(0.96); filter: brightness(0.97); }
.row-forecast-amount { appearance: none; -webkit-appearance: none; flex-shrink: 0; color: #047857; background: #dcfce7; border: 1px solid #86efac; border-radius: 999px; font-size: 13px; font-weight: 950; line-height: 1.1; white-space: nowrap; padding: 5px 10px; min-height: 29px; height: 29px; max-width: 72px; overflow: hidden; text-overflow: ellipsis; font-family: inherit; cursor: pointer; }
.row-forecast-amount:active { transform: scale(0.98); }
.row-stage { border-radius: 999px; padding: 5px 10px; min-height: 29px; height: 29px; box-sizing: border-box; background: #e0f2fe; color: #0369a1; border: 1px solid #bae6fd; font-size: 13px; font-weight: 900; white-space: nowrap; flex-shrink: 0; display: inline-flex; align-items: center; }
.row-stage-tap { appearance: none; -webkit-appearance: none; display: inline-flex; align-items: center; gap: 4px; cursor: pointer; font-family: inherit; line-height: 1.1; }
.row-stage-tap:active { transform: scale(0.96); filter: brightness(0.98); }
.row-stage.prospect, .row-stage.prospecting,
.row-stage.discovery,
.row-stage.qualified, .row-stage.value-proposition,
.row-stage.proposal,
.row-stage.negotiation,
.row-stage.closed-won { background: #e0f2fe; color: #0369a1; border-color: #bae6fd; }
.row-stage-tap { border-radius: 999px; padding: 5px 10px; min-height: 29px; height: 29px; box-sizing: border-box; background: #e0f2fe; color: #0369a1; border: 1px solid #bae6fd; font-size: 13px; font-weight: 900; white-space: nowrap; flex-shrink: 0; display: inline-flex; align-items: center; line-height: 1.1; appearance: none; -webkit-appearance: none; font-family: inherit; cursor: pointer; }
.row-stage-tap.done { background: #e0f2fe; color: #0369a1; border-color: #bae6fd; }
.row-stage.row-stage-tap { background: #e0f2fe; color: #0369a1; border-color: #bae6fd; }
.row-task { font-size: 14px; font-weight: 700; color: #202938; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.row-recommendation { display: flex; align-items: baseline; gap: 6px; min-width: 0; margin: 0 0 5px; }
.row-recommendation-btn { width: 100%; border: 0; padding: 0; background: transparent; font-family: inherit; text-align: left; cursor: pointer; }
.row-recommendation-btn:active { transform: translateY(1px); }
.row-recommendation span { flex: 0 1 auto; min-width: 0; max-width: 46%; color: #172033; font-size: 12px; font-weight: 950; line-height: 1.15; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.row-recommendation em { flex: 1; min-width: 0; color: #64748b; font-size: 11px; font-style: normal; font-weight: 800; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.row-account-meta { min-width: 0; margin: 0 0 5px; color: #64748b; font-size: 12px; font-weight: 850; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.swipe-row.simplified .row-top { margin-bottom: 4px; }
.swipe-row.simplified .row-account-meta { margin-bottom: 8px; }
.row-close { display: flex; align-items: center; gap: 4px; min-width: 0; margin-bottom: 0; }
.row-close-sep { color: #cbd5e1; font-weight: 400; }
.row-close .row-pill,
.row-close .close-date-pill,
.row-close .deal-score-pill,
.row-close .row-stage {
  padding: 6px 9px; min-height: 33px; height: 33px; font-size: 13px;
}
.row-close .row-forecast-pill { max-width: 82px; overflow: hidden; text-overflow: ellipsis; padding-left: 9px; padding-right: 9px; font-size: 13px; }
.row-close .deal-score-pill { min-width: 55px; max-width: 118px; }
.row-close .row-stage-tap,
.row-close .deal-meddic-pill,
.row-close .deal-next-pill { max-width: 96px; overflow: hidden; text-overflow: ellipsis; }
.row-close .deal-next-pill { max-width: 112px; }
.row-close > :not(.row-more-pill) { min-width: 0; flex-shrink: 1; }
.row-close .row-forecast-pill,
.row-close .row-forecast-amount,
.row-close .row-stage-tap,
.row-close .close-date-pill,
.row-close .deal-meddic-pill,
.row-close .deal-next-pill { min-width: 0; }
.row-close .deal-score-wrap { min-width: 0; flex: 0 1 auto; }
.row-close .row-pill { justify-content: center; }
.close-date-pill { appearance: none; -webkit-appearance: none; border-radius: 999px; padding: 5px 10px; min-height: 29px; height: 29px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; background: #e0f2fe; color: #0369a1; border: 1px solid #bae6fd; font-size: 13px; font-weight: 900; line-height: 1.1; white-space: nowrap; font-family: inherit; cursor: pointer; }
.close-date-pill.past-due { background: #fee2e2; color: #b91c1c; border-color: #fecaca; }
.close-date-pill:active { transform: scale(0.96); filter: brightness(0.98); }
.deal-score-wrap { position: relative; flex-shrink: 0; }
.deal-score-pill { appearance: none; -webkit-appearance: none; border-radius: 999px; padding: 6px 12px; min-width: 71px; max-width: 128px; min-height: 33px; height: 33px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 4px; text-align: center; font-family: inherit; font-size: 14px; font-weight: 850; line-height: 1.1; border: 1px solid transparent; cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
.deal-score-pill span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.deal-score-pill:active { transform: scale(0.96); filter: brightness(0.98); }
.deal-score-pill.strong { background: #dcfce7; color: #15803d; border-color: #86efac; }
.deal-score-pill.likely { background: #e0f2fe; color: #0369a1; border-color: #bae6fd; }
.deal-score-pill.uncertain { background: var(--pq-warm-pill-bg); color: var(--pq-warm-pill-text); border-color: var(--pq-warm-pill-border); }
.deal-score-pill.weak { background: #fee2e2; color: #b91c1c; border-color: #fecaca; }
.deal-meddic-pill { appearance: none; -webkit-appearance: none; border-radius: 999px; min-width: 70px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; font-family: inherit; font-size: 13px; font-weight: 950; line-height: 1.1; white-space: nowrap; cursor: pointer; flex-shrink: 0; }
.deal-meddic-pill:active { transform: scale(0.96); filter: brightness(0.98); }
.deal-meddic-pill.strong { background: #dcfce7; color: #15803d; border-color: #86efac; }
.deal-meddic-pill.watch { background: var(--pq-warm-pill-bg); color: var(--pq-warm-pill-text); border-color: var(--pq-warm-pill-border); }
.deal-meddic-pill.risk { background: #fee2e2; color: #b91c1c; border-color: #fecaca; }
.row-detail-line .deal-meddic-pill { min-height: 29px; height: 29px; padding: 5px 10px; min-width: 58px; font-size: 13px; }
.row-more-pill { appearance: none; -webkit-appearance: none; width: 33px; height: 33px; min-width: 33px; border-radius: 999px; border: 1px solid #e5e7eb; background: #f3f4f6; color: #64748b; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 950; line-height: 1; font-family: inherit; cursor: pointer; flex-shrink: 0; transition: background 0.22s ease, border-color 0.22s ease, color 0.22s ease, transform 0.28s cubic-bezier(0.22,1,0.36,1); }
.row-more-pill.open { background: #f3f4f6; color: #64748b; border-color: #e5e7eb; }
.row-more-pill:active { transform: scale(0.94); filter: brightness(0.98); }
.row-more-icon { position: relative; width: 1em; height: 1em; display: inline-block; flex: 0 0 1em; }
.row-more-icon-line { position: absolute; left: 50%; top: 50%; width: 1em; height: 2px; border-radius: 999px; background: currentColor; transform-origin: center; transition: transform 0.42s cubic-bezier(0.22,1,0.36,1), opacity 0.28s ease; }
.row-more-icon-line.horizontal { transform: translate(-50%, -50%); }
.row-more-icon-line.vertical { transform: translate(-50%, -50%) rotate(90deg) scaleX(1); opacity: 1; }
.row-more-pill.open .row-more-icon-line.vertical { transform: translate(-50%, -50%) rotate(90deg) scaleX(0); opacity: 0; }
.row-meta { display: flex; align-items: center; flex-wrap: nowrap; gap: 5px; margin-top: 0; min-width: 0; justify-content: flex-start; }
.row-detail-line { display: flex; align-items: center; flex-wrap: nowrap; gap: 4px; min-width: 0; }
.today-pill-detail-line { flex-wrap: wrap; }
.row-detail-expand { display: grid; grid-template-rows: 0fr; visibility: hidden; pointer-events: none; transition: grid-template-rows 0.48s cubic-bezier(0.22,1,0.36,1), visibility 0s linear 0.48s; }
.row-detail-expand.open { grid-template-rows: 1fr; }
.row-detail-expand.open { visibility: visible; pointer-events: auto; transition: grid-template-rows 0.48s cubic-bezier(0.22,1,0.36,1), visibility 0s linear 0s; }
.row-detail-expand-inner { min-height: 0; overflow: hidden; display: flex; flex-direction: column; gap: 5px; opacity: 0; transform: translateY(-3px); padding-top: 0; padding-bottom: 0; transition: opacity 0.22s ease, transform 0.48s cubic-bezier(0.22,1,0.36,1), padding-top 0.48s cubic-bezier(0.22,1,0.36,1), padding-bottom 0.48s cubic-bezier(0.22,1,0.36,1); }
.row-detail-expand.open .row-detail-expand-inner { opacity: 1; transform: translateY(0); padding-top: 5px; padding-bottom: 6px; transition: opacity 0.30s ease 0.08s, transform 0.48s cubic-bezier(0.22,1,0.36,1), padding-top 0.48s cubic-bezier(0.22,1,0.36,1), padding-bottom 0.48s cubic-bezier(0.22,1,0.36,1); }
.row-next-line { position: relative; display: flex; align-items: center; gap: 5px; margin-top: 2px; min-width: 0; }
.row-pill { border-radius: 999px; padding: 5px 10px; min-height: 29px; height: 29px; box-sizing: border-box; display: inline-flex; align-items: center; background: #eef3ff; color: #2854c5; font-size: 13px; font-weight: 850; line-height: 1.1; }
button.row-pill { appearance: none; -webkit-appearance: none; font-family: inherit; cursor: pointer; }
button.row-pill:active { transform: scale(0.96); filter: brightness(0.98); }
.row-meta .row-pill,
.row-meta .row-stage {
  flex: 0 1 auto; min-width: 0; white-space: nowrap;
  padding: 5px 10px; min-height: 29px; height: 29px; font-size: 13px;
}
.row-next-line .row-stage {
  flex: 0 1 auto; min-width: 0; white-space: nowrap;
  padding: 5px 10px; min-height: 29px; height: 29px; font-size: 13px;
}
.row-meta .row-stage.value-proposition { font-size: 12px; }
.row-pill.ns   { background: #e0f8ea; color: #147c3b; }
.row-pill.activity { border: 1px solid transparent; }
.row-pill.activity.email { background: #e0f2fe; color: #0369a1; border-color: #bae6fd; }
.row-pill.activity.call { background: #dcfce7; color: #166534; border-color: #bbf7d0; }
.row-pill.activity.meeting { background: #f3e8ff; color: #7e22ce; border-color: #e9d5ff; }
.row-pill.activity.demo { background: var(--pq-warm-pill-bg); color: var(--pq-warm-pill-text); border-color: var(--pq-warm-pill-border); }
.row-pill.activity.proposal { background: var(--pq-warm-pill-bg); color: var(--pq-warm-pill-text); border-color: var(--pq-warm-pill-border); }
.row-right { text-align: right; color: #9ca3af; font-size: 12px; white-space: nowrap; padding-top: 3px; flex-shrink: 0; }
.today-all-done {
  position: relative;
  min-height: 500px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 48px 24px 28px;
  overflow: hidden;
}
.today-victory-confetti {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.today-victory-confetti span {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: 8px;
  height: 16px;
  border-radius: 3px;
  background: var(--c);
  opacity: 0;
  transform: translateY(-34px) rotate(var(--r));
  animation: todayVictoryConfetti 3.15s var(--d) cubic-bezier(0.16,1,0.3,1) both;
}
.today-victory-burst {
  position: relative;
  width: 184px;
  height: 184px;
  display: grid;
  place-items: center;
  margin-bottom: 24px;
  animation: todayVictoryFloat 3.8s ease-in-out 1s 1 both;
}
.today-victory-burst::before {
  content: "";
  position: absolute;
  inset: 12px;
  border-radius: 999px;
  background:
    radial-gradient(circle at center, rgba(255,255,255,0.96) 0 36%, transparent 37%),
    conic-gradient(from 12deg, #facc15, #38bdf8, #22c55e, #f97316, #facc15);
  box-shadow: 0 20px 42px rgba(35,138,200,0.18);
  animation: todayVictorySpin 4.8s linear 1 both;
}
.today-victory-orbit {
  position: absolute;
  border-radius: 999px;
  border: 1px solid rgba(56,189,248,0.24);
  animation: todayVictoryPulse 2.5s ease-out 2 both;
}
.today-victory-orbit.one { inset: 0; }
.today-victory-orbit.two { inset: 18px; animation-delay: 0.32s; border-color: rgba(250,204,21,0.28); }
.today-victory-core {
  position: relative;
  z-index: 2;
  width: 116px;
  height: 116px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #ffffff, #eef6ff);
  border: 1px solid #dbeafe;
  box-shadow: 0 14px 34px rgba(15,23,42,0.12);
  animation: todayVictoryPop 0.78s cubic-bezier(0.16,1.45,0.32,1) both;
  align-content: center;
  gap: 2px;
}
.today-victory-core strong { color:#15803d;font-size:31px;font-weight:950;line-height:1;animation:todayVictoryPercent 0.7s 0.34s cubic-bezier(0.16,1.35,0.32,1) both; }
.today-victory-core span { color:#64748b;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.7px;margin-top:4px;animation:todayVictoryCopy 0.44s 0.48s ease-out both; }
.today-all-done-kicker {
  color: #0f4f86;
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .7px;
  margin-bottom: 8px;
  animation: todayVictoryCopy 0.44s 0.28s ease-out both;
}
.today-all-done-txt {
  color: #172033;
  font-size: 31px;
  font-weight: 950;
  line-height: 1.02;
  animation: todayVictoryCopy 0.44s 0.36s ease-out both, todayVictoryTitlePulse 1.8s 1s ease-in-out 2 both;
}
.today-cleared-summary { width:min(100%,304px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px;animation:todayVictoryCopy 0.44s 0.52s ease-out both; }
.today-cleared-summary-item { min-width:0;border:1px solid #dbeafe;border-radius:8px;background:white;padding:10px 9px;text-align:left;box-shadow:0 10px 22px rgba(15,23,42,0.07); }
.today-cleared-summary-item.green { background:#dcfce7;border-color:#86efac; }
.today-cleared-summary-item.amber { background:var(--pq-warm-pill-bg);border-color:var(--pq-warm-pill-border); }
.today-cleared-summary-item.purple { background:#f3e8ff;border-color:#ddd6fe; }
.today-cleared-summary-item strong { display:block;color:#172033;font-size:22px;font-weight:950;line-height:1; }
.today-cleared-summary-item span { display:block;min-height:24px;margin-top:5px;color:#64748b;font-size:10px;font-weight:850;line-height:1.15; }
.today-all-done-reload { width:min(100%,304px);min-height:44px;border:none;border-radius:14px;background:#176bb5;color:white;font-family:inherit;font-size:13px;font-weight:950;cursor:pointer;box-shadow:0 10px 24px rgba(23,107,181,0.18);margin-top:14px;animation:todayVictoryCopy 0.44s 0.62s ease-out both; }
.today-all-done-reload:active { transform:scale(0.98);background:#0f5f9f; }
.today-all-done-sub {
  max-width: 276px;
  color: #64748b;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.42;
  margin-top: 10px;
  padding: 0 8px;
  animation: todayVictoryCopy 0.44s 0.44s ease-out both;
}
@keyframes todayVictoryConfetti {
  0% { opacity: 0; transform: translateY(-28px) rotate(var(--r)) scale(0.82); }
  16% { opacity: 0.95; }
  58% { opacity: 0.9; transform: translateY(22px) rotate(calc(var(--r) + 72deg)) scale(1); }
  100% { opacity: 0; transform: translateY(96px) rotate(calc(var(--r) + 170deg)) scale(0.92); }
}
@keyframes todayVictoryPercent { from{opacity:0;transform:scale(0.62);} to{opacity:1;transform:scale(1);} }
@keyframes todayVictoryTitlePulse { 0%,100%{transform:translateY(0) scale(1);text-shadow:0 0 0 rgba(35,138,200,0);} 50%{transform:translateY(-1px) scale(1.025);text-shadow:0 0 18px rgba(35,138,200,0.18);} }
@keyframes todayVictoryPop {
  0% { opacity: 0; transform: scale(0.64); }
  64% { opacity: 1; transform: scale(1.08); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes todayVictoryCheck { to { stroke-dashoffset: 0; } }
@keyframes todayVictorySpin { to { transform: rotate(360deg); } }
@keyframes todayVictoryPulse {
  0% { opacity: 0; transform: scale(0.78); }
  34% { opacity: 1; }
  100% { opacity: 0; transform: scale(1.18); }
}
@keyframes todayVictoryFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}
@keyframes todayVictoryCopy {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .today-victory-confetti span,
  .today-victory-burst,
  .today-victory-burst::before,
  .today-victory-orbit,
  .today-victory-core,
  .today-victory-core svg,
  .today-all-done-kicker,
  .today-all-done-txt,
  .today-all-done-sub {
    animation-duration: 0.001ms;
    animation-iteration-count: 1;
  }
  .today-victory-core svg { stroke-dashoffset: 0; }
}
.daily-quest-tile { border-radius: 12px; padding: 9px 6px; text-align: center; border: 1px solid #bfdbfe; background: #eff6ff; min-width: 0; }
.daily-quest-tile.next { background: #f0fdf4; border-color: #bbf7d0; }
.daily-quest-tile.stage { background: #f5f3ff; border-color: #ddd6fe; }
.daily-quest-tile.risk { background: var(--pq-warm-pill-bg); border-color: var(--pq-warm-pill-border); }
.daily-quest-tile.done { background: #ecfdf5; border-color: #86efac; }
.daily-quest-count { font-size: 18px; font-weight: 900; color: #1d4ed8; line-height: 1; white-space: nowrap; }
.daily-quest-count .profile-today-denom { font-size: inherit; font-weight: inherit; }
.daily-quest-tile.next .daily-quest-count { color: #15803d; }
.daily-quest-tile.stage .daily-quest-count { color: #6d28d9; }
.daily-quest-tile.risk .daily-quest-count { color: var(--pq-warm-pill-text); }
.daily-quest-tile.done .daily-quest-count { color: #047857; }
.daily-quest-label { font-size: 9px; font-weight: 850; color: #1e40af; line-height: 1.15; margin-top: 5px; min-height: 22px; display: flex; align-items: center; justify-content: center; }
.daily-quest-tile.next .daily-quest-label { color: #166534; }
.daily-quest-tile.stage .daily-quest-label { color: #5b21b6; }
.daily-quest-tile.risk .daily-quest-label { color: var(--pq-warm-pill-text); }
.daily-quest-progress { height: 5px; border-radius: 999px; background: rgba(15,23,42,0.10); overflow: hidden; margin-top: 8px; }
.daily-quest-fill { height: 100%; border-radius: inherit; background: #176bb5; }
.daily-quest-tile.next .daily-quest-fill { background: #22c55e; }
.daily-quest-tile.stage .daily-quest-fill { background: #8b5cf6; }
.daily-quest-tile.risk .daily-quest-fill { background: var(--pq-warm-pill-text); }

/* ── Pipeline ── */
.pipeline-scroll { flex: 1; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-y: contain; padding-bottom: 80px; }
.pipeline-scroll::-webkit-scrollbar { display: none; }
.pipeline-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 16px 10px; }
.pipeline-toolbar-title { font-size: 13px; font-weight: 900; color: #172033; }
.pipeline-toolbar-sub { font-size: 11px; font-weight: 700; color: #94a3b8; margin-top: 1px; }
.forecast-section-title { margin: 14px 16px 8px; font-size: 11px; font-weight: 900; color: #64748b; text-transform: uppercase; letter-spacing: .45px; }
.forecast-scope-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; margin: 12px 16px 9px; padding: 4px; border-radius: 12px; background: #dbeafe; }
.forecast-scope-tabs button { min-width: 0; min-height: 31px; border: none; border-radius: 9px; background: transparent; color: #64748b; font-family: inherit; font-size: 11px; font-weight: 950; line-height: 1.1; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.forecast-scope-tabs button.on { background: white; color: #176bb5; box-shadow: 0 3px 10px rgba(15,23,42,0.10); }
.forecast-scope-tabs button:active { transform: scale(0.97); }
.forecast-ready-card { background: white; border: 1px solid #e5e7eb; border-radius: 14px; margin: 0 16px 12px; overflow: hidden; box-shadow: 0 10px 24px rgba(15,23,42,0.05); }
.forecast-ready-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 14px 10px; border-bottom: 1px solid #f1f5f9; }
.forecast-ready-label { font-size: 10px; font-weight: 950; color: #94a3b8; text-transform: uppercase; letter-spacing: .45px; }
.forecast-ready-score { font-size: 13px; font-weight: 950; color: #172033; margin-top: 2px; }
.forecast-ready-badge { min-height: 27px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; padding: 6px 10px; font-size: 11px; font-weight: 950; white-space: nowrap; }
.forecast-ready-badge.ready { background: #dcfce7; color: #166534; }
.forecast-ready-badge.watch { background: var(--pq-warm-pill-bg); color: var(--pq-warm-pill-text); border: 1px solid var(--pq-warm-pill-border); }
.forecast-ready-badge.risk { background: #fee2e2; color: #991b1b; }
.forecast-ready-list { display: grid; }
.forecast-ready-row { width: 100%; border: none; border-top: 1px solid #f8fafc; background: white; display: flex; align-items: flex-start; gap: 10px; padding: 10px 14px; font-family: inherit; text-align: left; cursor: pointer; }
.forecast-ready-row:first-child { border-top: none; }
.forecast-ready-row:active { background: #f8fafc; }
.forecast-ready-icon { width: 20px; height: 20px; margin-top: 1px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 12px; font-weight: 950; }
.forecast-ready-row.done .forecast-ready-icon { background: #dcfce7; color: #15803d; }
.forecast-ready-row.open .forecast-ready-icon { background: #fee2e2; color: #dc2626; }
.forecast-ready-main { min-width: 0; flex: 1; display: grid; gap: 2px; }
.forecast-ready-title { color: #172033; font-size: 13px; font-weight: 950; line-height: 1.2; }
.forecast-ready-sub { color: #64748b; font-size: 11px; font-weight: 750; line-height: 1.25; }
.forecast-ready-side { display: inline-flex; align-items: center; gap: 8px; color: #176bb5; font-size: 10px; font-weight: 950; white-space: nowrap; padding-top: 3px; }
.analytics-card { background: white; border: 1px solid #e5e7eb; border-radius: 18px; margin: 0 16px 12px; overflow: hidden; }
.analytics-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border-top: 1px solid #f1f5f9; }
button.analytics-row { width: 100%; border: none; background: transparent; font-family: inherit; text-align: left; cursor: pointer; }
button.analytics-row:active { background: #f8fafc; }
.analytics-row:first-child { border-top: none; }
.analytics-main { min-width: 0; flex: 1; }
.analytics-title { font-size: 13px; font-weight: 850; color: #172033; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.analytics-sub { font-size: 11px; font-weight: 700; color: #94a3b8; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.analytics-value { font-size: 13px; font-weight: 900; color: #059669; flex-shrink: 0; }
.analytics-meter { height: 8px; border-radius: 999px; background: #e5e7eb; overflow: hidden; margin-top: 7px; }
.analytics-fill { height: 100%; border-radius: inherit; background: #176bb5; }
.analytics-fill.commit { background: #15803d; }
.analytics-fill.best { background: #176bb5; }
.analytics-fill.pipeline { background: #555870; }
.analytics-fill.risk { background: #ef4444; }
.analytics-chevron { width: 8px; height: 8px; border-right: 2px solid #94a3b8; border-bottom: 2px solid #94a3b8; transform: rotate(45deg); transition: transform .18s ease; flex-shrink: 0; }
.analytics-chevron.open { transform: rotate(225deg) translate(-1px, -1px); }
.analytics-deals { padding: 0 12px 12px; border-top: 1px solid #f1f5f9; }
.smooth-expand { height: 0; overflow: hidden; transition: height 0.44s cubic-bezier(0.16,1,0.3,1); will-change: height; }
.smooth-expand-inner { opacity: 0; transform: translateY(-5px); transition: opacity 0.20s ease, transform 0.34s cubic-bezier(0.16,1,0.3,1); }
.smooth-expand.open .smooth-expand-inner { opacity: 1; transform: translateY(0); transition: opacity 0.26s ease 0.08s, transform 0.40s cubic-bezier(0.16,1,0.3,1); }
.analytics-expand-wrap { display: grid; grid-template-rows: 0fr; background: transparent; overflow: hidden; transition: grid-template-rows 0.42s cubic-bezier(0.16,1,0.3,1); }
.analytics-expand-wrap.open { grid-template-rows: 1fr; }
.analytics-expand-inner { overflow: hidden; opacity: 0; transform: translateY(-4px); transition: opacity 0.22s ease, transform 0.38s cubic-bezier(0.16,1,0.3,1); }
.analytics-expand-wrap.open .analytics-expand-inner { opacity: 1; transform: translateY(0); transition: opacity 0.28s ease 0.08s, transform 0.42s cubic-bezier(0.16,1,0.3,1); }
.analytics-deal-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 0; border-top: 1px solid #f8fafc; }
.analytics-deal-row:first-child { border-top: none; }
.analytics-deal-main { min-width: 0; flex: 1; }
.analytics-deal-name { font-size: 12px; font-weight: 850; color: #172033; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.analytics-deal-meta { margin-top: 2px; font-size: 10.5px; font-weight: 750; color: #94a3b8; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.analytics-deal-value { font-size: 12px; font-weight: 900; color: #059669; white-space: nowrap; flex-shrink: 0; }
.analytics-empty { padding: 10px 0 0; font-size: 11px; font-weight: 800; color: #94a3b8; }
.forecast-command-card { background: white; border: 1px solid #dbeafe; border-radius: 18px; margin: 0 16px 12px; padding: 15px; box-shadow: 0 10px 24px rgba(23,107,181,0.08); }
.command-dashboard-card { border-radius: 14px; }
.forecast-command-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.forecast-command-kicker { font-size: 10px; font-weight: 900; color: #64748b; text-transform: uppercase; letter-spacing: .45px; }
.forecast-command-title { font-size: 24px; font-weight: 950; color: #172033; line-height: 1.05; margin-top: 3px; }
.forecast-command-sub { color: #64748b; font-size: 11px; font-weight: 800; line-height: 1.3; margin-top: 4px; }
.forecast-command-score { border-radius: 999px; padding: 6px 11px; min-height: 29px; box-sizing: border-box; display: inline-flex; align-items: center; font-size: 12px; font-weight: 950; white-space: nowrap; }
.forecast-command-score.ready { background: #dcfce7; color: #166534; }
.forecast-command-score.watch { background: var(--pq-warm-pill-bg); color: var(--pq-warm-pill-text); border: 1px solid var(--pq-warm-pill-border); }
.forecast-command-score.risk { background: #fee2e2; color: #991b1b; }
.forecast-command-meter { height: 8px; border-radius: 999px; background: #e5e7eb; overflow: hidden; margin-top: 12px; }
.forecast-command-fill { height: 100%; border-radius: inherit; background: #176bb5; }
.forecast-command-fill.ready { background: #16a34a; }
.forecast-command-fill.watch { background: var(--pq-warm-pill-text); }
.forecast-command-fill.risk { background: #ef4444; }
.forecast-command-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #64748b; font-size: 10px; font-weight: 850; margin-top: 8px; }
.forecast-command-foot strong { color: #172033; font-size: 11px; font-weight: 950; text-align: right; white-space: nowrap; }
.forecast-bridge-bars { display: grid; gap: 8px; margin-top: 13px; }
.forecast-bridge-item { border-radius: 11px; overflow: hidden; }
.forecast-bridge-item .analytics-deals { margin-top: 4px; padding: 0 4px 4px; border-top: none; }
.forecast-bridge-bar { width: 100%; border: none; border-radius: 11px; background: #f8fafc; display: grid; grid-template-columns: 76px minmax(0, 1fr) 58px 10px; align-items: center; gap: 8px; color: #64748b; font-family: inherit; font-size: 10px; font-weight: 900; padding: 8px 9px; text-align: left; cursor: pointer; }
.forecast-bridge-bar:active { background: #eff6ff; }
.forecast-bridge-bar strong { color: #172033; font-size: 11px; font-weight: 950; text-align: right; white-space: nowrap; }
.forecast-bridge-track { height: 7px; border-radius: 999px; background: #e5e7eb; overflow: hidden; }
.forecast-bridge-track span { display: block; height: 100%; border-radius: inherit; background: #176bb5; }
.forecast-bridge-track span.ready { background: #16a34a; }
.forecast-bridge-track span.best { background: #38bdf8; }
.forecast-bridge-track span.pipeline { background: #64748b; }
.command-exception-card .analytics-row { min-height: 62px; }
.forecast-detail-card { margin-bottom: 18px; }
.forecast-section-toggle { width: calc(100% - 32px); margin: 2px 16px 8px; border: none; background: transparent; display: grid; grid-template-columns: minmax(0, 1fr) auto 12px; align-items: center; gap: 10px; color: #64748b; font-family: inherit; font-size: 11px; font-weight: 900; letter-spacing: .45px; text-align: left; text-transform: uppercase; cursor: pointer; }
.forecast-section-toggle strong { color: #176bb5; font-size: 10px; font-weight: 950; letter-spacing: 0; text-transform: none; white-space: nowrap; }
.forecast-stage-card { margin-bottom: 18px; }
.stage-empty { padding: 14px; }
.forecast-period-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 16px 12px; }
.forecast-period-card { background: white; border: 1px solid #e5e7eb; border-radius: 18px; padding: 13px; min-width: 0; }
.forecast-period-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.forecast-period-label { font-size: 10px; font-weight: 900; color: #64748b; text-transform: uppercase; letter-spacing: .35px; line-height: 1.25; }
.forecast-period-value { font-size: 20px; font-weight: 950; color: #059669; line-height: 1.05; margin-top: 4px; white-space: nowrap; }
.forecast-status-pill { border-radius: 999px; background: #eff6ff; color: #176bb5; padding: 5px 9px; min-height: 26px; box-sizing: border-box; display: inline-flex; align-items: center; font-size: 11px; font-weight: 900; white-space: nowrap; }
.forecast-period-rows { display: grid; gap: 6px; margin-top: 11px; }
.forecast-period-rows div { display: flex; align-items: center; justify-content: space-between; gap: 6px; font-size: 11px; font-weight: 750; color: #64748b; }
.forecast-period-rows strong { font-size: 12px; font-weight: 950; color: #172033; white-space: nowrap; }
.forecast-period-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 11px; padding-top: 9px; border-top: 1px solid #f1f5f9; font-size: 10px; font-weight: 850; color: #94a3b8; }
.pipeline-health-toggle { width: 30px; height: 30px; border-radius: 10px; border: 1px solid #bfdbfe; background: #eff6ff; color: #176bb5; display: flex; align-items: center; justify-content: center; flex-shrink: 0; padding: 0; line-height: 1; }
.collapse-chev { display: inline-block; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transition: transform .18s ease; }
.collapse-chev.down { transform: translateY(-2px) rotate(45deg); }
.collapse-chev.up { transform: translateY(2px) rotate(225deg); }
.deal-next-pill { appearance: none; -webkit-appearance: none; border-radius: 999px; border: 1px solid #e5e7eb; background: #f3f4f6; color: #6b7280; padding: 5px 10px; min-height: 29px; height: 29px; min-width: 41px; box-sizing: border-box; font-size: 13px; font-weight: 900; font-family: inherit; line-height: 1.1; cursor: pointer; white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; gap: 4px; }
.deal-next-pill.done { border-color: #bae6fd; background: #e0f2fe; color: #0369a1; }
.deal-next-pill.has-next { border-color: #bbf7d0; background: #dcfce7; color: #166534; }
.deal-next-pill.missing-next { border-color: var(--pq-warm-pill-border); background: var(--pq-warm-pill-bg); color: var(--pq-warm-pill-text); }
.deal-next-pill:active { transform: scale(0.96); background: #e5e7eb; }
.deal-next-pill.done:active { background: #bae6fd; }

/* ── Profile Stats Cards ── */
.profile-today-denom { font-size: 26px; font-weight: 900; }

/* ── Profile clean stats/quest cards ── */
.prof-stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.prof-stat-tile { border-radius: 14px; padding: 12px 6px; text-align: center; border: 1px solid #e5e7eb; background: #f8fafc; min-width: 0; }
.prof-stat-tile.blue   { background: #eff6ff; border-color: #bfdbfe; }
.prof-stat-tile.green  { background: #f0fdf4; border-color: #bbf7d0; }
.prof-stat-tile.purple { background: #f5f3ff; border-color: #ddd6fe; }
.prof-stat-tile.orange { background: var(--pq-warm-pill-bg); border-color: var(--pq-warm-pill-border); }
.prof-stat-val { font-size: 20px; font-weight: 900; color: #172033; line-height: 1; }
.prof-stat-tile.blue   .prof-stat-val { color: #1d4ed8; }
.prof-stat-tile.green  .prof-stat-val { color: #15803d; }
.prof-stat-tile.purple .prof-stat-val { color: #6d28d9; }
.prof-stat-tile.orange .prof-stat-val { color: var(--pq-warm-pill-text); }
.prof-stat-denom { font-size: inherit; font-weight: inherit; color: inherit; opacity: 0.45; }
.prof-stat-lbl { font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: 0.4px; margin-top: 6px; line-height: 1.3; }
.prof-stat-tile.blue   .prof-stat-lbl { color: #1e40af; }
.prof-stat-tile.green  .prof-stat-lbl { color: #166534; }
.prof-stat-tile.purple .prof-stat-lbl { color: #5b21b6; }
.prof-stat-tile.orange .prof-stat-lbl { color: var(--pq-warm-pill-text); }
.prof-card-meta { font-size: 11px; font-weight: 800; color: #176bb5; }
/* Profile hero card */
.profile-scroll { padding-top: 10px; }
.profile-v2 { background: #f8fafc; }
.prof-card-hero { background: linear-gradient(135deg, #eff6ff, #f0fdf4); border: 1.5px solid #bfdbfe; border-radius: 18px; padding: 16px 15px 14px; margin-bottom: 12px; display: flex; align-items: flex-start; gap: 13px; }
.prof-avatar { width: 52px; height: 52px; border-radius: 16px; background: linear-gradient(135deg, #176bb5, #22c55e); color: white; font-size: 18px; font-weight: 900; display: flex; align-items: center; justify-content: center; flex-shrink: 0; letter-spacing: 0.5px; }
.prof-hero-body { flex: 1; min-width: 0; }
.prof-name { font-size: 17px; font-weight: 900; color: #172033; line-height: 1.1; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.prof-name-edit-ico { font-size: 12px; color: #94a3b8; font-style: normal; }
.prof-name-edit-row { display: flex; align-items: center; gap: 6px; }
.prof-name-input { flex: 1; font-size: 15px; font-weight: 800; color: #172033; border: 1.5px solid #6366f1; border-radius: 8px; padding: 5px 9px; outline: none; background: white; font-family: inherit; min-width: 0; }
.prof-name-save { background: #4f46e5; color: white; border: none; border-radius: 8px; padding: 6px 11px; font-size: 12px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.prof-name-cancel { background: #f1f5f9; color: #64748b; border: none; border-radius: 8px; padding: 6px 9px; font-size: 12px; font-weight: 700; cursor: pointer; }
.prof-title-row { display: flex; align-items: center; gap: 7px; margin-top: 5px; flex-wrap: wrap; }
.prof-org-pill { display: inline-flex; align-items: center; gap: 4px; margin-top: 7px; font-size: 11px; font-weight: 700; color: #166534; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 999px; padding: 3px 10px; }
.prof-sync-note { font-size: 10px; font-weight: 700; color: #94a3b8; margin-top: 6px; }
.prof-status-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.prof-status-tile { min-width: 0; border: 1px solid #dbeafe; border-radius: 14px; background: #eff6ff; padding: 10px 9px; display: grid; gap: 4px; }
.prof-status-tile span { color: #64748b; font-size: 9px; font-weight: 950; text-transform: uppercase; letter-spacing: 0.35px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.prof-status-tile strong { color: #0f4f86; font-size: 12px; font-weight: 950; line-height: 1.1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.profile-ops { background: #f6f9fd; padding: 10px 7px 112px; }
.profile-ops .prof-card-hero { background: #fff; border: 1px solid #d7e3f0; border-radius: 14px; box-shadow: 0 10px 24px rgba(15, 55, 90, 0.06); padding: 14px; margin-bottom: 12px; align-items: center; }
.profile-ops .prof-avatar { width: 52px; height: 52px; border-radius: 13px; background: linear-gradient(135deg, #0e71b8 0%, #10b981 100%); font-size: 17px; letter-spacing: 0; }
.profile-ops .prof-name { color: #14243a; font-size: 17px; line-height: 1.08; }
.profile-ops .prof-name-edit-ico { display: none; }
.prof-ops-subline { color: #49617c; font-size: 12px; font-weight: 900; line-height: 1.15; margin-top: 4px; }
.profile-ops .prof-sync-note { color: #5d718c; font-size: 11px; font-weight: 900; margin-top: 2px; }
.prof-ops-status-grid { gap: 8px; margin-bottom: 11px; }
.profile-ops .prof-status-tile { background: #f8fbff; border: 1px solid #cfe0f2; border-radius: 12px; min-height: 56px; padding: 11px 9px 9px; gap: 5px; box-shadow: none; }
.profile-ops .prof-status-tile strong { color: #0f4f86; font-size: 13px; font-weight: 950; order: 0; }
.profile-ops .prof-status-tile span { color: #5e728d; font-size: 9px; font-weight: 950; letter-spacing: 0.6px; order: 1; }
.prof-ops-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-bottom: 12px; }
.prof-ops-action { min-width: 0; min-height: 42px; border: 1px solid #bcd7f4; border-radius: 10px; background: #eef6ff; color: #0f4f86; font: inherit; font-size: 12px; font-weight: 950; cursor: pointer; padding: 0 10px; }
.prof-ops-action:active { transform: translateY(1px); filter: brightness(0.98); }
.prof-ops-action.green { background: #eafbf2; border-color: #90e0b5; color: #116b45; }
.prof-ops-action.danger { background: #fff1f1; border-color: #fecaca; color: #b91c1c; }
.profile-ops .prof-settings-card { border-color: #d7e3f0; border-radius: 12px; box-shadow: 0 10px 24px rgba(15, 55, 90, 0.05); margin-bottom: 12px; }
.profile-ops .prof-settings-hdr { color: #00806f; font-size: 9px; letter-spacing: 1px; padding: 14px 14px 8px; }
.profile-ops .prof-settings-row { border-top-color: #e7eef7; padding: 11px 14px; min-height: 52px; color: #14243a; }
.profile-ops .prof-settings-main span { font-size: 13px; }
.profile-ops .prof-settings-main em { color: #5e728d; font-size: 10px; font-weight: 850; line-height: 1.2; }
.profile-ops .prof-settings-val { color: #0f5b98; font-size: 12px; font-weight: 950; margin-left: 10px; text-align: right; white-space: nowrap; }
.profile-ops .prof-settings-row.danger .prof-settings-val { color: #b91c1c; }
.prof-ops-editor .prof-quota-editor { border-top-color: #e7eef7; background: #f8fbff; }
.phone:has(.profile-redesign) .scroll {
  background: #eef3f9;
}
.profile-redesign {
  background: #eef3f9;
  padding: 12px 16px 112px;
}
.profile-redesign-titlebar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 18px;
}
.profile-redesign-titlebar h1 {
  color: #14243a;
  font-size: 22px;
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1;
}
.profile-redesign-menu {
  appearance: none;
  -webkit-appearance: none;
  width: 36px;
  height: 36px;
  border: 1px solid #d7e3f0;
  border-radius: 12px;
  background: #f3f7fc;
  color: #60738d;
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(15, 55, 90, 0.05);
}
.profile-redesign-menu:active {
  transform: scale(0.97);
  background: #eaf2fb;
}
.profile-redesign-identity,
.profile-redesign-card {
  background: rgba(255,255,255,0.94);
  border: 1px solid #d9e4f0;
  border-radius: 18px;
  box-shadow: 0 12px 26px rgba(15, 55, 90, 0.06);
}
.profile-redesign-identity {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px;
  margin-bottom: 16px;
  border-radius: 14px;
  box-shadow: 0 8px 18px rgba(15, 55, 90, 0.05);
}
.profile-redesign-avatar {
  width: 52px;
  height: 52px;
  border-radius: 13px;
  background: linear-gradient(135deg, #0e71b8 0%, #10b981 100%);
  box-shadow: none;
  font-size: 17px;
  letter-spacing: 0;
}
.profile-redesign-identity-main {
  min-width: 0;
  flex: 1;
}
.profile-redesign .prof-name {
  color: #14243a;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.05;
}
.profile-redesign .prof-name-edit-ico {
  color: #9aa9bb;
  display: inline;
}
.profile-redesign-role {
  margin-top: 3px;
  color: #314965;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.2;
}
.profile-redesign-sync-text {
  margin-top: 3px;
  color: #5d718c;
  font-size: 11px;
  font-weight: 950;
  line-height: 1.2;
}
.profile-redesign-sync-text.warn {
  color: #b91c1c;
}
.profile-redesign-sync {
  width: fit-content;
  max-width: 100%;
  min-height: 31px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 8px;
  padding: 5px 10px;
  border-radius: 8px;
  background: #dcf6ec;
  color: #048264;
  font-size: 11px;
  font-weight: 950;
  line-height: 1.15;
}
.profile-redesign-sync span {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #0abf87;
  flex-shrink: 0;
}
.profile-redesign-sync.warn {
  background: #fff1f1;
  color: #b91c1c;
}
.profile-redesign-sync.warn span {
  background: #ef4444;
}
.profile-redesign-section {
  margin: 0 0 14px;
}
.profile-redesign-section-title {
  margin: 0 2px 8px;
  color: #74859b;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 1.4px;
  line-height: 1;
  text-transform: uppercase;
}
.profile-redesign-card {
  overflow: hidden;
}
.profile-performance-card {
  padding: 14px;
}
.profile-performance-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 11px;
}
.profile-performance-head div {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.profile-performance-head span {
  color: #176bb5;
  font-size: 11px;
  font-weight: 950;
  line-height: 1;
}
.profile-performance-head strong {
  color: #14243a;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.12;
}
.profile-performance-head em {
  flex-shrink: 0;
  max-width: 132px;
  color: #5d718c;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.15;
  text-align: right;
}
.profile-performance-meter {
  height: 6px;
  border-radius: 999px;
  overflow: hidden;
  background: #e4edf7;
  margin-bottom: 13px;
}
.profile-performance-meter span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0f8a61 0%, #176bb5 100%);
}
.profile-performance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.profile-performance-metric {
  min-height: 65px;
  border: 1px solid #e3edf7;
  border-radius: 12px;
  background: #f8fbff;
  padding: 10px;
  display: grid;
  align-content: center;
  gap: 4px;
}
.profile-performance-metric strong {
  color: #14243a;
  font-size: 19px;
  font-weight: 950;
  line-height: 1;
}
.profile-performance-metric strong span {
  color: #8a9aab;
  font-size: 12px;
  font-weight: 950;
}
.profile-performance-metric em {
  color: #5d718c;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.15;
}
.profile-performance-foot {
  display: grid;
  gap: 4px;
  margin-top: 12px;
  color: #5d718c;
  font-size: 10.5px;
  font-weight: 850;
  line-height: 1.2;
}
.profile-performance-card.period-model {
  display: grid;
  gap: 10px;
}
.profile-lifetime-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 14px;
  border: 1px solid #e3edf7;
  border-radius: 14px;
  background: #f8fbff;
  padding: 13px 14px;
}
.profile-lifetime-main {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.profile-lifetime-main span,
.profile-period-copy span {
  color: #176bb5;
  font-size: 10px;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.7px;
}
.profile-lifetime-main strong {
  color: #14243a;
  font-size: 20px;
  font-weight: 950;
  line-height: 1.05;
}
.profile-lifetime-main em,
.profile-period-copy em {
  color: #5d718c;
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.2;
}
.profile-lifetime-side {
  min-width: 68px;
  display: grid;
  justify-items: end;
  align-content: center;
  gap: 2px;
}
.profile-lifetime-side strong {
  color: #0f4f86;
  font-size: 24px;
  font-weight: 950;
  line-height: 1;
}
.profile-lifetime-side span {
  color: #5d718c;
  font-size: 10px;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.profile-period-list {
  display: grid;
  gap: 8px;
}
.profile-period-item {
  min-height: 74px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px 12px;
  align-items: center;
  border: 1px solid #e3edf7;
  border-radius: 13px;
  background: #ffffff;
  padding: 12px 13px;
}
.profile-period-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.profile-period-copy strong {
  color: #14243a;
  font-size: 13.5px;
  font-weight: 950;
  line-height: 1.12;
}
.profile-period-score {
  min-width: 48px;
  color: #0f4f86;
  font-size: 19px;
  font-weight: 950;
  line-height: 1;
  text-align: right;
}
.profile-period-meter {
  grid-column: 1 / -1;
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  background: #e4edf7;
}
.profile-period-meter.lifetime-meter {
  margin-top: 1px;
}
.profile-period-meter span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0f8a61 0%, #176bb5 100%);
}
.profile-redesign-card.compact .profile-redesign-row {
  min-height: 58px;
  padding-top: 10px;
  padding-bottom: 10px;
}
.profile-redesign-card.compact .profile-redesign-icon {
  width: 31px;
  height: 31px;
  border-radius: 9px;
}
.profile-redesign-card.compact .profile-redesign-row-main span {
  font-size: 13px;
}
.profile-redesign-card.compact .profile-redesign-row-main em {
  font-size: 10px;
}
.profile-redesign-row {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  min-height: 72px;
  border: 0;
  border-top: 1px solid #e6edf5;
  background: transparent;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 12px 14px;
  color: #14243a;
  font-family: inherit;
  text-align: left;
}
button.profile-redesign-row {
  cursor: pointer;
}
.profile-redesign-row:first-child {
  border-top: 0;
}
.profile-redesign-row:active {
  background: #f8fbff;
}
.profile-redesign-icon {
  width: 33px;
  height: 33px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  color: #176bb5;
  background: #eaf5ff;
}
.profile-redesign-icon.gold {
  color: #b7791f;
  background: #fff4d7;
}
.profile-redesign-icon.green {
  color: #048264;
  background: #dcf6ec;
}
.profile-redesign-icon.slate {
  color: #66788e;
  background: #edf2f7;
}
.profile-redesign-icon.red {
  color: #dc2626;
  background: #fee2e2;
}
.profile-redesign-row-main {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.profile-redesign-row-main span {
  color: #14243a;
  font-size: 14px;
  font-weight: 950;
  line-height: 1.12;
}
.profile-redesign-row-main em {
  color: #6b7c93;
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.18;
}
.profile-redesign-row-side {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.profile-redesign-row-side strong {
  color: #0f5b98;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.1;
  max-width: 112px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-redesign-row-side i {
  color: #9baec2;
  font-size: 24px;
  font-style: normal;
  font-weight: 550;
  line-height: 1;
}
.profile-redesign-mini-btn {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border-radius: 12px;
  background: #e8f3ff;
  color: #176bb5;
  font-size: 12px;
  font-weight: 950;
}
.profile-redesign-inline-toggle {
  width: 100%;
  min-height: 48px;
  border: 1px solid #dbeafe;
  border-radius: 12px;
  background: #fff;
  color: #14243a;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  font: inherit;
  font-size: 13px;
  font-weight: 950;
  cursor: pointer;
}
.profile-redesign-editor {
  border-color: #d9e4f0;
  border-radius: 18px;
  box-shadow: 0 12px 26px rgba(15, 55, 90, 0.06);
  margin: -4px 0 14px;
}
.profile-redesign-signout {
  margin-top: 12px;
}
.profile-redesign-row.danger .profile-redesign-row-main span {
  color: #dc2626;
}
@media (max-width: 390px) {
  .profile-redesign {
    padding-left: 20px;
    padding-right: 20px;
  }
  .profile-redesign-row {
    grid-template-columns: 37px minmax(0, 1fr) auto;
    gap: 8px;
    padding-left: 13px;
    padding-right: 13px;
  }
  .profile-redesign-row-side strong {
    max-width: 104px;
  }
}
@media (max-width: 350px) {
  .profile-redesign {
    padding-left: 14px;
    padding-right: 14px;
  }
  .profile-redesign-row-side strong {
    max-width: 84px;
  }
}
/* Settings */
.prof-settings-card { background: white; border: 1px solid #e5e7eb; border-radius: 18px; overflow: hidden; margin-bottom: 12px; box-shadow: 0 8px 20px rgba(15,23,42,0.035); }
.prof-settings-hdr { font-size: 10px; font-weight: 900; color: #9ca3af; text-transform: uppercase; letter-spacing: 0.5px; padding: 14px 16px 8px; }
.prof-settings-subhdr { border-top: 1px solid #f8fafc; margin-top: 2px; }
.prof-settings-row { width: 100%; background: none; border: none; border-top: 1px solid #f8fafc; display: flex; align-items: center; justify-content: space-between; padding: 13px 16px; font-size: 14px; font-weight: 600; color: #172033; cursor: pointer; font-family: inherit; text-align: left; }
.prof-settings-row:first-of-type { border-top-color: transparent; }
.prof-settings-row:active { background: #f8fafc; }
.prof-settings-val { font-size: 13px; font-weight: 700; color: #176bb5; }
.prof-settings-row-rich { gap: 14px; align-items: center; }
.prof-settings-main { min-width: 0; display: grid; gap: 2px; }
.prof-settings-main span { color: inherit; font-size: 13px; font-weight: 900; line-height: 1.2; }
.prof-settings-main em { color: #64748b; font-size: 11px; font-style: normal; font-weight: 750; line-height: 1.25; }
.prof-toggle { width: 44px; height: 26px; border-radius: 999px; background: #cbd5e1; padding: 3px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: flex-start; transition: background 0.16s ease; flex-shrink: 0; }
.prof-toggle span { width: 20px; height: 20px; border-radius: 999px; background: white; box-shadow: 0 2px 6px rgba(15,23,42,0.18); transition: transform 0.16s ease; }
.prof-toggle.on { background: #176bb5; }
.prof-toggle.on span { transform: translateX(18px); }
.prof-settings-row.danger { color: #dc2626; }
.prof-settings-row.danger:active { background: #fef2f2; }
.prof-quota-editor { border-top: 1px solid #f8fafc; padding: 12px 16px 14px; display: grid; gap: 10px; background: #f8fafc; }
.prof-quota-field { display: grid; gap: 6px; color: #334155; font-size: 11px; font-weight: 950; }
.prof-quota-input { width: 100%; height: 40px; border: 1.5px solid #cbd5e1; border-radius: 12px; background: white; color: #172033; font: inherit; font-size: 14px; font-weight: 850; padding: 0 12px; outline: none; }
.prof-quota-input:focus { border-color: #176bb5; box-shadow: 0 0 0 3px rgba(23,107,181,0.12); }
.prof-quota-summary { border: 1px solid #dbeafe; background: #eff6ff; color: #0f4f86; border-radius: 12px; padding: 9px 10px; font-size: 11px; font-weight: 800; line-height: 1.35; }
.prof-quota-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.prof-quota-cancel,
.prof-quota-save { min-height: 38px; border: none; border-radius: 12px; font: inherit; font-size: 12px; font-weight: 950; cursor: pointer; }
.prof-quota-cancel { background: #e5e7eb; color: #475569; }
.prof-quota-save { background: #176bb5; color: white; box-shadow: 0 8px 18px rgba(23,107,181,0.16); }
.prof-target-term-editor { border-top: 1px solid #f8fafc; padding: 12px 16px 14px; display: grid; gap: 10px; background: #f8fafc; }
.prof-target-term-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.prof-target-term-options button { min-width: 0; min-height: 40px; border: 1.5px solid #cbd5e1; border-radius: 12px; background: #fff; color: #334155; font: inherit; font-size: 12px; font-weight: 950; cursor: pointer; }
.prof-target-term-options button.selected { border-color: #176bb5; background: #eff6ff; color: #0f4f86; box-shadow: 0 0 0 3px rgba(23,107,181,0.08); }
.prof-target-term-options button:active { transform: scale(0.98); }
.prof-methodology-editor { border-top: 1px solid #f8fafc; padding: 12px 16px 14px; display: grid; gap: 10px; background: #f8fafc; }
.prof-methodology-options { display: grid; grid-template-columns: 1fr; gap: 8px; }
.prof-methodology-options button { min-width: 0; min-height: 58px; border: 1.5px solid #cbd5e1; border-radius: 12px; background: #fff; color: #334155; font: inherit; padding: 10px 12px; display: grid; gap: 3px; text-align: left; cursor: pointer; }
.prof-methodology-options button span { color: #12385f; font-size: 13px; font-weight: 950; line-height: 1.15; }
.prof-methodology-options button em { color: #64748b; font-size: 10px; font-style: normal; font-weight: 850; line-height: 1.25; }
.prof-methodology-options button.selected { border-color: #176bb5; background: #eff6ff; box-shadow: 0 0 0 3px rgba(23,107,181,0.08); }
.prof-methodology-options button.selected span { color: #0f4f86; }
.prof-methodology-options button:active { transform: scale(0.98); }
.prof-fiscal-editor { border-top: 1px solid #f8fafc; padding: 12px 16px 14px; display: grid; gap: 10px; background: #f8fafc; }
.prof-fiscal-select { width: 100%; height: 40px; border: 1.5px solid #cbd5e1; border-radius: 12px; background: white; color: #172033; font: inherit; font-size: 14px; font-weight: 850; padding: 0 12px; outline: none; }
.prof-fiscal-select:focus { border-color: #176bb5; box-shadow: 0 0 0 3px rgba(23,107,181,0.12); }
.prof-fiscal-preview { border: 1px solid #dbeafe; background: #eff6ff; color: #0f4f86; border-radius: 12px; padding: 9px 10px; display: grid; gap: 5px; }
.prof-fiscal-preview span { font-size: 11px; font-weight: 850; line-height: 1.35; }
.prof-fiscal-preview strong { font-size: 12px; font-weight: 950; line-height: 1.25; }
.prof-segmented { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 12px; background: #f1f5f9; }
.prof-segmented button { min-width: 0; min-height: 34px; border: none; border-radius: 9px; background: transparent; color: #64748b; font: inherit; font-size: 12px; font-weight: 950; cursor: pointer; }
.prof-segmented button.on { background: white; color: #0f4f86; box-shadow: 0 2px 8px rgba(15,23,42,0.08); }
.prof-quest-row { display: flex; align-items: center; gap: 11px; padding: 9px 0; border-top: 1px solid #f8fafc; }
.prof-quest-check { width: 22px; height: 22px; border-radius: 50%; border: 2px solid #e5e7eb; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 900; color: white; background: white; }
.prof-quest-check.done { background: #22c55e; border-color: #22c55e; }
.prof-quest-body { flex: 1; min-width: 0; }
.prof-quest-label { font-size: 13px; font-weight: 700; color: #172033; }
.prof-quest-row.done .prof-quest-label { color: #9ca3af; }
.prof-quest-bar-wrap { display: flex; align-items: center; gap: 8px; margin-top: 5px; }
.prof-quest-bar-track { flex: 1; height: 4px; background: #f1f5f9; border-radius: 999px; overflow: hidden; }
.prof-quest-bar-fill { height: 100%; background: #176bb5; border-radius: inherit; }
.prof-quest-count { font-size: 10px; font-weight: 800; color: #9ca3af; flex-shrink: 0; }
.next-up-card .prof-quest-row { border-top-color: rgba(191,219,254,0.4); }
.next-up-card .prof-quest-bar-track { background: rgba(255,255,255,0.55); }

/* ── Awards ── */
.awards-scroll { flex: 1; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-y: contain; padding: 0 16px 80px; }
.awards-scroll::-webkit-scrollbar { display: none; }
.awards-hero { background: white; border: 1px solid #e5e7eb; border-radius: 18px; padding: 18px; margin-top: 14px; margin-bottom: 16px; display: flex; align-items: center; gap: 14px; }
.awards-hero-icon { width: 56px; height: 56px; border-radius: 18px; background: linear-gradient(135deg, #f0a020, #fb7185); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: white; }
.awards-hero-title { font-size: 22px; font-weight: 900; color: #172033; }
.awards-hero-sub { font-size: 13px; color: #6b7280; margin-top: 3px; }
.achv-list { display: flex; flex-direction: column; gap: 10px; }
.achv-item { background: white; border: 1px solid #e5e7eb; border-radius: 16px; padding: 14px 12px; display: flex; align-items: center; gap: 12px; }
.achv-item.locked { opacity: 1; }
.achv-item-ico { font-size: 28px; flex-shrink: 0; line-height: 1; width: 34px; display: flex; align-items: center; justify-content: center; color: #12385f; }
.achv-item-name { font-size: 13px; font-weight: 800; color: #172033; }
.achv-item-desc { font-size: 11px; color: #6b7280; margin-top: 2px; }
.achv-item-done { font-size: 10px; font-weight: 800; color: #059669; text-transform: uppercase; letter-spacing: 0.4px; margin-top: 3px; }
.achv-item-reward { font-size: 10px; font-weight: 700; color: #9ca3af; margin-top: 2px; }
.achv-rarity-badge { font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: 0.4px; border-radius: 6px; padding: 1px 5px; margin-left: 6px; vertical-align: middle; }
.achv-rarity-badge.uncommon { background: #dbeafe; color: #1d4ed8; }
.achv-rarity-badge.rare { background: #f3e8ff; color: #7c3aed; }
.achv-rarity-badge.epic { background: var(--pq-warm-pill-bg); color: var(--pq-warm-pill-text); border: 1px solid var(--pq-warm-pill-border); }
.achv-org-card { background: white; border: 1px solid #e5e7eb; border-radius: 18px; padding: 14px 14px 12px; margin-bottom: 14px; }
.achv-org-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.achv-org-title { font-size: 10px; font-weight: 900; color: #9ca3af; text-transform: uppercase; letter-spacing: .5px; }
.achv-org-count { font-size: 11px; font-weight: 900; color: #176bb5; white-space: nowrap; }
.achv-group { border-top: 1px solid #f1f5f9; padding-top: 10px; margin-top: 10px; }
.achv-group:first-of-type { border-top: none; padding-top: 0; margin-top: 0; }
.achv-group-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 11px; font-weight: 950; color: #172033; margin-bottom: 8px; }
.achv-chip-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.achv-chip { min-width: 0; border: 1px solid #e5e7eb; border-radius: 13px; background: #f8fafc; padding: 9px 8px; display: flex; align-items: center; gap: 8px; }
.achv-chip-ico { width: 26px; height: 26px; border-radius: 9px; background: #eff6ff; color: #176bb5; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.achv-chip-name { font-size: 11px; font-weight: 900; color: #172033; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.achv-chip-meta { font-size: 9px; font-weight: 850; color: #059669; margin-top: 2px; text-transform: uppercase; letter-spacing: .25px; }
.achv-empty { border: 1px dashed #cbd5e1; border-radius: 14px; padding: 14px; text-align: center; color: #94a3b8; font-size: 12px; font-weight: 800; }
.achv-locked-details { margin-top: 2px; }
.achv-locked-details summary { list-style: none; cursor: pointer; background: white; border: 1px solid #e5e7eb; border-radius: 16px; padding: 13px 14px; font-size: 12px; font-weight: 950; color: #172033; display: flex; align-items: center; justify-content: space-between; }
.achv-locked-details summary::-webkit-details-marker { display: none; }
.achv-locked-details summary::after { content: ""; width: 8px; height: 8px; border-right: 2px solid #176bb5; border-bottom: 2px solid #176bb5; transform: translateY(-2px) rotate(45deg); transition: transform .16s ease; }
.achv-locked-details[open] summary::after { transform: translateY(2px) rotate(225deg); }
.achv-list.compact { margin-top: 10px; }
.achv-list.compact .achv-item { padding: 11px 12px; border-radius: 14px; }
.achv-list.compact .achv-item-ico { width: 30px; font-size: 22px; }
.next-up-card { background: linear-gradient(135deg, #eff6ff, #f0fdf4); border: 1.5px solid #bfdbfe; border-radius: 16px; padding: 13px 15px; margin-bottom: 14px; }
.next-up-label { font-size: 9px; font-weight: 900; color: #176bb5; text-transform: uppercase; letter-spacing: 0.6px; margin-bottom: 9px; }
.next-up-body { display: flex; align-items: flex-start; gap: 11px; }
.next-up-ico { color: #176bb5; flex-shrink: 0; width: 30px; display: flex; align-items: center; }
.next-up-info { flex: 1; min-width: 0; }
.next-up-name { font-size: 13px; font-weight: 900; color: #172033; }
.next-up-desc { font-size: 11px; color: #6b7280; margin-top: 2px; }
.next-up-progress-wrap { display: flex; align-items: center; gap: 7px; margin-top: 7px; }
.next-up-progress-track { flex: 1; height: 5px; background: #e5e7eb; border-radius: 999px; overflow: hidden; }
.next-up-progress-fill { height: 100%; background: linear-gradient(90deg, #176bb5, #22c55e); border-radius: 999px; transition: width 0.4s ease; }
.next-up-progress-num { font-size: 10px; font-weight: 800; color: #6b7280; flex-shrink: 0; }
.next-up-reward { font-size: 11px; font-weight: 900; color: #15803d; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 8px; padding: 3px 8px; flex-shrink: 0; align-self: center; }

/* ── Log screen ── */

/* ── Activity Sheet ── */
.type-btn-ico  { display: flex; align-items: center; justify-content: center; height: 28px; margin-bottom: 4px; color: #12385f; }
.type-btn-name { font-size: 12px; font-weight: 800; color: #12385f; }
.type-btn-pts  { font-size: 10px; font-weight: 900; color: #176bb5; margin-top: 2px; }
.activity-sheet-backdrop { position: absolute; inset: 0 0 calc(84px + env(safe-area-inset-bottom, 20px)) 0; z-index: 80; box-sizing: border-box; background: rgba(30,64,175,0.14); display: flex; align-items: flex-end; padding: 16px; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.next-step-sheet-backdrop { position: fixed; inset: 0 0 calc(84px + env(safe-area-inset-bottom, 20px)) 0; z-index: 80; box-sizing: border-box; background: rgba(30,64,175,0.14); display: flex; align-items: flex-end; justify-content: center; padding: 16px; padding-bottom: calc(16px + var(--keyboard-inset, 0px)); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); transition: padding-bottom 0.22s cubic-bezier(0.16,1,0.3,1); }
.score-sheet-backdrop { position: fixed; inset: 0 0 calc(84px + env(safe-area-inset-bottom, 20px)) 0; z-index: 85; box-sizing: border-box; background: rgba(30,64,175,0.22); display: flex; align-items: flex-end; justify-content: center; padding: 16px; padding-bottom: 16px; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
@media (min-width: 600px) and (hover: hover) and (pointer: fine) {
  html:not(.pq-mobile-shell) .next-step-sheet-backdrop,
  html:not(.pq-mobile-shell) .score-sheet-backdrop {
    inset: auto;
    top: 50%;
    left: 50%;
    width: 390px;
    height: 844px;
    border-radius: 44px;
    overflow: hidden;
    transform: translate(-50%, -50%);
  }
}
.activity-sheet { width: 100%; background: rgba(240,247,255,0.97); border: 1px solid rgba(147,197,253,0.60); border-radius: 22px 22px 18px 18px; box-shadow: 0 -18px 50px rgba(29,78,216,0.22); padding: 16px; animation: sheetUp 0.18s ease-out; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.activity-sheet.next-step-sheet { width: min(100%, 430px); max-height: min(82vh, calc(var(--app-height, 100dvh) - 64px - var(--keyboard-inset, 0px))); box-sizing: border-box; padding: 14px 16px 16px; overflow-y: auto; overscroll-behavior: contain; background: rgba(238,246,255,0.98); }
.next-step-sheet-backdrop.keyboard-open { align-items: flex-start; padding-top: calc(126px + env(safe-area-inset-top)); padding-bottom: 16px; }
.next-step-sheet-backdrop.keyboard-open .next-step-sheet { max-height: min(360px, calc(var(--app-height, 100dvh) - 160px)); }
.activity-sheet.score-sheet { width: min(100%, 430px); max-height: min(78vh, calc(var(--app-height, 100dvh) - 104px)); box-sizing: border-box; padding: 14px 16px 18px; overflow-y: auto; overscroll-behavior: contain; background: rgba(238,246,255,0.98); }
.activity-sheet.meddic-sheet { width: min(100%, 430px); max-height: min(82vh, calc(var(--app-height, 100dvh) - 76px)); box-sizing: border-box; padding: 14px 16px 16px; overflow-y: auto; overscroll-behavior: contain; background: rgba(238,246,255,0.98); }
@keyframes sheetUp { from{transform:translateY(20px);opacity:0;}to{transform:translateY(0);opacity:1;} }
.activity-sheet-handle { width: 42px; height: 4px; border-radius: 999px; background: rgba(23,107,181,0.32); margin: 0 auto 14px; }
.activity-sheet-title { font-size: 17px; font-weight: 900; color: #12385f; line-height: 1.2; margin-bottom: 4px; }
.activity-sheet-sub { font-size: 12px; color: #1f4d7a; margin-bottom: 14px; line-height: 1.35; font-weight: 700; }
.activity-sheet-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.activity-sheet-grid.four-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.log-activity-sheet.four-option-sheet { padding: 16px 16px 18px; }
.log-activity-sheet.four-option-sheet .activity-sheet-sub { margin-bottom: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.log-activity-sheet.four-option-sheet .activity-sheet-btn { min-height: 86px; padding: 13px 8px 11px; display: grid; place-items: center; gap: 5px; }
.log-activity-sheet.four-option-sheet .type-btn-ico { width: 34px; height: 34px; border-radius: 999px; display: grid; place-items: center; background: #dbeafe; color: #176bb5; }
.log-activity-sheet.four-option-sheet .type-btn-name { color: #12385f; font-size: 13px; font-weight: 950; line-height: 1.1; }
.log-activity-sheet.four-option-sheet .type-btn-pts { color: #64748b; font-size: 11px; font-weight: 850; line-height: 1; }
.activity-sheet-btn { border: 1.5px solid rgba(147,197,253,0.60); background: rgba(255,255,255,0.92); border-radius: 14px; padding: 12px 4px 10px; text-align: center; cursor: pointer; }
.activity-sheet-btn:active { background: rgba(239,246,255,0.92); border-color: #60a5fa; transform: scale(0.98); }
.activity-sheet-cancel { width: 100%; margin-top: 10px; border: none; border-radius: 14px; padding: 12px; background: rgba(255,255,255,0.92); color: #1f4d7a; font-size: 14px; font-weight: 900; cursor: pointer; }
.next-step-sheet-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.next-step-sheet-title-wrap { min-width: 0; flex: 1; }
.next-step-sheet-title-wrap .activity-sheet-sub { margin-bottom: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.next-step-mic-btn { width: 42px; height: 42px; min-width: 42px; border-radius: 999px; border: 1.5px solid rgba(147,197,253,0.60); background: rgba(255,255,255,0.92); color: #176bb5; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; font-family: inherit; box-shadow: 0 8px 18px rgba(23,107,181,0.10); }
.next-step-mic-btn:active { transform: scale(0.96); background: rgba(239,246,255,0.94); }
.next-step-mic-btn.listening { background: #176bb5; color: white; border-color: #176bb5; box-shadow: 0 0 0 4px rgba(23,107,181,0.16); }
.next-step-input-wrap { border: 1.5px solid rgba(147,197,253,0.58); border-radius: 15px; background: rgba(255,255,255,0.92); overflow: hidden; }
.next-step-input-wrap:focus-within { border-color: #60a5fa; background: rgba(255,255,255,0.98); }
.next-step-sheet-input { display: block; width: 100%; height: 112px; min-height: 112px; max-height: 112px; overflow-y: auto; resize: none; border: none; border-radius: 0; padding: 12px 14px; background: transparent; color: #12385f; font-size: 14px; font-weight: 700; font-family: inherit; line-height: 1.35; text-align: left; text-indent: 0; direction: ltr; outline: none; box-sizing: border-box; appearance: none; -webkit-appearance: none; }
.next-step-sheet-input:focus { background: transparent; }
.next-step-ai-panel { display: grid; gap: 8px; margin-top: 10px; }
.next-step-ai-btn { width: 100%; min-height: 40px; border: 1.5px solid rgba(23,107,181,0.24); border-radius: 14px; background: linear-gradient(135deg, rgba(239,246,255,0.96), rgba(240,253,244,0.92)); color: #0f4f86; font-family: inherit; font-size: 13px; font-weight: 950; cursor: pointer; }
.next-step-ai-btn:disabled { opacity: 0.68; cursor: default; }
.next-step-ai-btn:not(:disabled):active { transform: scale(0.985); }
.next-step-ai-btn.loading { color: #64748b; }
.next-step-ai-error { border: 1px solid #fecaca; border-radius: 12px; background: rgba(254,242,242,0.88); color: #b91c1c; font-size: 11px; font-weight: 850; line-height: 1.3; padding: 8px 10px; }
.next-step-ai-list { display: grid; gap: 7px; }
.next-step-ai-option { width: 100%; min-width: 0; display: grid; gap: 3px; border: 1.5px solid rgba(147,197,253,0.46); border-radius: 13px; background: rgba(255,255,255,0.84); padding: 9px 10px; font-family: inherit; text-align: left; cursor: pointer; }
.next-step-ai-option:active { background: rgba(239,246,255,0.94); transform: scale(0.992); }
.next-step-ai-option span { color: #176bb5; font-size: 10px; font-weight: 950; text-transform: uppercase; letter-spacing: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.next-step-ai-option strong { color: #12385f; font-size: 12px; font-weight: 900; line-height: 1.25; }
.next-step-ai-option em { color: #64748b; font-size: 10px; font-style: normal; font-weight: 760; line-height: 1.25; }
.close-date-calendar { border: 1.5px solid rgba(147,197,253,0.48); border-radius: 16px; background: rgba(255,255,255,0.38); padding: 10px; }
.close-calendar-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.close-calendar-month { font-size: 15px; font-weight: 950; color: #12385f; text-align: center; flex: 1; }
.close-calendar-nav { width: 34px; height: 34px; border-radius: 12px; border: 1.5px solid rgba(147,197,253,0.48); background: rgba(255,255,255,0.44); color: #176bb5; font-size: 20px; font-weight: 950; line-height: 1; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.close-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; }
.close-calendar-dow { text-align: center; font-size: 10px; font-weight: 950; color: #1f4d7a; text-transform: uppercase; padding: 2px 0 4px; }
.close-calendar-day { aspect-ratio: 1; border-radius: 12px; border: 1px solid rgba(147,197,253,0.38); background: rgba(255,255,255,0.42); color: #12385f; font-size: 13px; font-weight: 900; font-family: inherit; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.close-calendar-day:active,
.close-calendar-nav:active { transform: scale(0.96); }
.close-calendar-day.selected { background: #176bb5; border-color: #176bb5; color: white; box-shadow: 0 8px 18px rgba(23,107,181,0.24); }
.close-calendar-day.today { box-shadow: inset 0 0 0 2px #38bdf8; font-weight: 950; }
.close-calendar-day.today.selected { box-shadow: 0 8px 18px rgba(23,107,181,0.24), inset 0 0 0 2px rgba(255,255,255,0.5); }
.close-calendar-day.blank { visibility: hidden; pointer-events: none; }
.close-date-quick-row { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
.close-date-today-btn { border: 1.5px solid rgba(23,107,181,0.25); border-radius: 12px; padding: 10px 12px; background: rgba(23,107,181,0.10); color: #0f4f86; font-size: 12px; font-weight: 950; font-family: inherit; cursor: pointer; }
.close-date-input { flex: 1; min-width: 0; border: 1.5px solid rgba(147,197,253,0.58); border-radius: 12px; padding: 9px 10px; background: rgba(255,255,255,0.52); color: #12385f; font-size: 13px; font-weight: 800; font-family: inherit; box-sizing: border-box; }
.next-step-sheet-actions { display: flex; gap: 8px; margin-top: 10px; }
.next-step-sheet-save { flex: 1; border: none; border-radius: 14px; padding: 12px; background: #176bb5; color: white; font-size: 14px; font-weight: 900; cursor: pointer; transition: opacity 0.15s; }
.next-step-sheet-save:disabled { opacity: 0.4; cursor: default; }
.next-step-sheet-save:not(:disabled):active,
.next-step-sheet-cancel:active { transform: scale(0.98); }
.next-step-sheet-cancel { flex: 1; border: none; border-radius: 14px; padding: 12px; background: rgba(255,255,255,0.92); color: #1f4d7a; font-size: 14px; font-weight: 900; cursor: pointer; }
.score-sheet-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.score-sheet-title-wrap { min-width: 0; flex: 1; }
.score-sheet-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.score-sheet-meta { margin-bottom: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.score-sheet-account { margin: 4px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.score-sheet-meta-row { display: flex; align-items: center; gap: 6px; min-width: 0; margin-top: 7px; overflow: hidden; }
.score-sheet-meta-row span { min-width: 0; max-width: 34%; border-radius: 999px; padding: 5px 8px; background: rgba(219,234,254,0.70); color: #1f4d7a; font-size: 11px; font-weight: 900; line-height: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.score-sheet-meta-row span:first-child { background: #e0f2fe; color: #0369a1; }
.score-sheet-meta-row span:last-child { background: #dcfce7; color: #047857; }
.score-sheet-percent { flex-shrink: 0; min-width: 58px; justify-content: center; cursor: default; }
.score-increase-btn { width: 100%; min-height: 48px; border: none; border-radius: 14px; background: #176bb5; color: white; font-family: inherit; font-size: 15px; font-weight: 950; cursor: pointer; box-shadow: 0 10px 24px rgba(23,107,181,0.18); }
.score-increase-btn:active { transform: scale(0.98); background: #0f5f9f; }
.score-sheet-actions { max-height: none; }
.score-sheet-action { width: 100%; min-height: 48px; font-family: inherit; }
.score-sheet-action span { min-width: 0; color: #12385f; font-size: 13px; font-weight: 700; line-height: 1.18; }
.score-sheet-action strong { max-width: 45%; color: #1f4d7a; font-size: 12px; font-weight: 850; line-height: 1.18; text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.score-breakdown { display: grid; gap: 10px; margin-top: 11px; }
.score-breakdown-rows { display: grid; gap: 7px; }
.score-breakdown-row { min-height: 42px; display: grid; grid-template-columns: minmax(0, 1fr) 86px; gap: 9px; align-items: center; padding: 8px 10px; border: 1.5px solid rgba(147,197,253,0.42); border-radius: 12px; background: rgba(255,255,255,0.76); }
.score-breakdown-row.raise { border-color: rgba(34,197,94,0.34); background: rgba(236,253,245,0.72); }
.score-breakdown-row.lower { border-color: rgba(248,113,113,0.32); background: rgba(254,242,242,0.72); }
.score-breakdown-copy { min-width: 0; display: grid; gap: 2px; }
.score-breakdown-copy span { color: #64748b; font-size: 10px; font-weight: 950; text-transform: uppercase; letter-spacing: 0; }
.score-breakdown-copy strong { min-width: 0; color: #12385f; font-size: 12px; font-weight: 900; line-height: 1.15; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.score-breakdown-meter { height: 8px; border-radius: 999px; background: rgba(15,23,42,0.10); overflow: hidden; }
.score-breakdown-meter span { display: block; height: 100%; border-radius: inherit; background: #176bb5; }
.score-breakdown-row.raise .score-breakdown-meter span { background: #22c55e; }
.score-breakdown-row.lower .score-breakdown-meter span { background: #ef4444; }
.score-sheet .activity-sheet-cancel { margin-top: 10px; }
.forecast-call-sheet-backdrop { inset: 0; z-index: 120; padding: 16px; padding-bottom: calc(88px + env(safe-area-inset-bottom, 20px) + var(--keyboard-inset, 0px)); align-items: flex-end; }
.forecast-call-sheet { max-height: min(360px, calc(var(--app-height, 100dvh) - 128px - env(safe-area-inset-bottom, 20px) - var(--keyboard-inset, 0px))); overflow-y: auto; }
.forecast-call-sheet-backdrop.keyboard-open { align-items: flex-start; padding-top: calc(88px + env(safe-area-inset-top)); padding-bottom: 16px; }
.forecast-call-sheet-backdrop.keyboard-open .forecast-call-sheet { max-height: min(360px, calc(var(--app-height, 100dvh) - 120px)); }
.amount-sheet { max-height: min(320px, calc(var(--app-height, 100dvh) - 128px)); overflow-y: auto; }
.forecast-call-field { display: grid; gap: 7px; color: #12385f; font-size: 11px; font-weight: 950; margin-top: 2px; }
.forecast-call-input { width: 100%; height: 44px; border: 1.5px solid rgba(147,197,253,0.58); border-radius: 15px; background: rgba(255,255,255,0.92); color: #12385f; font: inherit; font-size: 17px; font-weight: 900; padding: 0 14px; outline: none; box-sizing: border-box; }
.forecast-call-input:focus { border-color: #60a5fa; background: rgba(255,255,255,0.98); box-shadow: 0 0 0 3px rgba(96,165,250,0.14); }
.forecast-call-error { margin-top: 8px; color: #b91c1c; font-size: 12px; font-weight: 850; }
.forecast-call-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 12px; }
.forecast-call-actions .next-step-sheet-cancel { margin-top: 0; }
.forecast-call-save,
.forecast-call-cancel { min-height: 42px; }
.forecast-risk-wizard-backdrop { inset: 0; z-index: 125; padding: 16px; padding-bottom: calc(88px + env(safe-area-inset-bottom, 20px)); align-items: flex-end; }
.forecast-risk-wizard { max-height: min(520px, calc(var(--app-height, 100dvh) - 128px - env(safe-area-inset-bottom, 20px))); overflow-y: auto; }
.forecast-risk-deal-card { margin-top: 2px; border: 1.5px solid rgba(248,113,113,0.24); border-radius: 15px; background: rgba(254,242,242,0.76); padding: 11px 12px; display: grid; gap: 3px; }
.forecast-risk-deal-card span { color: #b91c1c; font-size: 10px; font-weight: 950; text-transform: uppercase; letter-spacing: 0; }
.forecast-risk-deal-card strong { color: #12385f; font-size: 14px; font-weight: 950; line-height: 1.15; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.forecast-risk-deal-card em { color: #64748b; font-size: 11px; font-style: normal; font-weight: 820; line-height: 1.25; }
.forecast-risk-step-list { display: grid; gap: 8px; margin-top: 12px; }
.forecast-risk-step { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 9px; align-items: flex-start; border: 1.5px solid rgba(147,197,253,0.46); border-radius: 14px; background: rgba(255,255,255,0.86); padding: 10px; }
.forecast-risk-step > span { width: 28px; height: 28px; border-radius: 999px; display: grid; place-items: center; background: #fee2e2; color: #b91c1c; border: 1px solid #fecaca; font-size: 11px; font-weight: 950; }
.forecast-risk-step strong { display: block; color: #12385f; font-size: 13px; font-weight: 950; line-height: 1.16; }
.forecast-risk-step em { display: block; margin-top: 3px; color: #64748b; font-size: 11px; font-style: normal; font-weight: 780; line-height: 1.32; }
.forecast-risk-stepper { display: flex; align-items: center; gap: 7px; margin-top: 12px; }
.forecast-risk-stepper span { width: 26px; height: 26px; border-radius: 999px; display: grid; place-items: center; background: #f1f5f9; color: #64748b; border: 1px solid #dbe3ee; font-size: 11px; font-weight: 950; }
.forecast-risk-stepper span.active { background: #fee2e2; color: #b91c1c; border-color: #fecaca; }
.forecast-risk-stepper span.done { background: #dcfce7; color: #15803d; border-color: #86efac; }
.forecast-risk-step-panel { margin-top: 10px; border: 1.5px solid rgba(147,197,253,0.46); border-radius: 14px; background: rgba(255,255,255,0.88); padding: 13px; min-height: 112px; display: flex; flex-direction: column; justify-content: center; }
.forecast-risk-step-panel strong { color: #12385f; font-size: 15px; font-weight: 950; line-height: 1.15; }
.forecast-risk-step-panel em { display: block; margin-top: 6px; color: #64748b; font-size: 12px; font-style: normal; font-weight: 780; line-height: 1.36; }
.meddic-sheet-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.meddic-sheet-score { min-height: 32px; height: 32px; padding: 6px 12px; flex-shrink: 0; }
.meddic-progress { height: 8px; border-radius: 999px; background: rgba(15,23,42,0.10); overflow: hidden; margin-bottom: 12px; }
.meddic-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #176bb5, #22c55e); transition: width 0.18s ease; }
.meddic-grid { display: grid; grid-template-columns: 1fr; gap: 7px; }
.meddic-toggle { width: 100%; min-height: 58px; border: 1.5px solid rgba(147,197,253,0.55); background: rgba(255,255,255,0.92); border-radius: 14px; padding: 10px 11px; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 10px; cursor: pointer; font-family: inherit; text-align: left; transition: background 0.12s, border-color 0.12s, transform 0.1s; }
.meddic-toggle:active { background: rgba(239,246,255,0.92); transform: scale(0.98); }
.meddic-toggle.checked { background: rgba(236,253,245,0.92); border-color: rgba(34,197,94,0.42); }
.meddic-toggle-mark { width: 34px; height: 34px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: #e0f2fe; color: #0369a1; font-size: 13px; font-weight: 950; }
.meddic-toggle.checked .meddic-toggle-mark { background: #dcfce7; color: #15803d; }
.meddic-toggle-copy { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.meddic-toggle-copy strong { color: #12385f; font-size: 13px; font-weight: 950; line-height: 1.15; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.meddic-toggle-copy em { color: #64748b; font-size: 11px; font-style: normal; font-weight: 800; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.meddic-toggle-state { color: #1f4d7a; font-size: 12px; font-weight: 950; white-space: nowrap; }
.meddic-toggle.checked .meddic-toggle-state { color: #15803d; }

@keyframes pillUpdatePop {
  0%   { transform: scale(1); filter: brightness(1); box-shadow: 0 0 0 rgba(23,107,181,0); }
  46%  { transform: scale(1.22); filter: brightness(1.05); box-shadow: 0 10px 24px rgba(23,107,181,0.18), 0 0 0 5px rgba(23,107,181,0.12); }
  100% { transform: scale(1); filter: brightness(1); box-shadow: 0 0 0 rgba(23,107,181,0); }
}
.pill-update-pop {
  position: relative;
  z-index: 4;
  transform-origin: center;
  animation: pillUpdatePop 1.2s cubic-bezier(0.42,0,0.18,1) both;
  will-change: transform, filter, box-shadow;
}

/* ── Stage reorder animation ── */
@keyframes stageMovePulse {
  0%   { box-shadow: 0 0 0 0 rgba(23,107,181,0); background: white; }
  18%  { box-shadow: 0 0 0 5px rgba(23,107,181,0.22); background: #eff6ff; }
  60%  { box-shadow: 0 0 0 3px rgba(23,107,181,0.12); background: #f7faff; }
  100% { box-shadow: 0 0 0 0 rgba(23,107,181,0); background: white; }
}
.swipe-row.stage-moved { animation: stageMovePulse 0.85s ease-out forwards; z-index: 2; }

/* ── Celebrations ── */
.activity-burst { position:absolute;inset:0;z-index:96;pointer-events:none;overflow:hidden;border-radius:inherit; }
.activity-burst-card { position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:min(282px,calc(100% - 56px));min-height:156px;box-sizing:border-box;border-radius:24px;padding:20px 22px;text-align:center;color:white;background:linear-gradient(145deg,rgba(14,116,144,0.96),rgba(34,197,94,0.96));box-shadow:0 22px 70px rgba(0,0,0,0.38);animation:burstCard 2.35s ease-out forwards;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:3; }
.activity-burst-card.left { background:linear-gradient(145deg,rgba(190,18,60,0.96),rgba(248,113,113,0.96)); }
.activity-burst-card.right { background:linear-gradient(145deg,rgba(5,150,105,0.96),rgba(34,197,94,0.96)); }
.activity-burst-card.email { background:linear-gradient(145deg,rgba(37,99,235,0.96),rgba(56,189,248,0.96)); }
.activity-burst-card.call { background:linear-gradient(145deg,rgba(22,163,74,0.96),rgba(132,204,22,0.96)); }
.activity-burst-card.meeting { background:linear-gradient(145deg,rgba(124,58,237,0.96),rgba(168,85,247,0.96)); }
.activity-burst-card.demo { background:linear-gradient(145deg,rgba(217,70,239,0.96),rgba(236,72,153,0.96)); }
.activity-burst-card.proposal { background:linear-gradient(145deg,rgba(217,119,6,0.96),rgba(251,191,36,0.96)); }
.activity-burst-card.daily-bonus { background:linear-gradient(145deg,rgba(79,70,229,0.96),rgba(20,184,166,0.96)); }
.activity-burst-card.next-step { background:linear-gradient(145deg,rgba(15,118,110,0.96),rgba(45,212,191,0.96)); }
.activity-burst-card.risk-removed { background:linear-gradient(145deg,rgba(220,38,38,0.96),rgba(249,115,22,0.96)); }
.activity-burst-card.stage-advance { background:linear-gradient(145deg,rgba(23,107,181,0.96),rgba(34,197,94,0.96)); }
.activity-burst-card.closed-won { background:linear-gradient(145deg,rgba(5,150,105,0.98),rgba(245,158,11,0.98)); }
.activity-burst-card.level-up { background:linear-gradient(145deg,rgba(126,34,206,0.98),rgba(245,158,11,0.98)); box-shadow:0 24px 78px rgba(126,34,206,0.35); }
.activity-burst-icon { line-height:1; margin-bottom:8px; display:flex; align-items:center; justify-content:center; }
.activity-burst-title { font-size:17px;font-weight:900;line-height:1.15; }
.activity-burst-sub { margin-top:5px;font-size:13px;font-weight:800;color:rgba(255,255,255,0.82); }
.activity-spark { position:absolute;left:var(--spark-x);top:-28px;width:var(--spark-size);height:var(--spark-height);border-radius:var(--spark-radius);background:var(--spark-color);animation:confettiMovieFall var(--spark-duration) var(--spark-delay) cubic-bezier(0.28,0.64,0.34,1) forwards;transform:translate3d(0,-24px,0) rotate(var(--spark-rot));opacity:0;z-index:2;box-shadow:0 1px 2px rgba(15,23,42,0.08); }
.activity-spark.dot { border-radius:999px; }

/* ── Burst Stack (stacked award pills) ── */
.burst-stack { position:absolute; top:68px; right:12px; z-index:90; pointer-events:none; display:flex; flex-direction:column; gap:6px; width:min(270px, calc(100% - 24px)); }
.phone.has-sync-failure .burst-stack { top: 124px; }
.burst-pill { border-radius:14px; padding:10px 13px; color:white; display:flex; align-items:center; gap:9px; box-shadow:0 6px 22px rgba(0,0,0,0.22); background:linear-gradient(135deg,rgba(14,116,144,0.95),rgba(34,197,94,0.95)); animation:burstPillIn 0.28s cubic-bezier(0.16,1,0.3,1) both; }
.burst-pill.first { padding:12px 15px; }
.burst-pill.exiting { animation:burstPillOut 0.22s ease-in forwards; }
.burst-pill.left { background:linear-gradient(135deg,rgba(190,18,60,0.95),rgba(248,113,113,0.95)); }
.burst-pill.right,.burst-pill.done { background:linear-gradient(135deg,rgba(5,150,105,0.95),rgba(34,197,94,0.95)); }
.burst-pill.email { background:linear-gradient(135deg,rgba(37,99,235,0.95),rgba(56,189,248,0.95)); }
.burst-pill.call { background:linear-gradient(135deg,rgba(22,163,74,0.95),rgba(132,204,22,0.95)); }
.burst-pill.meeting { background:linear-gradient(135deg,rgba(124,58,237,0.95),rgba(168,85,247,0.95)); }
.burst-pill.demo { background:linear-gradient(135deg,rgba(217,70,239,0.95),rgba(236,72,153,0.95)); }
.burst-pill.proposal { background:linear-gradient(135deg,rgba(217,119,6,0.95),rgba(251,191,36,0.95)); }
.burst-pill.daily-bonus { background:linear-gradient(135deg,rgba(79,70,229,0.95),rgba(20,184,166,0.95)); }
.burst-pill.next-step { background:linear-gradient(135deg,rgba(15,118,110,0.95),rgba(45,212,191,0.95)); }
.burst-pill.risk-removed { background:linear-gradient(135deg,rgba(220,38,38,0.95),rgba(249,115,22,0.95)); }
.burst-pill.stage-advance { background:linear-gradient(135deg,rgba(23,107,181,0.95),rgba(34,197,94,0.95)); }
.burst-pill.level-up { background:linear-gradient(135deg,rgba(126,34,206,0.98),rgba(245,158,11,0.98)); box-shadow:0 8px 26px rgba(126,34,206,0.32); }
.burst-pill.quest { background:linear-gradient(135deg,rgba(234,88,12,0.95),rgba(251,146,60,0.95)); }
.burst-pill.daily-sweep { background:linear-gradient(135deg,rgba(79,70,229,0.95),rgba(234,88,12,0.95)); }
.burst-pill.double-down { background:linear-gradient(135deg,rgba(220,38,38,0.95),rgba(245,158,11,0.95)); }
.burst-pill.alert { background:linear-gradient(135deg,rgba(23,107,181,0.95),rgba(14,165,233,0.95)); }
@keyframes burstPillIn { from{opacity:0;transform:translateX(18px) scale(0.94);}to{opacity:1;transform:translateX(0) scale(1);} }
@keyframes burstPillOut { from{opacity:1;transform:translateX(0) scale(1);}to{opacity:0;transform:translateX(14px) scale(0.96);} }
.burst-pill-icon { flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.burst-pill-body { flex:1; min-width:0; }
.burst-pill-label { font-size:12px; font-weight:900; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.burst-pill.first .burst-pill-label { font-size:13px; }
.burst-pill-meta { font-size:11px; font-weight:800; opacity:0.85; line-height:1.3; }

@keyframes burstCard { 0%{opacity:0;transform:translate(-50%,-50%) scale(0.72);}12%{opacity:1;transform:translate(-50%,-50%) scale(1.05);}22%{transform:translate(-50%,-50%) scale(1);}72%{opacity:1;transform:translate(-50%,-54%) scale(1);}100%{opacity:0;transform:translate(-50%,-62%) scale(0.94);} }
@keyframes confettiMovieFall { 0%{opacity:0;transform:translate3d(0,-24px,0) rotate(var(--spark-rot));}8%{opacity:.9;}22%{opacity:.95;}82%{opacity:.72;}100%{opacity:0;transform:translate3d(var(--spark-drift),720px,0) rotate(calc(var(--spark-rot) + var(--spark-spin)));} }

/* ── Pipeline Cleared Celebration ─────────────────────────────────────── */
.pipeline-cleared-overlay { position:absolute;inset:0;z-index:102;display:flex;align-items:center;justify-content:center;background:rgba(3,12,28,0.64);border-radius:inherit;overflow:hidden;animation:pcOverlayIn 0.32s ease-out both; }
.pipeline-cleared-card { position:relative;z-index:2;background:linear-gradient(145deg,#0c3a6e 0%,#176bb5 52%,#059669 100%);border-radius:28px;padding:38px 28px 30px;text-align:center;color:white;box-shadow:0 30px 88px rgba(0,0,0,0.54);width:min(326px,calc(100% - 36px));animation:pcCardIn 0.56s 0.08s cubic-bezier(0.16,1.35,0.32,1) both; }
.pipeline-cleared-card::before { content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 30% 20%,rgba(255,255,255,0.14),transparent 55%);pointer-events:none; }
.pipeline-cleared-stars { font-size:72px;line-height:1;margin-bottom:18px;animation:pcStarPop 0.66s 0.26s cubic-bezier(0.16,1.5,0.32,1) both; }
.pipeline-cleared-title { font-size:26px;font-weight:900;letter-spacing:-0.2px;margin-bottom:7px; }
.pipeline-cleared-title.animated { animation:pcTitlePop 0.72s 0.18s cubic-bezier(0.16,1.35,0.32,1) both, pcTitleGlow 1.8s 0.9s ease-in-out infinite; }
.pipeline-cleared-overlay.settled .pipeline-cleared-title.animated,
.pipeline-cleared-overlay.settled .pipeline-cleared-ring,
.pipeline-cleared-overlay.settled .pipeline-cleared-summary-item,
.pipeline-cleared-overlay.settled .pipeline-cleared-card { animation:none; }
.pipeline-cleared-overlay.settled .pipeline-cleared-title.animated { text-shadow:none; }
.pipeline-cleared-sub { font-size:13px;font-weight:700;color:rgba(255,255,255,0.78);margin-bottom:22px; }
.pipeline-cleared-ring { width:128px;height:128px;margin:0 auto 18px;border-radius:999px;background:conic-gradient(#facc15 0deg,#22c55e var(--pc-ring),rgba(255,255,255,0.18) var(--pc-ring),rgba(255,255,255,0.18) 360deg);display:grid;place-items:center;box-shadow:0 18px 42px rgba(0,0,0,0.26),inset 0 0 0 1px rgba(255,255,255,0.20);animation:pcRingPop 0.66s 0.1s cubic-bezier(0.16,1.35,0.32,1) both; }
.pipeline-cleared-ring-inner { width:98px;height:98px;border-radius:999px;background:rgba(5,38,76,0.88);display:grid;place-items:center;align-content:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.16); }
.pipeline-cleared-ring-inner strong { font-size:30px;font-weight:950;line-height:1;color:#fff4d7;letter-spacing:0; }
.pipeline-cleared-ring-inner span { margin-top:3px;color:rgba(255,255,255,0.68);font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:0.8px; }
.pipeline-cleared-summary { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px; }
.pipeline-cleared-summary-item { min-width:0;border:1px solid rgba(255,255,255,0.16);border-radius:12px;background:rgba(255,255,255,0.13);padding:10px 8px;text-align:left;animation:pcSummaryIn 0.48s cubic-bezier(0.16,1,0.3,1) both; }
.pipeline-cleared-summary-item:nth-child(1) { animation-delay:0.34s; }
.pipeline-cleared-summary-item:nth-child(2) { animation-delay:0.42s; }
.pipeline-cleared-summary-item:nth-child(3) { animation-delay:0.50s; }
.pipeline-cleared-summary-item:nth-child(4) { animation-delay:0.58s; }
.pipeline-cleared-summary-item.green { background:rgba(34,197,94,0.20);border-color:rgba(134,239,172,0.28); }
.pipeline-cleared-summary-item.amber { background:rgba(251,191,36,0.18);border-color:rgba(253,230,138,0.26); }
.pipeline-cleared-summary-item.purple { background:rgba(168,85,247,0.18);border-color:rgba(221,214,254,0.24); }
.pipeline-cleared-summary-value { color:white;font-size:22px;font-weight:950;line-height:1; }
.pipeline-cleared-summary-label { min-height:24px;margin-top:5px;color:rgba(255,255,255,0.72);font-size:10px;font-weight:850;line-height:1.15; }
.pipeline-cleared-stats { display:flex;gap:0;background:rgba(0,0,0,0.22);border-radius:14px;overflow:hidden;margin-bottom:20px; }
.pipeline-cleared-stats.compact { margin-bottom:16px; }
.pipeline-cleared-stat { flex:1;padding:12px 8px; }
.pipeline-cleared-stat + .pipeline-cleared-stat { border-left:1px solid rgba(255,255,255,0.12); }
.pipeline-cleared-stat-val { font-size:20px;font-weight:900;line-height:1; }
.pipeline-cleared-stat-lbl { font-size:9px;font-weight:800;color:rgba(255,255,255,0.62);text-transform:uppercase;letter-spacing:0.5px;margin-top:4px; }
.pipeline-cleared-reload { width:100%;min-height:44px;border:1px solid rgba(255,255,255,0.44);border-radius:14px;background:rgba(255,255,255,0.92);color:#0f4f86;font-family:inherit;font-size:13px;font-weight:950;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,0.18);margin-bottom:14px; }
.pipeline-cleared-reload:active { transform:scale(0.98);background:#fff; }
.pipeline-cleared-bonus { font-size:12px;font-weight:900;color:rgba(255,255,255,0.9);background:rgba(255,255,255,0.14);border-radius:10px;padding:6px 14px;display:inline-block;margin-bottom:18px; }
.pipeline-cleared-tap { font-size:11px;font-weight:700;color:rgba(255,255,255,0.42);letter-spacing:0.2px; }
@keyframes pcOverlayIn { from{opacity:0;} to{opacity:1;} }
@keyframes pcCardIn { from{opacity:0;transform:scale(0.84) translateY(22px);} to{opacity:1;transform:none;} }
@keyframes pcStarPop { from{transform:scale(0.4) rotate(-12deg);opacity:0;} to{transform:scale(1) rotate(0deg);opacity:1;} }
@keyframes pcRingPop { from{transform:scale(0.62) rotate(-18deg);opacity:0;} to{transform:scale(1) rotate(0deg);opacity:1;} }
@keyframes pcTitlePop { 0%{transform:translateY(10px) scale(0.88);opacity:0;} 70%{transform:translateY(0) scale(1.05);opacity:1;} 100%{transform:translateY(0) scale(1);opacity:1;} }
@keyframes pcTitleGlow { 0%,100%{text-shadow:0 0 0 rgba(255,244,215,0);} 50%{text-shadow:0 0 18px rgba(255,244,215,0.44);} }
@keyframes pcSummaryIn { from{transform:translateY(10px);opacity:0;} to{transform:translateY(0);opacity:1;} }
.pc-confetti-piece { position:absolute;top:-18px;width:var(--pc-w);height:var(--pc-h);background:var(--pc-color);border-radius:var(--pc-r);left:var(--pc-x);animation:pcFall var(--pc-dur) var(--pc-delay) ease-in forwards;transform-origin:center; }
@keyframes pcFall { 0%{transform:translateY(0) rotate(0deg);opacity:1;} 80%{opacity:0.9;} 100%{transform:translateY(960px) rotate(var(--pc-spin));opacity:0;} }

/* ── Undo Bar ── */
.undo-bar {
  position: absolute; left: 14px; right: 14px;
  bottom: calc(env(safe-area-inset-bottom) + 76px);
  z-index: 110; min-height: 54px; border-radius: 18px;
  background: rgba(219,234,254,0.58); color: #12385f;
  border: 1px solid rgba(147,197,253,0.42);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  display: flex; align-items: center; gap: 12px;
  padding: 10px 12px 10px 16px;
  box-shadow: 0 18px 44px rgba(29,78,216,0.15);
  animation: undoLife 2.5s cubic-bezier(0.16,1,0.3,1) forwards;
}
.undo-copy { min-width: 0; flex: 1; font-size: 14px; font-weight: 850; line-height: 1.25; }
.undo-sub { color: rgba(18,56,95,0.68); font-size: 12px; font-weight: 700; margin-top: 2px; }
.undo-btn {
  border: none; border-radius: 999px; padding: 9px 13px;
  color: #0f3a69; background: rgba(255,255,255,0.72); font-size: 12px; font-weight: 900;
  cursor: pointer; flex-shrink: 0;
}
.undo-btn:active { transform: scale(0.96); background: #eff6ff; }
.morning-chip { flex-shrink: 0; font-size: 10px; font-weight: 800; padding: 3px 9px; border-radius: 999px; background: #dbeafe; color: #1e40af; letter-spacing: 0.1px; white-space: nowrap; }
.morning-chip.risk { background: #fee2e2; color: #b91c1c; }
.morning-chip.streak { background: var(--pq-warm-pill-bg); color: var(--pq-warm-pill-text); }
.morning-chip.freeze { background: #e0f2fe; color: #0369a1; }
@keyframes undoLife {
  0%   { opacity: 0; transform: translateY(18px) scale(0.98); }
  18%  { opacity: 1; transform: translateY(0) scale(1); }
  72%  { opacity: 1; transform: translateY(0) scale(1); }
  100% { opacity: 0; transform: translateY(12px) scale(0.985); }
}

/* ── Error Screen ── */
.err-screen { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px 28px 48px; background: #f8fafc; text-align: center; }
.err-dog-wrap { position: relative; width: 160px; height: 160px; margin-bottom: 24px; animation: errBounce 2.4s ease-in-out infinite; }
@keyframes errBounce { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);} }
.err-dog-shadow { position: absolute; bottom: -6px; left: 50%; transform: translateX(-50%); width: 80px; height: 12px; border-radius: 50%; background: rgba(0,0,0,0.08); animation: errShadow 2.4s ease-in-out infinite; }
@keyframes errShadow { 0%,100%{transform:translateX(-50%) scaleX(1);opacity:0.08;} 50%{transform:translateX(-50%) scaleX(0.72);opacity:0.05;} }
.err-title { font-size: 22px; font-weight: 900; color: #172033; margin-bottom: 8px; }
.err-sub { font-size: 14px; color: #64748b; line-height: 1.5; margin-bottom: 6px; font-weight: 600; }
.err-detail { font-size: 11px; color: #94a3b8; line-height: 1.45; margin-bottom: 28px; padding: 0 8px; word-break: break-word; }
.err-retry-btn { background: #176bb5; color: white; border: none; border-radius: 14px; padding: 13px 32px; font-size: 15px; font-weight: 900; cursor: pointer; box-shadow: 0 8px 24px rgba(23,107,181,0.28); transition: transform 0.12s, box-shadow 0.12s; }
.err-retry-btn:active { transform: scale(0.97); box-shadow: 0 4px 12px rgba(23,107,181,0.18); }

/* ── Today First-Run Tour ── */
.today-tour { position: absolute; inset: 0; z-index: 130; overflow: hidden; pointer-events: auto; }
.today-tour-shade { position: absolute; inset: 0; background: rgba(15,23,42,0.40); backdrop-filter: blur(1px); -webkit-backdrop-filter: blur(1px); animation: tourFadeIn 0.2s ease-out both; }
.today-tour-spotlight { position: absolute; border-radius: 18px; background: rgba(255,255,255,0.07); box-shadow: 0 0 0 999px rgba(15,23,42,0.34), 0 0 0 2px rgba(255,255,255,0.88), 0 12px 35px rgba(15,23,42,0.22); transition: left 0.26s cubic-bezier(0.16,1,0.3,1), top 0.26s cubic-bezier(0.16,1,0.3,1), width 0.26s cubic-bezier(0.16,1,0.3,1), height 0.26s cubic-bezier(0.16,1,0.3,1); pointer-events: none; }
.today-tour-skip:active,
.today-tour-back:active,
.today-tour-next:active { transform: scale(0.96); }
.today-tour-note { position: absolute; z-index: 2; width: min(252px, calc(100% - 36px)); color: white; transform: rotate(-2deg); text-shadow: 0 2px 8px rgba(15,23,42,0.48); pointer-events: none; transition: left 0.26s cubic-bezier(0.16,1,0.3,1), top 0.26s cubic-bezier(0.16,1,0.3,1); }
.today-tour-note.pills { transform: rotate(2deg); }
.today-tour-note.nav { transform: rotate(-1deg); }
.today-tour-note-title { font-family: "Marker Felt", "Comic Sans MS", "Bradley Hand", -apple-system, sans-serif; font-size: 24px; font-weight: 900; line-height: 1.02; letter-spacing: 0; }
.today-tour-arrow { position: absolute; z-index: 2; width: 178px; height: 82px; color: rgba(255,255,255,0.94); overflow: visible; pointer-events: none; filter: drop-shadow(0 2px 6px rgba(15,23,42,0.38)); transition: left 0.26s cubic-bezier(0.16,1,0.3,1), top 0.26s cubic-bezier(0.16,1,0.3,1); }
.today-tour-arrow.row,
.today-tour-arrow.swipe { transform: rotate(1deg); }
.today-tour-arrow.pills { transform: rotate(5deg); }
.today-tour-arrow.nav { transform: rotate(78deg); }
.today-tour-arrow path,
.today-tour-arrow polyline { fill: none; stroke: currentColor; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.today-tour-panel { position: absolute; left: 16px; right: 16px; bottom: 82px; z-index: 3; border: 1px solid rgba(255,255,255,0.64); border-radius: 14px; background: rgba(18,56,95,0.42); color: white; padding: 12px; box-shadow: 0 18px 46px rgba(15,23,42,0.24); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.today-tour-panel-title { font-family: "Marker Felt", "Comic Sans MS", "Bradley Hand", -apple-system, sans-serif; font-size: 22px; font-weight: 900; line-height: 1.05; transform: rotate(-1deg); }
.today-tour-panel-subtitle { margin-top: 5px; color: rgba(255,255,255,0.86); font-size: 12px; font-weight: 850; line-height: 1.25; }
.today-tour-panel-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; }
.today-tour-dots { display: inline-flex; align-items: center; gap: 5px; }
.today-tour-dots span { width: 6px; height: 6px; border-radius: 999px; background: rgba(255,255,255,0.34); }
.today-tour-dots span.on { width: 18px; background: white; }
.today-tour-buttons { display: inline-flex; align-items: center; gap: 7px; }
.today-tour-skip,
.today-tour-back,
.today-tour-next { border: none; border-radius: 999px; min-height: 32px; padding: 0 13px; font: inherit; font-size: 12px; font-weight: 950; cursor: pointer; }
.today-tour-skip,
.today-tour-back { background: rgba(255,255,255,0.16); color: rgba(255,255,255,0.88); }
.today-tour-next { background: white; color: #12385f; box-shadow: 0 6px 18px rgba(15,23,42,0.18); }
.today-tour-swipe-demo { position: relative; height: 58px; margin-top: 12px; border-radius: 14px; overflow: hidden; background: rgba(255,255,255,0.16); }
.today-tour-swipe-lane { position: absolute; inset: 0; display: flex; align-items: center; font-size: 12px; font-weight: 950; text-transform: uppercase; letter-spacing: 0.2px; }
.today-tour-swipe-lane.left { justify-content: flex-end; padding-right: 16px; background: linear-gradient(90deg, rgba(239,68,68,0.62), rgba(239,68,68,0.10)); color: #fee2e2; }
.today-tour-swipe-lane.right { justify-content: flex-start; padding-left: 16px; background: linear-gradient(90deg, rgba(34,197,94,0.18), rgba(34,197,94,0.68)); color: #dcfce7; }
.today-tour-swipe-card { position: absolute; left: 16px; right: 16px; top: 10px; height: 38px; border-radius: 12px; background: white; box-shadow: 0 8px 18px rgba(15,23,42,0.22); animation: tourSwipeCard 3.1s cubic-bezier(0.16,1,0.3,1) infinite; }
.today-tour-swipe-card span,
.today-tour-swipe-card strong { position: absolute; left: 13px; right: 72px; height: 7px; border-radius: 999px; background: #dbeafe; content: ""; }
.today-tour-swipe-card span { top: 10px; }
.today-tour-swipe-card strong { top: 22px; width: 46%; background: #e5e7eb; }
.phone.today-tour-swipe-active [data-tour-id="today-first-row"] { z-index: 132; pointer-events: none; box-shadow: 0 18px 38px rgba(15,23,42,0.20); }
.phone.today-tour-swipe-active [data-tour-id="today-first-row"] .action-bg::before,
.phone.today-tour-swipe-active [data-tour-id="today-first-row"] .action-bg::after {
  position: absolute; inset: 0; display: flex; align-items: center; font-size: 15px; font-weight: 950;
  opacity: 0; pointer-events: none;
}
.phone.today-tour-swipe-active [data-tour-id="today-first-row"] .action-bg::before {
  content: "✓ Log Activity"; justify-content: flex-start; padding-left: 22px; color: #128938; background: #d8f4df;
  animation: tourLiveLogLane 4.2s cubic-bezier(0.16,1,0.3,1) infinite;
}
.phone.today-tour-swipe-active [data-tour-id="today-first-row"] .action-bg::after {
  content: "✕ Skip for today"; justify-content: flex-end; padding-right: 22px; color: #d72727; background: #fde0e0;
  animation: tourLiveSkipLane 4.2s cubic-bezier(0.16,1,0.3,1) infinite;
}
.phone.today-tour-swipe-active [data-tour-id="today-first-row"] .row-card {
  animation: tourLiveRowSwipe 4.2s cubic-bezier(0.16,1,0.3,1) infinite;
}
.today-tour-real-demo { position: relative; height: 90px; margin-top: 10px; border-radius: 16px; overflow: hidden; background: rgba(255,255,255,0.14); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.12); }
.today-tour-real-lane { position: absolute; inset: 0; display: flex; align-items: center; padding: 0 18px; font-size: 12px; font-weight: 950; text-transform: uppercase; letter-spacing: 0.2px; opacity: 0; }
.today-tour-real-lane-left { justify-content: flex-end; color: #fee2e2; background: linear-gradient(90deg, rgba(239,68,68,0.58), rgba(239,68,68,0.12)); animation: tourMiniSkipLane 4.2s cubic-bezier(0.16,1,0.3,1) infinite; }
.today-tour-real-lane-right { justify-content: flex-start; color: #dcfce7; background: linear-gradient(90deg, rgba(34,197,94,0.14), rgba(34,197,94,0.66)); animation: tourMiniLogLane 4.2s cubic-bezier(0.16,1,0.3,1) infinite; }
.today-tour-real-card { position: absolute; left: 12px; right: 12px; top: 10px; min-height: 70px; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 9px; align-items: center; padding: 8px 10px; border-radius: 14px; background: white; color: #172033; box-shadow: 0 10px 24px rgba(15,23,42,0.24); animation: tourMiniRowSwipe 4.2s cubic-bezier(0.16,1,0.3,1) infinite; }
.today-tour-real-card .row-avatar { width: 46px; height: 46px; font-size: 21px; }
.today-tour-real-main { min-width: 0; display: grid; gap: 3px; }
.today-tour-real-title,
.today-tour-real-account { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.today-tour-real-title { color: #172033; font-size: 13px; font-weight: 950; line-height: 1.05; }
.today-tour-real-account { color: #64748b; font-size: 11px; font-weight: 850; }
.today-tour-real-pills { display: flex; align-items: center; gap: 4px; min-width: 0; }
.today-tour-real-pills .row-forecast-pill,
.today-tour-real-pills .deal-score-pill,
.today-tour-real-pills .row-forecast-amount { min-height: 24px; height: 24px; padding: 4px 8px; font-size: 11px; max-width: 76px; }
.today-tour-real-pills .deal-score-pill { min-width: 44px; }
.today-tour-real-pills .row-forecast-amount { max-width: 60px; }
@keyframes tourFadeIn { from{opacity:0;} to{opacity:1;} }
@keyframes tourSwipeCard {
  0%, 14%, 100% { transform: translateX(0); }
  28%, 43% { transform: translateX(76px); }
  57%, 70% { transform: translateX(0); }
  84%, 94% { transform: translateX(-76px); }
}
@keyframes tourLiveRowSwipe {
  0%, 10%, 46%, 54%, 92%, 100% { transform: translateX(0); }
  22%, 34% { transform: translateX(92px); }
  66%, 78% { transform: translateX(-92px); }
}
@keyframes tourLiveLogLane {
  0%, 13%, 44%, 100% { opacity: 0; }
  20%, 36% { opacity: 1; }
}
@keyframes tourLiveSkipLane {
  0%, 57%, 88%, 100% { opacity: 0; }
  64%, 80% { opacity: 1; }
}
@keyframes tourMiniRowSwipe {
  0%, 10%, 46%, 54%, 92%, 100% { transform: translateX(0); }
  22%, 34% { transform: translateX(64px); }
  66%, 78% { transform: translateX(-64px); }
}
@keyframes tourMiniLogLane {
  0%, 13%, 44%, 100% { opacity: 0; }
  20%, 36% { opacity: 1; }
}
@keyframes tourMiniSkipLane {
  0%, 57%, 88%, 100% { opacity: 0; }
  64%, 80% { opacity: 1; }
}

/* ── Dark Mode ── */
.phone.dark { background: #0d1320; color: #e5edf8; }
.phone.dark .hdr { background: linear-gradient(180deg, #0f2f55, #0d2544); }
.phone.dark .logo { color: #f8fbff; }
.phone.dark .logo em { text-shadow: 0 1px 10px rgba(251,191,36,0.28); }
.phone.dark .hdr-profile { background: rgba(255,255,255,0.10); border-color: rgba(191,219,254,0.28); color: #f8fbff; box-shadow: 0 8px 18px rgba(0,0,0,0.28); }
.phone.dark .points-bar-wrap,
.phone.dark .bnav,
.phone.dark .safe-area-filler { background: #101827; border-color: #233044; }
.phone.dark .bnav.two-up .bnav-btn.on { background: rgba(56,189,248,0.12); box-shadow: 0 6px 18px rgba(56,189,248,0.10); }
.phone.dark .points-bar-title,
.phone.dark .sec-ttl,
.phone.dark .row-account,
.phone.dark .analytics-title,
.phone.dark .analytics-deal-name,
.phone.dark .pipeline-toolbar-title,
.phone.dark .awards-hero-title,
.phone.dark .achv-item-name,
.phone.dark .forecast-command-title,
.phone.dark .forecast-command-foot strong,
.phone.dark .forecast-bridge-bar strong,
.phone.dark .forecast-period-rows strong,
.phone.dark .forecast-ready-score,
.phone.dark .forecast-ready-title { color: #f8fbff; }
.phone.dark .points-bar-level,
.phone.dark .bnav-btn.on,
.phone.dark .row-close,
.phone.dark .today-filter-btn,
.phone.dark .today-filter-check,
.phone.dark .forecast-ready-side { color: #7dd3fc; }
.phone.dark .bnav-btn.on .bnav-ico { background: rgba(56,189,248,0.16); box-shadow: 0 5px 14px rgba(56,189,248,0.12); }
.phone.dark .points-bar-nums,
.phone.dark .pipeline-toolbar-sub,
.phone.dark .analytics-sub,
.phone.dark .analytics-deal-meta,
.phone.dark .analytics-empty,
.phone.dark .bnav-btn,
.phone.dark .card-ttl,
.phone.dark .empty,
.phone.dark .today-all-done-sub,
.phone.dark .awards-hero-sub,
.phone.dark .achv-item-desc,
.phone.dark .forecast-section-title,
.phone.dark .section-hdr-sub,
.phone.dark .row-right,
.phone.dark .profile-today-denom,
.phone.dark .forecast-command-kicker,
.phone.dark .forecast-command-sub,
.phone.dark .forecast-command-foot,
.phone.dark .forecast-bridge-bar,
.phone.dark .forecast-period-label,
.phone.dark .forecast-period-rows div,
.phone.dark .forecast-period-foot,
.phone.dark .forecast-ready-label,
.phone.dark .forecast-ready-sub { color: #94a3b8; }
.phone.dark .points-bar-track,
.phone.dark .analytics-meter,
.phone.dark .forecast-command-meter,
.phone.dark .forecast-bridge-track { background: #223044; }
.phone.dark .today-all-done-txt { color: #f8fbff; }
.phone.dark .today-all-done-kicker { color: #7dd3fc; }
.phone.dark .today-cleared-summary-item { background:#162235;border-color:#2b3c56;box-shadow:none; }
.phone.dark .today-cleared-summary-item.green { background:rgba(20,83,45,0.34);border-color:rgba(74,222,128,0.28); }
.phone.dark .today-cleared-summary-item.amber { background:rgba(255,244,215,0.16);border-color:rgba(249,199,107,0.34); }
.phone.dark .today-cleared-summary-item.purple { background:rgba(88,28,135,0.28);border-color:rgba(221,214,254,0.24); }
.phone.dark .today-cleared-summary-item strong { color:#f8fbff; }
.phone.dark .today-cleared-summary-item span { color:#94a3b8; }
.phone.dark .today-all-done-reload { background:#2563eb;box-shadow:none; }
.phone.dark .today-victory-core { background: linear-gradient(145deg, #10223a, #0f1724); border-color: #233044; box-shadow: 0 14px 30px rgba(0,0,0,0.24); }
.phone.dark .today-victory-core span { color:#94a3b8; }
.phone.dark .today-victory-burst::before {
  background:
    radial-gradient(circle at center, rgba(15,23,36,0.96) 0 36%, transparent 37%),
    conic-gradient(from 12deg, #facc15, #38bdf8, #22c55e, #f97316, #facc15);
}
.phone.dark .section-hdr { color: #9fb1c7; background: #0f1724; border-color: #233044; }
.phone.dark .today-content,
.phone.dark .pipeline-scroll,
.phone.dark .awards-scroll { background: #0d1320; }
.phone.dark .swipe-row,
.phone.dark .row-card,
.phone.dark .card,
.phone.dark .analytics-card,
.phone.dark .analytics-deals,
.phone.dark .analytics-row,
.phone.dark .awards-hero,
.phone.dark .achv-item,
.phone.dark .forecast-ready-card,
.phone.dark .forecast-ready-row,
.phone.dark .forecast-command-card,
.phone.dark .forecast-period-card { background: #111a2b; border-color: #26344a; box-shadow: none; }
.phone.dark .analytics-row + .analytics-row,
.phone.dark .analytics-deals,
.phone.dark .forecast-ready-summary,
.phone.dark .forecast-ready-row,
.phone.dark .forecast-ready-row:first-child,
.phone.dark .forecast-period-foot { border-color: #26344a; }
.phone.dark .analytics-deal-row { border-top-color: #182235; }
.phone.dark button.analytics-row:active,
.phone.dark .forecast-ready-row:active,
.phone.dark .forecast-bridge-bar:active { background: #0f172a; }
.phone.dark .forecast-bridge-bar { background: #162235; }
.phone.dark .forecast-section-toggle strong { color: #7dd3fc; }
.phone.dark .analytics-chevron { border-color: #64748b; }
.phone.dark .forecast-scope-tabs { background: #0c1e38; }
.phone.dark .forecast-scope-tabs button { color: #94a3b8; }
.phone.dark .forecast-scope-tabs button.on { background: #172338; color: #7dd3fc; box-shadow: none; }
.phone.dark .forecast-status-pill { background: rgba(56,189,248,0.16); color: #7dd3fc; border-color: rgba(125,211,252,0.30); }
.phone.dark .next-up-card { background: linear-gradient(135deg, #0f1e33, #0f2318); border-color: #26344a; }
.phone.dark .next-up-name { color: #e2e8f0; }
.phone.dark .next-up-progress-track { background: #26344a; }
.phone.dark .next-up-reward { background: #0f2318; border-color: #166534; color: #4ade80; }
.phone.dark .achv-org-card,
.phone.dark .achv-locked-details summary,
.phone.dark .prof-settings-card { background: #111a2b; border-color: #26344a; }
.phone.dark .profile-v2 { background: #0d1320; }
.phone.dark .prof-status-tile { background: #0c1e38; border-color: #1e3a5f; }
.phone.dark .prof-status-tile span { color: #94a3b8; }
.phone.dark .prof-status-tile strong { color: #7dd3fc; }
.phone.dark .prof-settings-row { color: #e2e8f0; border-top-color: #182235; }
.phone.dark .prof-settings-row:active { background: #0f172a; }
.phone.dark .prof-settings-hdr { color: #64748b; }
.phone.dark .prof-settings-subhdr { border-top-color: #182235; }
.phone.dark .prof-settings-val { color: #7dd3fc; }
.phone.dark .prof-settings-main em { color: #94a3b8; }
.phone.dark .prof-toggle { background: #334155; }
.phone.dark .prof-toggle.on { background: #0f4f86; }
.phone.dark .prof-quota-editor { background: #0f172a; border-top-color: #26344a; }
.phone.dark .prof-quota-field { color: #cbd5e1; }
.phone.dark .prof-quota-input { background: #0d1320; border-color: #334155; color: #f8fbff; }
.phone.dark .prof-quota-summary { background: #0c1e38; border-color: #1e3a5f; color: #93c5fd; }
.phone.dark .prof-quota-cancel { background: #26344a; color: #dbeafe; }
.phone.dark .prof-quota-save { background: #0f4f86; box-shadow: none; }
.phone.dark .prof-target-term-editor { background: #0f172a; border-top-color: #26344a; }
.phone.dark .prof-target-term-options button { background: #0d1320; border-color: #334155; color: #dbeafe; }
.phone.dark .prof-target-term-options button.selected { background: #0c1e38; border-color: #1e3a5f; color: #93c5fd; box-shadow: none; }
.phone.dark .profile-ops,
.phone.dark .profile-ops.profile-v2 { background: #f6f9fd; }
.phone.dark .profile-ops .prof-card-hero,
.phone.dark .profile-ops .prof-settings-card { background: #fff; border-color: #d7e3f0; }
.phone.dark .profile-ops .prof-name,
.phone.dark .profile-ops .prof-settings-row,
.phone.dark .profile-ops .prof-settings-main span { color: #14243a; }
.phone.dark .profile-ops .prof-ops-subline,
.phone.dark .profile-ops .prof-sync-note,
.phone.dark .profile-ops .prof-settings-main em,
.phone.dark .profile-ops .prof-status-tile span { color: #5e728d; }
.phone.dark .profile-ops .prof-status-tile { background: #f8fbff; border-color: #cfe0f2; }
.phone.dark .profile-ops .prof-status-tile strong,
.phone.dark .profile-ops .prof-settings-val { color: #0f5b98; }
.phone.dark .profile-ops .prof-settings-hdr { color: #00806f; }
.phone.dark .profile-ops .prof-settings-row { border-top-color: #e7eef7; }
.phone.dark .profile-ops .prof-settings-row:active { background: #f8fbff; }
.phone.dark .profile-ops .prof-settings-row.danger .prof-settings-val { color: #b91c1c; }
.phone.dark .profile-ops .prof-quota-editor { background: #f8fbff; border-top-color: #e7eef7; }
.phone.dark .profile-ops .prof-quota-field { color: #334155; }
.phone.dark .profile-ops .prof-quota-input { background: #fff; border-color: #cbd5e1; color: #172033; }
.phone.dark .profile-ops .prof-quota-summary { background: #eff6ff; border-color: #dbeafe; color: #0f4f86; }
.phone.dark .profile-ops .prof-quota-cancel { background: #e5e7eb; color: #475569; }
.phone.dark .profile-ops .prof-quota-save { background: #176bb5; box-shadow: 0 8px 18px rgba(23,107,181,0.16); }
.phone.dark .profile-ops .prof-target-term-editor { background: #f8fbff; border-top-color: #e7eef7; }
.phone.dark .profile-ops .prof-target-term-options button { background: #fff; border-color: #cbd5e1; color: #334155; }
.phone.dark .profile-ops .prof-target-term-options button.selected { background: #eff6ff; border-color: #176bb5; color: #0f4f86; box-shadow: 0 0 0 3px rgba(23,107,181,0.08); }
.phone.dark .profile-ops .prof-methodology-editor { background: #f8fbff; border-top-color: #e7eef7; }
.phone.dark .profile-ops .prof-methodology-options button { background: #fff; border-color: #cbd5e1; color: #334155; }
.phone.dark .profile-ops .prof-methodology-options button span { color: #12385f; }
.phone.dark .profile-ops .prof-methodology-options button em { color: #64748b; }
.phone.dark .profile-ops .prof-methodology-options button.selected { background: #eff6ff; border-color: #176bb5; box-shadow: 0 0 0 3px rgba(23,107,181,0.08); }
.phone.dark .profile-ops .prof-methodology-options button.selected span { color: #0f4f86; }
.phone.dark .profile-ops .prof-fiscal-editor { background: #f8fbff; border-top-color: #e7eef7; }
.phone.dark .profile-ops .prof-fiscal-select { background: #fff; border-color: #cbd5e1; color: #172033; }
.phone.dark .profile-ops .prof-fiscal-preview { background: #eff6ff; border-color: #dbeafe; color: #0f4f86; }
.phone.dark .achv-group { border-top-color: #26344a; }
.phone.dark .achv-group-title,
.phone.dark .achv-chip-name,
.phone.dark .achv-locked-details summary { color: #e2e8f0; }
.phone.dark .achv-chip { background: #0c1524; border-color: #26344a; }
.phone.dark .achv-chip-ico { background: #0c1e38; color: #7dd3fc; }
.phone.dark .achv-empty { border-color: #36516f; color: #94a3b8; }
.phone.dark .morning-chip { background: #1e3a5f; color: #93c5fd; }
.phone.dark .morning-chip.risk { background: #3b0f0f; color: #fca5a5; }
.phone.dark .morning-chip.streak { background: #3b1a08; color: #fdba74; }
.phone.dark .morning-chip.freeze { background: #0c2233; color: #7dd3fc; }
.phone.dark .morning-chip.fire { background: #3b1a08; color: #fdba74; }
.phone.dark .morning-chip.fire.lit { background: #3b0f0f; color: #fca5a5; }
.phone.dark .swipe-row { border-bottom-color: #26344a; }
.phone.dark .swipe-row::after { background: #26344a; }
.phone.dark .row-task { color: #cbd5e1; }
.phone.dark .row-recommendation span { color: #e5edf7; }
.phone.dark .row-recommendation em,
.phone.dark .row-account-meta { color: #94a3b8; }
.phone.dark .today-completed-box.simplified .today-completed-toggle { background: rgba(56,189,248,0.16); border-color: rgba(125,211,252,0.30); color: #7dd3fc; }
.phone.dark .today-completed-undo { background: rgba(255,255,255,0.10); border-color: rgba(125,211,252,0.28); color: #7dd3fc; }
.phone.dark .score-breakdown-row,
.phone.dark .score-breakdown-row { background: rgba(15,23,42,0.72); border-color: rgba(125,211,252,0.24); }
.phone.dark .score-breakdown-row.raise { background: rgba(20,83,45,0.28); border-color: rgba(74,222,128,0.26); }
.phone.dark .score-breakdown-row.lower { background: rgba(127,29,29,0.24); border-color: rgba(248,113,113,0.24); }
.phone.dark .score-breakdown-copy span { color: #94a3b8; }
.phone.dark .score-breakdown-copy strong { color: #e5edf7; }
.phone.dark .score-breakdown-meter { background: rgba(255,255,255,0.12); }
.phone.dark .score-sheet-meta-row span { background: rgba(56,189,248,0.14); color: #bfdbfe; }
.phone.dark .score-sheet-meta-row span:first-child { background: rgba(14,165,233,0.18); color: #7dd3fc; }
.phone.dark .score-sheet-meta-row span:last-child { background: rgba(34,197,94,0.15); color: #86efac; }
.phone.dark .row-pill,
.phone.dark .row-stage,
.phone.dark .row-stage-tap,
.phone.dark .today-filter-option.on { background: rgba(56,189,248,0.14); border-color: rgba(125,211,252,0.28); color: #7dd3fc; }
.phone.dark .today-filter-btn,
.phone.dark .today-filter-menu,
.phone.dark .deal-next-pill { background: #162235; border-color: #2b3c56; color: #dbeafe; }
.phone.dark .deal-next-pill { background: #1f2937; border-color: #374151; color: #cbd5e1; }
.phone.dark .deal-next-pill.done { background: rgba(56,189,248,0.16); color: #7dd3fc; border-color: rgba(125,211,252,0.30); }
.phone.dark .deal-next-pill.has-next { background: rgba(34,197,94,0.16); color: #86efac; border-color: rgba(74,222,128,0.30); }
.phone.dark .deal-next-pill.missing-next { background: rgba(255,244,215,0.16); color: #fff4d7; border-color: rgba(249,199,107,0.34); }
.phone.dark .today-filter-menu,
.phone.dark .activity-sheet,
.phone.dark .undo-bar { background: rgba(15,23,42,0.97); border-color: rgba(125,211,252,0.38); box-shadow: 0 22px 70px rgba(0,0,0,0.50); }
.phone.dark .points-filter .today-filter-btn,
.phone.dark .points-filter .today-filter-btn:active { background: transparent; border: none; color: #fff; box-shadow: none; }
.phone.dark.ff-professional-ia-v2 .points-bar-wrap {
  background: #0d1726;
  border-bottom-color: #1f2f46;
}
.phone.dark.ff-professional-ia-v2 .points-bar-level,
.phone.dark.ff-professional-ia-v2 .points-filter .today-filter-btn {
  color: #7dd3fc;
}
.phone.dark.ff-professional-ia-v2 .points-bar-title {
  color: #dbeafe;
}
.phone.dark.ff-professional-ia-v2 .points-bar-nums {
  color: #94a3b8;
}
.phone.dark.ff-professional-ia-v2 .points-bar-track {
  background: #1f2f46;
}
.phone.dark .profile-lifetime-card,
.phone.dark .profile-period-item {
  background: #111a2b;
  border-color: #26344a;
}
.phone.dark .profile-lifetime-main strong,
.phone.dark .profile-period-copy strong {
  color: #f8fbff;
}
.phone.dark .profile-lifetime-main span,
.phone.dark .profile-period-copy span,
.phone.dark .profile-lifetime-side strong,
.phone.dark .profile-period-score {
  color: #7dd3fc;
}
.phone.dark .profile-lifetime-main em,
.phone.dark .profile-period-copy em,
.phone.dark .profile-lifetime-side span,
.phone.dark .profile-performance-foot {
  color: #94a3b8;
}
.phone.dark .profile-period-meter {
  background: #1f2f46;
}
.phone.dark .undo-bar { background: #eff6ff; color: #12385f; border-color: #bfdbfe; box-shadow: 0 18px 44px rgba(23,107,181,0.20); }
.phone.dark .activity-sheet-backdrop,
.phone.dark .next-step-sheet-backdrop { background: rgba(2,6,23,0.42); }
.phone.dark .activity-sheet-title,
.phone.dark .activity-sheet-sub,
.phone.dark .type-btn-name,
.phone.dark .undo-copy,
.phone.dark .stage-sheet-name { color: #e5edf8; }
.phone.dark .activity-sheet-btn,
.phone.dark .activity-sheet-cancel,
.phone.dark .next-step-sheet-input,
.phone.dark .next-step-sheet-cancel,
.phone.dark .stage-sheet-btn,
.phone.dark .undo-btn { background: rgba(255,255,255,0.10); border-color: rgba(125,211,252,0.28); color: #dbeafe; }
.phone.dark .log-activity-sheet.four-option-sheet .type-btn-ico { background: rgba(56,189,248,0.16); color: #7dd3fc; }
.phone.dark .log-activity-sheet.four-option-sheet .type-btn-name { color: #e5edf7; }
.phone.dark .log-activity-sheet.four-option-sheet .type-btn-pts { color: #94a3b8; }
.phone.dark .next-step-sheet-save { background: #176bb5; color: #f8fbff; }
.phone.dark .next-step-input-wrap,
.phone.dark .next-step-mic-btn { background: rgba(255,255,255,0.10); border-color: rgba(125,211,252,0.28); color: #7dd3fc; }
.phone.dark .next-step-input-wrap:focus-within { border-color: rgba(125,211,252,0.58); background: rgba(255,255,255,0.13); }
.phone.dark .next-step-sheet-input { background: transparent; }
.phone.dark .forecast-call-field { color: #e5edf8; }
.phone.dark .forecast-call-input { background: rgba(255,255,255,0.10); border-color: rgba(125,211,252,0.28); color: #e5edf8; }
.phone.dark .forecast-call-input:focus { border-color: rgba(125,211,252,0.58); background: rgba(255,255,255,0.13); }
.phone.dark .forecast-call-error { color: #fca5a5; }
.phone.dark .next-step-mic-btn.listening { background: #176bb5; color: #f8fbff; border-color: #38bdf8; }
.phone.dark .close-date-calendar { background: rgba(255,255,255,0.08); border-color: rgba(125,211,252,0.28); }
.phone.dark .close-calendar-month,
.phone.dark .close-calendar-dow,
.phone.dark .close-calendar-day { color: #dbeafe; }
.phone.dark .close-calendar-day,
.phone.dark .close-calendar-nav { background: rgba(255,255,255,0.10); border-color: rgba(125,211,252,0.28); }
.phone.dark .close-calendar-day.selected { background: #176bb5; border-color: #60a5fa; color: white; }
.phone.dark .close-date-today-btn,
.phone.dark .close-date-input { background: rgba(255,255,255,0.10); border-color: rgba(125,211,252,0.28); color: #dbeafe; }
.phone.dark .undo-sub { color: #94a3b8; }
.phone.dark .undo-bar .undo-copy { color: #12385f; }
.phone.dark .undo-bar .undo-sub { color: rgba(18,56,95,0.68); }
.phone.dark .undo-bar .undo-btn { color: #0f3a69; background: rgba(255,255,255,0.82); }
.phone.dark .sync-failure-panel { color: white; background: linear-gradient(135deg,rgba(220,38,38,0.96),rgba(245,158,11,0.96)); box-shadow: 0 8px 26px rgba(220,38,38,0.30); }
.phone.dark .done-bg { background: rgba(34,197,94,0.20); color: #86efac; }
.phone.dark .skip-bg { background: rgba(248,113,113,0.20); color: #fca5a5; }
.phone.dark .achv-item-ico,
.phone.dark .type-btn-ico { color: #dbeafe; }
.phone.dark .row-forecast-amount,
.phone.dark .analytics-value { color: #4ade80; }
.phone.dark .row-forecast-amount { background: rgba(34,197,94,0.15); border-color: rgba(74,222,128,0.32); }
.phone.dark .row-forecast-pill { background: rgba(15,23,42,0.46); border-color: #334155; color: #e5edf7; }
.phone.dark .row-close-sep { color: #475569; }
.phone.dark .close-date-pill,
.phone.dark .row-stage,
.phone.dark .row-stage-tap,
.phone.dark .row-stage-tap.done,
.phone.dark .row-stage.row-stage-tap { background: rgba(56,189,248,0.16); color: #7dd3fc; border-color: rgba(125,211,252,0.30); }
.phone.dark .close-date-pill.past-due,
.phone.dark .row-pill.ns { background: rgba(34,197,94,0.16); color: #86efac; border-color: rgba(74,222,128,0.30); }
.phone.dark .row-pill.activity.email { background: rgba(56,189,248,0.16); color: #7dd3fc; border-color: rgba(125,211,252,0.30); }
.phone.dark .row-pill.activity.call { background: rgba(34,197,94,0.16); color: #86efac; border-color: rgba(74,222,128,0.30); }
.phone.dark .row-pill.activity.meeting { background: rgba(168,85,247,0.16); color: #c4b5fd; border-color: rgba(196,181,253,0.30); }
.phone.dark .row-pill.activity.demo { background: rgba(236,72,153,0.16); color: #f9a8d4; border-color: rgba(249,168,212,0.30); }
.phone.dark .row-pill.activity.proposal { background: rgba(255,244,215,0.16); color: #fff4d7; border-color: rgba(249,199,107,0.34); }
.phone.dark .deal-score-pill.strong,
.phone.dark .deal-meddic-pill.strong { background: rgba(34,197,94,0.16); color: #86efac; border-color: rgba(74,222,128,0.30); }
.phone.dark .deal-score-pill.likely { background: rgba(56,189,248,0.16); color: #7dd3fc; border-color: rgba(125,211,252,0.30); }
.phone.dark .deal-score-pill.uncertain,
.phone.dark .deal-meddic-pill.watch { background: rgba(255,244,215,0.16); color: #fff4d7; border-color: rgba(249,199,107,0.34); }
.phone.dark .deal-score-pill.weak,
.phone.dark .deal-meddic-pill.risk { background: rgba(239,68,68,0.16); color: #fca5a5; border-color: rgba(252,165,165,0.30); }
.phone.dark .forecast-control-badge.green,
.phone.dark .forecast-call-tile.high { background: rgba(34,197,94,0.16); color: #86efac; border-color: rgba(74,222,128,0.30); }
.phone.dark .forecast-control-action,
.phone.dark .forecast-call-tile.call { background: rgba(56,189,248,0.16); color: #7dd3fc; border-color: rgba(125,211,252,0.30); }
.phone.dark .forecast-control-badge.amber,
.phone.dark .forecast-call-tile.low { background: rgba(255,244,215,0.16); color: #fff4d7; border-color: rgba(249,199,107,0.34); }
.phone.dark .forecast-call-tile.low span,
.phone.dark .forecast-call-tile.low strong { color: #fff4d7; }
.phone.dark .forecast-control-badge.red { background: rgba(239,68,68,0.16); color: #fca5a5; border-color: rgba(252,165,165,0.30); }
.phone.dark .meddic-progress { background: #223044; }
.phone.dark .meddic-toggle-state { color: #94a3b8; }
.phone.dark .meddic-toggle,
.phone.dark .meddic-toggle.checked { background: rgba(255,255,255,0.10); border-color: rgba(125,211,252,0.28); color: #dbeafe; }
.phone.dark .meddic-toggle-mark { background: rgba(56,189,248,0.16); color: #7dd3fc; }
.phone.dark .meddic-toggle.checked .meddic-toggle-mark { background: rgba(34,197,94,0.16); color: #86efac; }
.phone.dark .meddic-toggle-copy strong { color: #e5edf8; }
.phone.dark .meddic-toggle-copy em { color: #94a3b8; }
.phone.dark .meddic-toggle.checked .meddic-toggle-state { color: #86efac; }
.phone.dark .row-more-pill { background: #1f2937; color: #cbd5e1; border-color: #374151; }
.phone.dark .row-more-pill.open { background: #1f2937; color: #cbd5e1; border-color: #374151; }
.phone.dark .daily-quest-label { color: #94a3b8; }
.phone.dark .daily-quest-tile { background: #0c1e38; border-color: #1e3a5f; }
.phone.dark .daily-quest-tile.next { background: #0b2217; border-color: #1a3d2b; }
.phone.dark .daily-quest-tile.stage { background: #1c1235; border-color: #3b2670; }
.phone.dark .daily-quest-tile.risk { background: #1f1500; border-color: #3d2c00; }
.phone.dark .daily-quest-tile.done { background: #052e1a; border-color: #166534; }
.phone.dark .daily-quest-count { color: #60a5fa; }
.phone.dark .daily-quest-tile.next .daily-quest-count { color: #4ade80; }
.phone.dark .daily-quest-tile.stage .daily-quest-count { color: #c4b5fd; }
.phone.dark .daily-quest-tile.risk .daily-quest-count { color: #fbbf24; }
.phone.dark .daily-quest-tile.done .daily-quest-count { color: #86efac; }
.phone.dark .daily-quest-tile.stage .daily-quest-label { color: #c4b5fd; }
.phone.dark .daily-quest-progress { background: #223044; }
.phone.dark .pipeline-health-toggle { background: #0c1e38; border-color: #1e3a5f; color: #7dd3fc; }
@keyframes stageMovePulseDark {
  0%   { box-shadow: 0 0 0 0 rgba(56,189,248,0); background: #111a2b; }
  18%  { box-shadow: 0 0 0 5px rgba(56,189,248,0.18); background: #17243a; }
  60%  { box-shadow: 0 0 0 3px rgba(56,189,248,0.10); background: #132036; }
  100% { box-shadow: 0 0 0 0 rgba(56,189,248,0); background: #111a2b; }
}
.phone.dark .swipe-row.stage-moved {
  animation: stageMovePulseDark 0.85s ease-out forwards;
}
@media (min-resolution: 2dppx) {
  .activity-sheet,
  .sync-failure-panel,
  .burst-pill {
    overflow-wrap: anywhere;
  }
  .activity-sheet { max-height: min(88vh, calc(var(--app-height, 100dvh) - 32px)); overflow-y: auto; }
  .activity-sheet-title,
  .activity-sheet-sub,
  .burst-pill-label,
  .sync-failure-title {
    min-width: 0;
  }
}

/* ============================================================
 * SHEETS UNIFY — canonical pop-up styling, applied app-wide.
 * Rules placed last so they override earlier base styles via
 * the cascade (no !important needed). To roll back, delete
 * this entire block in full.
 *
 * Canonical reference: ScoreSheet
 *   bg            rgba(238,246,255,0.98)
 *   width         min(100%, 430px)
 *   padding       14px 16px 18px
 *   border        1px solid rgba(147,197,253,0.60)
 *   border-radius 22px 22px 18px 18px
 *   shadow        0 -18px 50px rgba(29,78,216,0.22)
 *   backdrop blur 18px
 *   overlay       rgba(30,64,175,0.22)
 * ============================================================ */

/* Sheet container — every pop-up inherits this look */
.activity-sheet {
  width: min(100%, 430px);
  margin: 0 auto;
  background: rgba(238,246,255,0.98);
  padding: 14px 16px 18px;
}

/* Backdrop overlay — same darkness/blur across all pop-ups */
.activity-sheet-backdrop,
.next-step-sheet-backdrop,
.score-sheet-backdrop {
  background: rgba(30,64,175,0.22);
  justify-content: center;
}

/* Match every bottom sheet to the stage/forecast-category sheet geometry:
 * overlay ends above the bottom nav, then the sheet sits 16px above it. */
.next-step-sheet-backdrop,
.score-sheet-backdrop,
.forecast-call-sheet-backdrop,
.forecast-risk-wizard-backdrop {
  inset: 0 0 calc(84px + env(safe-area-inset-bottom, 20px)) 0;
  padding: 16px;
  padding-bottom: calc(16px + var(--keyboard-inset, 0px));
  align-items: flex-end;
}

.forecast-call-sheet-backdrop {
  z-index: 120;
}

@media (min-width: 600px) and (hover: hover) and (pointer: fine) {
  html:not(.pq-mobile-shell) .next-step-sheet-backdrop,
  html:not(.pq-mobile-shell) .score-sheet-backdrop {
    top: calc(50% - 42px - (env(safe-area-inset-bottom, 0px) / 2));
    height: calc(844px - 84px - env(safe-area-inset-bottom, 0px));
  }
}

/* Sheet titles + subtitles — unify weight and spacing */
.activity-sheet-title { font-size: 17px; font-weight: 900; color: #12385f; line-height: 1.2; margin-bottom: 4px; }
.activity-sheet-sub   { font-size: 12px; font-weight: 700; color: #1f4d7a; line-height: 1.35; margin-bottom: 14px; }

/* StageSheet rows — previously had no light-mode styling, so they
 * rendered as bare browser buttons. Match the ScoreSheet action row. */
.stage-sheet-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 4px;
}
.stage-sheet-btn {
  width: 100%;
  min-height: 48px;
  border: 1.5px solid rgba(147,197,253,0.60);
  background: rgba(255,255,255,0.92);
  border-radius: 14px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  transition: background 0.12s, border-color 0.12s, transform 0.1s;
}
.stage-sheet-btn:active {
  background: rgba(239,246,255,0.92);
  border-color: #60a5fa;
  transform: scale(0.98);
}
.stage-sheet-btn.current-group {
  border-color: #176bb5;
  background: rgba(224,242,254,0.78);
}
.stage-sheet-name {
  min-width: 0;
  color: #12385f;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.18;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.stage-current-check { color: #15803d; margin-right: 4px; font-weight: 950; }
.stage-sheet-badge {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 950;
  padding: 4px 10px;
  border-radius: 999px;
  white-space: nowrap;
  letter-spacing: .02em;
}

/* Activity-picker grid buttons — same border / radius / active state as the
 * stage-sheet rows so all in-sheet buttons feel like the same family. */
.activity-sheet-btn {
  border: 1.5px solid rgba(147,197,253,0.60);
  background: rgba(255,255,255,0.92);
  border-radius: 14px;
  transition: background 0.12s, border-color 0.12s, transform 0.1s;
}
.activity-sheet-btn:active {
  background: rgba(239,246,255,0.92);
  border-color: #60a5fa;
  transform: scale(0.98);
}

/* Cancel button — same surface as in-sheet buttons */
.activity-sheet-cancel {
  border: 1.5px solid rgba(147,197,253,0.60);
  background: rgba(255,255,255,0.92);
  color: #1f4d7a;
  margin-top: 12px;
  transition: background 0.12s, border-color 0.12s, transform 0.1s;
}
.activity-sheet-cancel:active {
  background: rgba(239,246,255,0.92);
  border-color: #60a5fa;
  transform: scale(0.98);
}

/* NextStep save button — keep primary blue but unify radius/spacing */
.next-step-sheet-save {
  border-radius: 14px;
  font-weight: 900;
}

/* SHEETS UNIFY — END */

/* Forecast control-room white layout — dev forecast redesign */
.forecast-control-room {
  background: #f5f9fc;
  padding: 12px 12px 82px;
}
.forecast-control-room .forecast-scope-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 0 0 13px;
  padding: 0;
  border-radius: 0;
  background: transparent;
}
.forecast-control-room .forecast-scope-tabs button {
  min-height: 31px;
  border: 1px solid #dbe3ee;
  border-radius: 6px;
  background: #f8fafc;
  color: #64748b;
  box-shadow: none;
  font-size: 10px;
  font-weight: 950;
}
.forecast-control-room .forecast-scope-tabs button.on {
  background: #176bb5;
  border-color: #176bb5;
  color: #fff;
  box-shadow: none;
}
.forecast-control-hero {
  display: grid;
  grid-template-columns: 136px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 12px;
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 8px;
}
.forecast-control-ring {
  width: 126px;
  height: 126px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  position: relative;
  background:
    radial-gradient(circle, #fff 0 35%, transparent 36%),
    conic-gradient(#dcfce7 0 52%, var(--pq-warm-pill-bg) 52% 77%, #fee2e2 77% 100%);
  box-shadow: inset 0 0 0 9px #fff, 0 1px 2px rgba(15,23,42,0.06);
}
.forecast-control-ring::before,
.forecast-control-ring::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  border: 1px solid rgba(100,116,139,0.15);
}
.forecast-control-ring::before { inset: 20px; }
.forecast-control-ring::after { inset: 43px; }
.forecast-control-ring-text {
  position: relative;
  z-index: 1;
  text-align: center;
}
.forecast-control-ring-text strong {
  display: block;
  color: #172033;
  font-size: 30px;
  font-weight: 950;
  line-height: .95;
}
.forecast-control-ring-text span {
  display: block;
  margin-top: 4px;
  color: #64748b;
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .45px;
}
.forecast-control-summary {
  min-width: 0;
}
.forecast-closed-wrap {
  margin-top: 10px;
  overflow: hidden;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  background: #f0fdf4;
}
.forecast-closed-card {
  width: 100%;
  min-height: 58px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 0;
  background: transparent;
  padding: 10px 12px 9px;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}
.forecast-closed-card:active {
  background: rgba(220,252,231,0.72);
}
.forecast-closed-main,
.forecast-closed-meta {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.forecast-closed-label {
  color: #15803d;
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .35px;
}
.forecast-closed-main strong {
  color: #14532d;
  font-size: 21px;
  font-weight: 950;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.forecast-closed-meta {
  justify-items: end;
  text-align: right;
}
.forecast-closed-meta span {
  color: #15803d;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}
.forecast-closed-meta em {
  color: #64748b;
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
  white-space: nowrap;
}
.forecast-closed-meter {
  height: 6px;
  background: rgba(187,247,208,0.78);
}
.forecast-closed-meter span {
  display: block;
  height: 100%;
  max-width: 100%;
  background: #22c55e;
  border-radius: 0 999px 999px 0;
}
.forecast-closed-wrap .analytics-deals {
  background: #fff;
  border-top: 1px solid #bbf7d0;
  padding: 0 10px 10px;
}
.forecast-control-room .forecast-command-kicker {
  color: #176bb5;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .4px;
}
.forecast-control-room .forecast-command-title {
  margin-top: 3px;
  color: #172033;
  font-size: 29px;
  line-height: 1;
}
.forecast-control-room .forecast-command-sub {
  margin-top: 5px;
  color: #64748b;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.28;
}
.forecast-control-tiles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.forecast-control-tile {
  min-width: 0;
  padding: 9px 7px;
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 8px;
}
button.forecast-control-tile {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  min-height: 58px;
  font-family: inherit;
  text-align: center;
  cursor: pointer;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 5px;
}
button.forecast-control-tile:active {
  background: #f8fafc;
  transform: scale(0.985);
}
.forecast-call-tile.call {
  border-color: #bae6fd;
  background: #e0f2fe;
}
.forecast-call-tile.low {
  border-color: #fde68a;
  background: #fef3c7;
}
.forecast-call-tile.high {
  border-color: #86efac;
  background: #dcfce7;
}
.forecast-call-tile.low span,
.forecast-call-tile.low strong { color: #92400e; }
.forecast-call-tile.call span,
.forecast-call-tile.call strong { color: #0369a1; }
.forecast-call-tile.high span,
.forecast-call-tile.high strong { color: #15803d; }
.forecast-control-tile span {
  display: block;
  color: #64748b;
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: center;
  max-width: 100%;
}
.forecast-control-tile strong {
  display: block;
  color: #172033;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.05;
  max-width: 100%;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.forecast-control-actions {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.forecast-risk-analysis-title {
  margin: 13px 2px 7px;
  color: #b91c1c;
}
.forecast-control-risk-wrap,
.forecast-control-bucket-table {
  overflow: hidden;
  border-radius: 8px;
}
.forecast-control-risk-row {
  width: 100%;
  min-height: 62px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 10px;
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 8px;
  font-family: inherit;
  text-align: left;
}
.forecast-control-risk-row:active {
  background: #f8fafc;
}
.forecast-control-risk-main-button {
  min-width: 0;
  border: 0;
  background: transparent;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  padding: 0;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.forecast-control-badge {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 11px;
  font-weight: 950;
  border: 1px solid transparent;
  box-sizing: border-box;
}
.forecast-control-badge.red { background: #fee2e2; color: #b91c1c; border-color: #fecaca; }
.forecast-control-badge.amber { background: var(--pq-warm-pill-bg); color: var(--pq-warm-pill-text); border-color: var(--pq-warm-pill-border); }
.forecast-control-badge.green { background: #dcfce7; color: #15803d; border-color: #86efac; }
.forecast-control-risk-main {
  display: grid;
  min-width: 0;
  gap: 2px;
}
.forecast-control-risk-title {
  color: #172033;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.forecast-control-risk-sub {
  color: #64748b;
  font-size: 10px;
  font-weight: 760;
  line-height: 1.2;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.forecast-control-action {
  min-width: 45px;
  min-height: 26px;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid #bae6fd;
  border-radius: 999px;
  color: #0369a1;
  background: #e0f2fe;
  display: grid;
  place-items: center;
  padding: 5px 8px;
  font-family: inherit;
  font-size: 9px;
  font-weight: 950;
  cursor: pointer;
}
.forecast-control-risk-wrap .analytics-deals,
.forecast-control-bucket-table .analytics-deals {
  background: #fff;
  border: 1px solid #dbe3ee;
  border-top: 0;
  border-radius: 0 0 8px 8px;
  padding: 0 10px 10px;
}
.forecast-control-bucket-table {
  margin-top: 11px;
  background: #fff;
  border: 1px solid #dbe3ee;
}
.forecast-control-bucket-head,
.forecast-control-bucket-row {
  display: grid;
  grid-template-columns: 1fr 58px 52px;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
}
.forecast-control-bucket-head {
  background: #f8fafc;
  color: #176bb5;
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .35px;
}
.forecast-control-bucket-head span:nth-child(2),
.forecast-control-bucket-head span:nth-child(3) {
  text-align: right;
}
.forecast-control-bucket-row {
  width: 100%;
  border: 0;
  border-top: 1px solid #dbe3ee;
  background: #fff;
  color: #334155;
  font-family: inherit;
  font-size: 10px;
  font-weight: 820;
  text-align: left;
  cursor: pointer;
}
.forecast-control-bucket-row:active {
  background: #f8fafc;
}
.forecast-control-bucket-row span,
.forecast-control-bucket-row strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.forecast-control-bucket-row strong {
  color: #172033;
  font-size: 10px;
  font-weight: 950;
  text-align: right;
}
.forecast-control-room .forecast-stage-card {
  margin: 11px 0 0;
  border-radius: 8px;
}

@media (max-width: 390px) {
  .forecast-control-room {
    padding-left: 8px;
    padding-right: 8px;
  }
  .forecast-control-hero {
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 10px;
  }
  .forecast-control-ring {
    width: 112px;
    height: 112px;
  }
  .forecast-control-room .forecast-command-title {
    font-size: 27px;
  }
  .forecast-control-risk-title {
    font-size: 11px;
  }
}

.forecast-reference-layout {
  background: #fbfbfa;
  color: #17191d;
  padding: 20px 18px 104px;
}
.forecast-reference-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 22px;
}
.forecast-reference-head h1 {
  color: #17191d;
  font-size: 21px;
  font-weight: 850;
  line-height: 1.05;
}
.forecast-reference-head p {
  margin-top: 7px;
  color: #6e6f70;
  font-size: 12px;
  font-weight: 520;
  line-height: 1.25;
}
.forecast-reference-head > span {
  min-height: 28px;
  border-radius: 999px;
  background: #e8f3ff;
  color: #0b5da8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 11px;
  font-size: 11px;
  font-weight: 760;
  white-space: nowrap;
}
.forecast-reference-layout .forecast-scope-tabs {
  margin: 0 0 14px;
  padding: 3px;
  border-radius: 8px;
  background: #f0efeb;
  gap: 3px;
}
.forecast-reference-layout .forecast-scope-tabs button {
  min-height: 31px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #606265;
  font-size: 12px;
  font-weight: 700;
  box-shadow: none;
}
.forecast-reference-layout .forecast-scope-tabs button.on {
  background: #fff;
  color: #17191d;
  box-shadow: 0 1px 2px rgba(15,23,42,0.08);
}
.forecast-reference-section {
  padding: 0 0 20px;
  margin: 0 0 20px;
  border-bottom: 1px solid #e6e5e1;
}
.forecast-reference-section:last-of-type {
  border-bottom: 0;
  margin-bottom: 0;
}
.forecast-reference-label,
.forecast-reference-metric-head span {
  color: #74716c;
  font-size: 10px;
  font-weight: 720;
  letter-spacing: .7px;
  line-height: 1;
  text-transform: uppercase;
}
.forecast-reference-call-row {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 16px;
}
.forecast-reference-call-row strong {
  color: #17191d;
  font-size: 38px;
  font-weight: 720;
  letter-spacing: 0;
  line-height: .95;
}
.forecast-reference-call-row span {
  border-radius: 999px;
  background: #e6f1ff;
  color: #075fae;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 760;
  white-space: nowrap;
}
.forecast-reference-layout .forecast-control-tiles {
  gap: 8px;
  margin-top: 26px;
}
.forecast-reference-layout .forecast-control-tile {
  border: 0;
  border-radius: 8px;
  min-height: 86px;
  padding: 10px 7px;
}
.forecast-reference-layout .forecast-control-tile span {
  font-size: 9px;
  font-weight: 720;
  letter-spacing: 0;
  text-transform: none;
}
.forecast-reference-layout .forecast-control-tile strong {
  font-size: 17px;
  font-weight: 720;
  margin-top: 2px;
}
.forecast-reference-layout .forecast-control-tile em {
  color: currentColor;
  display: block;
  font-size: 10px;
  font-style: normal;
  font-weight: 650;
  margin-top: 2px;
  opacity: .86;
}
.forecast-reference-layout .forecast-call-tile.low {
  background: #fff1d9;
  color: #c75f00;
}
.forecast-reference-layout .forecast-call-tile.call {
  background: #e8f3ff;
  color: #075fae;
}
.forecast-reference-layout .forecast-call-tile.high {
  background: #dff4ed;
  color: #078269;
}
.forecast-reference-layout .forecast-call-tile.low span,
.forecast-reference-layout .forecast-call-tile.low strong,
.forecast-reference-layout .forecast-call-tile.call span,
.forecast-reference-layout .forecast-call-tile.call strong,
.forecast-reference-layout .forecast-call-tile.high span,
.forecast-reference-layout .forecast-call-tile.high strong {
  color: currentColor;
}
.forecast-reference-metric-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.forecast-reference-metric-head strong {
  color: #74716c;
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
}
.forecast-reference-quota-track {
  height: 9px;
  border-radius: 999px;
  background: #ececea;
  margin-top: 13px;
  overflow: hidden;
}
.forecast-reference-quota-track span {
  display: block;
  height: 100%;
  max-width: 100%;
  border-radius: inherit;
  background: #58c99b;
}
.forecast-reference-quota-foot {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 8px;
  margin-top: 9px;
  color: #616266;
  font-size: 11px;
  font-weight: 560;
}
.forecast-reference-quota-foot strong {
  color: #17191d;
  font-weight: 700;
  text-align: center;
}
.forecast-reference-quota-foot span:last-child {
  text-align: right;
}
.forecast-reference-total-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.forecast-reference-total-row > div:first-child,
.forecast-reference-created {
  min-width: 0;
}
.forecast-reference-total-row strong,
.forecast-reference-created strong {
  color: #17191d;
  display: inline-block;
  font-size: 25px;
  font-weight: 720;
  line-height: 1;
  margin-top: 12px;
}
.forecast-reference-total-row > div:first-child > span,
.forecast-reference-created > span {
  color: #6e6f70;
  font-size: 12px;
  font-weight: 560;
  margin-left: 5px;
}
.forecast-reference-multiple {
  align-self: center;
  min-width: 63px;
  border-radius: 8px;
  background: #d8f2e9;
  color: #0f766e;
  padding: 10px 8px;
  text-align: center;
}
.forecast-reference-multiple strong {
  color: #0f766e;
  display: block;
  font-size: 18px;
  font-weight: 760;
  margin: 0;
}
.forecast-reference-multiple span {
  display: block;
  font-size: 9px;
  font-weight: 760;
  letter-spacing: .65px;
  margin-top: 3px;
  text-transform: uppercase;
}
.forecast-reference-created strong {
  font-size: 21px;
}
.forecast-reference-arena {
  padding-bottom: 18px;
}
.forecast-arena-stack-wrap {
  margin-top: 13px;
}
.forecast-arena-stack {
  display: flex;
  width: 100%;
  height: 18px;
  border-radius: 999px;
  background: #ececea;
  gap: 2px;
  align-items: center;
  padding: 4px 0;
  overflow: visible;
}
.forecast-arena-stack button {
  appearance: none;
  -webkit-appearance: none;
  min-width: 0;
  border: 0;
  border-radius: 0;
  padding: 0;
  display: block;
  height: 10px;
  cursor: pointer;
  opacity: .9;
  position: relative;
  transform-origin: center;
  transition: opacity .28s ease, filter .32s ease, transform .34s cubic-bezier(0.16,1,0.3,1), box-shadow .32s ease;
}
.forecast-arena-stack button:first-child {
  border-radius: 999px 0 0 999px;
}
.forecast-arena-stack button:last-child {
  border-radius: 0 999px 999px 0;
}
.forecast-arena-stack button:only-child {
  border-radius: 999px;
}
.forecast-arena-stack button:hover,
.forecast-arena-stack button:focus-visible,
.forecast-arena-stack button.open {
  filter: saturate(1.18);
  opacity: 1;
}
.forecast-arena-stack button:hover,
.forecast-arena-stack button:focus-visible {
  transform: translateY(-3px) scaleY(1.38);
  box-shadow: 0 5px 10px rgba(23, 42, 77, 0.16);
  z-index: 2;
}
.forecast-arena-stack button.open {
  transform: translateY(-3px) scaleY(1.5);
  box-shadow: 0 6px 12px rgba(23, 42, 77, 0.18);
  z-index: 3;
}
.forecast-arena-stack button:active {
  transform: translateY(-2px) scaleY(1.3);
}
.forecast-arena-stack button span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.forecast-arena-expand .smooth-expand {
  transition: height .74s cubic-bezier(0.16,1,0.3,1);
}
.forecast-arena-expand .smooth-expand-inner {
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity .28s ease, transform .56s cubic-bezier(0.16,1,0.3,1);
}
.forecast-arena-expand .smooth-expand.open .smooth-expand-inner {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .38s ease .12s, transform .66s cubic-bezier(0.16,1,0.3,1);
}
.forecast-arena-expanded-panel {
  margin-top: 12px;
  border-top: 1px solid #ebe9e4;
  padding-top: 8px;
}
.forecast-arena-expanded-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 3px;
  color: #646464;
  font-size: 11px;
  font-weight: 650;
}
.forecast-arena-expanded-head span,
.forecast-arena-expanded-head strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.forecast-arena-expanded-head strong {
  color: #17191d;
  flex-shrink: 0;
}
.forecast-arena-expanded-panel .analytics-deals {
  border-top: 0;
  margin-top: 0;
  padding: 0 0 2px;
}
.forecast-arena-legend {
  display: block;
  margin-top: 13px;
  position: relative;
}
.forecast-arena-legend-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 16px;
  align-items: start;
}
.forecast-arena-legend-column {
  display: grid;
  gap: 9px;
}
.forecast-arena-legend-row {
  appearance: none;
  -webkit-appearance: none;
  min-width: 0;
  border: 0;
  background: transparent;
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  color: #646464;
  font-family: inherit;
  font-size: 11px;
  font-weight: 560;
  line-height: 1.1;
  padding: 0;
  text-align: left;
}
.forecast-arena-dot {
  width: 8px;
  height: 8px;
  border-radius: 2px;
}
.forecast-arena-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.forecast-arena-legend-row strong {
  color: #17191d;
  font-size: 11px;
  font-weight: 650;
  white-space: nowrap;
}
.forecast-arena-total {
  color: #74716c;
  font-size: 11px;
  font-weight: 650;
  position: absolute;
  right: 0;
  top: -28px;
}
.forecast-risk-list-section {
  padding-bottom: 8px;
}
.forecast-risk-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}
.forecast-risk-category {
  min-width: 0;
  border: 1px solid #e6e1dc;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
.forecast-risk-category.red { border-color: #f4c6bf; background: #fff8f6; }
.forecast-risk-category.blue { border-color: #cfe3f8; background: #f7fbff; }
.forecast-risk-category.amber { border-color: #f2dfb3; background: #fffaf0; }
.forecast-risk-category.purple { border-color: #ddd6fe; background: #fbf9ff; }
.forecast-risk-category.teal { border-color: #bfe8df; background: #f5fffc; }
.forecast-risk-category-head {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 14px;
  gap: 10px;
  align-items: center;
  padding: 11px 12px;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}
.forecast-risk-category-head:active { background: rgba(15,23,42,0.035); }
.forecast-risk-category-main {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.forecast-risk-category-title {
  color: #17191d;
  font-size: 13px;
  font-weight: 760;
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.forecast-risk-category-sub {
  color: #74716c;
  font-size: 10px;
  font-weight: 620;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.forecast-risk-category-meta {
  display: grid;
  justify-items: end;
  gap: 2px;
}
.forecast-risk-category-meta strong {
  color: #17191d;
  font-size: 13px;
  font-weight: 760;
  line-height: 1;
}
.forecast-risk-category-meta em {
  color: #74716c;
  font-size: 10px;
  font-style: normal;
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
}
.forecast-risk-category-list {
  display: grid;
  gap: 8px;
  padding: 0 10px 10px;
}
.forecast-risk-list-row {
  min-width: 0;
  border: 1px solid #f4c6bf;
  border-radius: 10px;
  background: #fff7f4;
  display: grid;
  gap: 6px;
  padding: 11px 12px;
}
.forecast-risk-list-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: baseline;
}
.forecast-risk-list-top strong {
  color: #17191d;
  font-size: 13px;
  font-weight: 760;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.forecast-risk-list-top em {
  color: #b53622;
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  white-space: nowrap;
}
.forecast-risk-list-meta {
  color: #7b6f6a;
  font-size: 10px;
  font-weight: 620;
  line-height: 1.25;
}
.forecast-risk-list-reasons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.forecast-risk-list-reasons span {
  min-height: 22px;
  border-radius: 999px;
  background: #fee2e2;
  color: #b91c1c;
  display: inline-flex;
  align-items: center;
  padding: 5px 8px;
  font-size: 10px;
  font-weight: 760;
  line-height: 1;
}
.forecast-risk-list-empty {
  border: 1px solid #d7eadc;
  border-radius: 10px;
  background: #f5fbf6;
  color: #347852;
  font-size: 12px;
  font-weight: 680;
  line-height: 1.35;
  padding: 12px;
}
@media (max-width: 390px) {
  .forecast-reference-layout {
    padding-left: 16px;
    padding-right: 16px;
  }
  .forecast-reference-call-row strong {
    font-size: 35px;
  }
  .forecast-reference-call-row span {
    font-size: 11px;
    padding-left: 8px;
    padding-right: 8px;
  }
  .forecast-arena-legend {
    margin-top: 12px;
  }
  .forecast-arena-legend-columns {
    column-gap: 12px;
  }
}
