:root {
  --hk-bg: #07111a;
  --hk-bg-2: #0b1623;
  --hk-panel: rgba(16, 28, 43, 0.78);
  --hk-panel-strong: rgba(12, 22, 34, 0.92);
  --hk-panel-soft: rgba(16, 28, 43, 0.58);
  --hk-border: rgba(120, 220, 255, 0.14);
  --hk-border-strong: rgba(124, 255, 138, 0.22);
  --hk-text: #f5fbff;
  --hk-text-soft: #d6e8f5;
  --hk-muted: #9cb9ca;
  --hk-accent: #39d5ff;
  --hk-accent-2: #7cff8a;
  --hk-accent-3: #7a7cff;
  --hk-warning: #ffb84d;
  --hk-danger: #ff6b6b;
  --hk-shadow: 0 25px 60px rgba(0, 0, 0, 0.30);
  --hk-radius-xl: 28px;
  --hk-radius-lg: 20px;
  --hk-radius-md: 16px;
  --hk-radius-sm: 12px;
}

body.hkph-portal-page {
  background:
    radial-gradient(circle at 0% 0%, rgba(57, 213, 255, 0.18), transparent 30%),
    radial-gradient(circle at 100% 0%, rgba(122, 124, 255, 0.18), transparent 26%),
    linear-gradient(180deg, var(--hk-bg) 0%, var(--hk-bg-2) 100%);
  color: var(--hk-text);
}

body.hkph-portal-page,
body.hkph-portal-page * {
  box-sizing: border-box;
}

/* Backup safety if the custom portal template is bypassed. */
body.hkph-portal-page .fusion-page-title-bar,
body.hkph-portal-page .fusion-meta-info,
body.hkph-portal-page .post .entry-meta,
body.hkph-portal-page .archive,
body.hkph-portal-page .archive-header,
body.hkph-portal-page .widget-area,
body.hkph-portal-page aside,
body.hkph-portal-page .related-posts,
body.hkph-portal-page .fusion-footer,
body.hkph-portal-page #footer,
body.hkph-portal-page .fusion-secondary-header,
body.hkph-portal-page .fusion-page-title-captions,
body.hkph-portal-page .fusion-page-title-secondary,
body.hkph-portal-page .fusion-posts-container .fusion-post-content-container,
body.hkph-portal-page .fusion-tb-footer,
body.hkph-portal-page .fusion-tb-header,
body.hkph-portal-page .fusion-sliding-bar-wrapper,
body.hkph-portal-page .archive-title,
body.hkph-portal-page .screen-reader-text.skip-link,
body.hkph-portal-page .entry-title:not(.hkph-keep-title) {
  display: none !important;
}

body.hkph-portal-page #main,
body.hkph-portal-page .fusion-row,
body.hkph-portal-page .post-content,
body.hkph-portal-page #content {
  width: 100% !important;
  max-width: none !important;
}

.hkph-shell-bg {
  position: fixed;
  inset: 0;
  background:
    radial-gradient(circle at 15% 15%, rgba(57, 213, 255, 0.14), transparent 20%),
    radial-gradient(circle at 85% 10%, rgba(124, 255, 138, 0.10), transparent 18%),
    radial-gradient(circle at 80% 75%, rgba(122, 124, 255, 0.12), transparent 20%);
  pointer-events: none;
  z-index: 0;
}

.hkph-shell-grid {
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.35), transparent 70%);
  opacity: .28;
  pointer-events: none;
  z-index: 0;
}

.hkph-shell-frame {
  position: relative;
  z-index: 2;
  max-width: 1340px;
  margin: 0 auto;
  padding: 28px 18px 42px;
}

.hkph-shell-header,
.hkph-shell-footer,
.hkph-shell-hero,
.hkph-shell-content-wrap,
.hkph-portal-login-card,
.hkph-portal-card,
.hkph-portal-request-card,
.hkph-portal-service,
.hkph-portal-table-wrap,
.hkph-portal-support,
.hkph-investor-panel,
.hkph-investor-stat,
.hkph-investor-footer-note,
.hkph-investor-disclaimer {
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.hkph-shell-header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 14px 18px;
  border: 1px solid var(--hk-border);
  border-radius: 24px;
  background: rgba(7, 17, 26, 0.72);
  box-shadow: var(--hk-shadow);
}

.hkph-shell-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.hkph-shell-brand-mark {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-weight: 900;
  letter-spacing: .04em;
  color: #021017;
  background: linear-gradient(135deg, var(--hk-accent-2), var(--hk-accent));
  box-shadow: 0 0 26px rgba(124, 255, 138, 0.18);
}

.hkph-shell-brand strong,
.hkph-shell-brand small,
.hkph-shell-nav a,
.hkph-shell-action,
.hkph-shell-hero h1,
.hkph-shell-hero p,
.hkph-portal-login-card,
.hkph-client-portal,
.hkph-investor-portal {
  color: var(--hk-text);
}

.hkph-shell-brand strong {
  display: block;
  font-size: 16px;
  letter-spacing: .04em;
}

.hkph-shell-brand small {
  display: block;
  color: var(--hk-muted);
  margin-top: 2px;
}

.hkph-shell-nav {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}

.hkph-shell-nav a,
.hkph-shell-action {
  text-decoration: none;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 13px;
  font-weight: 700;
  transition: .2s ease;
}

.hkph-shell-nav a {
  background: rgba(255,255,255,0.03);
  color: var(--hk-text-soft);
}

.hkph-shell-nav a:hover,
.hkph-shell-nav a.is-active {
  border-color: rgba(57, 213, 255, 0.32);
  background: rgba(57, 213, 255, 0.12);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(57, 213, 255, 0.08);
}

.hkph-shell-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.hkph-shell-action.is-primary,
.hkph-portal-btn-primary,
.hkph-investor-sim button {
  background: linear-gradient(135deg, var(--hk-accent), var(--hk-accent-2));
  color: #04111a !important;
  border: 0;
  box-shadow: 0 12px 28px rgba(57, 213, 255, 0.22);
}

.hkph-shell-action.is-secondary,
.hkph-portal-btn-light {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.1);
}

.hkph-shell-action.is-ghost {
  background: transparent;
  border-color: var(--hk-border);
}

.hkph-shell-action:hover,
.hkph-portal-btn:hover,
.hkph-investor-sim button:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
}

.hkph-shell-main {
  margin-top: 18px;
}

.hkph-shell-hero {
  padding: 28px;
  border-radius: var(--hk-radius-xl);
  border: 1px solid var(--hk-border);
  background:
    radial-gradient(circle at 100% 0%, rgba(122, 124, 255, 0.24), transparent 36%),
    radial-gradient(circle at 0% 100%, rgba(124, 255, 138, 0.10), transparent 34%),
    linear-gradient(135deg, rgba(7,17,26,.92), rgba(15,26,41,.86));
  box-shadow: var(--hk-shadow);
}

.hkph-shell-kicker,
.hkph-portal-eyebrow,
.hkph-portal-section-head span,
.hkph-portal-support span,
.hkph-investor-panel-head span,
.hkph-investor-hero span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--hk-accent);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: 11px;
  font-weight: 800;
}

.hkph-shell-kicker::before,
.hkph-portal-eyebrow::before,
.hkph-portal-section-head span::before,
.hkph-portal-support span::before,
.hkph-investor-panel-head span::before,
.hkph-investor-hero span::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--hk-accent-2), var(--hk-accent));
  box-shadow: 0 0 16px rgba(57, 213, 255, 0.6);
}

.hkph-shell-hero-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}

.hkph-shell-hero h1 {
  font-size: clamp(32px, 5vw, 56px);
  line-height: .98;
  margin: 10px 0 10px;
  letter-spacing: -.04em;
}

.hkph-shell-hero p {
  max-width: 860px;
  margin: 0;
  color: var(--hk-muted);
  font-size: 17px;
  line-height: 1.65;
}

.hkph-shell-chip {
  padding: 11px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.05);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.hkph-shell-content-wrap {
  margin-top: 18px;
  border: 1px solid rgba(255,255,255,0.05);
  border-radius: 30px;
  background: rgba(5, 13, 22, 0.40);
  box-shadow: 0 25px 60px rgba(0,0,0,.18);
  padding: 24px;
}

.hkph-shell-footer {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-top: 20px;
  padding: 16px 18px;
  color: var(--hk-muted);
  border-top: 1px solid rgba(255,255,255,0.07);
  font-size: 13px;
}

.hkph-client-portal,
.hkph-investor-portal {
  max-width: none;
  margin: 0;
  padding: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.hkph-portal-login {
  min-height: 46vh;
  display: grid;
  place-items: center;
  padding: 8px 0;
}

.hkph-portal-login-card,
.hkph-portal-card,
.hkph-portal-request-card,
.hkph-portal-service,
.hkph-investor-panel,
.hkph-investor-stat,
.hkph-investor-footer-note,
.hkph-investor-disclaimer {
  background: var(--hk-panel);
  border: 1px solid var(--hk-border);
  color: var(--hk-text);
  box-shadow: var(--hk-shadow);
}

.hkph-portal-login-card {
  width: min(480px, 100%);
  border-radius: 24px;
  padding: 26px;
}

.hkph-portal-login-card h2 {
  margin: 0 0 8px;
  font-size: 28px;
  letter-spacing: -.03em;
}

.hkph-portal-login-card p,
.hkph-portal-muted,
.hkph-investor-hero p,
.hkph-investor-footer-note p,
.hkph-investor-disclaimer,
.hkph-portal-service p,
.hkph-portal-notice,
.hkph-portal-card p,
.hkph-investor-scenarios small,
.hkph-investor-business-grid span,
.hkph-investor-stat small,
.hkph-investor-recovery-grid span,
.hkph-investor-sim-result span,
.hkph-shell-brand small,
.hkph-shell-footer,
.hkph-portal-table td,
.hkph-portal-table th {
  color: var(--hk-muted);
}

.hkph-portal-login-card input[type=text],
.hkph-portal-login-card input[type=password],
.hkph-portal-request-card input,
.hkph-portal-request-card textarea,
.hkph-investor-sim input {
  width: 100%;
  padding: 13px 14px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: #fff;
  font: inherit;
}

.hkph-portal-login-card input[type=submit] {
  margin-top: 12px;
  width: 100%;
  padding: 13px 16px;
  border: 0;
  border-radius: 12px;
  font-weight: 800;
  cursor: pointer;
  background: linear-gradient(135deg, var(--hk-accent), var(--hk-accent-2));
  color: #06131a;
}

.hkph-portal-hero,
.hkph-investor-hero {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
  padding: 28px;
  border-radius: 24px;
  border: 1px solid var(--hk-border);
  background:
    radial-gradient(circle at 100% 0%, rgba(122,124,255,.25), transparent 40%),
    radial-gradient(circle at 0% 100%, rgba(57,213,255,.14), transparent 36%),
    linear-gradient(135deg, rgba(7,17,26,.95), rgba(14,26,41,.82));
}

.hkph-portal-hero h1,
.hkph-investor-hero h1 {
  font-size: clamp(30px, 4.8vw, 50px);
  line-height: 1;
  margin: 10px 0 8px;
  color: #fff;
  letter-spacing: -.04em;
}

.hkph-portal-hero p,
.hkph-investor-hero p {
  margin: 0;
  max-width: 780px;
  line-height: 1.65;
}

.hkph-portal-hero-state,
.hkph-portal-card-title {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.hkph-portal-status,
.hkph-portal-sub,
.hkph-portal-pill,
.hkph-investor-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  border: 1px solid rgba(255,255,255,0.10);
}

.hkph-portal-status,
.hkph-investor-hero-badge {
  background: rgba(57,213,255,.12);
  color: #fff;
}

.hkph-portal-sub,
.hkph-portal-pill {
  background: rgba(255,255,255,.05);
  color: var(--hk-text-soft);
}

.hkph-portal-sub-active { background: rgba(124,255,138,.14); color: #dffff1; border-color: rgba(124,255,138,.18); }
.hkph-portal-sub-past_due,
.hkph-portal-sub-suspended { background: rgba(255,107,107,.12); color: #ffd7d7; border-color: rgba(255,107,107,.20); }

.hkph-portal-projects {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin: 16px 0 10px;
  color: var(--hk-text-soft);
}

.hkph-portal-projects a {
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  text-decoration: none;
  color: var(--hk-text-soft);
}

.hkph-portal-projects a.is-active {
  background: rgba(57,213,255,.14);
  border-color: rgba(57,213,255,.28);
  color: #fff;
}

.hkph-portal-notice {
  margin: 14px 0;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.05);
}

.hkph-portal-notice.is-success { border-color: rgba(124,255,138,.24); background: rgba(124,255,138,.10); color: #e9fff0; }
.hkph-portal-notice.is-error { border-color: rgba(255,107,107,.26); background: rgba(255,107,107,.10); color: #ffe9e9; }

.hkph-portal-grid,
.hkph-investor-portal-grid,
.hkph-investor-business-grid,
.hkph-investor-recovery-grid,
.hkph-investor-sim-result,
.hkph-investor-scenarios,
.hkph-portal-services,
.hkph-portal-request-grid {
  display: grid;
  gap: 16px;
}

.hkph-portal-grid { margin-top: 16px; }
.hkph-portal-grid-main { grid-template-columns: 1.2fr 1fr 1fr; }
.hkph-portal-grid-2 { grid-template-columns: 1fr 1fr; }
.hkph-investor-portal-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 16px 0; }
.hkph-investor-business-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: 16px; }
.hkph-investor-recovery-grid,
.hkph-investor-sim-result,
.hkph-investor-scenarios { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hkph-portal-services { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hkph-portal-request-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 16px; }

.hkph-portal-card,
.hkph-investor-panel,
.hkph-investor-stat {
  border-radius: var(--hk-radius-lg);
  padding: 20px;
}

.hkph-portal-card h2,
.hkph-investor-panel-head h2 {
  margin: 0;
  color: #fff;
}

.hkph-portal-card-title span,
.hkph-investor-stat span,
.hkph-investor-business-grid span,
.hkph-investor-scenarios span,
.hkph-investor-recovery-grid span,
.hkph-investor-sim-result span {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.hkph-portal-card-title strong,
.hkph-investor-stat strong,
.hkph-investor-business-grid strong,
.hkph-investor-recovery-grid strong,
.hkph-investor-sim-result strong,
.hkph-investor-scenarios strong {
  color: #fff;
}

.hkph-portal-price {
  font-size: clamp(30px, 4vw, 42px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.05em;
  margin: 18px 0 12px;
  color: #fff;
}

.hkph-portal-price small { font-size: 14px; letter-spacing: 0; color: var(--hk-muted); }
.hkph-portal-domain { font-size: 22px; font-weight: 850; margin: 16px 0 12px; color: #fff; word-break: break-word; }
.hkph-portal-btn { display: inline-flex; justify-content: center; align-items: center; text-decoration: none !important; border-radius: 12px; padding: 12px 16px; font-weight: 800; cursor: pointer; transition: .2s ease; }
.hkph-portal-btn-primary { color: #021017 !important; }
.hkph-portal-btn-light { color: #fff !important; }

.hkph-portal-bot-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: rgba(255,255,255,0.30);
  margin: 18px 0 12px;
}
.hkph-portal-bot-dot.is-connected { background: var(--hk-accent-2); box-shadow: 0 0 0 8px rgba(124,255,138,.12), 0 0 24px rgba(124,255,138,.22); }

.hkph-portal-meter-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
}

.hkph-portal-meter-head strong { font-size: 28px; color: #fff; }
.hkph-portal-meter { height: 10px; border-radius: 999px; background: rgba(255,255,255,0.08); overflow: hidden; margin: 12px 0; }
.hkph-portal-meter i,
.hkph-investor-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--hk-accent), var(--hk-accent-2));
  box-shadow: 0 0 18px rgba(57,213,255,.22);
}

.hkph-portal-section { margin-top: 26px; }
.hkph-portal-section-head,
.hkph-investor-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 14px;
  margin-bottom: 14px;
}

.hkph-portal-section-head h2,
.hkph-investor-panel-head h2 { margin-top: 6px; font-size: clamp(22px, 3vw, 28px); letter-spacing: -.03em; }
.hkph-investor-panel-head>strong { color: #fff; font-size: 28px; }

.hkph-portal-service {
  display: flex;
  gap: 12px;
  padding: 16px;
  border-radius: 18px;
}

.hkph-portal-service-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  flex: 0 0 34px;
  background: rgba(124,255,138,.12);
  color: var(--hk-accent-2);
  font-weight: 900;
}

.hkph-portal-service.is-disabled { opacity: .64; }
.hkph-portal-service.is-disabled .hkph-portal-service-icon { background: rgba(255,255,255,.05); color: var(--hk-muted); }
.hkph-portal-service strong { display: block; color: #fff; font-size: 14px; }
.hkph-portal-service p { font-size: 12px; line-height: 1.5; margin: 6px 0 0; }

.hkph-portal-request-card {
  border-radius: 18px;
  padding: 16px;
}

.hkph-portal-request-card summary {
  font-weight: 800;
  cursor: pointer;
  color: #fff;
}

.hkph-portal-request-card form { display: grid; gap: 10px; margin-top: 12px; }
.hkph-portal-request-card label { font-size: 12px; font-weight: 700; color: var(--hk-text-soft); }

.hkph-portal-table-wrap {
  overflow: auto;
  border: 1px solid var(--hk-border);
  border-radius: 18px;
  background: rgba(9, 17, 27, 0.76);
}

.hkph-portal-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 700px;
}

.hkph-portal-table th,
.hkph-portal-table td {
  padding: 13px 14px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  text-align: left;
  font-size: 13px;
}

.hkph-portal-table td strong,
.hkph-portal-table code,
.hkph-portal-table a { color: #fff; }
.hkph-portal-table code { background: rgba(255,255,255,0.06); padding: 4px 7px; border-radius: 8px; }
.hkph-portal-table th {
  background: rgba(255,255,255,0.04);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .09em;
}

.hkph-portal-support {
  margin-top: 28px;
  border-radius: 22px;
  border: 1px solid rgba(124,255,138,.20);
  background:
    radial-gradient(circle at 100% 0%, rgba(124,255,138,.16), transparent 34%),
    linear-gradient(135deg, rgba(7,17,26,.96), rgba(13,32,25,.90));
  color: #fff;
  padding: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.hkph-portal-support h2 { margin: 6px 0 8px; color: #fff; }
.hkph-portal-support p { margin: 0; }

.hkph-investor-disclaimer {
  margin: 14px 0;
  padding: 14px 16px;
  border-radius: 16px;
  border-color: rgba(255,184,77,.18);
  background: rgba(255,184,77,.08);
  color: #ffe8bf;
}

.hkph-investor-stat strong { font-size: 28px; line-height: 1.15; margin: 10px 0 6px; display: block; }
.hkph-investor-business-grid>div,
.hkph-investor-recovery-grid>div,
.hkph-investor-sim-result>div,
.hkph-investor-scenarios>div {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 16px;
}
.hkph-investor-business-grid strong { display: block; font-size: 24px; }
.hkph-investor-recovery-grid strong,
.hkph-investor-sim-result strong { font-size: 20px; display: block; }
.hkph-investor-scenarios strong { font-size: 26px; margin: 8px 0 6px; display: block; }
.hkph-investor-progress { height: 12px; background: rgba(255,255,255,0.08); border-radius: 999px; overflow: hidden; }
.hkph-investor-sim { display: flex; gap: 10px; align-items: end; flex-wrap: wrap; }
.hkph-investor-sim label { font-size: 12px; font-weight: 700; color: var(--hk-text-soft); flex: 1 1 260px; }
.hkph-investor-sim button { padding: 12px 18px; border-radius: 12px; font-weight: 900; cursor: pointer; }
.hkph-investor-footer-note { padding: 20px; border-radius: 18px; }
.hkph-investor-footer-note strong { color: #fff; display: block; margin-bottom: 8px; }

@media (max-width: 1120px) {
  .hkph-shell-header { grid-template-columns: 1fr; }
  .hkph-shell-nav, .hkph-shell-actions { justify-content: flex-start; }
  .hkph-portal-grid-main { grid-template-columns: 1fr 1fr; }
  .hkph-portal-grid-main > .hkph-portal-card:first-child { grid-column: 1 / -1; }
  .hkph-investor-portal-grid,
  .hkph-investor-business-grid,
  .hkph-portal-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .hkph-shell-frame { padding: 18px 12px 28px; }
  .hkph-shell-hero,
  .hkph-portal-hero,
  .hkph-investor-hero { padding: 22px; }
  .hkph-shell-content-wrap { padding: 18px; }
  .hkph-shell-hero-row,
  .hkph-portal-hero,
  .hkph-investor-hero,
  .hkph-portal-support,
  .hkph-shell-footer { flex-direction: column; align-items: flex-start; }
  .hkph-portal-grid-main,
  .hkph-portal-grid-2,
  .hkph-investor-portal-grid,
  .hkph-investor-business-grid,
  .hkph-investor-recovery-grid,
  .hkph-investor-sim-result,
  .hkph-investor-scenarios,
  .hkph-portal-services,
  .hkph-portal-request-grid { grid-template-columns: 1fr; }
  .hkph-portal-grid-main > .hkph-portal-card:first-child { grid-column: auto; }
}

@media (max-width: 560px) {
  .hkph-shell-nav,
  .hkph-shell-actions { gap: 8px; }
  .hkph-shell-nav a,
  .hkph-shell-action { width: 100%; justify-content: center; text-align: center; }
  .hkph-portal-btn,
  .hkph-investor-sim button { width: 100%; }
}

/* v4.3 — clarity, investor payouts and contrast fixes */
body.hkph-portal-page .hkph-portal-section-head h2,
body.hkph-portal-page .hkph-investor-panel h2,
body.hkph-portal-page .hkph-investor-panel-head h2,
body.hkph-portal-page .hkph-portal-card h2,
body.hkph-portal-page .hkph-investor-hero h1,
body.hkph-portal-page .hkph-portal-hero h1,
body.hkph-portal-page .hkph-shell-hero h1 {
  color: var(--hk-text) !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.12);
}

body.hkph-portal-page .hkph-portal-section-head p,
body.hkph-portal-page .hkph-investor-panel-head p {
  margin: 6px 0 0;
  max-width: 850px;
  color: var(--hk-muted) !important;
  line-height: 1.55;
  font-size: 13px;
}

body.hkph-portal-page .hkph-portal-services {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  width: 100%;
}

body.hkph-portal-page .hkph-portal-service,
body.hkph-portal-page .hkph-portal-card,
body.hkph-portal-page .hkph-investor-panel,
body.hkph-portal-page .hkph-investor-stat {
  min-width: 0;
  overflow: hidden;
}

.hkph-investor-attention {
  display: grid;
  gap: 6px;
  margin: 16px 0;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(255,184,77,.30);
  background: rgba(255,184,77,.09);
  color: #fff0d0;
}
.hkph-investor-attention strong { color: #fff; }
.hkph-investor-attention span { color: var(--hk-muted); line-height: 1.5; }

.hkph-investor-highlight {
  border-color: rgba(57,213,255,.22) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(57,213,255,.12), transparent 28%),
    radial-gradient(circle at 0% 100%, rgba(124,255,138,.07), transparent 34%),
    var(--hk-panel) !important;
}

.hkph-investor-scenario-tag {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(124,255,138,.12);
  border: 1px solid rgba(124,255,138,.22);
  color: #dffff0;
  font-size: 12px;
  font-weight: 800;
}

.hkph-investor-flow-grid,
.hkph-investor-personal-payout,
.hkph-investor-explain {
  display: grid;
  gap: 12px;
}

.hkph-investor-flow-grid {
  grid-template-columns: repeat(4, minmax(0,1fr));
  margin: 14px 0 18px;
}

.hkph-investor-flow-grid > div,
.hkph-investor-personal-payout > div,
.hkph-investor-explain > div {
  min-width: 0;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
}

.hkph-investor-flow-grid span,
.hkph-investor-flow-grid strong,
.hkph-investor-flow-grid small,
.hkph-investor-personal-payout span,
.hkph-investor-personal-payout strong,
.hkph-investor-personal-payout small,
.hkph-investor-explain strong,
.hkph-investor-explain span,
.hkph-investor-recovery-grid small {
  display: block;
}

.hkph-investor-flow-grid span,
.hkph-investor-personal-payout span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--hk-muted);
}

.hkph-investor-flow-grid strong,
.hkph-investor-personal-payout strong {
  margin: 8px 0 6px;
  font-size: clamp(20px,2.2vw,28px);
  line-height: 1.15;
  color: #fff;
}

.hkph-investor-flow-grid small,
.hkph-investor-personal-payout small,
.hkph-investor-recovery-grid small {
  color: var(--hk-muted);
  line-height: 1.45;
  font-size: 11px;
}

.hkph-investor-personal-payout {
  grid-template-columns: repeat(3, minmax(0,1fr));
}
.hkph-investor-personal-payout > .is-accent {
  border-color: rgba(124,255,138,.22);
  background: rgba(124,255,138,.07);
}
.hkph-investor-personal-payout > .is-accent strong { color: #cffff0; }

.hkph-investor-payout-table {
  margin-top: 4px;
  border-color: rgba(57,213,255,.16);
}
.hkph-investor-payout-table tr.is-current-investor td {
  background: rgba(57,213,255,.065);
  color: var(--hk-text-soft);
}
.hkph-investor-payout-table tr.is-current-investor td:first-child {
  box-shadow: inset 3px 0 0 var(--hk-accent);
}
.hkph-investor-payout-table td:last-child strong {
  color: var(--hk-accent-2);
  font-size: 14px;
}

.hkph-investor-explain {
  grid-template-columns: repeat(3, minmax(0,1fr));
  margin-top: 12px;
}
.hkph-investor-explain strong {
  margin-bottom: 5px;
  color: #fff;
  font-size: 12px;
}
.hkph-investor-explain span {
  color: var(--hk-muted);
  line-height: 1.45;
  font-size: 11px;
}

body.hkph-portal-page .hkph-investor-recovery-grid > div,
body.hkph-portal-page .hkph-investor-business-grid > div,
body.hkph-portal-page .hkph-investor-scenarios > div,
body.hkph-portal-page .hkph-investor-sim-result > div {
  min-width: 0;
}

@media (max-width: 1050px) {
  .hkph-investor-flow-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hkph-investor-personal-payout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .hkph-investor-flow-grid,
  .hkph-investor-explain { grid-template-columns: 1fr; }
  .hkph-investor-scenario-tag { white-space: normal; }
  body.hkph-portal-page .hkph-portal-services { grid-template-columns: 1fr; }
}

/* v4.4 Direct code access */
.hkph-code-access{max-width:760px;margin:0 auto}.hkph-code-access-intro{margin-bottom:18px}.hkph-code-access-intro>span{display:inline-flex;align-items:center;gap:8px;color:var(--hk-accent);font-size:11px;font-weight:900;letter-spacing:.18em}.hkph-code-access-intro>span:before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--hk-accent-2),var(--hk-accent));box-shadow:0 0 16px rgba(57,213,255,.6)}.hkph-code-access-intro h2,.hkph-access-complete h2{color:#fff;font-size:clamp(28px,4vw,40px);margin:8px 0 10px;letter-spacing:-.04em}.hkph-code-access-intro p,.hkph-access-complete p{color:var(--hk-muted);line-height:1.65}.hkph-code-access-form,.hkph-access-complete{background:var(--hk-panel);border:1px solid var(--hk-border);border-radius:22px;padding:22px;box-shadow:var(--hk-shadow);backdrop-filter:blur(18px)}.hkph-code-access-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hkph-code-access-form label{display:grid;gap:7px;color:var(--hk-text-soft);font-size:12px;font-weight:800}.hkph-code-access-form label:first-of-type{grid-column:1/-1}.hkph-code-access-form input{width:100%;padding:13px 14px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.04);color:#fff;font:inherit}.hkph-code-access-form button{grid-column:1/-1;padding:13px 16px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--hk-accent),var(--hk-accent-2));color:#04111a;font-weight:900;cursor:pointer}.hkph-code-access-form .hkph-portal-muted{grid-column:1/-1;margin:0}.hkph-access-complete{text-align:center}.hkph-access-complete .hkph-portal-btn{margin-top:8px}@media(max-width:640px){.hkph-code-access-form{grid-template-columns:1fr}.hkph-code-access-form label:first-of-type,.hkph-code-access-form button,.hkph-code-access-form .hkph-portal-muted{grid-column:auto}}

/* ========================================================================== */
/* v4.5 - Light futuristic portals                                            */
/* ========================================================================== */
body.hkph-portal-page {
  --hk-light-bg: #f4f9fc;
  --hk-light-bg-2: #eef7f8;
  --hk-light-panel: rgba(255,255,255,.88);
  --hk-light-panel-2: rgba(248,252,255,.94);
  --hk-light-border: rgba(17,69,96,.12);
  --hk-light-text: #102536;
  --hk-light-muted: #607b8b;
  --hk-light-cyan: #1db7d8;
  --hk-light-green: #49cfa0;
  --hk-light-violet: #7b78ff;
  --hk-light-shadow: 0 18px 48px rgba(25,78,103,.10);
  background:
    radial-gradient(circle at 0% 0%, rgba(29,183,216,.16), transparent 30%),
    radial-gradient(circle at 100% 0%, rgba(123,120,255,.10), transparent 28%),
    linear-gradient(180deg, var(--hk-light-bg) 0%, var(--hk-light-bg-2) 100%) !important;
  color: var(--hk-light-text) !important;
}

body.hkph-portal-page .hkph-shell-bg {
  background:
    radial-gradient(circle at 15% 10%, rgba(29,183,216,.16), transparent 22%),
    radial-gradient(circle at 85% 10%, rgba(73,207,160,.13), transparent 20%),
    radial-gradient(circle at 80% 80%, rgba(123,120,255,.10), transparent 22%);
}

body.hkph-portal-page .hkph-shell-grid {
  background-image:
    linear-gradient(rgba(26,83,109,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(26,83,109,.045) 1px, transparent 1px);
  opacity:.55;
}

body.hkph-portal-page .hkph-shell-header,
body.hkph-portal-page .hkph-shell-hero,
body.hkph-portal-page .hkph-shell-content-wrap,
body.hkph-portal-page .hkph-shell-footer,
body.hkph-portal-page .hkph-portal-card,
body.hkph-portal-page .hkph-portal-request-card,
body.hkph-portal-page .hkph-portal-service,
body.hkph-portal-page .hkph-portal-table-wrap,
body.hkph-portal-page .hkph-portal-support,
body.hkph-portal-page .hkph-portal-login-card,
body.hkph-portal-page .hkph-investor-panel,
body.hkph-portal-page .hkph-investor-stat,
body.hkph-portal-page .hkph-investor-footer-note,
body.hkph-portal-page .hkph-investor-disclaimer,
body.hkph-portal-page .hkph-event-item {
  background: var(--hk-light-panel) !important;
  border-color: var(--hk-light-border) !important;
  color: var(--hk-light-text) !important;
  box-shadow: var(--hk-light-shadow) !important;
}

body.hkph-portal-page .hkph-shell-header {
  background: rgba(255,255,255,.80) !important;
}

body.hkph-portal-page .hkph-shell-hero,
body.hkph-portal-page .hkph-portal-hero,
body.hkph-portal-page .hkph-investor-hero {
  background:
    radial-gradient(circle at 100% 0%, rgba(123,120,255,.13), transparent 36%),
    radial-gradient(circle at 0% 100%, rgba(29,183,216,.13), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(242,250,252,.92)) !important;
  border-color: rgba(29,183,216,.18) !important;
  color: var(--hk-light-text) !important;
}

body.hkph-portal-page .hkph-shell-brand strong,
body.hkph-portal-page .hkph-shell-hero h1,
body.hkph-portal-page .hkph-portal-hero h1,
body.hkph-portal-page .hkph-investor-hero h1,
body.hkph-portal-page .hkph-portal-card h2,
body.hkph-portal-page .hkph-investor-panel h2,
body.hkph-portal-page .hkph-portal-domain,
body.hkph-portal-page .hkph-portal-price,
body.hkph-portal-page .hkph-investor-stat strong,
body.hkph-portal-page .hkph-investor-business-grid strong,
body.hkph-portal-page .hkph-investor-recovery-grid strong,
body.hkph-portal-page .hkph-investor-sim-result strong,
body.hkph-portal-page .hkph-investor-scenarios strong,
body.hkph-portal-page .hkph-portal-table td strong,
body.hkph-portal-page .hkph-portal-table a,
body.hkph-portal-page .hkph-event-head strong,
body.hkph-portal-page .hkph-code-access h2 {
  color: var(--hk-light-text) !important;
}

body.hkph-portal-page .hkph-shell-brand small,
body.hkph-portal-page .hkph-shell-hero p,
body.hkph-portal-page .hkph-portal-hero p,
body.hkph-portal-page .hkph-investor-hero p,
body.hkph-portal-page .hkph-portal-muted,
body.hkph-portal-page .hkph-portal-service p,
body.hkph-portal-page .hkph-portal-table th,
body.hkph-portal-page .hkph-portal-table td,
body.hkph-portal-page .hkph-investor-stat span,
body.hkph-portal-page .hkph-investor-stat small,
body.hkph-portal-page .hkph-investor-business-grid span,
body.hkph-portal-page .hkph-investor-recovery-grid span,
body.hkph-portal-page .hkph-investor-sim-result span,
body.hkph-portal-page .hkph-investor-scenarios span,
body.hkph-portal-page .hkph-investor-scenarios small,
body.hkph-portal-page .hkph-shell-footer,
body.hkph-portal-page .hkph-event-item p,
body.hkph-portal-page .hkph-event-item small,
body.hkph-portal-page .hkph-code-access p {
  color: var(--hk-light-muted) !important;
}

body.hkph-portal-page .hkph-shell-brand-mark,
body.hkph-portal-page .hkph-portal-service-icon {
  background: linear-gradient(135deg, #8ef3c8, #74d9f5) !important;
  color:#0c3440 !important;
  box-shadow: 0 10px 24px rgba(29,183,216,.18) !important;
}

body.hkph-portal-page .hkph-shell-nav a,
body.hkph-portal-page .hkph-shell-action,
body.hkph-portal-page .hkph-portal-status,
body.hkph-portal-page .hkph-portal-sub,
body.hkph-portal-page .hkph-portal-pill,
body.hkph-portal-page .hkph-investor-hero-badge {
  color: var(--hk-light-text) !important;
  background: rgba(255,255,255,.74) !important;
  border-color: rgba(17,69,96,.10) !important;
}

body.hkph-portal-page .hkph-shell-nav a.is-active,
body.hkph-portal-page .hkph-shell-nav a:hover,
body.hkph-portal-page .hkph-portal-status,
body.hkph-portal-page .hkph-investor-hero-badge {
  background: rgba(29,183,216,.12) !important;
  border-color: rgba(29,183,216,.20) !important;
}

body.hkph-portal-page .hkph-shell-kicker,
body.hkph-portal-page .hkph-portal-eyebrow,
body.hkph-portal-page .hkph-portal-section-head span,
body.hkph-portal-page .hkph-portal-support span,
body.hkph-portal-page .hkph-investor-panel-head span,
body.hkph-portal-page .hkph-investor-hero span,
body.hkph-portal-page .hkph-code-access-intro span {
  color: #1789a3 !important;
}

body.hkph-portal-page .hkph-portal-meter,
body.hkph-portal-page .hkph-investor-progress {
  background: rgba(19,77,102,.08) !important;
}

body.hkph-portal-page .hkph-portal-meter i,
body.hkph-portal-page .hkph-investor-progress i {
  background: linear-gradient(90deg, var(--hk-light-cyan), var(--hk-light-green), var(--hk-light-violet)) !important;
}

body.hkph-portal-page .hkph-portal-table-wrap {
  overflow:auto;
}
body.hkph-portal-page .hkph-portal-table th {
  background: rgba(225,241,247,.74) !important;
  color:#547283 !important;
}
body.hkph-portal-page .hkph-portal-table td {
  border-color: rgba(17,69,96,.07) !important;
}
body.hkph-portal-page .hkph-portal-table code {
  color:#15586d !important;
  background: rgba(29,183,216,.08) !important;
}

body.hkph-portal-page .hkph-investor-business-grid>div,
body.hkph-portal-page .hkph-investor-recovery-grid>div,
body.hkph-portal-page .hkph-investor-sim-result>div,
body.hkph-portal-page .hkph-investor-scenarios>div {
  background: rgba(246,251,253,.88) !important;
  border-color: rgba(17,69,96,.09) !important;
}

body.hkph-portal-page .hkph-investor-disclaimer {
  background: rgba(255,184,77,.12) !important;
  border-color: rgba(255,184,77,.24) !important;
  color:#7a5516 !important;
}

body.hkph-portal-page .hkph-portal-notice.is-success {
  background: rgba(73,207,160,.12) !important;
  color:#176a50 !important;
  border-color: rgba(73,207,160,.18) !important;
}
body.hkph-portal-page .hkph-portal-notice.is-error {
  background: rgba(255,107,107,.10) !important;
  color:#8b3434 !important;
  border-color: rgba(255,107,107,.18) !important;
}

body.hkph-portal-page .hkph-portal-support {
  background:
    radial-gradient(circle at 100% 0%, rgba(73,207,160,.14), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(239,250,247,.94)) !important;
}

body.hkph-portal-page .hkph-portal-btn-primary,
body.hkph-portal-page .hkph-shell-action.is-primary,
body.hkph-portal-page .hkph-investor-sim button,
body.hkph-portal-page .hkph-code-access-form button {
  background: linear-gradient(135deg, #42cce8, #78e5b6) !important;
  color:#0d3340 !important;
  box-shadow: 0 12px 28px rgba(29,183,216,.16) !important;
}

body.hkph-portal-page .hkph-code-access {
  max-width:760px;
  margin:0 auto;
}
body.hkph-portal-page .hkph-code-access-intro,
body.hkph-portal-page .hkph-code-access-form,
body.hkph-portal-page .hkph-access-complete {
  background:rgba(255,255,255,.86);
  border:1px solid var(--hk-light-border);
  border-radius:20px;
  box-shadow:var(--hk-light-shadow);
  padding:22px;
}
body.hkph-portal-page .hkph-code-access-form {
  margin-top:14px;
  display:grid;
  gap:14px;
}
body.hkph-portal-page .hkph-code-access-form label span {
  display:block;
  color:#476879;
  font-size:12px;
  font-weight:800;
  margin-bottom:6px;
}
body.hkph-portal-page .hkph-code-access-form input {
  width:100%;
  padding:14px;
  border-radius:12px;
  border:1px solid rgba(17,69,96,.14);
  background:#fff;
  color:#123243;
  font-size:16px;
}
body.hkph-portal-page .hkph-code-access-form button {
  border:0;
  border-radius:12px;
  padding:13px 16px;
  font-weight:900;
  cursor:pointer;
}

.hkph-event-timeline {
  display:grid;
  gap:12px;
}
.hkph-event-item {
  display:grid;
  grid-template-columns:16px 1fr;
  gap:12px;
  border-radius:16px;
  padding:16px;
}
.hkph-event-dot {
  width:10px;
  height:10px;
  margin-top:6px;
  border-radius:50%;
  background:#42cce8;
  box-shadow:0 0 0 6px rgba(66,204,232,.10);
}
.hkph-event-item.is-resolved .hkph-event-dot,
.hkph-event-item.is-closed .hkph-event-dot { background:#49cfa0; box-shadow:0 0 0 6px rgba(73,207,160,.10); }
.hkph-event-head { display:flex; gap:10px; justify-content:space-between; align-items:center; flex-wrap:wrap; }
.hkph-event-item p { margin:8px 0 5px; }

@media(max-width:760px){
  body.hkph-portal-page .hkph-shell-content-wrap{padding:14px!important}
  body.hkph-portal-page .hkph-portal-table{min-width:640px}
}

/* ========================================================================== */
/* v4.6 - Simulator fixes + simple visual charts                              */
/* ========================================================================== */
.hkph-chart-ring-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

.hkph-chart-ring-card {
  --hkph-chart-color: #1db7d8;
  display: grid;
  grid-template-columns: 126px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  min-width: 0;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(17,69,96,.10);
  background: rgba(248,252,255,.92);
}

.hkph-chart-ring-card.hkph-tone-green { --hkph-chart-color: #49cfa0; }
.hkph-chart-ring-card.hkph-tone-violet { --hkph-chart-color: #7b78ff; }
.hkph-chart-ring-card.hkph-tone-amber { --hkph-chart-color: #f3ad45; }

.hkph-chart-ring {
  width: 118px;
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: conic-gradient(var(--hkph-chart-color) var(--hkph-chart-pct), #e8f0f4 0);
  position: relative;
  box-shadow: inset 0 0 0 1px rgba(17,69,96,.04);
}

.hkph-chart-ring::after {
  content: "";
  width: 78%;
  aspect-ratio: 1;
  border-radius: 50%;
  position: absolute;
  background: #fff;
  border: 1px solid rgba(17,69,96,.06);
  box-shadow: 0 8px 20px rgba(25,78,103,.08);
}

.hkph-chart-ring > div {
  position: relative;
  z-index: 2;
  text-align: center;
  width: 76%;
  min-width: 0;
}

.hkph-chart-ring strong,
.hkph-chart-ring span,
.hkph-chart-ring-copy strong,
.hkph-chart-ring-copy small {
  display: block;
}

.hkph-chart-ring strong {
  color: #102536 !important;
  font-size: 15px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.hkph-chart-ring span {
  margin-top: 3px;
  color: #607b8b !important;
  font-size: 11px;
  font-weight: 800;
}

.hkph-chart-ring-copy strong {
  color: #102536 !important;
  font-size: 16px;
  line-height: 1.25;
}

.hkph-chart-ring-copy small {
  margin-top: 6px;
  color: #607b8b !important;
  line-height: 1.5;
}

.hkph-chart-block {
  margin: 18px 0;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(17,69,96,.10);
  background: rgba(248,252,255,.82);
}

.hkph-chart-block-head {
  display: grid;
  gap: 4px;
  margin-bottom: 15px;
}

.hkph-chart-block-head strong {
  color: #102536 !important;
  font-size: 16px;
}

.hkph-chart-block-head span {
  color: #607b8b !important;
  font-size: 12px;
  line-height: 1.45;
}

.hkph-chart-bars {
  display: grid;
  gap: 14px;
}

.hkph-chart-bar-row {
  --hkph-bar-color: #1db7d8;
  min-width: 0;
}

.hkph-chart-bar-row.hkph-tone-green { --hkph-bar-color: #49cfa0; }
.hkph-chart-bar-row.hkph-tone-violet { --hkph-bar-color: #7b78ff; }
.hkph-chart-bar-row.hkph-tone-amber { --hkph-bar-color: #f3ad45; }

.hkph-chart-bar-row.is-highlight {
  padding: 12px;
  margin: -4px;
  border-radius: 14px;
  border: 1px solid rgba(29,183,216,.18);
  background: rgba(29,183,216,.06);
}

.hkph-chart-bar-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  min-width: 0;
}

.hkph-chart-bar-head strong {
  color: #193447 !important;
  font-size: 13px;
  overflow-wrap: anywhere;
}

.hkph-chart-bar-head span {
  flex: 0 0 auto;
  color: #102536 !important;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.hkph-chart-bar-track {
  height: 11px;
  margin-top: 7px;
  border-radius: 999px;
  overflow: hidden;
  background: #e8f0f4;
  box-shadow: inset 0 0 0 1px rgba(17,69,96,.04);
}

.hkph-chart-bar-track i {
  display: block;
  height: 100%;
  min-width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--hkph-bar-color), color-mix(in srgb, var(--hkph-bar-color) 65%, white));
}

.hkph-chart-bar-row small {
  display: block;
  margin-top: 5px;
  color: #6a8493 !important;
  font-size: 11px;
  line-height: 1.4;
}

.hkph-chart-empty {
  padding: 18px;
  border-radius: 14px;
  background: #f4f8fa;
  color: #607b8b;
  text-align: center;
}

.hkph-chart-legend {
  display: grid;
  gap: 8px;
}

.hkph-chart-legend-item {
  --hkph-bar-color: #1db7d8;
  display: grid;
  grid-template-columns: 10px minmax(0,1fr) auto;
  gap: 8px;
  align-items: center;
}

.hkph-chart-legend-item.hkph-tone-green { --hkph-bar-color: #49cfa0; }
.hkph-chart-legend-item.hkph-tone-violet { --hkph-bar-color: #7b78ff; }
.hkph-chart-legend-item.hkph-tone-amber { --hkph-bar-color: #f3ad45; }
.hkph-chart-legend-item i { width: 9px; height: 9px; border-radius: 50%; background: var(--hkph-bar-color); }
.hkph-chart-legend-item span { color: #607b8b; }
.hkph-chart-legend-item strong { color: #102536; }

/* Simulator: strong contrast and no horizontal overflow for large values. */
body.hkph-portal-page .hkph-investor-simulator-panel {
  overflow: hidden;
}

body.hkph-portal-page .hkph-investor-sim {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: end;
  width: 100%;
  max-width: 100%;
  margin-top: 4px;
}

body.hkph-portal-page .hkph-investor-sim label {
  display: grid;
  gap: 8px;
  min-width: 0;
  color: #23495d !important;
  font-size: 13px !important;
  font-weight: 850 !important;
}

body.hkph-portal-page .hkph-investor-sim label > span {
  color: #23495d !important;
}

body.hkph-portal-page .hkph-money-input {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0 13px;
  border-radius: 14px;
  border: 1px solid rgba(23,137,163,.30);
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.75), 0 8px 18px rgba(25,78,103,.05);
}

body.hkph-portal-page .hkph-money-input:focus-within {
  border-color: #1db7d8;
  box-shadow: 0 0 0 3px rgba(29,183,216,.12);
}

body.hkph-portal-page .hkph-money-input > span,
body.hkph-portal-page .hkph-money-input > b {
  color: #486b7e !important;
  font-size: 13px;
  font-weight: 900;
}

body.hkph-portal-page .hkph-investor-sim input[type="number"] {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 50px;
  padding: 10px 4px !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: #102536 !important;
  -webkit-text-fill-color: #102536 !important;
  font-size: clamp(16px, 2vw, 20px) !important;
  font-weight: 850 !important;
  line-height: 1.2;
  box-shadow: none !important;
  appearance: textfield;
}

body.hkph-portal-page .hkph-investor-sim input[type="number"]::-webkit-outer-spin-button,
body.hkph-portal-page .hkph-investor-sim input[type="number"]::-webkit-inner-spin-button {
  margin: 0;
}

body.hkph-portal-page .hkph-investor-sim label > small {
  color: #587889 !important;
  line-height: 1.45;
  font-size: 11px;
}

body.hkph-portal-page .hkph-investor-sim button {
  min-height: 50px;
  white-space: nowrap;
}

body.hkph-portal-page .hkph-investor-sim-result-v46 {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  margin-top: 16px;
}

body.hkph-portal-page .hkph-investor-sim-result-v46 > div {
  min-width: 0;
  padding: 16px;
}

body.hkph-portal-page .hkph-investor-sim-result-v46 > div.is-primary {
  border-color: rgba(29,183,216,.24) !important;
  background: rgba(29,183,216,.07) !important;
}

body.hkph-portal-page .hkph-investor-sim-result-v46 strong {
  overflow-wrap: anywhere;
  font-size: clamp(18px, 2.2vw, 25px) !important;
}

body.hkph-portal-page .hkph-investor-sim-result-v46 small {
  display: block;
  margin-top: 6px;
  color: #607b8b !important;
  line-height: 1.45;
}

body.hkph-portal-page .hkph-sim-disclaimer {
  margin-bottom: 0;
  padding-top: 4px;
}

/* Client summary charts */
body.hkph-portal-page .hkph-client-visual-summary .hkph-chart-ring-card {
  min-height: 172px;
}

@media (max-width: 760px) {
  body.hkph-portal-page .hkph-investor-sim {
    grid-template-columns: 1fr;
  }
  body.hkph-portal-page .hkph-investor-sim button {
    width: 100%;
  }
  .hkph-chart-ring-card {
    grid-template-columns: 96px minmax(0, 1fr);
  }
  .hkph-chart-ring {
    width: 92px;
  }
}

@media (max-width: 430px) {
  .hkph-chart-ring-card {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
  .hkph-chart-bar-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .hkph-chart-bar-head span {
    white-space: normal;
  }
}

/* v4.7 brand assets and readable dimensional titles */
body.hkph-portal-page .hkph-shell-brand-mark{overflow:hidden;background:#eef9fc!important;border:1px solid rgba(22,142,216,.16)!important;padding:3px!important}
body.hkph-portal-page .hkph-shell-brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
body.hkph-portal-page .hkph-shell-hero h1,
body.hkph-portal-page .hkph-investor-panel-head h2,
body.hkph-portal-page .hkph-portal-section-head h2{color:#102638!important;-webkit-text-fill-color:#102638!important;text-shadow:0 1px 0 #fff,0 3px 0 rgba(22,142,216,.07),0 8px 16px rgba(15,55,75,.10)}
body.hkph-portal-page .hkph-investor-panel,
body.hkph-portal-page .hkph-portal-card{box-shadow:0 12px 28px rgba(20,60,80,.08),0 2px 6px rgba(20,60,80,.04)!important;transition:transform .18s ease,box-shadow .18s ease}
@media(min-width:769px){body.hkph-portal-page .hkph-investor-panel:hover,body.hkph-portal-page .hkph-portal-card:hover{transform:translateY(-2px);box-shadow:0 17px 34px rgba(20,60,80,.10),0 3px 8px rgba(20,60,80,.05)!important}}
body.hkph-portal-page .hkph-investor-panel p,
body.hkph-portal-page .hkph-investor-panel small,
body.hkph-portal-page .hkph-portal-card p,
body.hkph-portal-page .hkph-portal-muted{color:#405e72!important;-webkit-text-fill-color:#405e72!important;opacity:1!important}
body.hkph-portal-page .hkph-portal-table th{color:#405e72!important;-webkit-text-fill-color:#405e72!important}
body.hkph-portal-page .hkph-portal-table td{color:#2f5062!important;-webkit-text-fill-color:#2f5062!important}
body.hkph-portal-page .hkph-portal-table td strong{color:#102638!important;-webkit-text-fill-color:#102638!important}
@media(max-width:768px){body.hkph-portal-page .hkph-investor-panel,body.hkph-portal-page .hkph-portal-card{box-shadow:0 7px 16px rgba(20,60,80,.06)!important}}
@media(prefers-reduced-motion:reduce){body.hkph-portal-page .hkph-investor-panel,body.hkph-portal-page .hkph-portal-card{transition:none!important;transform:none!important}}

/* ========================================================================== */
/* v4.8 - Visual Repair: high contrast, dark dimensional cards, scoped portal */
/* ========================================================================== */
body.hkph-portal-page .hkph-app{
  --hk48-bg:#eaf3f7;
  --hk48-surface:#ffffff;
  --hk48-surface-2:#f3f8fb;
  --hk48-deep:#0b2232;
  --hk48-dark:#123044;
  --hk48-dark-2:#183f56;
  --hk48-text:#102534;
  --hk48-text-2:#345568;
  --hk48-muted:#527387;
  --hk48-on-dark:#f7fcff;
  --hk48-on-dark-2:#c8e0ea;
  --hk48-cyan:#16c8db;
  --hk48-green:#21d69c;
  --hk48-violet:#776ceb;
  --hk48-amber:#e89a26;
  --hk48-danger:#e04f5f;
  color:var(--hk48-text)!important;
  font-synthesis:none;
}
body.hkph-portal-page .hkph-app,
body.hkph-portal-page .hkph-app *{box-sizing:border-box}
body.hkph-portal-page .hkph-app p,
body.hkph-portal-page .hkph-app small,
body.hkph-portal-page .hkph-app label,
body.hkph-portal-page .hkph-app td,
body.hkph-portal-page .hkph-app th{opacity:1!important}
body.hkph-portal-page .hkph-app p{color:var(--hk48-text-2)!important;-webkit-text-fill-color:var(--hk48-text-2)!important}
body.hkph-portal-page .hkph-app small{color:var(--hk48-muted)!important;-webkit-text-fill-color:var(--hk48-muted)!important}
body.hkph-portal-page .hkph-app a{overflow-wrap:anywhere}
body.hkph-portal-page .hkph-app input,
body.hkph-portal-page .hkph-app select,
body.hkph-portal-page .hkph-app textarea,
body.hkph-portal-page .hkph-app button{box-sizing:border-box;max-width:100%;min-width:0}
body.hkph-portal-page .hkph-app code,
body.hkph-portal-page .hkph-app .hkph-portal-domain{overflow-wrap:anywhere;word-break:break-word}

/* Main shell uses deliberate contrast instead of pale text on pale backgrounds. */
body.hkph-portal-page .hkph-app .hkph-shell-header{
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(239,248,251,.95))!important;
  border:1px solid #c7dce6!important;
  box-shadow:0 16px 34px rgba(18,55,75,.10),inset 0 1px 0 #fff!important;
}
body.hkph-portal-page .hkph-app .hkph-shell-brand strong{color:var(--hk48-text)!important;-webkit-text-fill-color:var(--hk48-text)!important}
body.hkph-portal-page .hkph-app .hkph-shell-brand small{color:var(--hk48-text-2)!important;-webkit-text-fill-color:var(--hk48-text-2)!important}
body.hkph-portal-page .hkph-app .hkph-shell-nav a,
body.hkph-portal-page .hkph-app .hkph-shell-action{color:#24485c!important;-webkit-text-fill-color:#24485c!important;background:#f6fbfd!important;border-color:#ccdee6!important}
body.hkph-portal-page .hkph-app .hkph-shell-nav a.is-active,
body.hkph-portal-page .hkph-app .hkph-shell-nav a:hover{background:#dff7fb!important;color:#0a6477!important;-webkit-text-fill-color:#0a6477!important;border-color:#8edce8!important}
body.hkph-portal-page .hkph-app .hkph-shell-action.is-primary{background:linear-gradient(135deg,var(--hk48-cyan),var(--hk48-green))!important;color:#062c38!important;-webkit-text-fill-color:#062c38!important;border:0!important}

body.hkph-portal-page .hkph-app .hkph-shell-hero,
body.hkph-portal-page .hkph-app .hkph-investor-hero,
body.hkph-portal-page .hkph-app .hkph-portal-hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 100% 0%,rgba(22,200,219,.22),transparent 36%),
    radial-gradient(circle at 0% 100%,rgba(33,214,156,.13),transparent 34%),
    linear-gradient(145deg,var(--hk48-dark-2),var(--hk48-deep))!important;
  border:1px solid rgba(94,220,233,.24)!important;
  box-shadow:0 24px 56px rgba(8,35,50,.22),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
body.hkph-portal-page .hkph-app .hkph-shell-hero:after,
body.hkph-portal-page .hkph-app .hkph-investor-hero:after,
body.hkph-portal-page .hkph-app .hkph-portal-hero:after{
  content:"";position:absolute;right:-70px;top:-90px;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(119,108,235,.28),transparent 68%);pointer-events:none;
}
body.hkph-portal-page .hkph-app .hkph-shell-hero h1,
body.hkph-portal-page .hkph-app .hkph-investor-hero h1,
body.hkph-portal-page .hkph-app .hkph-portal-hero h1{
  color:var(--hk48-on-dark)!important;-webkit-text-fill-color:var(--hk48-on-dark)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.10),0 4px 0 rgba(0,0,0,.12),0 14px 28px rgba(0,0,0,.22)!important;
}
body.hkph-portal-page .hkph-app .hkph-shell-hero p,
body.hkph-portal-page .hkph-app .hkph-investor-hero p,
body.hkph-portal-page .hkph-app .hkph-portal-hero p{color:var(--hk48-on-dark-2)!important;-webkit-text-fill-color:var(--hk48-on-dark-2)!important}
body.hkph-portal-page .hkph-app .hkph-shell-kicker,
body.hkph-portal-page .hkph-app .hkph-investor-hero>div>span,
body.hkph-portal-page .hkph-app .hkph-portal-eyebrow{color:#65e5ef!important;-webkit-text-fill-color:#65e5ef!important}
body.hkph-portal-page .hkph-app .hkph-shell-chip,
body.hkph-portal-page .hkph-app .hkph-investor-hero-badge{background:rgba(255,255,255,.08)!important;color:#eafcff!important;-webkit-text-fill-color:#eafcff!important;border-color:rgba(122,226,238,.22)!important}

body.hkph-portal-page .hkph-app .hkph-shell-content-wrap{
  background:rgba(255,255,255,.82)!important;border-color:#cbdde6!important;
  box-shadow:0 18px 45px rgba(18,55,75,.10)!important;
}

/* Dimensional titles on light sections. */
body.hkph-portal-page .hkph-app .hkph-portal-section-head h2,
body.hkph-portal-page .hkph-app .hkph-investor-panel-head h2,
body.hkph-portal-page .hkph-app .hkph-portal-card h2{
  color:var(--hk48-text)!important;-webkit-text-fill-color:var(--hk48-text)!important;
  font-weight:850!important;letter-spacing:-.035em;
  text-shadow:0 1px 0 #fff,0 3px 0 rgba(22,142,216,.08),0 9px 18px rgba(15,55,75,.10)!important;
}
body.hkph-portal-page .hkph-app .hkph-portal-section-head>div,
body.hkph-portal-page .hkph-app .hkph-investor-panel-head>div{position:relative;padding-left:14px}
body.hkph-portal-page .hkph-app .hkph-portal-section-head>div:before,
body.hkph-portal-page .hkph-app .hkph-investor-panel-head>div:before{
  content:"";position:absolute;left:0;top:3px;bottom:3px;width:4px;border-radius:8px;background:linear-gradient(var(--hk48-cyan),var(--hk48-violet));box-shadow:0 0 16px rgba(22,200,219,.22)
}
body.hkph-portal-page .hkph-app .hkph-portal-section-head p,
body.hkph-portal-page .hkph-app .hkph-investor-panel-head p{color:var(--hk48-text-2)!important;-webkit-text-fill-color:var(--hk48-text-2)!important;font-weight:500}
body.hkph-portal-page .hkph-app .hkph-portal-section-head span,
body.hkph-portal-page .hkph-app .hkph-investor-panel-head span{color:#087f98!important;-webkit-text-fill-color:#087f98!important;font-weight:900!important}

/* Dark 3D financial/client cards. */
body.hkph-portal-page .hkph-app .hkph-investor-stat,
body.hkph-portal-page .hkph-app .hkph-investor-recovery-grid>div,
body.hkph-portal-page .hkph-app .hkph-investor-flow-grid>div,
body.hkph-portal-page .hkph-app .hkph-investor-personal-payout>div,
body.hkph-portal-page .hkph-app .hkph-investor-business-grid>div,
body.hkph-portal-page .hkph-app .hkph-investor-scenarios>div,
body.hkph-portal-page .hkph-app .hkph-portal-card,
body.hkph-portal-page .hkph-app .hkph-portal-support,
body.hkph-portal-page .hkph-app .hkph-investor-footer-note{
  position:relative;overflow:hidden;
  background:linear-gradient(145deg,var(--hk48-dark-2),var(--hk48-dark))!important;
  border:1px solid rgba(88,211,226,.20)!important;
  box-shadow:0 16px 32px rgba(8,35,50,.16),inset 0 1px 0 rgba(255,255,255,.08)!important;
  color:var(--hk48-on-dark)!important;
}
body.hkph-portal-page .hkph-app .hkph-investor-stat:before,
body.hkph-portal-page .hkph-app .hkph-investor-recovery-grid>div:before,
body.hkph-portal-page .hkph-app .hkph-investor-flow-grid>div:before,
body.hkph-portal-page .hkph-app .hkph-investor-personal-payout>div:before,
body.hkph-portal-page .hkph-app .hkph-investor-business-grid>div:before,
body.hkph-portal-page .hkph-app .hkph-investor-scenarios>div:before,
body.hkph-portal-page .hkph-app .hkph-portal-card:before,
body.hkph-portal-page .hkph-app .hkph-portal-support:before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--hk48-cyan),var(--hk48-green),var(--hk48-violet));opacity:.95
}
body.hkph-portal-page .hkph-app .hkph-investor-stat span,
body.hkph-portal-page .hkph-app .hkph-investor-recovery-grid span,
body.hkph-portal-page .hkph-app .hkph-investor-flow-grid span,
body.hkph-portal-page .hkph-app .hkph-investor-personal-payout span,
body.hkph-portal-page .hkph-app .hkph-investor-business-grid span,
body.hkph-portal-page .hkph-app .hkph-investor-scenarios span,
body.hkph-portal-page .hkph-app .hkph-portal-card .hkph-portal-card-title span,
body.hkph-portal-page .hkph-app .hkph-portal-support>div>span{color:#9ed2df!important;-webkit-text-fill-color:#9ed2df!important;font-weight:800!important}
body.hkph-portal-page .hkph-app .hkph-investor-stat strong,
body.hkph-portal-page .hkph-app .hkph-investor-recovery-grid strong,
body.hkph-portal-page .hkph-app .hkph-investor-flow-grid strong,
body.hkph-portal-page .hkph-app .hkph-investor-personal-payout strong,
body.hkph-portal-page .hkph-app .hkph-investor-business-grid strong,
body.hkph-portal-page .hkph-app .hkph-investor-scenarios strong,
body.hkph-portal-page .hkph-app .hkph-portal-card strong,
body.hkph-portal-page .hkph-app .hkph-portal-card h2,
body.hkph-portal-page .hkph-app .hkph-portal-domain,
body.hkph-portal-page .hkph-app .hkph-portal-price,
body.hkph-portal-page .hkph-app .hkph-portal-support h2,
body.hkph-portal-page .hkph-app .hkph-investor-footer-note strong{
  color:var(--hk48-on-dark)!important;-webkit-text-fill-color:var(--hk48-on-dark)!important;text-shadow:0 1px 0 rgba(255,255,255,.06),0 10px 22px rgba(0,0,0,.22)!important
}
body.hkph-portal-page .hkph-app .hkph-investor-stat small,
body.hkph-portal-page .hkph-app .hkph-investor-recovery-grid small,
body.hkph-portal-page .hkph-app .hkph-investor-flow-grid small,
body.hkph-portal-page .hkph-app .hkph-investor-personal-payout small,
body.hkph-portal-page .hkph-app .hkph-investor-business-grid small,
body.hkph-portal-page .hkph-app .hkph-investor-scenarios small,
body.hkph-portal-page .hkph-app .hkph-portal-card p,
body.hkph-portal-page .hkph-app .hkph-portal-card .hkph-portal-muted,
body.hkph-portal-page .hkph-app .hkph-portal-support p,
body.hkph-portal-page .hkph-app .hkph-investor-footer-note p{
  color:var(--hk48-on-dark-2)!important;-webkit-text-fill-color:var(--hk48-on-dark-2)!important;opacity:1!important
}
body.hkph-portal-page .hkph-app .hkph-investor-personal-payout>div.is-accent{
  background:linear-gradient(145deg,#0f4b49,#12384a)!important;border-color:rgba(50,225,171,.28)!important
}
body.hkph-portal-page .hkph-app .hkph-investor-personal-payout>div.is-accent strong{color:#baffdf!important;-webkit-text-fill-color:#baffdf!important}

/* Keep analytic panels and tables light, with explicit dark text. */
body.hkph-portal-page .hkph-app .hkph-investor-panel,
body.hkph-portal-page .hkph-app .hkph-portal-section,
body.hkph-portal-page .hkph-app .hkph-chart-block,
body.hkph-portal-page .hkph-app .hkph-chart-ring-card,
body.hkph-portal-page .hkph-app .hkph-portal-table-wrap,
body.hkph-portal-page .hkph-app .hkph-portal-request-card,
body.hkph-portal-page .hkph-app .hkph-portal-service{
  background:linear-gradient(145deg,#fff,#f6fafc)!important;border-color:#cddfe7!important;color:var(--hk48-text)!important;
  box-shadow:0 12px 28px rgba(18,55,75,.08),inset 0 1px 0 #fff!important
}
body.hkph-portal-page .hkph-app .hkph-chart-block strong,
body.hkph-portal-page .hkph-app .hkph-chart-ring-card strong,
body.hkph-portal-page .hkph-app .hkph-portal-service strong,
body.hkph-portal-page .hkph-app .hkph-portal-request-card summary{color:var(--hk48-text)!important;-webkit-text-fill-color:var(--hk48-text)!important}
body.hkph-portal-page .hkph-app .hkph-chart-block span,
body.hkph-portal-page .hkph-app .hkph-chart-block small,
body.hkph-portal-page .hkph-app .hkph-chart-ring-card span,
body.hkph-portal-page .hkph-app .hkph-chart-ring-card small,
body.hkph-portal-page .hkph-app .hkph-portal-service p{color:var(--hk48-text-2)!important;-webkit-text-fill-color:var(--hk48-text-2)!important}
body.hkph-portal-page .hkph-app .hkph-portal-table th{background:#e1eef4!important;color:#294d60!important;-webkit-text-fill-color:#294d60!important;font-weight:850!important}
body.hkph-portal-page .hkph-app .hkph-portal-table td{color:#294d60!important;-webkit-text-fill-color:#294d60!important;background:#fff!important}
body.hkph-portal-page .hkph-app .hkph-portal-table tr:nth-child(even) td{background:#f7fbfd!important}
body.hkph-portal-page .hkph-app .hkph-portal-table td strong{color:#0e2736!important;-webkit-text-fill-color:#0e2736!important}
body.hkph-portal-page .hkph-app .hkph-portal-table a{color:#096d8a!important;-webkit-text-fill-color:#096d8a!important;font-weight:750}
body.hkph-portal-page .hkph-app .hkph-portal-table td[colspan]{color:#4a697a!important;-webkit-text-fill-color:#4a697a!important;padding:18px!important}

body.hkph-portal-page .hkph-app .hkph-investor-explain>div{background:#eef6f9!important;border:1px solid #d1e3ea!important}
body.hkph-portal-page .hkph-app .hkph-investor-explain strong{color:var(--hk48-text)!important;-webkit-text-fill-color:var(--hk48-text)!important}
body.hkph-portal-page .hkph-app .hkph-investor-explain span{color:var(--hk48-text-2)!important;-webkit-text-fill-color:var(--hk48-text-2)!important}
body.hkph-portal-page .hkph-app .hkph-investor-disclaimer{background:#fff3dc!important;border-color:#efcf96!important;color:#68470e!important;-webkit-text-fill-color:#68470e!important}
body.hkph-portal-page .hkph-app .hkph-investor-disclaimer strong{color:#503607!important;-webkit-text-fill-color:#503607!important}

/* Unified login inside portal */
body.hkph-portal-page .hkph-app .hkph-login-unified{max-width:800px;margin:0 auto}
body.hkph-portal-page .hkph-app .hkph-code-access-intro.hkph-access-dark,
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark,
body.hkph-portal-page .hkph-app .hkph-access-complete.hkph-access-dark{
  background:linear-gradient(145deg,var(--hk48-dark-2),var(--hk48-deep))!important;border:1px solid rgba(91,221,232,.24)!important;box-shadow:0 20px 44px rgba(8,35,50,.20),inset 0 1px 0 rgba(255,255,255,.08)!important;color:#fff!important
}
body.hkph-portal-page .hkph-app .hkph-code-access-intro.hkph-access-dark h2,
body.hkph-portal-page .hkph-app .hkph-access-complete.hkph-access-dark h2{color:#fff!important;-webkit-text-fill-color:#fff!important}
body.hkph-portal-page .hkph-app .hkph-code-access-intro.hkph-access-dark p,
body.hkph-portal-page .hkph-app .hkph-access-complete.hkph-access-dark p,
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark .hkph-access-help{color:#c8e0ea!important;-webkit-text-fill-color:#c8e0ea!important}
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark label>span{color:#d8edf5!important;-webkit-text-fill-color:#d8edf5!important}
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark input:not([type=checkbox]){background:#081e2b!important;border-color:rgba(114,215,230,.24)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;min-height:50px}
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark input:focus{border-color:#3fd8e9!important;box-shadow:0 0 0 3px rgba(63,216,233,.12)!important}
body.hkph-portal-page .hkph-app .hkph-access-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;padding:7px;background:#dfeaf0;border:1px solid #cbdde6;border-radius:16px}
body.hkph-portal-page .hkph-app .hkph-access-tab{border:0;border-radius:11px;padding:12px 14px;background:transparent;color:#36586a;font-weight:850;cursor:pointer}
body.hkph-portal-page .hkph-app .hkph-access-tab.is-active{background:#102f42;color:#fff;box-shadow:0 8px 18px rgba(8,35,50,.16)}
body.hkph-portal-page .hkph-app .hkph-access-pane{display:none}.hkph-app .hkph-access-pane.is-active{display:block}
body.hkph-portal-page .hkph-app .hkph-email-access-form{grid-template-columns:1fr 1fr!important}
body.hkph-portal-page .hkph-app .hkph-email-access-form .hkph-access-remember{grid-column:1/-1;display:flex!important;align-items:center;gap:8px}
body.hkph-portal-page .hkph-app .hkph-email-access-form .hkph-access-remember input{width:auto!important}
body.hkph-portal-page .hkph-app .hkph-access-help a{color:#73e7ef!important;-webkit-text-fill-color:#73e7ef!important}
body.hkph-portal-page .hkph-app .hkph-access-admin-note{text-align:center;margin-top:14px;color:#4a6878;font-weight:600}
body.hkph-portal-page .hkph-app .hkph-access-admin-note a{color:#086f8a;font-weight:800}

/* Form safety */
body.hkph-portal-page .hkph-app input,
body.hkph-portal-page .hkph-app select,
body.hkph-portal-page .hkph-app textarea{width:100%;max-width:100%;min-width:0;overflow-wrap:anywhere}
body.hkph-portal-page .hkph-app .hkph-money-input{max-width:100%;overflow:hidden}

/* Mobile: flatter but never lower contrast. */
@media(max-width:768px){
  body.hkph-portal-page .hkph-app .hkph-investor-stat,
  body.hkph-portal-page .hkph-app .hkph-investor-recovery-grid>div,
  body.hkph-portal-page .hkph-app .hkph-investor-flow-grid>div,
  body.hkph-portal-page .hkph-app .hkph-investor-personal-payout>div,
  body.hkph-portal-page .hkph-app .hkph-investor-business-grid>div,
  body.hkph-portal-page .hkph-app .hkph-investor-scenarios>div,
  body.hkph-portal-page .hkph-app .hkph-portal-card,
  body.hkph-portal-page .hkph-app .hkph-portal-support{box-shadow:0 9px 20px rgba(8,35,50,.14)!important}
  body.hkph-portal-page .hkph-app .hkph-email-access-form{grid-template-columns:1fr!important}
  body.hkph-portal-page .hkph-app .hkph-access-tabs{grid-template-columns:1fr}
}
@media(max-width:430px){
  body.hkph-portal-page .hkph-app .hkph-shell-hero,
  body.hkph-portal-page .hkph-app .hkph-investor-hero,
  body.hkph-portal-page .hkph-app .hkph-portal-hero{box-shadow:0 12px 26px rgba(8,35,50,.18)!important}
}
@media(prefers-reduced-motion:reduce){
  body.hkph-portal-page .hkph-app *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
body.hkph-portal-page .hkph-app .hkph-investor-kpi-primary{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important}
body.hkph-portal-page .hkph-app .hkph-investor-kpi-primary .hkph-investor-stat strong{font-size:clamp(21px,2.4vw,30px)!important;line-height:1.12}


/* ========================================================================== */
/* v4.8.2 - Portal access visibility hardening                                */
/* ========================================================================== */
body.hkph-portal-page .hkph-app .hkph-portal-login-unified{
  width:100%!important;max-width:980px!important;margin:0 auto!important;padding:0!important;
}
body.hkph-portal-page .hkph-app .hkph-login-unified{
  width:min(100%,860px)!important;max-width:860px!important;margin:0 auto!important;
}
body.hkph-portal-page .hkph-app .hkph-code-access-intro.hkph-access-dark{
  padding:24px 26px!important;border-radius:22px!important;margin-bottom:14px!important;
  background:linear-gradient(145deg,#153f56,#0b2637)!important;
  border:1px solid rgba(68,219,231,.38)!important;
  box-shadow:0 18px 44px rgba(5,31,45,.22),inset 0 1px 0 rgba(255,255,255,.09)!important;
}
body.hkph-portal-page .hkph-app .hkph-access-tabs{
  background:#d9e9f0!important;border:1px solid #9fc3d2!important;box-shadow:inset 0 1px 2px rgba(15,55,75,.08)!important;
}
body.hkph-portal-page .hkph-app .hkph-access-tab{
  color:#23495d!important;-webkit-text-fill-color:#23495d!important;border:1px solid transparent!important;
}
body.hkph-portal-page .hkph-app .hkph-access-tab.is-active{
  color:#fff!important;-webkit-text-fill-color:#fff!important;background:linear-gradient(145deg,#173f55,#0d2c3d)!important;
  border-color:#27d1df!important;box-shadow:0 8px 20px rgba(8,35,50,.18),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark{
  display:grid!important;gap:16px!important;padding:24px!important;border-radius:22px!important;
  background:linear-gradient(145deg,#12394e,#091f2d)!important;
  border:1px solid rgba(77,221,232,.40)!important;
  box-shadow:0 20px 44px rgba(7,32,46,.22),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark .hkph-access-field{
  display:grid!important;gap:8px!important;min-width:0!important;
}
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark .hkph-access-field>span{
  display:block!important;color:#ecfaff!important;-webkit-text-fill-color:#ecfaff!important;
  font-size:13px!important;font-weight:800!important;letter-spacing:.01em!important;opacity:1!important;
}
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark input[type="text"],
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark input[type="email"],
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark input[type="password"],
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark input:not([type="checkbox"]){
  display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:56px!important;
  padding:14px 16px!important;margin:0!important;border:2px solid #49cddd!important;border-radius:14px!important;
  background:#061b29!important;background-image:none!important;color:#ffffff!important;-webkit-text-fill-color:#ffffff!important;
  caret-color:#66f1ff!important;font-size:16px!important;font-weight:700!important;line-height:1.35!important;
  opacity:1!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 0 0 1px rgba(0,0,0,.12)!important;
  outline:none!important;appearance:none!important;-webkit-appearance:none!important;
}
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark input:not([type="checkbox"])::placeholder{
  color:#90b5c5!important;-webkit-text-fill-color:#90b5c5!important;opacity:1!important;font-weight:550!important;
}
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark input:not([type="checkbox"]):hover{
  border-color:#72e8f1!important;background:#082131!important;
}
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark input:not([type="checkbox"]):focus,
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark input:not([type="checkbox"]):focus-visible{
  border-color:#78f5ff!important;background:#071f2e!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  caret-color:#fff!important;box-shadow:0 0 0 4px rgba(75,222,235,.20),0 12px 28px rgba(0,194,214,.13),inset 0 0 0 1px rgba(255,255,255,.06)!important;
}
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark input:-webkit-autofill,
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark input:-webkit-autofill:hover,
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark input:-webkit-autofill:focus{
  -webkit-text-fill-color:#fff!important;caret-color:#fff!important;
  -webkit-box-shadow:0 0 0 1000px #061b29 inset,0 0 0 4px rgba(75,222,235,.15)!important;
  border:2px solid #49cddd!important;transition:background-color 9999s ease-out 0s!important;
}
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark .hkph-access-remember{
  display:flex!important;align-items:center!important;gap:10px!important;color:#d8edf5!important;-webkit-text-fill-color:#d8edf5!important;
}
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark .hkph-access-remember input[type="checkbox"]{
  width:20px!important;height:20px!important;min-width:20px!important;margin:0!important;accent-color:#39d7e5!important;
  border:2px solid #79dce6!important;background:#061b29!important;
}
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark button[type="submit"]{
  min-height:52px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:14px!important;
  background:linear-gradient(90deg,#33caee,#63ef89)!important;color:#082231!important;-webkit-text-fill-color:#082231!important;
  font-size:15px!important;font-weight:900!important;box-shadow:0 12px 28px rgba(31,205,212,.18)!important;
}
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark button[type="submit"]:hover{
  transform:translateY(-1px)!important;filter:brightness(1.03)!important;
}
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark .hkph-access-help{
  margin:0!important;color:#c9e1ea!important;-webkit-text-fill-color:#c9e1ea!important;opacity:1!important;line-height:1.65!important;
}
body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark .hkph-access-help strong{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
}
body.hkph-portal-page .hkph-app .hkph-direct-code-input{
  text-transform:uppercase!important;letter-spacing:.055em!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;
}
body.hkph-portal-page .hkph-app .hkph-access-pane{display:none!important}
body.hkph-portal-page .hkph-app .hkph-access-pane.is-active{display:block!important}
@media(max-width:640px){
  body.hkph-portal-page .hkph-app .hkph-code-access-form.hkph-access-dark{padding:18px!important}
  body.hkph-portal-page .hkph-app .hkph-access-tabs{grid-template-columns:1fr!important}
}

/* v4.8.3 - Direct code clipboard reliability */
body.hkph-portal-page .hkph-app .hkph-direct-code-input.is-code-ready{
  border-color:#21d69c!important;
  box-shadow:0 0 0 3px rgba(33,214,156,.14),0 10px 26px rgba(0,0,0,.16)!important;
}
body.hkph-portal-page .hkph-app .hkph-direct-code-input[aria-invalid="true"]{
  border-color:#e89a26!important;
  box-shadow:0 0 0 3px rgba(232,154,38,.12)!important;
}
