/* =========================================================
   PARTEM-X BOS — Dashboard Shell Styles
   ========================================================= */

:root{
	--ptx-purple-900:#1e1240;
	--ptx-purple-700:#3b1878;
	--ptx-purple-600:#4c1fb0;
	--ptx-indigo-600:#4338ca;
	--ptx-accent:#8b5cf6;
	--ptx-accent-light:#c4b5fd;
	--ptx-gold:#f5c451;
	--ptx-bg:#f5f6fb;
	--ptx-card:#ffffff;
	--ptx-border:#e6e7f0;
	--ptx-text:#1f2130;
	--ptx-muted:#6b7089;
	--ptx-success:#16a34a;
	--ptx-warning:#d97706;
	--ptx-danger:#dc2626;
	--ptx-radius:14px;
	--ptx-sidebar-w:272px;
	--ptx-topbar-h:68px;
	--ptx-sidebar-text:#ffffff;
	--ptx-btn-color:#6d28d9;
}

.ptx-app *{ box-sizing:border-box; }

.ptx-app{
	position:relative;
	display:flex;
	min-height:100vh;
	background:var(--ptx-bg);
	color:var(--ptx-text);
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	font-size:14px;
	line-height:1.5;
}

.ptx-app a{ color:inherit; text-decoration:none; }
.ptx-app button{ font-family:inherit; cursor:pointer; }
.ptx-muted{ color:var(--ptx-muted); }

/* ---------------- Sidebar ---------------- */

.ptx-sidebar{
	width:var(--ptx-sidebar-w);
	flex-shrink:0;
	background:
		radial-gradient(circle at 100% 0%, rgba(245,196,81,.10), transparent 40%),
		radial-gradient(circle at 0% 100%, rgba(139,92,246,.28), transparent 45%),
		linear-gradient(195deg,var(--ptx-purple-900) 0%,var(--ptx-purple-700) 50%,var(--ptx-purple-600) 100%);
	color:var(--ptx-sidebar-text);
	display:flex;
	flex-direction:column;
	position:sticky;
	top:0;
	height:100vh;
	z-index:40;
	transition:transform .28s ease, width .2s ease;
	box-shadow:6px 0 30px rgba(20,8,50,.18);
}

.ptx-sidebar-brand{
	display:flex;
	align-items:center;
	gap:10px;
	padding:24px 20px 20px;
	border-bottom:1px solid rgba(255,255,255,.10);
}
.ptx-brand-mark{
	width:38px;height:38px;border-radius:11px;
	background:linear-gradient(135deg, var(--ptx-gold), var(--ptx-accent));
	display:flex;align-items:center;justify-content:center;
	font-weight:800; letter-spacing:.5px; color:#241148;
	box-shadow:0 6px 14px rgba(245,196,81,.3);
	flex-shrink:0;
}
.ptx-brand-logo-img{
	width:var(--ptx-logo-w-desktop, 38px);
	height:var(--ptx-logo-h-desktop, 38px);
	object-fit:contain;
	border-radius:8px;
	flex-shrink:0;
}
.ptx-brand-text{ display:flex; flex-direction:column; font-weight:800; letter-spacing:.5px; font-size:15px; line-height:1.1; }
.ptx-brand-text strong{ color:var(--ptx-gold); font-weight:900; }
.ptx-brand-text small{ font-size:7.5px; font-weight:600; letter-spacing:2px; opacity:.6; white-space:nowrap; }
.ptx-brand-text-dynamic{
	font-size:14px; max-width:150px; overflow:hidden; text-overflow:ellipsis;
	white-space:nowrap; text-transform:none; letter-spacing:0;
}
.ptx-sidebar-close{ margin-left:auto; background:none; border:0; color:var(--ptx-sidebar-text); font-size:22px; display:none; }

.ptx-nav{ flex:1; overflow-y:auto; padding:18px 12px; }
.ptx-nav ul{ list-style:none; margin:0; padding:0; }
.ptx-nav-item{ margin-bottom:3px; }

.ptx-nav-link{
	width:100%;
	display:flex; align-items:center; gap:13px;
	background:none; border:0; color:var(--ptx-sidebar-text);
	opacity:.78;
	padding:12px 15px; border-radius:12px; font-size:13.5px; font-weight:500;
	transition:background .18s ease,color .18s ease,transform .12s ease,opacity .18s ease;
	text-align:left;
}
.ptx-nav-link .dashicons{ font-size:19px; width:19px; height:19px; opacity:.85; }
.ptx-nav-link:hover{ background:rgba(255,255,255,.08); opacity:1; transform:translateX(2px); }
.ptx-nav-link.is-active{
	background:linear-gradient(90deg, rgba(245,196,81,.18), rgba(255,255,255,.10));
	opacity:1;
	box-shadow:inset 3px 0 0 var(--ptx-gold);
}
.ptx-nav-link.is-active .dashicons{ opacity:1; color:var(--ptx-gold); }

.ptx-nav-sub{ list-style:none; margin:2px 0 6px 30px; padding:0; display:none; }
.ptx-nav-item.is-expanded .ptx-nav-sub{ display:block; }
.ptx-nav-caret{ margin-left:auto; font-size:15px !important; width:15px !important; height:15px !important; opacity:.65; transition:transform .18s ease; }
.ptx-nav-item.is-expanded .ptx-nav-caret{ transform:rotate(180deg); }
.ptx-nav-link-sub{ padding:8px 12px; font-size:12.5px; }

.ptx-sidebar-footer{ padding:16px; border-top:1px solid rgba(255,255,255,.10); }
.ptx-plan-widget{
	background:rgba(255,255,255,.07);
	border:1px solid rgba(255,255,255,.09);
	border-radius:16px;
	padding:16px;
	backdrop-filter:blur(6px);
}
.ptx-plan-widget-label{ display:flex; align-items:center; gap:6px; font-size:11px; opacity:.75; text-transform:uppercase; letter-spacing:.5px; }
.ptx-crown{ color:var(--ptx-gold) !important; opacity:1 !important; }
.ptx-plan-widget-name{ display:block; margin:5px 0 12px; font-size:17px; }

.ptx-storage-widget{ margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,.09); }
.ptx-storage-widget-head{ display:flex; justify-content:space-between; font-size:11px; opacity:.8; margin-bottom:6px; }
.ptx-storage-bar{ height:7px; border-radius:99px; background:rgba(255,255,255,.14); overflow:hidden; }
.ptx-storage-bar-fill{ height:100%; border-radius:99px; background:linear-gradient(90deg, var(--ptx-gold), #fb7185); }
.ptx-storage-widget-figures{ display:block; margin-top:6px; font-size:10.5px; opacity:.65; }

/* ---------------- Buttons / badges (shared) ---------------- */

.ptx-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:6px;
	border:1px solid var(--ptx-border); background:#fff; color:var(--ptx-text);
	padding:9px 16px; border-radius:10px; font-size:13px; font-weight:600;
	transition:all .15s ease;
	box-shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 1px 2px rgba(20,10,50,.04);
}
.ptx-btn:hover{ transform:translateY(-1px); box-shadow:0 6px 14px rgba(20,10,50,.10); }
.ptx-btn-primary{
	background:linear-gradient(135deg, var(--ptx-accent), var(--ptx-btn-color));
	border-color:transparent; color:#fff;
	box-shadow:0 8px 18px rgba(139,92,246,.32);
}
.ptx-btn-primary:hover{ filter:brightness(1.05); box-shadow:0 10px 22px rgba(139,92,246,.4); }
.ptx-btn-outline{ background:transparent; border-color:rgba(255,255,255,.4); color:var(--ptx-sidebar-text); }
.ptx-sidebar .ptx-btn-outline{ border-color:rgba(255,255,255,.35); }
.ptx-btn-current{
	background:linear-gradient(135deg, var(--ptx-accent), var(--ptx-btn-color));
	border-color:transparent; color:#fff; font-weight:700;
	box-shadow:0 6px 16px rgba(139,92,246,.28);
}
.ptx-btn-current[disabled]{ opacity:1; cursor:default; }
.ptx-btn-sm{ padding:6px 12px; font-size:12px; }
.ptx-btn-block{ width:100%; }
.ptx-btn[disabled]{ opacity:.55; cursor:not-allowed; transform:none; box-shadow:none; }
.ptx-btn-danger{ background:#fff; border-color:#fecaca; color:var(--ptx-danger); box-shadow:none; }
.ptx-btn-danger:hover{ background:#fef2f2; box-shadow:0 4px 10px rgba(220,38,38,.12); }

.ptx-badge{ display:inline-block; padding:3px 10px; border-radius:999px; font-size:11px; font-weight:700; background:#eef0f8; color:var(--ptx-muted); }
.ptx-badge-active,.ptx-badge-approved,.ptx-badge-verified,.ptx-badge-enabled{ background:#dcfce7; color:var(--ptx-success); }
.ptx-badge-pending,.ptx-badge-trialing{ background:#fef3c7; color:var(--ptx-warning); }
.ptx-badge-rejected,.ptx-badge-deleted,.ptx-badge-inactive,.ptx-badge-expired,.ptx-badge-canceled{ background:#fee2e2; color:var(--ptx-danger); }
.ptx-badge-sm{ font-size:10px; padding:2px 8px; margin-left:6px; }

/* ---------------- Main / Topbar ---------------- */

.ptx-main{ flex:1; min-width:0; max-width:100%; display:flex; flex-direction:column; }

.ptx-topbar{
	height:var(--ptx-topbar-h);
	background:var(--ptx-topbar-bg, linear-gradient(120deg, var(--ptx-purple-700), var(--ptx-purple-600)));
	border-bottom:1px solid rgba(255,255,255,.12);
	display:flex; align-items:center; justify-content:space-between;
	gap:16px; padding:0 22px;
	position:sticky; top:0; z-index:30;
	color:#fff;
	box-shadow:0 4px 18px rgba(20,8,50,.12);
}
.ptx-topbar-left{ display:flex; align-items:center; gap:12px; min-width:0; }
.ptx-topbar .ptx-icon-btn{
	width:38px; height:38px; border-radius:10px; border:1px solid rgba(255,255,255,.18);
	background:rgba(255,255,255,.10); display:flex; align-items:center; justify-content:center; position:relative;
	flex-shrink:0;
}
.ptx-topbar .ptx-icon-btn:hover{ background:rgba(255,255,255,.18); }
.ptx-topbar .ptx-icon-btn .dashicons{ font-size:18px; color:#fff; }
.ptx-hamburger-btn{ flex-shrink:0; }

.ptx-business-switcher{ position:relative; min-width:0; }
.ptx-business-switcher-btn{
	display:flex; align-items:center; gap:8px;
	background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.16); border-radius:10px;
	padding:8px 12px; font-weight:600; font-size:13px; color:#fff; max-width:100%;
}
.ptx-business-switcher-btn:hover{ background:rgba(255,255,255,.16); }
.ptx-business-switcher-btn .dashicons{ font-size:16px; color:#fff; opacity:.85; flex-shrink:0; }
.ptx-business-switcher-menu{
	position:absolute; top:calc(100% + 6px); left:0; min-width:220px;
	background:#fff; border:1px solid var(--ptx-border); border-radius:12px;
	box-shadow:0 12px 28px rgba(20,10,60,.22); list-style:none; margin:0; padding:6px;
	display:none; z-index:50;
}
.ptx-business-switcher.is-open .ptx-business-switcher-menu{ display:block; }
.ptx-business-switcher-menu li button{
	width:100%; text-align:left; background:none; border:0; padding:9px 10px; border-radius:8px; font-size:13px;
	display:flex; align-items:center; gap:8px; color:var(--ptx-text);
}
.ptx-business-switcher-menu li button:hover{ background:var(--ptx-bg); }
.ptx-divider{ height:1px; background:var(--ptx-border); margin:4px 2px; }
.ptx-current-tag{ margin-left:auto; font-size:9.5px; font-weight:700; text-transform:uppercase; color:var(--ptx-accent); background:#f0e9ff; padding:2px 6px; border-radius:99px; }
.ptx-business-switcher-menu li button.is-active-choice{ opacity:.6; cursor:default; display:flex; align-items:center; }

.ptx-admin-badge{
	display:flex; align-items:center; gap:8px;
	background:rgba(255,255,255,.12);
	border:1px solid rgba(255,255,255,.2); color:#fff;
	padding:8px 14px; border-radius:10px; font-weight:700; font-size:12.5px;
	min-width:0;
}
.ptx-admin-badge .dashicons{ font-size:16px; color:var(--ptx-gold); flex-shrink:0; }
.ptx-admin-badge-text{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.ptx-topbar-right{ display:flex; align-items:center; gap:8px; flex-shrink:0; }

/* KYC status now lives inside the profile dropdown (light background)
   rather than as a dark topbar pill, so it gets its own light-mode
   colors instead of the white-text set used on the topbar. */
.ptx-user-chip-menu .ptx-kyc-pill{ width:100%; padding:9px 10px; gap:8px; justify-content:flex-start; }
.ptx-kyc-pill-label{ font-size:12px; font-weight:700; }
.ptx-user-chip-menu .ptx-kyc-pill .dashicons{ color:var(--ptx-muted); }
.ptx-kyc-verified .ptx-kyc-pill-label{ color:#15803d; }
.ptx-kyc-pending .ptx-kyc-pill-label{ color:#b45309; }
.ptx-kyc-rejected .ptx-kyc-pill-label{ color:#b91c1c; }
.ptx-kyc-not_started .ptx-kyc-pill-label{ color:var(--ptx-muted); }

#ptx-dark-mode-toggle .dashicons{ transition:transform .25s ease; }

.ptx-user-chip{ position:relative; margin-left:4px; padding-left:10px; border-left:1px solid rgba(255,255,255,.18); }
.ptx-user-chip-btn{ display:flex; align-items:center; gap:9px; background:none; border:0; padding:4px; border-radius:10px; }
.ptx-user-chip-btn:hover{ background:rgba(255,255,255,.08); }
.ptx-user-chip-btn img{ border-radius:50%; }
.ptx-user-avatar-fallback{
	width:36px; height:36px; border-radius:50%; flex-shrink:0;
	background:linear-gradient(135deg, var(--ptx-gold), var(--ptx-accent));
	color:#241148; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px;
}
.ptx-user-chip-caret{ font-size:14px; color:rgba(255,255,255,.6); flex-shrink:0; }
.ptx-user-info{ display:flex; flex-direction:column; line-height:1.2; text-align:left; }
.ptx-user-info strong{ font-size:13px; color:#fff; max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ptx-user-info small{ color:rgba(255,255,255,.65); font-size:11px; }

.ptx-user-chip-menu{
	position:absolute; top:calc(100% + 8px); right:0; min-width:170px;
	background:#fff; border:1px solid var(--ptx-border); border-radius:12px;
	box-shadow:0 12px 28px rgba(20,10,60,.22); list-style:none; margin:0; padding:6px;
	display:none; z-index:50;
}
.ptx-user-chip.is-open .ptx-user-chip-menu{ display:block; }
.ptx-user-chip-menu li button{
	width:100%; text-align:left; background:none; border:0; padding:9px 10px; border-radius:8px; font-size:13px;
	display:flex; align-items:center; gap:8px; color:var(--ptx-text);
}
.ptx-user-chip-menu li button:hover{ background:var(--ptx-bg); color:var(--ptx-danger); }
.ptx-user-chip-menu .dashicons{ font-size:16px; color:var(--ptx-muted); }

/* ---------------- Breadcrumb + content ---------------- */

.ptx-breadcrumb{ padding:14px 24px 0; color:var(--ptx-muted); font-size:12.5px; display:flex; gap:8px; }
.ptx-breadcrumb-sep{ opacity:.5; }
#ptx-breadcrumb-current{ color:var(--ptx-text); font-weight:600; }

.ptx-content{ padding:18px 24px 40px; flex:1; width:100%; max-width:100%; overflow-x:hidden; word-wrap:break-word; position:relative; }
.ptx-content img,
.ptx-content video,
.ptx-content iframe,
.ptx-content table,
.ptx-content pre{ max-width:100%; }
.ptx-embed-frame{ width:100%; max-width:100%; border:0; min-height:400px; display:block; }
.ptx-content.is-loading{ opacity:.5; pointer-events:none; }

.ptx-loader-overlay{
	position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
	background:rgba(255,255,255,.55); z-index:40; border-radius:inherit;
}
.ptx-loader-overlay-full{ position:fixed; background:rgba(30,18,64,.35); z-index:500; }
.ptx-loader-radar{
	--ptx-radar-color: var(--ptx-accent);
	width:34px; height:34px; border-radius:50%; position:relative;
	border:1.5px solid color-mix(in srgb, var(--ptx-radar-color) 35%, transparent);
	background:radial-gradient(circle, transparent 58%, color-mix(in srgb, var(--ptx-radar-color) 10%, transparent) 60%);
}
.ptx-loader-radar::before{
	content:''; position:absolute; inset:0; border-radius:50%;
	background:conic-gradient(from 0deg, transparent 0deg, transparent 250deg, color-mix(in srgb, var(--ptx-radar-color) 85%, transparent) 300deg, transparent 360deg);
	animation:ptxRadarSweep .5s linear infinite;
}
.ptx-loader-radar::after{
	content:''; position:absolute; top:50%; left:50%; width:6px; height:6px; margin:-3px;
	border-radius:50%; background:var(--ptx-radar-color);
	box-shadow:0 0 8px 3px color-mix(in srgb, var(--ptx-radar-color) 70%, transparent);
	animation:ptxRadarBlip .9s ease-in-out infinite;
}

@keyframes ptxRadarSweep{ to{ transform:rotate(360deg); } }
@keyframes ptxRadarBlip{ 0%,100%{ opacity:1; } 50%{ opacity:.35; } }

.ptx-panel-header{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:22px; padding-bottom:16px; border-bottom:1px solid var(--ptx-border); flex-wrap:wrap; }
.ptx-panel-header h2{ margin:0 0 3px; font-size:21px; letter-spacing:-.2px; }
.ptx-panel-header p{ margin:0; }

.ptx-kpi-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-bottom:20px; }
.ptx-kpi-card{
	display:flex; align-items:flex-start; gap:12px; padding:16px;
	background:linear-gradient(160deg,#ffffff,#fbfaff);
	border:1px solid var(--ptx-border); border-radius:var(--ptx-radius);
	box-shadow:0 1px 0 rgba(255,255,255,.8) inset, 0 6px 16px rgba(30,10,60,.05);
	transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
	position:relative; overflow:hidden;
}
.ptx-kpi-card::before{
	content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
	background:linear-gradient(180deg, var(--ptx-accent), var(--ptx-purple-600));
	opacity:0; transition:opacity .18s ease;
}
.ptx-kpi-card:hover{ transform:translateY(-3px); box-shadow:0 14px 28px rgba(30,10,60,.11); border-color:rgba(139,92,246,.28); }
.ptx-kpi-card:hover::before{ opacity:1; }
.ptx-kpi-icon{
	flex-shrink:0; width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center;
	background:linear-gradient(135deg, rgba(139,92,246,.16), rgba(76,31,176,.10)); color:var(--ptx-accent);
}
.ptx-kpi-icon .dashicons{ font-size:20px; width:20px; height:20px; }
.ptx-kpi-icon-gold{ background:linear-gradient(135deg, rgba(245,196,81,.24), rgba(245,196,81,.10)); color:#b8860b; }
.ptx-kpi-icon-pink{ background:linear-gradient(135deg, rgba(236,72,153,.18), rgba(236,72,153,.08)); color:#db2777; }
.ptx-kpi-icon-green{ background:linear-gradient(135deg, rgba(16,185,129,.18), rgba(16,185,129,.08)); color:#0e9f6e; }
.ptx-kpi-icon-blue{ background:linear-gradient(135deg, rgba(59,130,246,.18), rgba(59,130,246,.08)); color:#2563eb; }
.ptx-kpi-body{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.ptx-kpi-sub{ font-size:11px; font-weight:700; margin-top:2px; }
.ptx-kpi-sub-up{ color:var(--ptx-success); }
.ptx-kpi-sub-warn{ color:var(--ptx-warning); }
.ptx-kpi-label{ font-size:11.5px; color:var(--ptx-muted); text-transform:uppercase; letter-spacing:.4px; }
.ptx-kpi-value{ font-size:20px; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ptx-kpi-verified .ptx-kpi-value{ color:var(--ptx-success); }
.ptx-kpi-pending .ptx-kpi-value{ color:var(--ptx-warning); }
.ptx-kpi-rejected .ptx-kpi-value{ color:var(--ptx-danger); }

/* ---------------- Overview: 3-column futuristic grid ---------------- */

.ptx-overview-grid{ display:grid; grid-template-columns:1.6fr 1fr; gap:16px; align-items:start; }
.ptx-overview-main, .ptx-overview-col{ display:flex; flex-direction:column; gap:16px; min-width:0; }

.ptx-card-head-row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.ptx-card-head-row h3{ margin:0; }
.ptx-count-pill{ font-size:11.5px; font-weight:700; background:var(--ptx-bg); border:1px solid var(--ptx-border); border-radius:999px; padding:3px 10px; }
.ptx-view-all{ font-size:11.5px; font-weight:700; color:var(--ptx-accent); }

/* Business performance chart */
.ptx-chart-card{ position:relative; overflow:hidden; }
.ptx-chart-card::before{
	content:''; position:absolute; inset:0; pointer-events:none;
	background:radial-gradient(circle at 100% 0%, rgba(139,92,246,.06), transparent 55%);
}
.ptx-sparkline-wrap{ position:relative; }
.ptx-sparkline-wrap svg{ display:block; width:100%; height:auto; }
.ptx-sparkline-fill{ fill:url(#ptxSparkGradient); }
.ptx-sparkline-line{ fill:none; stroke:var(--ptx-accent); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.ptx-sparkline-dot{ fill:#fff; stroke:var(--ptx-accent); stroke-width:2.5; }
.ptx-sparkline-labels{ display:flex; justify-content:space-between; margin-top:6px; font-size:11px; color:var(--ptx-muted); }
.ptx-sparkline-empty{ text-align:center; padding:34px 0; color:var(--ptx-muted); font-size:13px; }

/* Quick action tiles (2-col icon grid) */
.ptx-qa-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; }
@media (min-width: 1440px){
	.ptx-qa-grid{ grid-template-columns:repeat(4, 1fr); }
}
.ptx-qa-tile{
	display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center;
	background:var(--ptx-bg); border:1px solid var(--ptx-border); border-radius:12px; padding:14px 8px;
	font-size:12px; font-weight:700; color:var(--ptx-text); transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.ptx-qa-tile:hover{ transform:translateY(-2px); background:#fff; box-shadow:0 10px 20px rgba(30,10,60,.08); }
.ptx-qa-tile-icon{
	width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center;
	background:linear-gradient(135deg, rgba(139,92,246,.16), rgba(76,31,176,.10)); color:var(--ptx-accent);
}
.ptx-qa-tile-icon .dashicons{ font-size:18px; width:18px; height:18px; }

/* Notifications mini-list */
.ptx-notif-mini-list{ list-style:none; margin:0; padding:0; }
.ptx-notif-mini-list li{ display:flex; gap:10px; padding:10px 0; border-bottom:1px solid var(--ptx-border); }
.ptx-notif-mini-list li:last-child{ border-bottom:0; }
.ptx-notif-mini-icon{ flex-shrink:0; width:30px; height:30px; border-radius:9px; display:flex; align-items:center; justify-content:center; background:rgba(139,92,246,.12); color:var(--ptx-accent); }
.ptx-notif-mini-icon .dashicons{ font-size:15px; width:15px; height:15px; }
.ptx-notif-mini-list p{ margin:0; font-size:12.5px; line-height:1.4; }
.ptx-notif-mini-list time{ font-size:10.5px; color:var(--ptx-muted); }

/* Mini usage bars (Subscription Usage) */
.ptx-usage-row{ margin-bottom:12px; }
.ptx-usage-row:last-child{ margin-bottom:0; }
.ptx-usage-row-top{ display:flex; justify-content:space-between; font-size:12px; margin-bottom:5px; }
.ptx-usage-row-top strong{ font-weight:700; }
.ptx-usage-bar-track{ height:6px; border-radius:99px; background:var(--ptx-border); overflow:hidden; }
.ptx-usage-bar-fill{ height:100%; border-radius:99px; background:linear-gradient(90deg,var(--ptx-accent),var(--ptx-purple-600)); }

/* System status list */
.ptx-status-list{ list-style:none; margin:0; padding:0; }
.ptx-status-list li{ display:flex; align-items:center; justify-content:space-between; padding:7px 0; font-size:12.5px; }
.ptx-status-dot{ display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--ptx-success); margin-right:7px; box-shadow:0 0 0 3px rgba(22,163,74,.15); }

.ptx-panel-columns{ display:grid; grid-template-columns:2fr 1fr; gap:16px; margin-bottom:16px; }
.ptx-card{ background:linear-gradient(160deg,#ffffff,#fbfaff); border:1px solid var(--ptx-border); border-radius:var(--ptx-radius); padding:20px; margin-bottom:16px; box-shadow:0 6px 18px rgba(30,10,60,.04); }
.ptx-card h3{ margin-top:0; font-size:15px; }

.ptx-quick-actions{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.ptx-quick-actions button{ width:100%; display:flex; align-items:center; gap:10px; background:var(--ptx-bg); border:1px solid var(--ptx-border); border-radius:10px; padding:10px 12px; font-size:13px; font-weight:600; }
.ptx-quick-actions button:hover{ background:#eef0fb; }
.ptx-quick-actions .dashicons{ color:var(--ptx-accent); font-size:17px; }

.ptx-activity-list{ list-style:none; margin:0; padding:0; }
.ptx-activity-list li{ display:flex; gap:10px; padding:10px 0; border-bottom:1px solid var(--ptx-border); }
.ptx-activity-list li:last-child{ border-bottom:0; }
.ptx-activity-dot{ width:8px; height:8px; border-radius:50%; background:var(--ptx-accent); margin-top:6px; flex-shrink:0; }
.ptx-activity-list p{ margin:0; font-size:13px; }
.ptx-activity-list time{ font-size:11.5px; color:var(--ptx-muted); }

.ptx-business-grid,.ptx-plan-grid,.ptx-addon-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px; }
.ptx-business-card,.ptx-plan-card,.ptx-addon-card{
	background:linear-gradient(160deg,#ffffff,#faf9ff);
	border:1px solid var(--ptx-border); border-radius:var(--ptx-radius); padding:18px; text-align:center;
	box-shadow:0 6px 16px rgba(30,10,60,.05);
	transition:transform .15s ease, box-shadow .15s ease;
}
.ptx-business-card:hover,.ptx-plan-card:hover,.ptx-addon-card:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(30,10,60,.09); }
.ptx-business-card.is-active,.ptx-plan-card.is-current{ border-color:var(--ptx-accent); box-shadow:0 0 0 3px rgba(139,92,246,.14), 0 10px 22px rgba(139,92,246,.12); }
.ptx-business-avatar{ width:46px; height:46px; border-radius:50%; margin:0 auto 10px; background:linear-gradient(135deg,var(--ptx-accent),var(--ptx-purple-600)); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; box-shadow:0 6px 14px rgba(139,92,246,.3); }
.ptx-business-card-actions{ display:flex; flex-direction:column; gap:8px; margin-top:12px; }
.ptx-plan-price{ font-size:24px; font-weight:800; margin:6px 0; }
.ptx-plan-price span{ font-size:12px; font-weight:500; color:var(--ptx-muted); }
.ptx-plan-price .ptx-price-regular{ font-size:14px; font-weight:600; color:var(--ptx-muted); text-decoration:line-through; margin-right:4px; }
.ptx-plan-price .ptx-price-sale{ color:var(--ptx-danger,#dc2626); }
.ptx-plan-price .ptx-price-savings{ display:block; font-size:11.5px; font-weight:700; color:#15803d; background:#dcfce7; border-radius:6px; padding:2px 8px; margin-top:4px; width:fit-content; }
.ptx-billing-toggle{
	display:flex; gap:4px; background:var(--ptx-bg-alt,#f3f0fb); border-radius:12px; padding:4px; margin:0 0 18px; width:fit-content;
}
.ptx-billing-toggle button{
	border:0; background:none; padding:8px 18px; border-radius:9px; font-size:12.5px; font-weight:700; color:var(--ptx-muted); cursor:pointer;
}
.ptx-billing-toggle button.is-active{ background:#fff; color:var(--ptx-accent); box-shadow:0 4px 10px rgba(20,8,50,.1); }
.ptx-save-badge{ font-size:9.5px; background:#22c55e; color:#fff; padding:2px 6px; border-radius:99px; margin-left:5px; vertical-align:2px; }
.ptx-plan-card ul{ list-style:none; padding:0; margin:0 0 14px; font-size:12.5px; color:var(--ptx-muted); text-align:left; }
.ptx-plan-card ul li{ padding:3px 0; }
.ptx-plan-trial-choice{ display:flex; flex-direction:column; gap:8px; }
.ptx-addon-icon{
	width:48px; height:48px; border-radius:13px; margin:0 auto 10px; display:flex; align-items:center; justify-content:center;
	background:linear-gradient(135deg, rgba(139,92,246,.16), rgba(76,31,176,.10)); color:var(--ptx-accent);
}
.ptx-addon-icon .dashicons{ font-size:22px; width:22px; height:22px; }

.ptx-table-scroll{ width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:var(--ptx-radius); }
.ptx-table{ width:100%; min-width:520px; border-collapse:collapse; background:var(--ptx-card); border:1px solid var(--ptx-border); border-radius:var(--ptx-radius); overflow:hidden; box-shadow:0 6px 16px rgba(30,10,60,.04); }
.ptx-table th,.ptx-table td{ text-align:left; padding:12px 16px; border-bottom:1px solid var(--ptx-border); font-size:13px; }
.ptx-table th{ background:var(--ptx-bg); font-size:11.5px; text-transform:uppercase; color:var(--ptx-muted); }
.ptx-table tr:last-child td{ border-bottom:0; }
.ptx-table tr:hover td{ background:rgba(139,92,246,.03); }

.ptx-notif-wrap{ position:relative; }
.ptx-notif-count{
	position:absolute; top:2px; right:2px; min-width:16px; height:16px; padding:0 4px; border-radius:99px;
	background:#dc2626; color:#fff; font-size:9.5px; font-weight:800; display:flex; align-items:center; justify-content:center;
	box-shadow:0 0 0 2px #fff;
}
.ptx-notif-dropdown{
	position:absolute; top:calc(100% + 10px); right:0; width:320px; max-width:90vw; max-height:420px; overflow-y:auto;
	background:#fff; border-radius:14px; box-shadow:0 20px 50px rgba(20,10,45,.18); border:1px solid var(--ptx-border); z-index:40;
}
.ptx-notif-dropdown-head{ display:flex; align-items:center; justify-content:space-between; padding:12px 14px; border-bottom:1px solid var(--ptx-border); position:sticky; top:0; background:#fff; }
.ptx-notif-dropdown-head button{ border:0; background:none; color:var(--ptx-accent); font-size:11.5px; font-weight:700; cursor:pointer; }
.ptx-notif-item{ padding:12px 14px; border-bottom:1px solid var(--ptx-border); }
.ptx-notif-item:last-child{ border-bottom:0; }
.ptx-notif-item.is-unread{ background:rgba(139,92,246,.05); cursor:pointer; }
.ptx-notif-item strong{ font-size:12.5px; display:block; margin-bottom:2px; }
.ptx-notif-item p{ margin:0; font-size:12px; color:var(--ptx-muted); line-height:1.4; }
.ptx-notif-item time{ font-size:10.5px; color:var(--ptx-muted); }
.ptx-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
.ptx-form-row label{ display:block; font-size:12.5px; font-weight:700; margin-bottom:6px; color:var(--ptx-text); }
.ptx-form-row input[type=text],.ptx-form-row input[type=file],.ptx-form-row input[type=email],.ptx-form-row input[type=date],.ptx-form-row input[type=number],.ptx-form-row select,.ptx-form-row textarea{
	width:100%; padding:10px 13px; border:1px solid var(--ptx-border); border-radius:10px; font-size:13px;
	background:#fff; transition:border-color .15s ease, box-shadow .15s ease;
}
.ptx-form-row input[type=text]:focus,.ptx-form-row input[type=email]:focus,.ptx-form-row input[type=date]:focus,.ptx-form-row select:focus,.ptx-form-row textarea:focus{
	outline:none; border-color:var(--ptx-accent); box-shadow:0 0 0 3px rgba(139,92,246,.12);
}
.ptx-required{ color:var(--ptx-danger); }

.ptx-live-badge{
	display:inline-flex; align-items:center; gap:5px; font-size:10.5px; font-weight:800; color:#b91c1c;
	background:#fee2e2; padding:2px 9px; border-radius:99px; margin-left:6px; vertical-align:2px;
}
.ptx-live-dot{ width:6px; height:6px; border-radius:50%; background:#dc2626; animation:ptxLivePulse 1.4s ease-in-out infinite; }
@keyframes ptxLivePulse{ 0%,100%{ opacity:1; } 50%{ opacity:.35; } }

.ptx-camera-capture{ border:1px solid var(--ptx-border); border-radius:14px; padding:14px; background:var(--ptx-bg); }
.ptx-camera-viewport{
	position:relative; width:100%; max-width:360px; aspect-ratio:4/3; border-radius:12px; overflow:hidden;
	background:#0f0a1f; margin:0 auto 12px; display:flex; align-items:center; justify-content:center;
}
.ptx-camera-viewport video,.ptx-camera-preview{ width:100%; height:100%; object-fit:cover; }
.ptx-camera-oval{
	position:absolute; inset:8% 22%; border:3px dashed rgba(255,255,255,.7); border-radius:50%; pointer-events:none;
}
.ptx-camera-action{
	background:#1a1530; color:#fff; border:1px solid #1a1530;
}
.ptx-camera-action:hover:not(:disabled){ background:#2a2248; }
.ptx-camera-action:disabled{ background:#4a4460; border-color:#4a4460; cursor:not-allowed; opacity:.75; }
.ptx-camera-actions{ display:flex; gap:8px; justify-content:center; }

/* Live scanning line + accuracy glow */
.ptx-camera-scanline{
	position:absolute; left:6%; right:6%; height:2px; top:10%;
	background:linear-gradient(90deg, transparent, #22c55e, transparent);
	box-shadow:0 0 8px 1px rgba(34,197,94,.8);
	animation:ptxScanSweep 2.2s ease-in-out infinite;
}
.is-scan-bad .ptx-camera-scanline{
	background:linear-gradient(90deg, transparent, #ef4444, transparent);
	box-shadow:0 0 8px 1px rgba(239,68,68,.8);
}
@keyframes ptxScanSweep{
	0%{ top:10%; } 50%{ top:88%; } 100%{ top:10%; }
}
.is-scan-ok .ptx-camera-viewport{ box-shadow:0 0 0 3px rgba(34,197,94,.55) inset; }
.is-scan-bad .ptx-camera-viewport{ box-shadow:0 0 0 3px rgba(239,68,68,.5) inset; }
.ptx-camera-note{ display:flex; align-items:center; gap:5px; justify-content:center; margin:10px 0 0; font-size:11px; color:var(--ptx-muted); }
.ptx-camera-note .dashicons{ font-size:13px; width:13px; height:13px; }

.ptx-liveness-status{
	position:absolute; bottom:10px; left:50%; transform:translateX(-50%);
	padding:5px 14px; border-radius:99px; font-size:11.5px; font-weight:800; color:#fff;
	background:rgba(0,0,0,.55); white-space:nowrap;
}
.ptx-liveness-status.is-ok{ background:#16a34a; }
.ptx-liveness-status.is-bad{ background:#dc2626; }
.ptx-liveness-oval{ border-color:rgba(255,255,255,.85); }
.ptx-liveness-instruction{ font-size:12px; font-weight:700; text-align:center; margin:0 0 10px; color:var(--ptx-text); }
.ptx-liveness-preview-1,.ptx-liveness-preview-2{ object-fit:cover; }

.ptx-kyc-approved-card,.ptx-kyc-pending-card{
	text-align:center; padding:44px 24px; border-radius:var(--ptx-radius); background:linear-gradient(160deg,#ffffff,#faf9ff);
	border:1px solid var(--ptx-border); box-shadow:0 6px 18px rgba(30,10,60,.04);
}
.ptx-kyc-approved-icon,.ptx-kyc-pending-icon{
	width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 16px;
}
.ptx-kyc-approved-icon{ background:#dcfce7; color:#16a34a; }
.ptx-kyc-pending-icon{ background:#fef3c7; color:#b45309; }
.ptx-kyc-approved-icon .dashicons,.ptx-kyc-pending-icon .dashicons{ font-size:32px; width:32px; height:32px; }
.ptx-kyc-approved-card h3,.ptx-kyc-pending-card h3{ margin:0 0 8px; font-size:19px; }
.ptx-kyc-approved-card p,.ptx-kyc-pending-card p{ margin:0; color:var(--ptx-muted); max-width:420px; margin:0 auto; font-size:13.5px; line-height:1.6; }

.ptx-kyc-rejected-banner{ background:#fef2f2; border:1px solid #fecaca; border-radius:12px; padding:16px 18px; margin-bottom:18px; }
.ptx-kyc-rejected-banner h3{ margin:0 0 8px; font-size:14px; color:#b91c1c; display:flex; align-items:center; gap:6px; }
.ptx-kyc-rejected-banner ul{ margin:0 0 8px; padding-left:20px; font-size:13px; color:#7f1d1d; }
.ptx-kyc-rejected-banner p{ margin:0; font-size:12.5px; color:#7f1d1d; }

.ptx-kyc-progress{ height:5px; border-radius:99px; background:var(--ptx-border); overflow:hidden; margin-bottom:6px; }
.ptx-kyc-progress-fill{ height:100%; background:linear-gradient(90deg,var(--ptx-accent),var(--ptx-purple-600)); transition:width .25s ease; }
.ptx-kyc-step-count{ font-size:11.5px; color:var(--ptx-muted); margin:0 0 18px; }
.ptx-kyc-wizard-nav{ display:flex; gap:10px; justify-content:flex-end; margin-top:8px; }

.ptx-empty-state{
	text-align:center; padding:60px 20px; color:var(--ptx-muted);
	background:linear-gradient(160deg,#ffffff,#faf9ff); border:1px dashed var(--ptx-border); border-radius:var(--ptx-radius);
}
.ptx-locked-notice{ display:flex; align-items:center; gap:8px; background:#fff7ed; border:1px solid #fed7aa; color:#9a3412; padding:14px 16px; border-radius:12px; font-size:13px; box-shadow:0 4px 12px rgba(154,52,18,.06); }

.ptx-login-notice{ padding:40px; text-align:center; }

.ptx-header-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.ptx-subheading{ font-size:14px; margin:22px 0 10px; }

.ptx-staff-result{
	background:linear-gradient(135deg, rgba(139,92,246,.08), rgba(245,196,81,.08));
	border:1px solid #e6dcff; border-radius:var(--ptx-radius);
	padding:16px 18px; margin-bottom:18px; font-size:13.5px;
}
.ptx-staff-credentials{ display:flex; gap:20px; margin-top:8px; flex-wrap:wrap; }
.ptx-staff-credentials code{ background:#fff; border:1px solid var(--ptx-border); padding:4px 10px; border-radius:8px; font-size:14px; font-weight:700; letter-spacing:.5px; }
.ptx-staff-row-actions{ display:flex; gap:6px; flex-wrap:wrap; }

.ptx-form-row-label{ display:block; font-size:12px; font-weight:700; color:var(--ptx-text); margin:14px 0 8px; }
.ptx-permission-checklist{
	display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:8px;
	max-height:220px; overflow-y:auto; padding:8px;
	background:#fff; border:1px solid var(--ptx-border); border-radius:10px; margin-bottom:16px;
}
.ptx-permission-item{
	display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:8px;
	font-size:12.5px; font-weight:600; color:var(--ptx-text); cursor:pointer; background:transparent; transition:background .12s ease;
}
.ptx-permission-item:hover{ background:var(--ptx-bg); }
.ptx-permission-item:has(input:checked),.ptx-permission-item.is-checked{ background:rgba(139,92,246,.10); }
.ptx-permission-item:has(input:checked):hover,.ptx-permission-item.is-checked:hover{ background:rgba(139,92,246,.16); }
.ptx-permission-item .dashicons{ font-size:16px; color:var(--ptx-accent); }
.ptx-permission-item input{ accent-color:var(--ptx-accent); }

.ptx-role-checklist{
	display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:6px;
	max-height:160px; overflow-y:auto; padding:8px;
	background:#fff; border:1px solid var(--ptx-border); border-radius:10px; margin-bottom:8px;
}
.ptx-role-check{ display:flex; align-items:center; gap:7px; padding:7px 9px; border-radius:8px; font-size:12.5px; font-weight:600; color:var(--ptx-text); cursor:pointer; background:transparent; transition:background .12s ease; }
.ptx-role-check:hover{ background:var(--ptx-bg); }
.ptx-role-check:has(input:checked){ background:rgba(139,92,246,.10); }
.ptx-role-check input{ accent-color:var(--ptx-accent); }
.ptx-role-check .description{ color:var(--ptx-muted); font-weight:500; }

.ptx-pin-reveal{ display:inline-flex; align-items:center; gap:8px; }
.ptx-pin-masked{ letter-spacing:2px; }
.ptx-link-btn-sm{ background:none; border:0; color:var(--ptx-accent); font-size:11.5px; font-weight:700; cursor:pointer; padding:0; }
.ptx-link-btn-sm:hover{ text-decoration:underline; }

.ptx-theme-presets{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:18px; }
.ptx-theme-preset{ display:flex; flex-direction:column; align-items:center; gap:6px; cursor:pointer; font-size:11.5px; color:var(--ptx-muted); }
.ptx-theme-preset input{ position:absolute; opacity:0; pointer-events:none; }
.ptx-theme-swatch{ width:52px; height:52px; border-radius:14px; display:block; box-shadow:0 4px 10px rgba(0,0,0,.12); border:2px solid transparent; transition:transform .15s ease, border-color .15s ease; }
.ptx-theme-preset:hover .ptx-theme-swatch{ transform:translateY(-2px); }
.ptx-theme-preset.is-selected .ptx-theme-swatch{ border-color:var(--ptx-accent); }
.ptx-theme-preset.is-selected{ color:var(--ptx-text); font-weight:700; }
.ptx-theme-form input[type=color]{ width:100%; height:42px; border:1px solid var(--ptx-border); border-radius:9px; padding:3px; cursor:pointer; }

.ptx-logo-uploader{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.ptx-logo-uploader img{ width:56px; height:56px; object-fit:contain; border-radius:10px; border:1px solid var(--ptx-border); background:#fff; padding:4px; }
.ptx-logo-uploader-actions{ display:flex; gap:8px; }
.ptx-logo-uploader-hint{ width:100%; font-size:11.5px; }
.ptx-btn-outline-dark{ background:#fff; border-color:var(--ptx-border); color:var(--ptx-text); }

/* ---------------- Modal ---------------- */

.ptx-modal{
	position:fixed; inset:0; background:rgba(15,8,35,.72);
	backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
	display:none; align-items:center; justify-content:center;
	z-index:9999; padding:20px; overflow-y:auto;
	isolation:isolate;
}
.ptx-modal.is-open{ display:flex; }
.ptx-modal-box{
	background:#ffffff; border-radius:16px; width:100%; max-width:440px;
	max-height:85vh; display:flex; flex-direction:column;
	position:relative; margin:auto; isolation:isolate;
	box-shadow:0 30px 70px rgba(20,8,50,.35);
}
.ptx-modal-header{
	display:flex; align-items:center; justify-content:space-between;
	padding:18px 20px; border-bottom:1px solid var(--ptx-border);
	position:sticky; top:0; background:#fff; border-radius:16px 16px 0 0; z-index:2;
}
.ptx-modal-header h3{ margin:0; font-size:16px; color:var(--ptx-text); }
.ptx-modal-body{ padding:20px; overflow-y:auto; flex:1; background:#fff; color:var(--ptx-text); }
.ptx-modal-footer{
	display:flex; justify-content:flex-end; gap:10px;
	padding:14px 20px; border-top:1px solid var(--ptx-border);
	position:sticky; bottom:0; background:#fff; border-radius:0 0 16px 16px; z-index:2;
}
.ptx-modal-close{ background:none; border:0; font-size:22px; line-height:1; color:var(--ptx-muted); cursor:pointer; padding:2px 4px; }
.ptx-modal-close:hover{ color:var(--ptx-text); }

.ptx-modal-box-lg{ max-width:640px; }

.ptx-repeatable-rows{ display:flex; flex-direction:column; gap:8px; margin:8px 0 10px; }
.ptx-repeatable-row{ display:grid; grid-template-columns:1fr 1fr auto; gap:8px; align-items:center; }
.ptx-repeatable-row input{
	border:1px solid var(--ptx-border); border-radius:8px; padding:8px 10px; font-size:13px; width:100%;
}
.ptx-link-btn-sm{
	background:none; border:0; color:var(--ptx-danger,#dc2626); font-size:20px; line-height:1; cursor:pointer; padding:2px 6px;
}
.ptx-comp-input{ width:100%; }
.ptx-comp-total{
	display:flex; align-items:center; justify-content:space-between;
	margin-top:16px; padding:12px 14px; background:var(--ptx-bg); border-radius:10px; font-size:13.5px; font-weight:700;
}
.ptx-comp-total strong{ font-size:16px; color:var(--ptx-accent); }

.ptx-shift-days{ display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 14px; }
.ptx-shift-day{
	display:flex; align-items:center; gap:5px; font-size:12.5px; font-weight:600;
	border:1px solid var(--ptx-border); border-radius:8px; padding:6px 10px; cursor:pointer;
}
.ptx-shift-day input{ margin:0; }

.ptx-business-hours-row{
	display:grid; grid-template-columns:110px 90px 1fr auto 1fr; gap:10px; align-items:center;
	padding:9px 0; border-bottom:1px solid var(--ptx-border);
}
.ptx-business-hours-row:last-of-type{ border-bottom:0; }
.ptx-business-hours-day{ font-weight:700; font-size:13px; }
.ptx-business-hours-closed{ display:flex; align-items:center; gap:5px; font-size:12px; color:var(--ptx-muted); }
.ptx-business-hours-row input[type=time]{
	border:1px solid var(--ptx-border); border-radius:8px; padding:6px 8px; font-size:12.5px;
}
@media (max-width:600px){
	.ptx-business-hours-row{ grid-template-columns:1fr 1fr; grid-template-rows:auto auto; row-gap:6px; }
}

/* ---------------- Trial-ended payment modal ---------------- */

.ptx-trial-modal-box .ptx-modal-header{
	background:linear-gradient(135deg, var(--ptx-accent), var(--ptx-gold));
	border-bottom:0; border-radius:16px 16px 0 0;
}
.ptx-trial-modal-box .ptx-modal-header h3{ color:#fff; display:flex; align-items:center; gap:8px; }
.ptx-trial-modal-box .ptx-modal-header .dashicons{ color:#fff !important; }
.ptx-trial-modal-sub{ font-size:12.5px; color:var(--ptx-muted); margin:0 0 16px; line-height:1.5; }
.ptx-trial-plan-summary{
	display:flex; align-items:center; justify-content:space-between;
	background:color-mix(in srgb, var(--ptx-accent) 8%, #fff); border:1px solid color-mix(in srgb, var(--ptx-accent) 20%, transparent);
	border-radius:12px; padding:12px 14px; margin-bottom:16px;
}
.ptx-trial-plan-summary strong{ font-size:14px; color:var(--ptx-text); }
.ptx-trial-plan-summary span{ font-weight:800; color:var(--ptx-accent); }
.ptx-trial-gateways{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:6px; }
.ptx-trial-gateway{
	display:flex; align-items:center; gap:8px; border:2px solid var(--ptx-border); border-radius:12px; padding:11px;
	cursor:pointer; transition:all .15s ease;
}
.ptx-trial-gateway:hover{ transform:translateY(-1px); }
.ptx-trial-gateway.is-selected{ border-color:var(--ptx-accent); background:color-mix(in srgb, var(--ptx-accent) 6%, #fff); }
.ptx-trial-gateway .dashicons{ color:var(--ptx-accent); font-size:18px; width:18px; height:18px; }
.ptx-trial-gateway span:last-child{ font-size:12px; font-weight:700; color:var(--ptx-text); display:flex; flex-direction:column; }
.ptx-trial-gateway em{ font-style:normal; font-size:9px; font-weight:700; color:#16a34a; text-transform:uppercase; }
.ptx-trial-modal-message{ display:none; padding:9px 12px; border-radius:9px; font-size:12px; margin-top:12px; }
.ptx-trial-modal-message.is-error{ display:block; background:#fee2e2; color:#b91c1c; }

/* ---------------- Hamburger (inline in topbar) ---------------- */

.ptx-overlay{ position:fixed; inset:0; background:rgba(20,10,50,.4); z-index:35; display:none; }
.ptx-overlay.is-visible{ display:block; }

/* Collapsed (icon-only) desktop sidebar state */
.ptx-app.is-collapsed .ptx-sidebar{ width:76px; }
.ptx-app.is-collapsed .ptx-brand-text,
.ptx-app.is-collapsed .ptx-nav-label,
.ptx-app.is-collapsed .ptx-plan-widget,
.ptx-app.is-collapsed .ptx-nav-sub{ display:none; }
.ptx-app.is-collapsed .ptx-nav-link{ justify-content:center; }

/* =========================================================
   Responsive — tablet
   ========================================================= */
@media (max-width: 1024px){
	.ptx-kpi-grid{ grid-template-columns:repeat(2,1fr); }
	.ptx-panel-columns{ grid-template-columns:1fr; }
	.ptx-overview-grid{ grid-template-columns:1fr; }
}

/* =========================================================
   Responsive — mobile: off-canvas sidebar, hamburger inline in topbar
   ========================================================= */
@media (max-width: 780px){

	.ptx-app{ font-size:12.5px; }

	.ptx-sidebar{
		position:fixed;
		top:0; left:0; height:100vh;
		transform:translateX(-100%);
		z-index:70;
		box-shadow:0 0 40px rgba(0,0,0,.25);
		width:min(var(--ptx-sidebar-w), 82vw);
	}
	.ptx-sidebar-brand{ padding:18px 16px 16px; }
	.ptx-nav-link{ padding:11px 13px; font-size:13px; }
	.ptx-brand-logo-img{ width:var(--ptx-logo-w-mobile, 30px); height:var(--ptx-logo-h-mobile, 30px); }
	.ptx-brand-text-dynamic{ max-width:120px; font-size:13px; }
	.ptx-app.is-collapsed .ptx-sidebar{ width:var(--ptx-sidebar-w); } /* collapse state only applies on desktop */
	.ptx-app.ptx-mobile-open .ptx-sidebar{ transform:translateX(0); }
	.ptx-app.ptx-mobile-open .ptx-overlay{ display:block; }
	.ptx-sidebar-close{ display:block; }

	.ptx-topbar{
		height:auto; min-height:56px;
		padding:8px 12px;
		gap:8px;
		flex-wrap:nowrap;
	}
	.ptx-topbar-left{ gap:8px; flex:1; min-width:0; }
	.ptx-topbar .ptx-icon-btn{ width:34px; height:34px; }
	.ptx-topbar .ptx-icon-btn .dashicons{ font-size:16px; }

	.ptx-business-switcher{ flex:1; min-width:0; }
	.ptx-business-switcher-btn{ padding:6px 9px; font-size:12px; }
	.ptx-business-switcher-btn span:nth-child(2){ max-width:88px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
	.ptx-admin-badge{ padding:6px 10px; font-size:11px; }
	.ptx-admin-badge-text{ max-width:120px; }

	.ptx-user-info{ display:none; }
	.ptx-kyc-pill-label{ display:none; }
	.ptx-kyc-pill{ padding:0 8px; }
	.ptx-user-chip-btn img, .ptx-user-avatar-fallback{ width:30px; height:30px; }
	.ptx-user-chip-caret{ display:none; }

	.ptx-panel-header h2{ font-size:17px; }
	.ptx-kpi-grid{ grid-template-columns:1fr 1fr; gap:10px; }
	.ptx-kpi-card{ padding:12px; }
	.ptx-kpi-value{ font-size:18px; }
	.ptx-content{ padding:12px; }
	.ptx-breadcrumb{ padding:8px 12px 0; font-size:11px; }
	.ptx-card{ padding:15px; }
	.ptx-btn{ font-size:12px; padding:8px 14px; }
	.ptx-modal{ padding:10px; align-items:flex-end; }
	.ptx-modal-box{ max-width:100%; max-height:92vh; border-radius:16px 16px 0 0; }
	.ptx-modal-header, .ptx-modal-footer{ padding:14px 16px; }
	.ptx-modal-body{ padding:16px; }
}

@media (max-width: 480px){
	.ptx-notif-dropdown{
		position:fixed; top:64px; left:50%; right:auto; transform:translateX(-50%);
		width:92vw; max-width:360px; max-height:70vh;
	}
	.ptx-app{ font-size:12px; }
	.ptx-kpi-grid{ grid-template-columns:1fr 1fr; gap:8px; }
	.ptx-kpi-card{ padding:10px; gap:8px; }
	.ptx-kpi-icon{ width:36px; height:36px; border-radius:10px; }
	.ptx-kpi-icon .dashicons{ font-size:17px; width:17px; height:17px; }
	.ptx-kpi-value{ font-size:15px; }
	.ptx-kpi-label{ font-size:10px; }
	.ptx-qa-grid{ grid-template-columns:1fr 1fr; gap:8px; }
	.ptx-business-grid,.ptx-plan-grid,.ptx-addon-grid{ grid-template-columns:1fr; }
	.ptx-business-switcher-btn span:nth-child(2){ max-width:64px; }
	.ptx-admin-badge-text{ max-width:80px; }
	.ptx-panel-header h2{ font-size:16px; }
	.ptx-form-grid{ grid-template-columns:1fr; }
}

/* =========================================================
   Dark Mode
   Toggled by JS via the .ptx-dark-mode class on #ptx-app.
   The sidebar keeps its purple gradient in both modes (it
   already uses --ptx-sidebar-text for legible copy); this
   block re-themes the main column, cards, forms and modals.
   ========================================================= */

.ptx-app.ptx-dark-mode{
	--ptx-bg:#0f1117;
	--ptx-card:#181b25;
	--ptx-border:#2a2e3d;
	--ptx-text:#e9eaf2;
	--ptx-muted:#9799ab;
}

.ptx-app.ptx-dark-mode .ptx-card{
	background:linear-gradient(160deg,#181b25,#151822);
	box-shadow:0 6px 18px rgba(0,0,0,.35);
}

.ptx-app.ptx-dark-mode .ptx-breadcrumb{ color:var(--ptx-muted); }

.ptx-app.ptx-dark-mode .ptx-form-row input[type=text],
.ptx-app.ptx-dark-mode .ptx-form-row input[type=file],
.ptx-app.ptx-dark-mode .ptx-form-row input[type=email],
.ptx-app.ptx-dark-mode .ptx-form-row input[type=date],
.ptx-app.ptx-dark-mode .ptx-form-row input[type=number],
.ptx-app.ptx-dark-mode .ptx-form-row select,
.ptx-app.ptx-dark-mode .ptx-form-row textarea{
	background:#11131b; border-color:var(--ptx-border); color:var(--ptx-text);
}

.ptx-app.ptx-dark-mode .ptx-btn{
	background:#181b25; color:var(--ptx-text); border-color:var(--ptx-border);
	box-shadow:none;
}
.ptx-app.ptx-dark-mode .ptx-btn-outline-dark{ background:#181b25; color:var(--ptx-text); border-color:var(--ptx-border); }

.ptx-app.ptx-dark-mode .ptx-modal-box{ background:#181b25; color:var(--ptx-text); }
.ptx-app.ptx-dark-mode .ptx-user-chip-menu,
.ptx-app.ptx-dark-mode .ptx-business-switcher-menu,
.ptx-app.ptx-dark-mode .ptx-notif-dropdown{
	background:#181b25; border-color:var(--ptx-border); color:var(--ptx-text);
}
.ptx-app.ptx-dark-mode .ptx-user-chip-menu li button,
.ptx-app.ptx-dark-mode .ptx-business-switcher-menu li button{ color:var(--ptx-text); }
.ptx-app.ptx-dark-mode .ptx-user-chip-menu li button:hover,
.ptx-app.ptx-dark-mode .ptx-business-switcher-menu li button:hover{ background:#0f1117; }

.ptx-app.ptx-dark-mode .ptx-badge{ background:#232636; }

.ptx-app.ptx-dark-mode table.widefat,
.ptx-app.ptx-dark-mode .ptx-content table{
	background:#181b25; color:var(--ptx-text); border-color:var(--ptx-border);
}
