/* PTP_CANONICAL_THEME_SINGLE_V3 */
/* PTP_CUSTOM_SINGLE_THEME_ACTIVE */
:root{
  --ptp-theme-page-bg:#080D11;
  --ptp-theme-page-bg-alt:#060A0D;
  --ptp-theme-sidebar-bg:#101619;
  --ptp-theme-surface:#12181B;
  --ptp-theme-surface-alt:#0E1417;
  --ptp-theme-surface-elevated:#161D21;
  --ptp-theme-input-bg:#0D1316;
  --ptp-theme-button-bg:#17222C;
  --ptp-theme-border:#273138;
  --ptp-theme-border-strong:#34414A;
  --ptp-theme-text-primary:#F4F7FA;
  --ptp-theme-text-secondary:#D3DDE5;
  --ptp-theme-text-muted:#8B9BA9;
  --ptp-theme-accent:#4B78FF;
  --ptp-theme-accent-soft:#17294D;
  --ptp-theme-success:#1FD06F;
  --ptp-theme-warning:#D8A957;
  --ptp-theme-danger:#EF6262;
  --ptp-theme-info:#62A8FF;
  --ptp-theme-chart-grid:#222D34;
  --ptp-theme-chart-series:#25C6FF;
  --ptp-theme-overlay:#000000;
  color-scheme:dark;
}
/* PTP_SINGLE_THEME_FULL_COMPAT_V3 */

/* =========================================================
   Canonical aliases used by legacy UI code
   ========================================================= */
html{
  --bg:var(--ptp-theme-page-bg);
  --bg2:var(--ptp-theme-page-bg-alt);
  --panel:var(--ptp-theme-surface);
  --panel2:var(--ptp-theme-surface-alt);
  --text:var(--ptp-theme-text-primary);
  --soft:var(--ptp-theme-text-secondary);
  --muted:var(--ptp-theme-text-muted);
  --muted2:var(--ptp-theme-text-muted);
  --line:color-mix(in srgb,var(--ptp-theme-border) 86%,transparent);
  --line2:color-mix(in srgb,var(--ptp-theme-border-strong) 88%,transparent);
  --blue:var(--ptp-theme-accent);
  --green:var(--ptp-theme-success);
  --red:var(--ptp-theme-danger);
  --yellow:var(--ptp-theme-warning);
  --amber:var(--ptp-theme-warning);
  --shadow:0 20px 60px color-mix(in srgb,var(--ptp-theme-overlay) 24%,transparent);
  accent-color:var(--ptp-theme-accent);
}
html,html body{
  background-color:var(--ptp-theme-page-bg)!important;
  color:var(--ptp-theme-text-primary)!important;
}
html body{
  background-image:linear-gradient(180deg,var(--ptp-theme-page-bg-alt),var(--ptp-theme-page-bg))!important;
}
html body,html button,html input,
html select,html textarea{color-scheme:inherit}

/* =========================================================
   Universal form/readability layer
   ========================================================= */
html body input,
html body select,
html body textarea,
html body .searchInput,
html body [contenteditable="true"]{
  background-color:var(--ptp-theme-input-bg)!important;
  color:var(--ptp-theme-text-primary)!important;
  -webkit-text-fill-color:var(--ptp-theme-text-primary)!important;
  border-color:var(--ptp-theme-border-strong)!important;
  caret-color:var(--ptp-theme-accent)!important;
  opacity:1!important;
}
html body input:focus,
html body select:focus,
html body textarea:focus,
html body .searchInput:focus{
  background-color:var(--ptp-theme-surface-elevated)!important;
  border-color:var(--ptp-theme-accent)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--ptp-theme-accent) 12%,transparent)!important;
}
html body input::placeholder,
html body textarea::placeholder{
  color:var(--ptp-theme-text-muted)!important;
  -webkit-text-fill-color:var(--ptp-theme-text-muted)!important;
  opacity:1!important;
}
html body input:-webkit-autofill,
html body input:-webkit-autofill:hover,
html body input:-webkit-autofill:focus,
html body textarea:-webkit-autofill,
html body select:-webkit-autofill{
  -webkit-text-fill-color:var(--ptp-theme-text-primary)!important;
  box-shadow:0 0 0 1000px var(--ptp-theme-input-bg) inset!important;
}
html body option{background:var(--ptp-theme-surface-elevated);color:var(--ptp-theme-text-primary)}
html body ::selection{background:color-mix(in srgb,var(--ptp-theme-accent) 30%,transparent);color:var(--ptp-theme-text-primary)}

/* =========================================================
   Semantic colors — always applied after generic text rules
   ========================================================= */
html body .good,html body .green,html body .pos,
html body .positive,html body [data-tone="success"]{
  color:var(--ptp-theme-success)!important;-webkit-text-fill-color:var(--ptp-theme-success)!important;
}
html body .bad,html body .red,html body .neg,
html body .negative,html body [data-tone="danger"]{
  color:var(--ptp-theme-danger)!important;-webkit-text-fill-color:var(--ptp-theme-danger)!important;
}
html body .warn,html body .warning,
html body [data-tone="warning"]{
  color:var(--ptp-theme-warning)!important;-webkit-text-fill-color:var(--ptp-theme-warning)!important;
}
html body .info,html body [data-tone="info"]{
  color:var(--ptp-theme-info)!important;-webkit-text-fill-color:var(--ptp-theme-info)!important;
}

/* =========================================================
   User Dashboard shell
   ========================================================= */
html body .app,html body .main{background:transparent!important;color:var(--ptp-theme-text-primary)!important}
html body .side,html body .mobileTop{
  background:linear-gradient(180deg,var(--ptp-theme-sidebar-bg),color-mix(in srgb,var(--ptp-theme-sidebar-bg) 92%,var(--ptp-theme-page-bg)))!important;
  border-color:var(--ptp-theme-border)!important;color:var(--ptp-theme-text-primary)!important;
}
html body .brand b,html body .topbar h1,
html body .ptpAccountMetaV1 strong{color:var(--ptp-theme-text-primary)!important;-webkit-text-fill-color:var(--ptp-theme-text-primary)!important}
html body .brand span,html body .brand small,
html body .topbar p,html body .ptpAccountMetaV1 small{color:var(--ptp-theme-text-muted)!important;-webkit-text-fill-color:var(--ptp-theme-text-muted)!important}
html body .nav button,html body .nav a,
html body .sideProductBtn,html body .sideNotificationBtn{
  color:var(--ptp-theme-text-secondary)!important;-webkit-text-fill-color:var(--ptp-theme-text-secondary)!important;
  background:transparent!important;border-color:transparent!important;
}
html body .nav button:hover,html body .nav button.active,
html body .nav a:hover,html body .sideProductBtn:hover,
html body .sideProductBtn.active,html body .sideNotificationBtn:hover,
html body .sideNotificationBtn.active{
  color:var(--ptp-theme-text-primary)!important;-webkit-text-fill-color:var(--ptp-theme-text-primary)!important;
  background:var(--ptp-theme-accent-soft)!important;border-color:var(--ptp-theme-accent)!important;
}
html body .menuIcon,html body .sideProductIcon{color:var(--ptp-theme-accent)!important}
html body #sideProductList .pName,
html body #sideNotificationList .pName{color:var(--ptp-theme-text-primary)!important;-webkit-text-fill-color:var(--ptp-theme-text-primary)!important}
html body #sideProductList .pMeta,
html body #sideNotificationList .pMeta{color:var(--ptp-theme-text-muted)!important;-webkit-text-fill-color:var(--ptp-theme-text-muted)!important}
html body .ptpAffiliateWalletV1,
html body .ptpAccountTriggerV1,html body .ptpAccountMenuV1,
html body .ptpAccountModalDialogV1{
  background:var(--ptp-theme-surface-elevated)!important;border-color:var(--ptp-theme-border-strong)!important;
  color:var(--ptp-theme-text-primary)!important;box-shadow:0 14px 36px color-mix(in srgb,var(--ptp-theme-overlay) 16%,transparent)!important;
}
html body .ptpAccountModalV1,
html body .ptpGatewayOverlayV1,html body .ptpMiteReturnOverlayV1{
  background:color-mix(in srgb,var(--ptp-theme-overlay) 72%,transparent)!important;
}
html body .ptpAccountInfoCardV1,html body .ptpAccountMenuItemV1:hover{
  background:var(--ptp-theme-surface-alt)!important;border-color:var(--ptp-theme-border)!important;
}
html body .badge,html body .statusBadge{
  border-color:var(--ptp-theme-border-strong)!important;
}
html body footer,html body .site-footer{color:var(--ptp-theme-text-muted)!important;border-color:var(--ptp-theme-border)!important}

/* =========================================================
   User views — common surfaces and text
   ========================================================= */
html body #view-network .card,
html body #view-products .card,
html body #view-my-performance .card,
html body #view-ea .card,
html body #view-brokers .card,
html body #view-subscriptions .card,
html body #view-billing .card,
html body #view-affiliate .card,
html body #view-telegram .card,
html body #view-helpdesk .card,
html body #view-network .panel,
html body #view-products .panel,
html body #view-my-performance .panel,
html body #view-ea .panel,
html body #view-brokers .panel,
html body #view-subscriptions .panel,
html body #view-billing .panel,
html body #view-affiliate .panel,
html body #view-telegram .panel,
html body #view-helpdesk .panel{
  background:linear-gradient(180deg,var(--ptp-theme-surface-elevated),var(--ptp-theme-surface))!important;
  border-color:var(--ptp-theme-border)!important;color:var(--ptp-theme-text-primary)!important;
  box-shadow:0 16px 42px color-mix(in srgb,var(--ptp-theme-overlay) 12%,transparent)!important;
}
html body .view .panelHead h2,html body .view h2,
html body .view h3,html body .view h4{
  color:var(--ptp-theme-text-primary)!important;-webkit-text-fill-color:var(--ptp-theme-text-primary)!important;
}
html body .view .panelHead span,html body .view .sub,
html body .view .hint,html body .view small{
  color:var(--ptp-theme-text-muted)!important;-webkit-text-fill-color:var(--ptp-theme-text-muted)!important;
}
html body .view .label,html body .view label,
html body .view th,html body .view [class*="Label"],
html body .view [class*="Meta"]{
  color:var(--ptp-theme-text-secondary)!important;-webkit-text-fill-color:var(--ptp-theme-text-secondary)!important;
}

/* =========================================================
   Network Overview
   ========================================================= */
html body #view-network .ptpAchMetric,
html body #view-network .ptpAchSection,
html body #view-network .ptpAchStatCardV8,
html body #view-network .ptpAchBarRow,
html body #view-network .ptpAchTableWrap{
  background:linear-gradient(180deg,var(--ptp-theme-surface-elevated),var(--ptp-theme-surface))!important;
  border-color:var(--ptp-theme-border)!important;color:var(--ptp-theme-text-primary)!important;
}
html body #view-network .ptpAchChartWrap{
  background:linear-gradient(180deg,var(--ptp-theme-surface-alt),var(--ptp-theme-surface-elevated))!important;
  border-color:var(--ptp-theme-border)!important;
}
html body #view-network .ptpAchMetric .value:not(.good):not(.bad):not(.warn),
html body #view-network .ptpAchStatValueV8,
html body #view-network .ptpAchStatValueMainV8,
html body #view-network .ptpAchBarTop strong,
html body #view-network .ptpAchTable td,
html body #view-network .ptpAchChartTotalAmountV15{
  color:var(--ptp-theme-text-primary)!important;-webkit-text-fill-color:var(--ptp-theme-text-primary)!important;
}
html body #view-network .ptpAchMetric .label,
html body #view-network .ptpAchStatLabelV8,
html body #view-network .ptpAchTable th{
  color:var(--ptp-theme-text-secondary)!important;-webkit-text-fill-color:var(--ptp-theme-text-secondary)!important;
}
html body #view-network .ptpAchMetric .sub,
html body #view-network .ptpAchStatSubV8,
html body #view-network .ptpAchSectionHead span,
html body #view-network .ptpAchBarTop span,
html body #view-network .ptpAchProductMeta,
html body #view-network .ptpCurrencyUnit,
html body #view-network .ptpAchChartTotalUnitV15,
html body #view-network .ptpAchChartTotalLabelV15{
  color:var(--ptp-theme-text-muted)!important;-webkit-text-fill-color:var(--ptp-theme-text-muted)!important;
}
html body #view-network .ptpAchBarTrack{background:color-mix(in srgb,var(--ptp-theme-border-strong) 55%,var(--ptp-theme-surface-alt))!important}
html body #view-network .ptpAchBarTrack i{background:linear-gradient(90deg,var(--ptp-theme-info),var(--ptp-theme-chart-series))!important}
html body #view-network .ptpAchBarTrack i.good{background:linear-gradient(90deg,color-mix(in srgb,var(--ptp-theme-success) 75%,#000),var(--ptp-theme-success))!important}
html body #view-network .ptpAchBarTrack i.bad{background:linear-gradient(90deg,color-mix(in srgb,var(--ptp-theme-danger) 75%,#000),var(--ptp-theme-danger))!important}
html body #view-network .ptpChartGrid{stroke:var(--ptp-theme-chart-grid)!important}
html body #view-network .ptpChartTickLabel,
html body #view-network .ptpChartXAxisLabel{fill:var(--ptp-theme-text-muted)!important}
html body #view-network .ptpChartLine{stroke:var(--ptp-theme-chart-series)!important}
html body #view-network .ptpChartPoint{fill:var(--ptp-theme-surface-elevated)!important;stroke:var(--ptp-theme-chart-series)!important}
html body #view-network .ptpChartPointLast{fill:var(--ptp-theme-success)!important;stroke:var(--ptp-theme-surface-elevated)!important}
html body #view-network .ptpAchTable th,
html body #view-network .ptpAchTable td{border-color:var(--ptp-theme-border)!important}

/* =========================================================
   Product Performance
   ========================================================= */
html body #view-products .client{
  background:linear-gradient(180deg,var(--ptp-theme-surface-elevated),var(--ptp-theme-surface))!important;
  border-color:var(--ptp-theme-border-strong)!important;color:var(--ptp-theme-text-primary)!important;
  opacity:1!important;filter:none!important;
}
html body #view-products .client:hover{border-color:var(--ptp-theme-accent)!important;background:var(--ptp-theme-surface-elevated)!important}
html body #view-products .clientTop,
html body #view-products .clientBody{border-color:var(--ptp-theme-border)!important}
html body #view-products .clientTop h3,
html body #view-products .clientTopMeta b,
html body #view-products .clientLatency em,
html body #view-products .clientField b:not(.good):not(.bad):not(.warn){
  color:var(--ptp-theme-text-primary)!important;-webkit-text-fill-color:var(--ptp-theme-text-primary)!important;opacity:1!important;
}
html body #view-products .clientTopMeta span,
html body #view-products .clientField span{
  color:var(--ptp-theme-text-secondary)!important;-webkit-text-fill-color:var(--ptp-theme-text-secondary)!important;opacity:1!important;
}
html body #view-products .status:not(.off){color:var(--ptp-theme-success)!important;-webkit-text-fill-color:var(--ptp-theme-success)!important}
html body #view-products .status.off{color:var(--ptp-theme-text-muted)!important;-webkit-text-fill-color:var(--ptp-theme-text-muted)!important}

/* =========================================================
   My Performance
   ========================================================= */
html body #view-my-performance .ptpMyPerfMetricV1,
html body #view-my-performance .ptpMyPerfChartPanelV1,
html body #view-my-performance .ptpMyPerfCashPanelV1,
html body #view-my-performance .ptpMyPerfAccountsPanelV1,
html body #view-my-performance .ptpMyPerfCashRowV1,
html body #view-my-performance .ptpMyPerfAccountV1,
html body #view-my-performance .ptpMyPerfAccountFieldV1,
html body #view-my-performance .ptpMyPerfChartTooltipV1{
  background:linear-gradient(180deg,var(--ptp-theme-surface-elevated),var(--ptp-theme-surface))!important;
  border-color:var(--ptp-theme-border)!important;color:var(--ptp-theme-text-primary)!important;
}
html body #view-my-performance .ptpMyPerfAccountTopV1 h3,
html body #view-my-performance .ptpMyPerfAccountFieldV1 b:not(.good):not(.bad),
html body #view-my-performance .ptpMyPerfCashRowV1 span:not(.ptpMyPerfCashTypeV1){
  color:var(--ptp-theme-text-primary)!important;-webkit-text-fill-color:var(--ptp-theme-text-primary)!important;
}
html body #view-my-performance .ptpMyPerfAccountTopV1 p,
html body #view-my-performance .ptpMyPerfCashCommentV1,
html body #view-my-performance .ptpMyPerfChartCaptionV1{
  color:var(--ptp-theme-text-muted)!important;-webkit-text-fill-color:var(--ptp-theme-text-muted)!important;
}
html body #view-my-performance .ptpMyPerfAccountFieldV1 span{
  color:var(--ptp-theme-text-secondary)!important;-webkit-text-fill-color:var(--ptp-theme-text-secondary)!important;
}

/* =========================================================
   Expert Advisor, checkout and gateway modals
   ========================================================= */
html body #view-ea .ptpProductCard,
html body #view-ea .ptpCheckoutPanelV17,
html body #view-ea .ptpGatewayModalV1,
html body #view-ea .ptpGatewayCardV1,
html body #view-ea .ptpMiteReturnModalV1,
html body #view-ea .ptpPaymentSuccessModalV3{
  background:linear-gradient(180deg,var(--ptp-theme-surface-elevated),var(--ptp-theme-surface))!important;
  border-color:var(--ptp-theme-border)!important;color:var(--ptp-theme-text-primary)!important;
}
html body #view-ea .ptpProductCard h3,
html body #view-ea .ptpSectionTitleV17,
html body #view-ea .ptpGatewayHeadV1,
html body #view-ea .ptpSummaryRowV17 strong,
html body #view-ea .ptpMiteReturnModalV1 h3{
  color:var(--ptp-theme-text-primary)!important;-webkit-text-fill-color:var(--ptp-theme-text-primary)!important;
}
html body #view-ea .ptpProductCard p,
html body #view-ea .ptpGatewayStatusV1,
html body #view-ea .ptpMiteReturnMessageV1,
html body #view-ea .ptpMiteReturnMetaV1{
  color:var(--ptp-theme-text-muted)!important;-webkit-text-fill-color:var(--ptp-theme-text-muted)!important;
}
html body #view-ea .ptpGatewayCloseV1,
html body #view-ea .ptpGatewayCardV1:hover{background:var(--ptp-theme-button-bg)!important;border-color:var(--ptp-theme-border-strong)!important}

/* =========================================================
   Brokers, Subscriptions, Billing, Affiliate, Telegram
   ========================================================= */
html body #view-brokers .ptpProductCard,
html body #view-subscriptions .ptpSubsProPanel,
html body #view-subscriptions .ptpSubsProItem,
html body #view-subscriptions .ptpSubsLicenseBlock,
html body #view-billing .ptpBillingPanel,
html body #view-billing .ptpBillingMetric,
html body #view-billing .ptpBillingNotice,
html body #view-billing .ptpBillingTableWrap,
html body #view-affiliate .ptpAffiliatePanelV1,
html body #view-telegram .ptpTelegramUserPanelV1,
html body #view-telegram .ptpTelegramBoxV1,
html body #view-telegram .ptpTelegramLicenseBoxV1{
  background:linear-gradient(180deg,var(--ptp-theme-surface-elevated),var(--ptp-theme-surface))!important;
  border-color:var(--ptp-theme-border)!important;color:var(--ptp-theme-text-primary)!important;
}
html body #view-subscriptions .ptpSubsTitleLine h3,
html body #view-subscriptions .ptpSubsLicenseLine code,
html body #view-subscriptions .ptpSubsMeta strong,
html body #view-billing .ptpBillingMetric strong,
html body #view-billing .ptpBillingTable td,
html body #view-telegram .ptpTelegramLicenseListV1,
html body #view-affiliate strong{
  color:var(--ptp-theme-text-primary)!important;-webkit-text-fill-color:var(--ptp-theme-text-primary)!important;
}
html body #view-subscriptions .ptpSubsProductText p,
html body #view-subscriptions .ptpSubsLicenseBlock > span,
html body #view-subscriptions .ptpSubsMeta span,
html body #view-billing .ptpBillingMetric span,
html body #view-billing .ptpBillingSmall,
html body #view-telegram .ptpTelegramHintV1,
html body #view-affiliate .hint{
  color:var(--ptp-theme-text-muted)!important;-webkit-text-fill-color:var(--ptp-theme-text-muted)!important;
}
html body #view-billing .ptpBillingTable th,
html body #view-billing .ptpBillingTable td{border-color:var(--ptp-theme-border)!important}

/* =========================================================
   User Helpdesk
   ========================================================= */
html body #view-helpdesk .ptpHelpdeskTicketRow,
html body #view-helpdesk .ptpHelpdeskConversation,
html body #view-helpdesk .ptpHelpdeskMessage,
html body #view-helpdesk .ptpHelpdeskFaqNotice,
html body #view-helpdesk .ptpHelpdeskClosedNote{
  background:var(--ptp-theme-surface-elevated)!important;border-color:var(--ptp-theme-border)!important;
  color:var(--ptp-theme-text-primary)!important;
}
html body #view-helpdesk .ptpHelpdeskTicketRow:hover,
html body #view-helpdesk .ptpHelpdeskTicketRow.active{background:var(--ptp-theme-accent-soft)!important;border-color:var(--ptp-theme-accent)!important}
html body #view-helpdesk .ptpHelpdeskMessage.user{background:color-mix(in srgb,var(--ptp-theme-accent-soft) 78%,var(--ptp-theme-surface-elevated))!important}
html body #view-helpdesk .ptpHelpdeskMessage.admin{background:var(--ptp-theme-surface-alt)!important}
html body #view-helpdesk .ptpHelpdeskTicketMain strong,
html body #view-helpdesk .ptpHelpdeskMessageMeta strong,
html body #view-helpdesk .ptpHelpdeskMessageText{
  color:var(--ptp-theme-text-primary)!important;-webkit-text-fill-color:var(--ptp-theme-text-primary)!important;
}
html body #view-helpdesk .ptpHelpdeskTicketMain small,
html body #view-helpdesk .ptpHelpdeskTicketMeta,
html body #view-helpdesk .ptpHelpdeskMessageMeta span{
  color:var(--ptp-theme-text-muted)!important;-webkit-text-fill-color:var(--ptp-theme-text-muted)!important;
}

/* =========================================================
   Admin shell and every data-panel
   ========================================================= */
html body .adminApp,html body .app{color:var(--ptp-theme-text-primary)!important}
html body .topbar,html body .header{
  border-color:var(--ptp-theme-border)!important;color:var(--ptp-theme-text-primary)!important;
}
html body [data-panel] .card,
html body [data-panel] .metric,
html body [data-panel] .rule,
html body [data-panel] .item,
html body [data-panel] .box,
html body [data-panel] [class*="Card"],
html body [data-panel] [class*="Box"],
html body [data-panel] [class*="Panel"],
html body [data-panel] [class*="Metric"],
html body [data-panel] [class*="Section"],
html body [data-panel] [class*="TableWrap"]{
  background:linear-gradient(180deg,var(--ptp-theme-surface-elevated),var(--ptp-theme-surface))!important;
  border-color:var(--ptp-theme-border)!important;color:var(--ptp-theme-text-primary)!important;
  box-shadow:0 14px 38px color-mix(in srgb,var(--ptp-theme-overlay) 10%,transparent)!important;
}
html body [data-panel] h1,
html body [data-panel] h2,
html body [data-panel] h3,
html body [data-panel] h4,
html body [data-panel] strong:not(.good):not(.bad):not(.warn),
html body [data-panel] b:not(.good):not(.bad):not(.warn){
  color:var(--ptp-theme-text-primary)!important;-webkit-text-fill-color:var(--ptp-theme-text-primary)!important;
}
html body [data-panel] p,
html body [data-panel] small,
html body [data-panel] .sub,
html body [data-panel] .hint,
html body [data-panel] [class*="Muted"],
html body [data-panel] [class*="Hint"]{
  color:var(--ptp-theme-text-muted)!important;-webkit-text-fill-color:var(--ptp-theme-text-muted)!important;
}
html body [data-panel] label,
html body [data-panel] th,
html body [data-panel] .label,
html body [data-panel] [class*="Label"],
html body [data-panel] [class*="Meta"]{
  color:var(--ptp-theme-text-secondary)!important;-webkit-text-fill-color:var(--ptp-theme-text-secondary)!important;
}
html body [data-panel] table,
html body [data-panel] th,
html body [data-panel] td{border-color:var(--ptp-theme-border)!important}
html body [data-panel] tr:hover td{background:var(--ptp-theme-accent-soft)!important}
html body .subNavBtn,html body .webSubNavBtn,
html body .paymentSubNavBtn,html body .paypalMiniBtn,
html body .brokerMiniBtn,html body .customerMiniBtn,
html body .productMiniBtn,html body .affiliateMiniBtn{
  background:var(--ptp-theme-button-bg)!important;color:var(--ptp-theme-text-primary)!important;
  -webkit-text-fill-color:var(--ptp-theme-text-primary)!important;border-color:var(--ptp-theme-border)!important;
}
html body .subNavBtn.active,html body .webSubNavBtn.active,
html body .paymentSubNavBtn.active{background:var(--ptp-theme-accent-soft)!important;border-color:var(--ptp-theme-accent)!important}
html body .loginWrap{background:transparent!important}
html body .loginCard{
  background:linear-gradient(180deg,var(--ptp-theme-surface-elevated),var(--ptp-theme-surface))!important;
  border-color:var(--ptp-theme-border)!important;color:var(--ptp-theme-text-primary)!important;
}

/* Admin Helpdesk */
html body [data-panel="helpdesk"] .ptpAdminHelpdeskCard,
html body [data-panel="helpdesk"] .ptpAdminHelpdeskConversation,
html body [data-panel="helpdesk"] .ptpAdminHelpdeskMessage{
  background:var(--ptp-theme-surface-elevated)!important;border-color:var(--ptp-theme-border)!important;color:var(--ptp-theme-text-primary)!important;
}

/* Typography and Themes editors */
html body [data-panel="typography"] .ptpTypographySectionV1,
html body [data-panel="typography"] .ptpTypographyFieldV1,
html body [data-panel="typography"] .ptpTypographyPreviewV1,
html body [data-panel="typography"] .ptpTypographyFontTriggerV2,
html body [data-panel="typography"] .ptpTypographyFontListV2,
html body [data-panel="themes"] .ptpThemesCardV1,
html body [data-panel="themes"] .ptpThemesInfoV1,
html body [data-panel="themes"] .ptpThemesPaletteV1,
html body [data-panel="themes"] .ptpThemesPreviewModesV1,
html body [data-panel="themes"] .ptpThemeColorFieldV1 input{
  background:var(--ptp-theme-surface-elevated)!important;border-color:var(--ptp-theme-border)!important;color:var(--ptp-theme-text-primary)!important;
}
html body [data-panel="typography"] .ptpTypographyFontOptionV2:hover,
html body [data-panel="typography"] .ptpTypographyFontOptionV2.selected{
  background:var(--ptp-theme-accent-soft)!important;border-color:var(--ptp-theme-accent)!important;
}

/* =========================================================
   Homepage
   ========================================================= */
html body .topbar,html body .hero,
html body section{border-color:var(--ptp-theme-border)!important}
html body .terminal,html body .feature,
html body .product,html body .price,
html body .quote,html body .compareBox,
html body .stat{
  background:linear-gradient(180deg,var(--ptp-theme-surface-elevated),var(--ptp-theme-surface))!important;
  border-color:var(--ptp-theme-border)!important;color:var(--ptp-theme-text-primary)!important;
}
html body .hero h1,html body .sectionHead h2,
html body .product h3,html body .price h3{
  color:var(--ptp-theme-text-primary)!important;-webkit-text-fill-color:var(--ptp-theme-text-primary)!important;
}
html body .lead,html body .sectionHead p,
html body .product p,html body .feature p,
html body .trustline,html body .terms{
  color:var(--ptp-theme-text-muted)!important;-webkit-text-fill-color:var(--ptp-theme-text-muted)!important;
}

/* =========================================================
   Authentication
   ========================================================= */
html body .shell .side,
html body .shell .auth,
html body .shell .box,
html body .shell .terminal,
html body .shell .metric,
html body .shell .verifyCardV1,
html body .shell .ptpResetInvalidBox{
  background:linear-gradient(180deg,var(--ptp-theme-surface-elevated),var(--ptp-theme-surface))!important;
  border-color:var(--ptp-theme-border)!important;color:var(--ptp-theme-text-primary)!important;
}
html body .shell h1,html body .shell h2,
html body .shell h3,html body .shell strong,
html body .shell b:not(.pos):not(.neg){color:var(--ptp-theme-text-primary)!important;-webkit-text-fill-color:var(--ptp-theme-text-primary)!important}
html body .shell p,html body .shell .hint,
html body .shell .terms,html body .shell .swap,
html body .shell .verifyMetaV1{color:var(--ptp-theme-text-muted)!important;-webkit-text-fill-color:var(--ptp-theme-text-muted)!important}
html body .shell .field,html body .shell .google,
html body .shell .tabs{background:var(--ptp-theme-input-bg)!important;border-color:var(--ptp-theme-border)!important;color:var(--ptp-theme-text-primary)!important}
html body .ptpUserAuthRecaptchaLoadingV3{background:var(--ptp-theme-surface-elevated)!important;border-color:var(--ptp-theme-border-strong)!important;color:var(--ptp-theme-text-primary)!important}

/* =========================================================
   Public pages
   ========================================================= */
html body .site-header,
html body .page-hero,
html body .site-footer{
  background:var(--ptp-theme-surface-alt)!important;border-color:var(--ptp-theme-border)!important;color:var(--ptp-theme-text-primary)!important;
}
html body .surface,html body .support-card,
html body .content-card,html body .summary-card,
html body .contact-card,html body .faq-item,
html body .faq-category{
  background:var(--ptp-theme-surface-elevated)!important;border-color:var(--ptp-theme-border)!important;color:var(--ptp-theme-text-primary)!important;
}
html body .page-main h1,html body .page-main h2,
html body .page-main h3,html body .page-hero h1,
html body .site-brand strong{color:var(--ptp-theme-text-primary)!important;-webkit-text-fill-color:var(--ptp-theme-text-primary)!important}
html body .page-main p,html body .hero-copy,
html body .updated-line,html body .site-footer p,
html body .faq-answer{color:var(--ptp-theme-text-muted)!important;-webkit-text-fill-color:var(--ptp-theme-text-muted)!important}
html body .public-nav a.active,html body .public-nav a:hover{
  background:var(--ptp-theme-accent-soft)!important;color:var(--ptp-theme-text-primary)!important;border-color:var(--ptp-theme-accent)!important;
}

/* =========================================================
   Stats page
   ========================================================= */
html body .wrap .header,html body .wrap .card,
html body .wrap .metric,html body .wrap .idCard,
html body .wrap .priceCell,html body .wrap .history-row,
html body .wrap .growthTooltipV1,
html body .wrap .ptpPriceItemV1{
  background:linear-gradient(180deg,var(--ptp-theme-surface-elevated),var(--ptp-theme-surface))!important;
  border-color:var(--ptp-theme-border)!important;color:var(--ptp-theme-text-primary)!important;
}
html body .wrap h1,html body .wrap h2,
html body .wrap h3,html body .wrap .value:not(.pos):not(.neg),
html body .wrap .idValue,html body .wrap td{
  color:var(--ptp-theme-text-primary)!important;-webkit-text-fill-color:var(--ptp-theme-text-primary)!important;
}
html body .wrap .label,html body .wrap .idLabel,
html body .wrap th{color:var(--ptp-theme-text-secondary)!important;-webkit-text-fill-color:var(--ptp-theme-text-secondary)!important}
html body .wrap .sub,html body .wrap .accountMeta,
html body .wrap .growthChartCaptionV1,
html body .wrap .pagerInfo{color:var(--ptp-theme-text-muted)!important;-webkit-text-fill-color:var(--ptp-theme-text-muted)!important}
html body .wrap .growthGridLineV1{stroke:var(--ptp-theme-chart-grid)!important}
html body .wrap .growthAxisTextV1,
html body .wrap .growthAxisTickV1,
html body .wrap .growthAxisTitleV1{fill:var(--ptp-theme-text-muted)!important}
html body .wrap .growthPointV1{fill:var(--ptp-theme-chart-series)!important;stroke:var(--ptp-theme-surface-elevated)!important}
html body .growthDataTable th,html body .growthDataTable td,
html body .tradeTable th,html body .tradeTable td,
html body .historyTable th,html body .historyTable td{border-color:var(--ptp-theme-border)!important}

/* =========================================================
   Buttons, links and badges (late so component rules win)
   ========================================================= */
html body .view button:not(.primary):not(.submit):not(.danger),
html body [data-panel] button:not(.primary):not(.submit):not(.danger),
html body .shell button:not(.primary):not(.submit):not(.danger),
html body .btn:not(.primary):not(.danger),
html body .button.secondary,
html body .view .secondary,
html body [data-panel] .secondary{
  background-color:var(--ptp-theme-button-bg)!important;color:var(--ptp-theme-text-primary)!important;
  -webkit-text-fill-color:var(--ptp-theme-text-primary)!important;border-color:var(--ptp-theme-border)!important;
}
html body .primary,html body .submit,
html body .ptpCheckoutPayButtonV17,
html body .ptpBillingPayBtn{
  background:var(--ptp-theme-success)!important;color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;border-color:var(--ptp-theme-success)!important;
}
html body .danger,html body .ptpAccountPrimaryDangerV1{
  background:var(--ptp-theme-danger)!important;color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;border-color:var(--ptp-theme-danger)!important;
}
html body a:not(.primary):not(.submit):not(.danger){color:var(--ptp-theme-accent)}

/* =========================================================
   Mobile — preserve readable contrast after mobile !important
   ========================================================= */
@media(max-width:820px){
  html body .side{background:var(--ptp-theme-sidebar-bg)!important}
  html body .mobileTop{background:var(--ptp-theme-surface-elevated)!important;border-color:var(--ptp-theme-border)!important}
  html body .nav button,html body .sideProductBtn,
  html body .sideNotificationBtn{color:var(--ptp-theme-text-secondary)!important;-webkit-text-fill-color:var(--ptp-theme-text-secondary)!important}
  html body .nav button.active,html body .sideProductBtn.active,
  html body .sideNotificationBtn.active{color:var(--ptp-theme-text-primary)!important;-webkit-text-fill-color:var(--ptp-theme-text-primary)!important}
  html body #view-products .client,
  html body #view-my-performance .ptpMyPerfAccountV1,
  html body #view-helpdesk .ptpHelpdeskTicketRow{background:var(--ptp-theme-surface-elevated)!important;border-color:var(--ptp-theme-border)!important}
}

