
:root {
  --final-ring: rgba(14, 116, 144, .14);
  --final-shadow: 0 20px 48px rgba(15, 23, 42, .10);
  --final-shadow-soft: 0 10px 24px rgba(15, 23, 42, .07);
}

.topbar { position: relative; }
.topbar-meta {
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  pointer-events: none;
}
.topbar-progress,
.public-progress {
  width: 100%; height: 2px;
  background: rgba(148,163,184,.14);
  overflow: hidden;
}
.topbar-progress span,
.public-progress span {
  display: block;
  width: 0%; height: 100%;
  background: linear-gradient(90deg, #2563eb, #22c55e, #f59e0b);
  transition: width .16s linear;
}
.public-topbar-inner { position: relative; }
.public-topbar-actions {
  display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.phase-pill {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 34px; padding: 0 12px; border-radius: 999px;
  border: 1px solid rgba(37,99,235,.14);
  background: rgba(37,99,235,.07);
  color: #1d4ed8; font-weight: 800; font-size: 12px; letter-spacing: .02em;
}
.phase-pill.subtle { background: rgba(148,163,184,.10); color: #475569; border-color: rgba(148,163,184,.18); }
body[data-theme="dark"] .phase-pill.subtle { color: #cbd5e1; }
.phase-pill.public {
  background: rgba(255,255,255,.76);
  border-color: rgba(148,163,184,.20);
  color: var(--ps-primary);
}
.sidebar-foot {
  margin-top: 16px; padding: 14px 14px 16px; border-radius: 16px;
  background: linear-gradient(135deg, rgba(37,99,235,.06), rgba(14,165,233,.04));
  border: 1px solid rgba(37,99,235,.10);
  display: grid; gap: 6px;
}
.sidebar-foot strong { font-size: 13px; }
.sidebar-foot span { font-size: 12px; color: #64748b; line-height: 1.45; }
.final-trust-card { position: relative; overflow: hidden; }
.final-trust-card::before {
  content: ""; position: absolute; inset: 0 auto auto 0; width: 140px; height: 140px;
  background: radial-gradient(circle, rgba(37,99,235,.10), transparent 70%);
  pointer-events: none;
}
.final-trust-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px;
}
.final-trust-item {
  position: relative;
  padding: 16px; border-radius: 18px; background: rgba(255,255,255,.65);
  border: 1px solid rgba(148,163,184,.18); box-shadow: var(--final-shadow-soft);
  display: grid; gap: 8px;
}
body[data-theme="dark"] .final-trust-item { background: rgba(30,41,59,.55); }
.final-trust-item strong { color: var(--ps-primary, #1d4ed8); font-size: 15px; }
.final-trust-item span { color: var(--ps-text-soft, #64748b); line-height: 1.6; }
.floating-top-btn {
  position: fixed; right: 18px; bottom: 90px; z-index: 80;
  width: 52px; height: 52px; border-radius: 999px; border: 1px solid rgba(37,99,235,.18);
  background: rgba(255,255,255,.86); color: #1d4ed8; font-size: 22px; font-weight: 800;
  box-shadow: var(--final-shadow); cursor: pointer; opacity: 0; pointer-events: none;
  transform: translateY(10px); transition: opacity .18s ease, transform .18s ease, background .18s ease;
}
body[data-theme="dark"] .floating-top-btn { background: rgba(15,23,42,.88); color: #93c5fd; }
.floating-top-btn.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.premium-section-card,
.premium-form-card,
.premium-form-info-card,
.premium-quick-nav-card,
.premium-stat-rail,
.final-trust-card { box-shadow: var(--final-shadow-soft); }
.premium-section-card:hover,
.premium-form-card:hover,
.premium-form-info-card:hover,
.premium-quick-nav-card:hover,
.premium-stat-rail:hover,
.final-trust-card:hover { box-shadow: var(--final-shadow); }
.premium-form-grid input:focus,
.premium-form-grid select:focus,
.premium-form-grid textarea:focus,
.public-form-grid input:focus,
.public-form-grid select:focus,
.public-form-grid textarea:focus {
  border-color: rgba(37,99,235,.35);
  box-shadow: 0 0 0 4px var(--final-ring);
}
.public-card.success-card { box-shadow: 0 14px 34px rgba(34,197,94,.12); }
@media (max-width: 900px) {
  .final-trust-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .public-topbar-actions { width: 100%; justify-content: space-between; }
  .phase-pill.public { font-size: 11px; padding-inline: 10px; }
  .floating-top-btn { right: 12px; bottom: 84px; width: 48px; height: 48px; }
}
