/* ═══════════════════════════════════════════════════
   PRESSURE PROFILE KYC — Full System CSS
   No header/footer. All features included.
   Dark theme, #d33636 accent
   ═══════════════════════════════════════════════════ */

:root {
    --pp-bg: #0B0B0B;
    --pp-surface: #111111;
    --pp-card: #161616;
    --pp-card-hover: #1C1C1C;
    --pp-input: #1A1A1A;
    --pp-border: #222222;
    --pp-border-hover: #333333;
    --pp-accent: #d33636;
    --pp-accent-dark: #a12929;
    --pp-accent-muted: #7a1f1f;
    --pp-accent-glow: rgba(211,54,54,0.08);
    --pp-accent-glow2: rgba(211,54,54,0.15);
    --pp-accent-glow3: rgba(211,54,54,0.25);
    --pp-white: #FFFFFF;
    --pp-gray300: #D4D4D4;
    --pp-gray400: #A3A3A3;
    --pp-gray500: #737373;
    --pp-gray600: #525252;
    --pp-gray700: #3F3F3F;
    --pp-gray800: #272727;
    --pp-error: #EF4444;
    --pp-error-glow: rgba(239,68,68,0.1);
    --pp-warning: #EAB308;
    --pp-warning-glow: rgba(234,179,8,0.1);
    --pp-font: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Scoped reset */
.pp-kyc-root * { box-sizing: border-box; margin: 0; padding: 0; }
.pp-kyc-root {
    font-family: var(--pp-font);
    background: var(--pp-bg);
    color: var(--pp-white);
    border-radius: 16px;
    position: relative;
    width: 100%;
    -webkit-font-smoothing: antialiased;
}
.pp-kyc-root h1,.pp-kyc-root h2,.pp-kyc-root h3 { font-family:var(--pp-font);color:var(--pp-white);margin:0;padding:0;border:none; }
.pp-kyc-root p,.pp-kyc-root button,.pp-kyc-root input,.pp-kyc-root select,.pp-kyc-root span,.pp-kyc-root div { font-family:var(--pp-font); }
.pp-kyc-root ::placeholder { color: var(--pp-gray600); }
.pp-kyc-root a.pp-btn-red-sm:hover,
.pp-kyc-root a.pp-btn-edit:hover,
.pp-kyc-root a.pp-btn-red-full:hover { color:#fff !important; }
.pp-kyc-root .pp-wallet-foot a.pp-btn-red-sm,
.pp-kyc-root .pp-wallet-foot a.pp-btn-red-sm:link,
.pp-kyc-root .pp-wallet-foot a.pp-btn-red-sm:visited,
.pp-kyc-root .pp-wallet-foot a.pp-btn-red-sm:hover,
.pp-kyc-root .pp-wallet-foot a.pp-btn-red-sm:focus,
.pp-kyc-root .pp-wallet-foot a.pp-btn-red-sm:active,
.pp-kyc-root .pp-sec-body a.pp-btn-red-sm,
.pp-kyc-root .pp-sec-body a.pp-btn-red-sm:hover,
.pp-kyc-root .pp-sec-body a.pp-btn-red-sm:visited { color:#fff !important;text-decoration:none !important; }
.pp-kyc-root ::-webkit-scrollbar { width: 5px; }
.pp-kyc-root ::-webkit-scrollbar-track { background: var(--pp-bg); }
.pp-kyc-root ::-webkit-scrollbar-thumb { background: var(--pp-gray700); border-radius: 3px; }
.pp-kyc-root input::-webkit-outer-spin-button,
.pp-kyc-root input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pp-kyc-root input[type=number] { -moz-appearance: textfield; }

/* Loading */
@keyframes pp-spin { to { transform: rotate(360deg); } }
.pp-loading { display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:16px; }
.pp-loading-spinner { width:36px;height:36px;border-radius:50%;border:3px solid var(--pp-gray800);border-top-color:var(--pp-accent);animation:pp-spin .8s linear infinite; }
.pp-loading-text { font-size:13px;color:var(--pp-gray500); }

/* Content container */
.pp-content { max-width:640px;margin:0 auto;padding:32px 24px;transition:opacity .18s ease; }
.pp-content-wide { max-width:1180px; }

/* ─── Typography ─── */
.pp-label { font-size:11px;font-weight:700;color:var(--pp-accent);letter-spacing:3px;text-transform:uppercase;margin-bottom:12px; }
.pp-title { font-size:clamp(24px,4vw,36px);font-weight:800;color:var(--pp-white);line-height:1.2;margin-bottom:20px; }
.pp-title-sub { font-size:20px;margin-bottom:8px; }
.pp-title .accent { color: var(--pp-accent); }
.pp-desc { font-size:15px;color:var(--pp-gray400);line-height:1.7;margin-bottom:28px;max-width:560px; }
.pp-divider { height:1px;background:var(--pp-border);margin:32px 0; }

/* ─── Card ─── */
.pp-card { background:var(--pp-card);border:1px solid var(--pp-border);border-radius:12px;padding:24px;transition:all .25s; }
.pp-card.hoverable:hover { border-color:var(--pp-border-hover); }
.pp-card.clickable { cursor:pointer; }
.pp-card.glow-card { background:var(--pp-accent-glow);border-color:var(--pp-accent-glow3); }
.pp-card.surface-card { background:var(--pp-surface); }
.pp-card.gradient-card { background:linear-gradient(160deg,var(--pp-card) 0%,rgba(122,31,31,0.08) 100%);border-color:var(--pp-accent-glow3); }

/* ─── Badge ─── */
.pp-badge { display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.5px; }
.pp-badge-lg { padding:6px 16px;font-size:12px; }
.pp-badge-verified { background:rgba(34,197,94,.12);color:#22c55e; }
.pp-badge-match,.pp-badge-active,.pp-badge-live { background:var(--pp-accent-glow2);color:var(--pp-accent); }
.pp-badge-pending,.pp-badge-review { background:var(--pp-warning-glow);color:var(--pp-warning); }
.pp-badge-failed,.pp-badge-rejected { background:var(--pp-error-glow);color:var(--pp-error); }
.pp-badge-icon { font-size:9px; }
.pp-badge-lg .pp-badge-icon { font-size:11px; }

/* ─── Button ─── */
.pp-btn { padding:14px 28px;border-radius:8px;border:none;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s;letter-spacing:.2px;display:inline-flex;align-items:center;justify-content:center;gap:6px; }
.pp-btn:disabled { background:var(--pp-gray700)!important;color:var(--pp-gray500)!important;cursor:not-allowed; }
.pp-btn-primary { background:var(--pp-accent);color:#FFFFFF !important; }
.pp-btn-primary:hover:not(:disabled) { background:#DF2020 !important;color:#FFFFFF !important; }
.pp-btn-primary:focus:not(:disabled) { background:#DF2020 !important;color:#FFFFFF !important; }
.pp-btn-primary:active:not(:disabled) { background:#DF2020 !important;color:#FFFFFF !important; }
.pp-btn-primary:visited { color:#FFFFFF !important; }
.pp-btn-ghost { background:transparent;color:var(--pp-gray300) !important;border:1px solid var(--pp-border); }
.pp-btn-ghost:hover { background:var(--pp-card-hover);color:var(--pp-white) !important; }
.pp-btn-lg { padding:16px 36px;font-size:14px; }
.pp-btn-full { width:100%; }

/* ─── Input ─── */
.pp-input-group { margin-bottom:18px; }
.pp-input-label { display:block;font-size:12px;color:var(--pp-gray500);margin-bottom:6px;font-weight:600;letter-spacing:.5px;text-transform:uppercase; }
.pp-input { width:100%;padding:13px 16px;background:var(--pp-input);border:1px solid var(--pp-border);border-radius:8px;color:var(--pp-white);font-size:14px;outline:none;transition:border-color .2s; }
.pp-input:focus { border-color:var(--pp-accent); }
select.pp-input { appearance:auto;-webkit-appearance:auto;cursor:pointer; }
select.pp-input option { background:var(--pp-input);color:var(--pp-white); }

/* Override WordPress theme global input styles */
.pp-kyc-root input[type=email],
.pp-kyc-root input[type=number],
.pp-kyc-root input[type=password],
.pp-kyc-root input[type=reset],
.pp-kyc-root input[type=search],
.pp-kyc-root input[type=tel],
.pp-kyc-root input[type=text],
.pp-kyc-root input[type=url],
.pp-kyc-root select,
.pp-kyc-root textarea {
    color: #fff !important;
    padding: 13px 16px !important;
    height: auto !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: #222 !important;
    border-radius: 8px !important;
    background: #1A1A1A !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    transition: border-color .2s !important;
    font-size: 14px !important;
    font-family: var(--pp-font) !important;
    outline: none !important;
    width: 100% !important;
}
/* Budget input exception — must override the above */
.pp-kyc-root input[type=number].pp-budget-input {
    color: #fff !important;
    padding: 13px 16px !important;
    height: auto !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: #222 !important;
    border-radius: 8px !important;
    background: #1A1A1A !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    transition: border-color .2s !important;
    font-size: 50px !important;
    font-family: var(--pp-font) !important;
    outline: none !important;
    width: 100% !important;
    font-weight: 800 !important;
    text-align: center !important;
    caret-color: #d33636;
}
.pp-kyc-root input[type=number].pp-budget-input:focus {
    border-color: #d33636 !important;
}
.pp-kyc-root input:focus,
.pp-kyc-root select:focus,
.pp-kyc-root textarea:focus {
    border-color: #d33636 !important;
    background: #1A1A1A !important;
    color: #fff !important;
}
.pp-kyc-root input::placeholder,
.pp-kyc-root textarea::placeholder {
    color: #525252 !important;
}

/* ─── Steps ─── */
.pp-steps { display:flex;align-items:center;margin-bottom:32px; }
.pp-step { display:flex;align-items:center;flex:1; }
.pp-step:last-child { flex:none; }
.pp-step-inner { display:flex;flex-direction:column;align-items:center; }
.pp-step-circle { width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;transition:all .3s; }
.pp-step-circle.completed,.pp-step-circle.current { background:var(--pp-accent);color:var(--pp-white); }
.pp-step-circle.upcoming { background:var(--pp-gray800);color:var(--pp-gray600); }
.pp-step-label { font-size:9px;margin-top:5px;text-align:center;width:60px;font-weight:600;letter-spacing:.3px; }
.pp-step-label.active { color:var(--pp-gray300); }
.pp-step-label.inactive { color:var(--pp-gray600); }
.pp-step-line { flex:1;height:2px;margin:0 6px;margin-bottom:18px;transition:all .3s; }
.pp-step-line.completed { background:var(--pp-accent); }
.pp-step-line.upcoming { background:var(--pp-gray800); }

/* ─── Welcome: Layer Cards ─── */
.pp-layer { display:flex;gap:20px;align-items:flex-start; }
.pp-layer-number { min-width:48px;height:48px;border-radius:10px;background:var(--pp-accent-glow2);border:1px solid var(--pp-accent-glow3);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:var(--pp-accent); }
.pp-layer-tag { font-size:9px;font-weight:700;color:var(--pp-accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:6px; }
.pp-layer-title { font-size:18px;font-weight:700;color:var(--pp-white);margin-bottom:6px; }
.pp-layer-desc { font-size:13px;color:var(--pp-gray500);line-height:1.6;margin-bottom:14px; }
.pp-layer-features { display:grid;grid-template-columns:1fr 1fr;gap:6px; }
.pp-layer-feature { display:flex;align-items:center;gap:6px;font-size:11px;color:var(--pp-gray400); }
.pp-layer-feature-check { color:var(--pp-accent);font-size:10px;font-weight:800; }

/* ─── Welcome: Architecture ─── */
.pp-arch-site { flex:1;padding:12px 16px;background:var(--pp-card);border-radius:8px;border:1px solid var(--pp-border);display:flex;align-items:center;justify-content:space-between; }
.pp-arch-site-name { font-size:13px;color:var(--pp-white);font-weight:600; }
.pp-arch-site-label { font-size:10px;color:var(--pp-gray500); }
.pp-arch-arrow { color:var(--pp-accent);font-size:18px;min-width:24px;text-align:center; }
.pp-arch-hub { padding:16px 20px;text-align:center;border-radius:10px;background:linear-gradient(135deg,rgba(122,31,31,0.13),var(--pp-card));border:1px solid var(--pp-accent-glow3); }
.pp-arch-hub-label { font-size:10px;color:var(--pp-accent);font-weight:700;letter-spacing:2px;margin-bottom:4px; }
.pp-arch-hub-name { font-size:16px;color:var(--pp-white);font-weight:700; }
.pp-arch-hub-desc { font-size:11px;color:var(--pp-gray500);margin-top:4px; }

/* ─── Doc Type Selector ─── */
.pp-doc-types { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px; }
.pp-doc-type { text-align:center;padding:20px 12px;cursor:pointer;background:var(--pp-card);border:1px solid var(--pp-border);border-radius:12px;transition:all .25s; }
.pp-doc-type:hover { border-color:var(--pp-border-hover); }
.pp-doc-type.selected { border-color:var(--pp-accent);background:var(--pp-accent-glow); }
.pp-doc-type-icon { font-size:28px;margin-bottom:8px; }
.pp-doc-type-label { font-size:12px;font-weight:700;color:var(--pp-gray300); }
.pp-doc-type.selected .pp-doc-type-label { color:var(--pp-accent); }

/* ─── Upload Zone ─── */
.pp-upload-zone { text-align:center;padding:36px 24px;margin-bottom:16px;border:2px dashed var(--pp-border);border-radius:12px;background:var(--pp-card);cursor:pointer;transition:all .25s;position:relative;overflow:hidden; }
.pp-upload-zone:hover { border-color:var(--pp-accent); }
.pp-upload-zone-icon { font-size:36px;margin-bottom:10px;opacity:.4; }
.pp-upload-zone-text { font-size:14px;color:var(--pp-gray400); }
.pp-upload-zone-sub { font-size:12px;color:var(--pp-gray600);margin-top:4px; }
.pp-upload-zone input[type="file"] { position:absolute;inset:0;opacity:0;cursor:pointer; }
.pp-kyc-root .pp-upload-zone[style*="border-radius:50%"] { padding:0 !important;margin-bottom:0 !important; }
.pp-upload-zone.has-file { border-color:var(--pp-accent);border-style:solid;background:var(--pp-accent-glow); }
.pp-upload-zone.has-file .pp-upload-zone-icon { opacity:1; }

/* ─── Face Scan ─── */
.pp-face-scan-container { text-align:center;padding:32px; }
.pp-face-circle { width:200px;height:200px;border-radius:50%;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;transition:box-shadow .3s; }
.pp-face-circle.idle { background:var(--pp-gray800); }
.pp-face-circle.scanning { background:conic-gradient(var(--pp-warning) var(--scan-deg,0deg),var(--pp-gray800) 0deg); }
.pp-face-circle.done { background:conic-gradient(var(--pp-accent) 360deg,var(--pp-gray800) 0deg);box-shadow:0 0 50px var(--pp-accent-glow3); }
.pp-face-inner { width:180px;height:180px;border-radius:50%;background:var(--pp-card);display:flex;align-items:center;justify-content:center;flex-direction:column; }
.pp-face-icon { margin-bottom:4px; }
.pp-face-icon.large { font-size:48px; }
.pp-face-icon.medium { font-size:32px; }
.pp-face-progress { font-size:22px;font-weight:800; }
.pp-face-progress.scanning-text { color:var(--pp-warning); }
.pp-face-progress.done-text { color:var(--pp-accent);font-size:15px; }
.pp-face-sub { font-size:11px;color:var(--pp-gray400); }
.pp-face-checks { display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:20px; }
.pp-face-check { padding:10px;background:var(--pp-input);border-radius:8px;text-align:center; }
.pp-face-check-icon { font-size:16px;margin-bottom:2px; }
.pp-face-check-icon.ok { color:var(--pp-accent); }
.pp-face-check-icon.active { color:var(--pp-warning); }
.pp-face-check-icon.inactive { color:var(--pp-gray700); }
.pp-face-check-label { font-size:9px;color:var(--pp-gray500);text-transform:uppercase;letter-spacing:.5px;font-weight:700; }

/* ─── Result Grid (Verification Complete) ─── */
.pp-result-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.pp-result-item { padding:12px;background:var(--pp-input);border-radius:8px; }
.pp-result-item-label { font-size:9px;color:var(--pp-gray500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-weight:700; }
.pp-result-item-value { font-size:16px;font-weight:800;color:var(--pp-accent); }

/* ─── Wallet Setup ─── */
.pp-budget-input-wrap { display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:16px; }
.pp-budget-dollar { font-size:48px !important;font-weight:200;color:var(--pp-gray600) !important; }
.pp-budget-input { color:#fff !important;padding:13px 16px !important;height:auto !important;border-width:1px !important;border-style:solid !important;border-color:#222 !important;border-radius:8px !important;background:#1A1A1A !important;box-shadow:none !important;box-sizing:border-box !important;transition:border-color .2s !important;font-size:50px !important;font-family:var(--pp-font) !important;outline:none !important;width:100% !important;font-weight:800;text-align:center;caret-color:#d33636; }
.pp-budget-input:focus { border-color:#d33636 !important;box-shadow:none !important; }

/* ─── Wallet Feature List ─── */
.pp-feature-item { display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--pp-border); }
.pp-feature-item:last-child { border-bottom:none; }
.pp-feature-icon { min-width:40px;height:40px;border-radius:10px;background:var(--pp-accent-glow);display:flex;align-items:center;justify-content:center;font-size:18px; }
.pp-feature-title { font-size:13px;font-weight:700;color:var(--pp-white);margin-bottom:2px; }
.pp-feature-desc { font-size:12px;color:var(--pp-gray500);line-height:1.5; }

/* ─── Dashboard ─── */
.pp-dash-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:24px; }
.pp-dash-welcome { font-size:11px;color:var(--pp-gray500); }
.pp-dash-name { font-size:20px;font-weight:800;color:var(--pp-white); }
.pp-dash-right { display:flex;align-items:center;gap:10px; }
.pp-dash-avatar { width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#d33636,#a12929);border:2px solid rgba(211,54,54,0.3);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;color:#fff;cursor:pointer;overflow:hidden; }

/* Tab Bar */
.pp-tabs { display:flex;gap:6px;margin-bottom:24px; }
.pp-tab { flex:1;padding:8px 6px;border-radius:8px;border:1px solid var(--pp-accent);font-size:10px;line-height:15px;font-weight:700;cursor:pointer;transition:all .2s;background:var(--pp-bg);color:var(--pp-accent);text-align:center;white-space:nowrap; }
.pp-tab.active { background:var(--pp-accent);color:var(--pp-white);border-color:var(--pp-accent); }
.pp-tab:hover:not(.active) { background:var(--pp-accent-glow); }

/* Balance Card */
.pp-balance-row { display:flex;justify-content:space-between;margin-bottom:20px; }
.pp-balance-label { font-size:10px;color:var(--pp-gray500);font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px; }
.pp-balance-amount { font-size:36px;font-weight:800;color:var(--pp-accent); }
.pp-balance-budget { font-size:20px;font-weight:700;color:var(--pp-gray300); }
.pp-balance-period { font-size:10px;color:var(--pp-gray500); }
.pp-progress-bar { background:var(--pp-gray800);border-radius:6px;height:8px;overflow:hidden;margin-bottom:6px; }
.pp-progress-fill { height:100%;background:var(--pp-accent);border-radius:6px;transition:width .5s; }
.pp-progress-labels { display:flex;justify-content:space-between;font-size:10px;color:var(--pp-gray500); }

/* Action Cards */
.pp-actions { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px; }
.pp-action-card { text-align:center;padding:18px 12px;cursor:pointer;background:var(--pp-card);border:1px solid var(--pp-border);border-radius:12px;transition:all .25s; }
.pp-action-card:hover { border-color:var(--pp-border-hover); }
.pp-action-icon { font-size:22px;margin-bottom:6px; }
.pp-action-title { font-size:12px;font-weight:700;color:var(--pp-white); }
.pp-action-desc { font-size:10px;color:var(--pp-gray500); }

/* Section Label */
.pp-section-label { font-size:10px;color:var(--pp-gray500);font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:14px; }

/* Transactions */
.pp-tx-item { display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--pp-border); }
.pp-tx-left { display:flex;align-items:center;gap:10px; }
.pp-tx-icon { width:32px;height:32px;border-radius:8px;background:var(--pp-accent-glow);display:flex;align-items:center;justify-content:center;font-size:14px; }
.pp-tx-desc { font-size:12px;font-weight:600;color:var(--pp-white); }
.pp-tx-date { font-size:10px;color:var(--pp-gray500); }
.pp-tx-amount { font-size:13px;font-weight:700;color:var(--pp-error); }

/* QR Pass */
.pp-qr-container { width:200px;height:200px;margin:0 auto 16px;background:var(--pp-white);border-radius:14px;padding:14px;display:flex;align-items:center;justify-content:center;overflow:hidden; }
.pp-qr-container img { max-width:100%;max-height:100%;object-fit:contain; }
.pp-qr-container svg { max-width:100%;max-height:100%; }
.pp-qr-name { font-size:15px;font-weight:700;color:var(--pp-white);margin-bottom:6px; }
.pp-qr-hint { font-size:11px;color:var(--pp-gray500);margin-top:10px; }

/* Scan History */
.pp-scan-item { display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--pp-border); }
.pp-scan-biz { font-size:13px;font-weight:600;color:var(--pp-white); }
.pp-scan-meta { font-size:10px;color:var(--pp-gray500); }

/* Identity Tab */
.pp-id-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.pp-id-item { padding:14px;background:var(--pp-input);border-radius:8px; }
.pp-id-item-icon { font-size:16px;margin-bottom:6px; }
.pp-id-item-label { font-size:9px;color:var(--pp-gray500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px;font-weight:700; }
.pp-id-item-value { font-size:14px;font-weight:700;color:var(--pp-white); }

/* Business Visibility */
.pp-vis-item { display:flex;justify-content:space-between;align-items:center;padding:9px 12px;margin-bottom:4px;background:var(--pp-input);border-radius:6px; }
.pp-vis-item-name { font-size:12px; }
.pp-vis-item-name.visible { color:var(--pp-gray300); }
.pp-vis-item-name.hidden { color:var(--pp-gray600); }
.pp-vis-item-status { font-size:11px;font-weight:700; }
.pp-vis-item-status.visible { color:var(--pp-accent); }
.pp-vis-item-status.hidden { color:var(--pp-error); }

/* ─── Face Login Screen ─── */
.pp-face-login { text-align:center;padding:40px 0; }
.pp-face-login-circle { width:220px;height:220px;border-radius:50%;margin:0 auto 32px;display:flex;align-items:center;justify-content:center;transition:box-shadow .3s;cursor:pointer; }
.pp-face-login-circle.idle { background:var(--pp-gray800); }
.pp-face-login-circle.scanning { background:conic-gradient(var(--pp-accent) var(--scan-deg,0deg),var(--pp-gray800) 0deg);cursor:default; }
.pp-face-login-circle.done { background:conic-gradient(var(--pp-accent) 360deg,var(--pp-gray800) 0deg);box-shadow:0 0 60px var(--pp-accent-glow3);cursor:default; }
.pp-face-login-inner { width:200px;height:200px;border-radius:50%;background:var(--pp-card);display:flex;align-items:center;justify-content:center;flex-direction:column; }
.pp-alt-login { font-size:12px;color:var(--pp-gray500);cursor:pointer;text-decoration:underline;background:none;border:none;margin-top:16px;display:block;text-align:center; }

/* ─── Modal (appended to body — MUST override theme with !important) ─── */
.pp-modal-overlay { position:fixed!important;inset:0!important;background:rgba(0,0,0,0.75)!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:99999!important;padding:20px!important;backdrop-filter:blur(4px)!important;font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif!important; }
.pp-modal { background:#161616!important;border:1px solid #222!important;border-radius:16px!important;padding:24px!important;width:100%!important;max-width:440px!important;font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif!important; }
.pp-modal * { box-sizing:border-box!important;font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif!important; }
.pp-modal-title { font-size:16px!important;font-weight:700!important;color:#fff!important;margin-bottom:12px!important; }
.pp-modal .pp-desc { font-size:13px!important;color:#A3A3A3!important;line-height:1.6!important; }
.pp-modal .pp-input-group { margin-bottom:18px!important; }
.pp-modal .pp-input-label { display:block!important;font-size:12px!important;color:#737373!important;margin-bottom:6px!important;font-weight:600!important;letter-spacing:.5px!important;text-transform:uppercase!important; }
.pp-modal .pp-input,
.pp-modal input[type="text"],
.pp-modal input[type="number"],
.pp-modal input[type="email"],
.pp-modal select { width:100%!important;padding:13px 16px!important;background:#1A1A1A!important;border:1px solid #333!important;border-radius:8px!important;color:#fff!important;font-size:14px!important;outline:none!important;-webkit-appearance:none!important;transition:border-color .2s!important; }
.pp-modal input:disabled { opacity:0.4!important;cursor:not-allowed!important;background:#111!important;color:#666!important; }
.pp-modal button:disabled { opacity:0.4!important;cursor:not-allowed!important; }
.pp-modal .pp-input:focus,
.pp-modal input:focus,
.pp-modal select:focus { border-color:#d33636!important; }
.pp-modal .pp-input::placeholder,
.pp-modal input::placeholder { color:#525252!important; }
.pp-modal select { appearance:auto!important;-webkit-appearance:auto!important;cursor:pointer!important; }
.pp-modal select option { background:#1A1A1A!important;color:#fff!important; }
.pp-modal .pp-btn { padding:11px 16px!important;border-radius:8px!important;border:none!important;font-size:12px!important;font-weight:700!important;cursor:pointer!important;transition:all .2s!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:100%!important; }
.pp-modal .pp-btn-primary { background:#d33636!important;color:#fff!important; }
.pp-modal .pp-btn-primary:hover { background:#DF2020!important;color:#FFFFFF!important; }
.pp-modal .pp-btn-ghost { background:transparent!important;color:#D4D4D4!important;border:1px solid #333!important; }
.pp-modal .pp-btn-ghost:hover { background:#1C1C1C!important; }
.pp-modal .pp-flex-row { display:flex!important;gap:12px!important; }
.pp-modal .pp-upload-zone { text-align:center!important;padding:28px 16px!important;margin-bottom:14px!important;border:2px dashed #333!important;border-radius:12px!important;background:#111!important;cursor:pointer!important;position:relative!important;overflow:hidden!important; }
.pp-modal .pp-upload-zone:hover { border-color:#d33636!important; }
.pp-modal .pp-upload-zone-icon { font-size:28px!important;margin-bottom:8px!important;opacity:.4!important; }
.pp-modal .pp-upload-zone-text { font-size:13px!important;color:#A3A3A3!important; }
.pp-modal .pp-upload-zone-sub { font-size:11px!important;color:#525252!important;margin-top:3px!important; }
.pp-modal .pp-upload-zone input[type="file"] { position:absolute!important;inset:0!important;opacity:0!important;cursor:pointer!important; }
.pp-modal .pp-upload-zone.has-file { border-color:#d33636!important;border-style:solid!important;background:rgba(211,54,54,0.08)!important; }
.pp-modal .pp-upload-zone.has-file .pp-upload-zone-icon { opacity:1!important; }

/* ─── Helpers ─── */
.pp-grid-2 { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.pp-flex-col { display:flex;flex-direction:column;gap:12px; }
.pp-flex-row { display:flex;gap:12px; }
.pp-flex-between { display:flex;justify-content:space-between;align-items:center; }
.pp-text-center { text-align:center; }
.pp-text-right { text-align:right; }
.pp-mb-6 { margin-bottom:6px; }
.pp-mb-12 { margin-bottom:12px; }
.pp-mb-14 { margin-bottom:14px; }
.pp-mb-16 { margin-bottom:16px; }
.pp-mb-20 { margin-bottom:20px; }
.pp-mb-24 { margin-bottom:24px; }
.pp-mt-16 { margin-top:16px; }

/* ─── Dashboard Tabs ─── */
.pp-tabs { display:flex;gap:4px;margin-bottom:14px;overflow-x:auto;-webkit-overflow-scrolling:touch; }
.pp-tab { flex-shrink:0; }

/* ─── New Dashboard Layout ─── */
.pp-hero { background:var(--pp-card);border:1px solid var(--pp-border);border-radius:16px;padding:32px 36px;display:flex;align-items:center;gap:28px;position:relative;overflow:hidden;margin-bottom:24px; }
.pp-hero::before { content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--pp-accent),transparent 60%); }
.pp-hero-glow { position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(211,54,54,0.1),transparent 65%);pointer-events:none; }
.pp-hero-avatar-wrap { position:relative;flex-shrink:0; }
.pp-hero-avatar { width:86px;height:86px;border-radius:50%;border:3px solid rgba(211,54,54,0.35);overflow:hidden;background:#1a1a1a;display:flex;align-items:center;justify-content:center; }
.pp-hero-avatar img { width:100%;height:100%;object-fit:cover;display:block; }
.pp-hero-fb { font-size:32px;font-weight:800;color:var(--pp-accent); }
.pp-verified-ring { position:absolute;bottom:2px;right:2px;width:22px;height:22px;border-radius:50%;background:#22c55e;border:2px solid var(--pp-card);display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff;font-weight:700; }
.pp-hero-info { flex:1; }
.pp-hero-name { font-size:26px;font-weight:800;letter-spacing:-.5px;color:var(--pp-white);margin-bottom:8px; }
.pp-hero-meta { display:flex;flex-wrap:wrap;gap:14px;margin-bottom:12px; }
.pp-meta-item { display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--pp-gray400); }
.pp-meta-item svg { color:var(--pp-accent);flex-shrink:0; }
.pp-badge-verified-pill { display:inline-flex;align-items:center;gap:4px;background:rgba(34,197,94,0.1);border:1px solid rgba(34,197,94,0.28);color:#22c55e;font-size:10.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;padding:3px 10px;border-radius:20px; }
.pp-hero-actions { flex-shrink:0;display:flex;flex-direction:row;gap:4px; }

/* Hero Tabs */
.pp-hero-tab { font-family:var(--pp-font);font-size:11px;font-weight:700;letter-spacing:.5px;padding:8px 16px;border-radius:7px;cursor:pointer;border:1px solid var(--pp-border);color:var(--pp-gray400);background:transparent;transition:all .18s;white-space:nowrap; }
.pp-hero-tab:hover { color:var(--pp-white) !important;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12); }
.pp-hero-tab.active { color:var(--pp-accent) !important;border-color:rgba(211,54,54,.35);background:rgba(211,54,54,.08); }

.pp-btn-edit { font-family:var(--pp-font);font-size:12px;font-weight:700;padding:9px 20px;border-radius:7px;cursor:pointer;border:none;background:var(--pp-accent);color:#fff !important;display:inline-flex;align-items:center;gap:6px;transition:all .18s;box-shadow:0 4px 18px rgba(211,54,54,0.3);text-decoration:none !important; }
.pp-btn-edit:hover { background:#DF2020 !important;color:#fff !important;transform:translateY(-1px); }
.pp-btn-edit:visited { color:#fff !important; }
.pp-btn-ghost-sm { font-family:var(--pp-font);font-size:11px;font-weight:600;padding:7px 16px;border-radius:6px;cursor:pointer;background:transparent;color:var(--pp-gray400) !important;border:1px solid var(--pp-border);transition:all .18s; }
.pp-btn-ghost-sm:hover { background:rgba(255,255,255,.05);color:var(--pp-white) !important; }
.pp-btn-outline-sm { font-family:var(--pp-font);font-size:11px;font-weight:700;padding:6px 15px;border-radius:6px;cursor:pointer;background:transparent;color:var(--pp-accent);border:1px solid rgba(211,54,54,0.35);display:inline-flex;align-items:center;gap:4px;transition:all .18s; }
.pp-btn-outline-sm:hover { background:rgba(211,54,54,0.08);color:var(--pp-accent) !important; }
.pp-btn-red-sm { font-family:var(--pp-font);font-size:11px;font-weight:700;padding:7px 14px;border-radius:6px;cursor:pointer;background:var(--pp-accent);color:#fff !important;border:none;transition:all .18s;text-decoration:none !important; }
.pp-btn-red-sm:hover { background:#DF2020 !important;color:#fff !important; }
.pp-btn-red-sm:visited { color:#fff !important; }
a.pp-btn-red-sm, a.pp-btn-red-sm:link, a.pp-btn-red-sm:visited, a.pp-btn-red-sm:hover, a.pp-btn-red-sm:active { color:#fff !important;text-decoration:none !important; }
a.pp-btn-edit, a.pp-btn-edit:link, a.pp-btn-edit:visited, a.pp-btn-edit:hover, a.pp-btn-edit:active { color:#fff !important;text-decoration:none !important; }
.pp-btn-red-full { font-family:var(--pp-font);font-size:12px;font-weight:700;padding:10px 20px;border-radius:7px;cursor:pointer;background:var(--pp-accent);color:#fff !important;border:none;width:100%;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .18s;box-shadow:0 4px 18px rgba(211,54,54,0.3); }
.pp-btn-red-full:hover { background:#DF2020 !important;color:#fff !important; }

/* Stats */
.pp-stat-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px; }
.pp-stat-card { background:var(--pp-card);border:1px solid var(--pp-border);border-radius:12px;padding:20px 22px;position:relative;overflow:hidden;transition:border-color .2s; }
.pp-stat-card:hover { border-color:rgba(211,54,54,0.35); }
.pp-stat-lbl { font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--pp-gray600);margin-bottom:10px; }
.pp-stat-val { font-size:26px;font-weight:800;letter-spacing:-1px;line-height:1; }
.pp-stat-sub { font-size:11px;color:var(--pp-gray600);margin-top:6px; }
.pp-pulse-dot { position:absolute;top:18px;right:18px;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e;animation:pp-pulse 2s infinite; }
@keyframes pp-pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.4)} }

/* Main Grid */
.pp-main-grid { display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:start; }
.pp-left-col { display:flex;flex-direction:column;gap:22px; }
.pp-right-col { display:flex;flex-direction:column;gap:22px; }

/* Section Card */
.pp-section-card { background:var(--pp-card);border:1px solid var(--pp-border);border-radius:14px;overflow:hidden; }
.pp-sec-head { padding:18px 22px;border-bottom:1px solid var(--pp-border);display:flex;align-items:center;justify-content:space-between; }
.pp-sec-title { font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--pp-white);display:flex;align-items:center;gap:8px; }
.pp-sec-body { padding:22px; }

/* View Grid */
.pp-view-grid { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.pp-view-field { display:flex;flex-direction:column;gap:5px; }
.pp-view-field label { font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--pp-gray600); }
.pp-view-val { background:#181818;border:1px solid var(--pp-border);border-radius:7px;padding:10px 14px;font-size:13.5px;font-weight:500;color:var(--pp-gray400); }
.pp-view-locked { color:var(--pp-gray600);font-size:12px; }

/* Wallet */
.pp-wallet-tiles { display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px; }
.pp-wallet-tile { background:#181818;border:1px solid var(--pp-border);border-radius:10px;padding:18px;text-align:center; }
.pp-wt-lbl { font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--pp-gray600);margin-bottom:8px; }
.pp-wt-val { font-size:22px;font-weight:800;letter-spacing:-1px;color:var(--pp-white); }
.pp-wallet-badge { display:inline-flex;align-items:center;gap:5px;background:rgba(34,197,94,0.1);border:1px solid rgba(34,197,94,.25);color:#22c55e;font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;padding:3px 10px;border-radius:20px; }
.pp-wallet-foot { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:14px;border-top:1px solid var(--pp-border);margin-top:4px; }

/* Transactions */
.pp-tx-empty { text-align:center;padding:36px 20px; }
.pp-tx-empty-icon { width:50px;height:50px;margin:0 auto 14px;background:rgba(211,54,54,0.07);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px; }

/* Document Grid */
.pp-doc-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:12px; }
.pp-doc-tile { background:#181818;border:1px solid var(--pp-border);border-radius:10px;overflow:hidden;cursor:pointer;transition:border-color .2s; }
.pp-doc-tile:hover { border-color:rgba(211,54,54,0.35); }
.pp-doc-thumb { height:86px;background:var(--pp-card);display:flex;align-items:center;justify-content:center;font-size:28px;position:relative; }
.pp-doc-badge-ok { position:absolute;top:7px;right:7px;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:2px 7px;border-radius:20px;background:rgba(34,197,94,.12);color:#22c55e;border:1px solid rgba(34,197,94,.28); }
.pp-doc-badge-pending { position:absolute;top:7px;right:7px;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:2px 7px;border-radius:20px;background:rgba(234,179,8,.12);color:#EAB308;border:1px solid rgba(234,179,8,.28); }
.pp-doc-info { padding:10px 12px; }
.pp-doc-name { font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--pp-gray400); }
.pp-doc-date { font-size:10.5px;color:var(--pp-gray600);margin-top:3px; }

/* QR Card */
.pp-qr-card-new { background:var(--pp-card);border:1px solid var(--pp-border);border-radius:14px;padding:22px;text-align:center;transition:box-shadow .3s,border-color .3s; }
.pp-card-sec-title { font-size:11px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:var(--pp-gray600);margin-bottom:18px;text-align:left;display:flex;align-items:center;gap:6px; }
.pp-qr-wrap-new { background:#fff;border-radius:12px;padding:14px;display:inline-block;margin-bottom:14px; }
.pp-qr-card-name { font-size:18px;font-weight:800;letter-spacing:-.5px;margin-bottom:6px;color:var(--pp-white); }
.pp-verified-banner { background:rgba(34,197,94,0.07);border:1px solid rgba(34,197,94,0.2);border-radius:8px;padding:9px 14px;margin:12px 0;font-size:11px;font-weight:700;letter-spacing:1px;color:#22c55e;text-align:center; }
.pp-qr-timers { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0; }
.pp-qr-timer-box { background:#181818;border:1px solid var(--pp-border);border-radius:8px;padding:10px; }
.pp-qt-lbl { font-size:9px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--pp-gray600);margin-bottom:4px; }
.pp-qt-val { font-size:22px;font-weight:800;letter-spacing:-1px;color:var(--pp-accent); }
.pp-qr-token { font-size:11px;color:var(--pp-gray600);margin-bottom:6px;font-weight:500; }
.pp-qr-link-new { font-size:11px;color:var(--pp-accent);word-break:break-all;text-decoration:none;display:block;margin-bottom:12px; }
.pp-qr-link-new:hover { opacity:.7; }

/* Activity */
.pp-activity-card { background:var(--pp-card);border:1px solid var(--pp-border);border-radius:14px;padding:22px; }

/* Scan Logs Table */
.pp-sl-header { display:grid;grid-template-columns:1.1fr .9fr 1fr .8fr .6fr .5fr;gap:8px;padding:10px 18px;border-bottom:1px solid var(--pp-border);font-size:9.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--pp-gray600); }
.pp-sl-row { display:grid;grid-template-columns:1.1fr .9fr 1fr .8fr .6fr .5fr;gap:8px;padding:12px 18px;border-bottom:1px solid rgba(255,255,255,.03);align-items:center;transition:background .15s; }
.pp-sl-row:hover { background:rgba(255,255,255,.02); }
.pp-sl-row:last-child { border-bottom:none; }
.pp-sl-name { font-size:12.5px;font-weight:600;color:var(--pp-white); }
.pp-sl-city { font-size:10px;color:var(--pp-gray600);margin-top:1px; }
.pp-sl-device { font-size:11px;color:var(--pp-gray400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.pp-sl-loc { overflow:hidden; }
.pp-sl-ip code { font-size:10.5px;color:var(--pp-gray500);background:rgba(255,255,255,.04);padding:2px 6px;border-radius:4px;font-family:'SF Mono',Consolas,monospace; }
.pp-sl-time { font-size:11px;color:var(--pp-gray500); }
.pp-sl-status { text-align:right; }
.pp-sl-pagination { display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 18px;border-top:1px solid var(--pp-border); }
.pp-sl-pg-btn { font-family:var(--pp-font);font-size:11px;font-weight:600;padding:6px 14px;border-radius:6px;cursor:pointer;background:transparent;color:var(--pp-gray400);border:1px solid var(--pp-border);transition:all .18s; }
.pp-sl-pg-btn:hover:not(.disabled) { background:rgba(211,54,54,.08);color:var(--pp-accent);border-color:rgba(211,54,54,.35); }
.pp-sl-pg-btn.disabled { opacity:.3;cursor:not-allowed;pointer-events:none; }
.pp-sl-pg-info { font-size:11px;color:var(--pp-gray600);font-weight:500; }
.pp-act-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.pp-act-tile { background:#181818;border:1px solid var(--pp-border);border-radius:9px;padding:14px; }
.pp-act-lbl { font-size:9.5px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--pp-gray600);margin-bottom:5px; }
.pp-act-val { font-size:20px;font-weight:800;color:var(--pp-white);letter-spacing:-.5px; }
.pp-act-sm { font-size:13px;font-weight:600;color:var(--pp-gray400); }

/* Edit Modal */
.pp-edit-overlay { display:none;position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.78);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:20px; }
.pp-edit-overlay.open { display:flex; }
.pp-edit-modal { background:var(--pp-card);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto; }
.pp-edit-head { padding:20px 24px;border-bottom:1px solid var(--pp-border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--pp-card);z-index:1; }
.pp-edit-title { font-size:14px;font-weight:700;color:var(--pp-white);display:flex;align-items:center;gap:8px; }
.pp-edit-title svg { color:var(--pp-accent); }
.pp-edit-close { width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.05);border:1px solid var(--pp-border);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--pp-gray400);transition:all .15s;font-family:var(--pp-font); }
.pp-edit-close:hover { background:rgba(211,54,54,.12);color:var(--pp-accent);border-color:rgba(211,54,54,0.35); }
.pp-edit-body { padding:24px; }
.pp-edit-grid { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.pp-mfield { display:flex;flex-direction:column;gap:6px; }
.pp-mfield-full { grid-column:span 2; }
.pp-mfield label { font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--pp-gray600); }
.pp-mfield input { background:#181818;border:1px solid var(--pp-border);border-radius:8px;padding:10px 14px;color:var(--pp-white);font-family:var(--pp-font);font-size:13.5px;font-weight:500;outline:none;transition:border-color .18s,box-shadow .18s; }
.pp-mfield input:focus { border-color:var(--pp-accent);box-shadow:0 0 0 3px rgba(211,54,54,.12); }
.pp-edit-foot { padding:18px 24px;border-top:1px solid var(--pp-border);display:flex;gap:10px;justify-content:flex-end;position:sticky;bottom:0;background:var(--pp-card); }

/* ─── Responsive ─── */

/* Tablet (768px and below) */
@media (max-width:920px) {
    .pp-main-grid { grid-template-columns:1fr !important; }
    .pp-stat-grid { grid-template-columns:repeat(2,1fr) !important; }
}
@media (max-width:768px) {
    .pp-content { max-width:100%;padding:24px 16px; }
    .pp-grid-2 { grid-template-columns:1fr !important; }
    .pp-result-grid { grid-template-columns:repeat(2,1fr) !important; }
    .pp-id-grid { grid-template-columns:1fr !important; }
    .pp-doc-types { grid-template-columns:repeat(3,1fr) !important; }
    .pp-presets { grid-template-columns:repeat(2,1fr) !important; }
    .pp-stats-grid { grid-template-columns:repeat(2,1fr) !important; }
    .pp-card { padding:16px; }
    .pp-title { font-size:22px; }
    .pp-desc { font-size:13px; }
    .pp-face-circle { width:180px;height:180px; }
    .pp-face-inner { width:162px;height:162px; }
    .pp-face-login-circle { width:180px;height:180px; }
    .pp-face-login-inner { width:162px;height:162px; }
    .pp-qr-container { width:180px;height:180px; }
    .pp-dash-header { gap:12px !important; }
    .pp-tabs { gap:2px; }
    .pp-tab { font-size:10px !important;padding:8px 10px !important; }
    .pp-view-grid { grid-template-columns:1fr !important; }
    .pp-wallet-tiles { grid-template-columns:1fr !important; }
    .pp-doc-grid { grid-template-columns:1fr 1fr !important; }
    .pp-sl-header { grid-template-columns:1.1fr .9fr 1fr .6fr .5fr !important; }
    .pp-sl-header .pp-sl-ip { display:none !important; }
    .pp-sl-row { grid-template-columns:1.1fr .9fr 1fr .6fr .5fr !important; }
    .pp-sl-row .pp-sl-ip { display:none !important; }
    .pp-edit-grid { grid-template-columns:1fr !important; }
    .pp-mfield-full { grid-column:span 1 !important; }
}

/* Mobile (480px and below) */
@media (max-width:480px) {
    .pp-content { padding:16px 12px; }
    .pp-card { padding:14px 12px; }
    .pp-title { font-size:18px; }
    .pp-title-sub { font-size:16px; }
    .pp-desc { font-size:12px;margin-bottom:16px; }
    .pp-label { font-size:10px;letter-spacing:2px;margin-bottom:8px; }
    .pp-btn { padding:12px 16px;font-size:12px; }
    .pp-btn-lg { padding:14px 20px;font-size:13px; }
    .pp-badge { font-size:10px;padding:3px 8px; }
    .pp-badge-lg { font-size:11px;padding:4px 12px; }
    .pp-input { padding:11px 12px;font-size:13px; }
    .pp-input-label { font-size:11px; }
    .pp-grid-2 { grid-template-columns:1fr !important;gap:8px !important; }
    .pp-result-grid { grid-template-columns:1fr 1fr !important;gap:6px !important; }
    .pp-result-item { padding:10px !important; }
    .pp-result-item-label { font-size:9px !important; }
    .pp-result-item-value { font-size:12px !important; }
    .pp-face-circle { width:140px;height:140px; }
    .pp-face-inner { width:124px;height:124px; }
    .pp-face-login-circle { width:160px;height:160px; }
    .pp-face-login-inner { width:144px;height:144px; }
    .pp-face-check-label { font-size:9px !important; }
    .pp-qr-container { width:160px;height:160px;padding:10px; }
    .pp-qr-name { font-size:13px; }
    .pp-layer { flex-direction:column;gap:12px; }
    .pp-budget-input { font-size:36px !important; }
    .pp-presets { grid-template-columns:repeat(2,1fr) !important; }
    .pp-preset-btn { padding:10px !important;font-size:12px !important; }
    .pp-period-toggle { gap:4px !important; }
    .pp-period-btn { padding:8px 12px !important;font-size:11px !important; }
    .pp-section-label { font-size:9px; }
    .pp-tx-item { padding:10px 0; }
    .pp-tx-desc { font-size:11px; }
    .pp-tx-amount { font-size:12px; }
    .pp-tx-date { font-size:9px; }
    .pp-scan-biz { font-size:11px; }
    .pp-scan-meta { font-size:9px; }
    .pp-upload-zone { padding:20px 12px !important; }
    .pp-upload-zone-icon { font-size:28px !important; }
    .pp-upload-zone-text { font-size:12px !important; }
    .pp-stats-grid { grid-template-columns:repeat(2,1fr) !important;gap:6px !important; }
    .pp-dash-header { flex-direction:column !important;text-align:center !important;gap:10px !important; }
    .pp-dash-header > div:last-child { text-align:center !important;width:100%; }
    .pp-tabs { overflow-x:auto;-webkit-overflow-scrolling:touch;gap:2px; }
    .pp-tab { font-size:9px !important;padding:7px 8px !important;white-space:nowrap; }
    .pp-hero { flex-direction:column !important;text-align:center !important;padding:24px 16px !important; }
    .pp-hero-meta { justify-content:center !important; }
    .pp-hero-actions { flex-direction:row !important;width:100%;justify-content:center;flex-wrap:wrap; }
    .pp-hero-tab { font-size:10px !important;padding:6px 12px !important; }
    .pp-hero-name { font-size:20px !important; }
    .pp-stat-grid { grid-template-columns:1fr 1fr !important;gap:8px !important; }
    .pp-stat-val { font-size:20px !important; }
    .pp-view-grid { grid-template-columns:1fr !important; }
    .pp-wallet-tiles { grid-template-columns:1fr !important; }
    .pp-wallet-foot { flex-direction:column !important;align-items:stretch !important; }
    .pp-doc-grid { grid-template-columns:1fr !important; }
    .pp-doc-thumb { height:60px !important; }
    .pp-sl-header { display:none !important; }
    .pp-sl-row { grid-template-columns:1fr !important;gap:4px !important;padding:12px 16px !important;border-bottom:1px solid var(--pp-border) !important; }
    .pp-sl-row .pp-sl-ip { display:block !important; }
    .pp-sl-status { text-align:left !important; }
    .pp-sl-col::before { font-size:9px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--pp-gray600);margin-right:6px; }
    .pp-sl-device::before { content:'Device: '; }
    .pp-sl-loc::before { content:'Location: '; }
    .pp-sl-ip::before { content:'IP: '; }
    .pp-sl-time::before { content:'Time: '; }
    .pp-edit-grid { grid-template-columns:1fr !important; }
    .pp-mfield-full { grid-column:span 1 !important; }
    .pp-edit-modal { max-width:100% !important;margin:10px !important; }
    .pp-vis-item { padding:8px 10px; }
    .pp-vis-item-name { font-size:11px; }
    .pp-feature-item { padding:12px !important; }
    .pp-feature-title { font-size:12px !important; }
    .pp-feature-desc { font-size:10px !important; }
    .pp-action-card { padding:12px !important; }
    .pp-action-title { font-size:11px; }
    .pp-action-desc { font-size:9px; }
    .pp-modal { padding:16px !important;margin:10px !important; }
    .pp-modal-overlay { padding:10px !important; }
    .pp-alt-login { padding:10px;font-size:12px; }
}

/* Small Mobile (360px and below) */
@media (max-width:360px) {
    .pp-content { padding:12px 8px; }
    .pp-card { padding:12px 10px; }
    .pp-title { font-size:16px; }
    .pp-face-login-circle { width:140px;height:140px; }
    .pp-face-login-inner { width:124px;height:124px; }
    .pp-qr-container { width:140px;height:140px; }
    .pp-result-grid { grid-template-columns:1fr 1fr !important; }
}

/* ─── FaceIO Widget — ensure visible above everything ─── */
#faceio-modal { position:relative;z-index:2147483647; }
#faceio-modal > div,
#faceio-modal iframe { z-index:2147483647 !important; }.pp-alt-login {
    width: 100%;
    padding: 14px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    border: 1px solid var(--pp-border);
    background: transparent;
    color: var(--pp-gray500);
}
.pp-alt-login:hover {
    background: transparent;
    color: var(--pp-white);
}

/* WP Theme Override — Go to Wallet button */
body .pp-kyc-root a.pp-btn-red-sm,
body .pp-kyc-root a.pp-btn-red-sm:link,
body .pp-kyc-root a.pp-btn-red-sm:visited,
body .pp-kyc-root a.pp-btn-red-sm:hover,
body .pp-kyc-root a.pp-btn-red-sm:focus,
body .pp-kyc-root a.pp-btn-red-sm:active {
    color: #ffffff !important;
    text-decoration: none !important;
    background: #d33636 !important;
}
body .pp-kyc-root a.pp-btn-red-sm:hover {
    background: #DF2020 !important;
}

/* ═══ MASTER HOVER FIX — Override WP Theme ═══ */
body .pp-kyc-root button.pp-hero-tab:hover {
    color: #fff !important;
    background: rgba(255,255,255,0.06) !important;
    border-color: rgba(255,255,255,0.15) !important;
}
body .pp-kyc-root button.pp-hero-tab.active,
body .pp-kyc-root button.pp-hero-tab.active:hover {
    color: #d33636 !important;
    background: rgba(211,54,54,0.08) !important;
    border-color: rgba(211,54,54,0.35) !important;
}
body .pp-kyc-root button.pp-btn-edit:hover,
body .pp-kyc-root a.pp-btn-edit:hover {
    background: #DF2020 !important;
    color: #fff !important;
    transform: translateY(-1px);
}
body .pp-kyc-root button.pp-btn-outline-sm:hover {
    background: rgba(211,54,54,0.1) !important;
    color: #d33636 !important;
    border-color: rgba(211,54,54,0.5) !important;
}
body .pp-kyc-root button.pp-btn-ghost-sm:hover {
    background: rgba(255,255,255,0.06) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,0.15) !important;
}
body .pp-kyc-root button.pp-btn-red-sm:hover,
body .pp-kyc-root a.pp-btn-red-sm:hover {
    background: #DF2020 !important;
    color: #fff !important;
}
body .pp-kyc-root button.pp-btn-red-full:hover {
    background: #DF2020 !important;
    color: #fff !important;
}
body .pp-kyc-root button.pp-btn-primary:hover {
    background: #DF2020 !important;
    color: #fff !important;
}
body .pp-kyc-root button.pp-sl-pg-btn:hover:not(.disabled) {
    background: rgba(211,54,54,0.08) !important;
    color: #d33636 !important;
    border-color: rgba(211,54,54,0.35) !important;
}
body .pp-kyc-root button.pp-btn-ghost:hover {
    background: rgba(255,255,255,0.04) !important;
    color: #fff !important;
}
body .pp-kyc-root button.pp-edit-close:hover {
    background: rgba(211,54,54,0.12) !important;
    color: #d33636 !important;
    border-color: rgba(211,54,54,0.35) !important;
}

/* Cursor pointer on all plugin buttons */
body .pp-kyc-root button.pp-hero-tab,
body .pp-kyc-root button.pp-btn-edit,
body .pp-kyc-root button.pp-btn-outline-sm,
body .pp-kyc-root button.pp-btn-ghost-sm,
body .pp-kyc-root button.pp-btn-red-sm,
body .pp-kyc-root button.pp-btn-red-full,
body .pp-kyc-root button.pp-btn-primary,
body .pp-kyc-root button.pp-sl-pg-btn,
body .pp-kyc-root button.pp-edit-close {
    cursor: pointer !important;
}

/* ═══════════════════════════════════════
   VAULT DASHBOARD — Design System
═══════════════════════════════════════ */
.vault-app{display:flex;height:100%;min-height:600px;overflow:hidden;font-family:'DM Sans','Inter',sans-serif;background:#07070a;color:#ecedf2}
.vault-sidebar{width:220px;background:#0d0d12;border-right:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}
.vault-logo{padding:18px 16px;border-bottom:1px solid rgba(255,255,255,.07)}
.vault-logo-row{display:flex;align-items:center;gap:9px}
.vault-logo-glyph{width:36px;height:36px;background:linear-gradient(135deg,#d91f1f,#6b0f0f);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:#fff;box-shadow:0 0 20px rgba(217,31,31,.2);flex-shrink:0}
.vault-logo-name{font-weight:700;font-size:16px;letter-spacing:.04em;color:#ecedf2}
.vault-logo-tag{font-size:9px;color:#565668;letter-spacing:.1em;text-transform:uppercase;margin-top:1px}
.vault-nav{padding:10px 8px;flex:1;overflow-y:auto}
.vault-nav::-webkit-scrollbar{width:3px}.vault-nav::-webkit-scrollbar-thumb{background:#1c1c24;border-radius:2px}
.vault-nav-section{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#565668;padding:9px 10px 5px;margin-top:3px}
.vault-nav-item{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:8px;cursor:pointer;transition:all .15s;color:#9a9aad;font-weight:500;margin-bottom:2px;font-size:12px;user-select:none}
.vault-nav-item:hover{background:#141419;color:#ecedf2}
.vault-nav-item.active{background:rgba(217,31,31,.07);color:#d91f1f;border:1px solid rgba(217,31,31,.2)}
.vault-nav-badge{margin-left:auto;background:#d91f1f;color:#fff;font-size:10px;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.vault-nav-badge.amber{background:#d97706}
.vault-pulse{width:7px;height:7px;border-radius:50%;background:#22c55e;margin-left:auto;animation:vaultPulse 1.5s ease-in-out infinite}
@keyframes vaultPulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0)}}
.vault-sb-foot{padding:12px 8px;border-top:1px solid rgba(255,255,255,.07)}
.vault-user-card{display:flex;align-items:center;gap:8px;padding:9px;border-radius:8px;background:#141419;cursor:pointer}
.vault-user-card:hover{background:#1c1c24}
.vault-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#3b0a0a,#d91f1f);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;color:#fff;flex-shrink:0;overflow:hidden}
.vault-user-name{font-weight:600;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#ecedf2}
.vault-user-status{font-size:10px;color:#22c55e;display:flex;align-items:center;gap:3px}
.vault-sdot{width:4px;height:4px;border-radius:50%;background:#22c55e}
.vault-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}
.vault-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 22px;height:56px;background:rgba(7,7,10,.85);border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}
.vault-topbar-l{display:flex;align-items:center;gap:8px}
.vault-page-title{font-weight:700;font-size:16px;color:#ecedf2}
.vault-breadcrumb{font-size:10px;color:#565668}
.vault-topbar-r{display:flex;align-items:center;gap:8px}
.vault-id-pill{display:flex;align-items:center;gap:4px;padding:4px 9px;border-radius:100px;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.22);font-size:10px;font-weight:700;color:#22c55e}
.vault-icon-btn{width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.07);background:#0d0d12;color:#9a9aad;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;position:relative}
.vault-icon-btn:hover{border-color:rgba(255,255,255,.13);color:#ecedf2;background:#141419}
.vault-notif-dot{position:absolute;top:6px;right:6px;width:4px;height:4px;border-radius:50%;background:#d91f1f}
.vault-content{flex:1;overflow-y:auto;padding:22px}
.vault-content::-webkit-scrollbar{width:3px}.vault-content::-webkit-scrollbar-thumb{background:#1c1c24;border-radius:2px}
.vault-section{display:none}.vault-section.active{display:block}
.vault-sec-head{margin-bottom:20px}
.vault-sec-title{font-size:19px;font-weight:700;margin-bottom:2px;color:#ecedf2}
.vault-sec-desc{font-size:12px;color:#565668}
.vault-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.vault-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.vault-g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.vault-row{display:flex;gap:12px}
.vault-row>*{flex:1;min-width:0}
.vault-col{display:flex;flex-direction:column;gap:12px}
.vault-card{background:#0d0d12;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:18px;position:relative}
.vault-card-sm{padding:12px}
.vault-card-title{font-weight:600;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#565668;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}
.vault-card-title a{font-weight:500;font-size:10px;color:#4b8ef7;letter-spacing:0;text-transform:none;cursor:pointer;text-decoration:none}
.vault-stat-card{background:#0d0d12;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:16px;position:relative;overflow:hidden;transition:border-color .2s;cursor:default}
.vault-stat-card:hover{border-color:rgba(255,255,255,.13)}
.vault-stat-card::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(217,31,31,.35),transparent)}
.vault-stat-label{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#565668;margin-bottom:7px}
.vault-stat-val{font-size:22px;font-weight:700;line-height:1;margin-bottom:2px;color:#ecedf2}
.vault-stat-sub{font-size:10px;color:#9a9aad}
.vault-stat-icon{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px}
.vault-prog-wrap{margin-top:9px}
.vault-prog-head{display:flex;justify-content:space-between;font-size:9px;color:#565668;margin-bottom:4px}
.vault-prog-bar{height:4px;background:#1c1c24;border-radius:100px;overflow:hidden}
.vault-prog-fill{height:100%;border-radius:100px;background:linear-gradient(90deg,#9a1515,#d91f1f);transition:width 1s cubic-bezier(.16,1,.3,1)}
.vault-prog-fill.warn{background:linear-gradient(90deg,#92400e,#f59e0b)}
.vault-prog-fill.crit{background:linear-gradient(90deg,#7f1d1d,#ef4444)}
.vault-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 14px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;border:none;white-space:nowrap;user-select:none;font-family:inherit}
.vault-btn-p{background:#d91f1f;color:#fff;box-shadow:0 0 14px rgba(217,31,31,.2)}
.vault-btn-p:hover{background:#b91818}
.vault-btn-p:disabled{opacity:.5;cursor:not-allowed}
.vault-btn-s{background:#141419;border:1px solid rgba(255,255,255,.07);color:#ecedf2}
.vault-btn-s:hover{background:#1c1c24;border-color:rgba(255,255,255,.13)}
.vault-btn-g{background:transparent;color:#9a9aad;border:1px solid rgba(255,255,255,.07)}
.vault-btn-g:hover{background:#141419;color:#ecedf2}
.vault-btn-danger{background:rgba(217,31,31,.12);color:#f87171;border:1px solid rgba(217,31,31,.22)}
.vault-btn-danger:hover{background:rgba(217,31,31,.22)}
.vault-btn-sm{padding:5px 10px;font-size:10px;border-radius:7px}
.vault-btn-full{width:100%}
.vault-qa-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.vault-qa-btn{display:flex;align-items:center;gap:5px;padding:7px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.07);background:#141419;color:#ecedf2;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;font-family:inherit}
.vault-qa-btn:hover{border-color:rgba(217,31,31,.45);background:rgba(217,31,31,.07);color:#d91f1f}
.vault-badge{display:inline-flex;align-items:center;gap:2px;padding:2px 7px;border-radius:100px;font-size:9px;font-weight:700}
.vault-bg-green{background:rgba(34,197,94,.13);color:#22c55e;border:1px solid rgba(34,197,94,.22)}
.vault-bg-red{background:rgba(217,31,31,.13);color:#f87171;border:1px solid rgba(217,31,31,.22)}
.vault-bg-yellow{background:rgba(245,158,11,.13);color:#f59e0b;border:1px solid rgba(245,158,11,.22)}
.vault-bg-blue{background:rgba(75,142,247,.13);color:#4b8ef7;border:1px solid rgba(75,142,247,.22)}
.vault-fg{margin-bottom:10px}
.vault-flabel{display:block;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#565668;margin-bottom:5px}
.vault-finput{width:100%;background:#141419;border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:0 13px;color:#ecedf2;font-family:inherit;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s;height:42px;box-sizing:border-box;line-height:42px}
.vault-finput:focus{border-color:rgba(217,31,31,.4);box-shadow:0 0 0 3px rgba(217,31,31,.06)}
.vault-finput::placeholder{color:#3a3a4a}
.vault-mode-sw{display:flex;background:#141419;border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:3px;gap:2px}
.vault-m-btn{flex:1;padding:6px 8px;border-radius:6px;font-size:11px;font-weight:600;color:#565668;cursor:pointer;transition:all .15s;text-align:center;user-select:none;font-family:inherit}
.vault-m-btn.active{background:#d91f1f;color:#fff;box-shadow:0 2px 8px rgba(217,31,31,.3)}
.vault-tabs{display:flex;gap:2px;background:#141419;border-radius:8px;padding:3px;margin-bottom:12px}
.vault-tab-btn{flex:1;padding:7px;border-radius:6px;font-size:11px;font-weight:600;color:#565668;cursor:pointer;text-align:center;transition:all .15s;user-select:none;font-family:inherit}
.vault-tab-btn.active{background:#0d0d12;color:#ecedf2;box-shadow:0 1px 5px rgba(0,0,0,.3)}
.vault-upload-zone{border:2px dashed rgba(255,255,255,.15);border-radius:12px;padding:28px 18px;text-align:center;cursor:pointer;background:#0d0d14;transition:all .2s;display:block}
.vault-upload-zone:hover{border-color:rgba(217,31,31,.5);background:rgba(217,31,31,.04)}
.vault-upload-zone input[type=file]{display:none}
.vault-scan-overlay{background:#141419;border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:12px;display:none;margin-top:9px}
.vault-scan-overlay.vis{display:block}
.vault-scan-step{display:flex;align-items:center;gap:8px;font-size:11px;color:#565668;padding:4px 0;transition:color .3s}
.vault-scan-step.done{color:#22c55e}.vault-scan-step.doing{color:#ecedf2}
.vault-sc-check{width:16px;height:16px;border-radius:50%;border:1.5px solid rgba(255,255,255,.13);display:flex;align-items:center;justify-content:center;font-size:8px;flex-shrink:0;transition:all .3s}
.vault-scan-step.done .vault-sc-check{background:#22c55e;border-color:#22c55e;color:#fff}
.vault-scan-step.doing .vault-sc-check{border-color:#d91f1f;animation:vaultSpin .9s linear infinite}
@keyframes vaultSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.vault-order-item{display:flex;align-items:center;gap:10px;padding:10px;background:#141419;border:1px solid rgba(255,255,255,.07);border-radius:8px;margin-bottom:6px;transition:all .15s}
.vault-order-item:hover{border-color:rgba(255,255,255,.13);background:#1c1c24}
.vault-order-item:last-child{margin-bottom:0}
.vault-o-thumb{width:36px;height:36px;border-radius:8px;background:#1c1c24;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.vault-o-info{flex:1;min-width:0}
.vault-o-merchant{font-weight:600;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#ecedf2}
.vault-o-meta{font-size:9px;color:#565668;display:flex;align-items:center;gap:5px;margin-top:3px;flex-wrap:wrap}
.vault-o-amount{font-size:12px;font-weight:700;white-space:nowrap;color:#ecedf2}
.vault-filter-row{display:flex;gap:6px;margin-bottom:10px;overflow-x:auto;padding-bottom:2px}
.vault-filter-row::-webkit-scrollbar{height:0}
.vault-chip{padding:4px 10px;border-radius:100px;border:1px solid rgba(255,255,255,.07);background:#141419;color:#565668;font-size:10px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s;user-select:none;font-family:inherit}
.vault-chip.active{border-color:rgba(217,31,31,.45);background:rgba(217,31,31,.07);color:#d91f1f}
.vault-id-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.vault-id-item{background:#141419;border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:9px;transition:border-color .15s}
.vault-id-item:hover{border-color:rgba(255,255,255,.13)}
.vault-id-item.verified{border-color:rgba(34,197,94,.18)}
.vault-id-item.pending{border-color:rgba(245,158,11,.18)}
.vault-id-item.missing{border-color:rgba(217,31,31,.15)}
.vault-id-head{display:flex;align-items:center;justify-content:space-between}
.vault-id-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:17px}
.vault-id-name{font-weight:600;font-size:12px;color:#ecedf2;margin-bottom:1px}
.vault-id-upd{font-size:9px;color:#565668}
.vault-id-btns{display:flex;gap:4px}
.vault-session-live{background:rgba(34,197,94,.04);border:1px solid rgba(34,197,94,.22);border-radius:14px;padding:18px;position:relative;overflow:hidden}
.vault-session-live::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at top right,rgba(34,197,94,.06),transparent 60%);pointer-events:none}
.vault-live-badge{display:flex;align-items:center;gap:5px;font-size:9px;font-weight:700;color:#22c55e;letter-spacing:.1em;text-transform:uppercase}
.vault-live-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;animation:vaultPulse 1.5s infinite}
.vault-countdown{font-size:52px;font-weight:800;text-align:center;line-height:1;margin:5px 0;letter-spacing:-2px;color:#ecedf2;transition:color .3s}
.vault-countdown.urgent{color:#d91f1f;animation:vaultCrit .6s ease infinite}
@keyframes vaultCrit{0%,100%{opacity:1}50%{opacity:.6}}
.vault-sess-id{font-size:10px;color:#565668;text-align:center;margin-bottom:12px;font-family:monospace}
.vault-qr-wrap{display:flex;justify-content:center;margin:9px 0}
.vault-qr-box{width:130px;height:130px;background:#fff;border-radius:10px;padding:8px}
.vault-sec-strip{display:flex;align-items:center;gap:7px;padding:7px 11px;border-radius:7px;font-size:10px;font-weight:600;letter-spacing:.04em}
.vault-ss-green{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.22);color:#22c55e}
.vault-ss-blue{background:rgba(75,142,247,.08);border:1px solid rgba(75,142,247,.22);color:#4b8ef7}
.vault-dur-btns{display:flex;gap:7px;margin-bottom:12px}
.vault-dur-btn{flex:1;padding:9px;border-radius:8px;border:1px solid rgba(255,255,255,.07);background:#141419;color:#9a9aad;font-size:12px;font-weight:700;cursor:pointer;text-align:center;transition:all .15s;user-select:none;font-family:monospace}
.vault-dur-btn.active{border-color:rgba(34,197,94,.22);background:rgba(34,197,94,.08);color:#22c55e}
.vault-log-item{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.vault-log-item:last-child{border-bottom:none}
.vault-log-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:4px}
.vault-log-msg{font-size:11px;font-weight:500;color:#ecedf2}
.vault-log-time{font-size:9px;color:#565668;font-family:monospace;margin-top:1px}
.vault-alert-item{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:8px;margin-bottom:6px;border:1px solid;animation:vaultSlideIn .3s ease}
@keyframes vaultSlideIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.vault-a-red{background:rgba(217,31,31,.04);border-color:rgba(217,31,31,.2)}
.vault-a-yellow{background:rgba(245,158,11,.04);border-color:rgba(245,158,11,.2)}
.vault-a-blue{background:rgba(75,142,247,.04);border-color:rgba(75,142,247,.2)}
.vault-alert-icon{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.vault-alert-body{flex:1}
.vault-alert-title{font-weight:600;font-size:12px;margin-bottom:2px}
.vault-alert-desc{font-size:10px;color:#9a9aad;line-height:1.4}
.vault-dismiss-btn{width:20px;height:20px;border-radius:4px;border:none;background:transparent;color:#565668;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;transition:all .15s;font-family:inherit}
.vault-dismiss-btn:hover{background:#141419;color:#ecedf2}
.vault-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:9000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s;padding:18px}
.vault-modal-overlay.open{opacity:1;pointer-events:all}
.vault-modal{background:#0d0d12;border:1px solid rgba(255,255,255,.13);border-radius:16px;width:100%;max-width:440px;overflow:hidden;transform:translateY(10px) scale(.97);transition:transform .22s cubic-bezier(.16,1,.3,1);box-shadow:0 24px 80px rgba(0,0,0,.85)}
.vault-modal-overlay.open .vault-modal{transform:translateY(0) scale(1)}
.vault-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.07)}
.vault-modal-title{font-weight:700;font-size:14px;display:flex;align-items:center;gap:7px;color:#ecedf2}
.vault-modal-close{width:26px;height:26px;border-radius:6px;border:1px solid rgba(255,255,255,.07);background:#141419;color:#565668;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s;font-family:inherit;line-height:1}
.vault-modal-close:hover{background:rgba(217,31,31,.1);color:#d91f1f;border-color:rgba(217,31,31,.3)}
.vault-modal-body{padding:18px}
.vault-modal-foot{padding:12px 18px;border-top:1px solid rgba(255,255,255,.07);display:flex;gap:7px;justify-content:flex-end}
.vault-divider{display:flex;align-items:center;gap:9px;margin:10px 0}
.vault-divider::before,.vault-divider::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.07)}
.vault-div-txt{font-size:9px;color:#565668;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.vault-scanned-strip{display:flex;align-items:center;gap:7px;padding:7px 11px;border-radius:7px;background:rgba(75,142,247,.08);border:1px solid rgba(75,142,247,.22);font-size:10px;font-weight:600;color:#4b8ef7;margin-bottom:9px}
.vault-receipt-thumb{width:100%;height:90px;object-fit:cover;border-radius:8px;margin-bottom:9px;border:1px solid rgba(255,255,255,.07)}
.vault-pend-bar{height:3px;background:#1c1c24;border-radius:100px;overflow:hidden;margin-top:5px}
.vault-pend-fill{height:100%;background:linear-gradient(90deg,#d97706,#f59e0b);transition:width .5s linear}
@media(max-width:640px){
  .vault-sidebar{display:none}
  .vault-g4{grid-template-columns:1fr 1fr}
  .vault-g3{grid-template-columns:1fr 1fr}
  .vault-row{flex-direction:column}
  .vault-id-grid{grid-template-columns:1fr 1fr}
}

/* VAULT full-width override */
.pp-content-wide.pp-vault-full { max-width: 100% !important; padding: 0 !important; }
.pp-content-wide.pp-vault-full .vault-app { border-radius: 0; }


/* VAULT Session countdown */
.vault-countdown{font-size:56px;font-weight:800;text-align:center;line-height:1;margin:10px 0 6px;letter-spacing:-2px;color:#ecedf2;font-family:'DM Sans','Inter',sans-serif;transition:color .3s}
.vault-countdown.urgent{color:#d91f1f;animation:vaultCrit .6s ease infinite}

/* Amount input — remove spinner arrows, proper focus */
.pp-kyc-root input[type=number]::-webkit-outer-spin-button,
.pp-kyc-root input[type=number]::-webkit-inner-spin-button { -webkit-appearance:none !important; margin:0 !important; }
.pp-kyc-root input[type=number] { -moz-appearance:textfield !important; }
#vManAmount, #vScanAmount { transition:border-color .15s; }
#vManAmount:focus, #vScanAmount:focus { border-color:rgba(217,31,31,.4) !important; box-shadow:0 0 0 3px rgba(217,31,31,.06) !important; }
#vManAmount::placeholder, #vScanAmount::placeholder { color:#3a3a4a; }
/* vault-bg-green badge */
.vault-badge.vault-bg-green{background:rgba(34,197,94,.12);color:#22c55e}

/* ── Login Screen (OTP / Passkey / Persona) ── */
.pp-login-tab { flex:1;padding:9px;border-radius:9px;font-size:12px;font-weight:700;cursor:pointer;border:none;font-family:inherit;transition:all .15s;background:var(--pp-card);color:var(--pp-gray400); }
.pp-login-tab:hover { color:var(--pp-white); }
.otp-digit-box { width:44px;height:52px;border-radius:9px;background:var(--pp-input);border:1px solid var(--pp-border);text-align:center;font-size:22px;font-weight:700;color:var(--pp-white);font-family:'DM Mono',monospace;outline:none;-moz-appearance:textfield;-webkit-appearance:none; }
.otp-digit-box:focus { border-color:var(--pp-accent);box-shadow:0 0 0 3px rgba(217,31,31,.12); }
.otp-digit-box::-webkit-outer-spin-button,.otp-digit-box::-webkit-inner-spin-button { -webkit-appearance:none; }

.vault-countdown.warning { color:#f59e0b !important; }
