/* JyotishPro front-end */
.jp-card { --jp-indigo:#2B2D6E; --jp-saffron:#E8902A; --jp-line:#EADBC4; background:#fff; border:1px solid var(--jp-line); border-radius:14px; padding:18px 20px; max-width:640px; margin:16px 0; font-family:"Noto Sans Oriya","Noto Sans Devanagari",system-ui,-apple-system,"Segoe UI",sans-serif; color:#2a1d10; box-sizing:border-box; }
.jp-card *, .jp-card *::before, .jp-card *::after { box-sizing:border-box; }
.jp-title { margin:0 0 12px; color:var(--jp-indigo); font-size:20px; }
.jp-label { display:block; font-weight:600; font-size:14px; margin:10px 0 4px; }
.jp-input { width:100%; padding:10px 12px; border:1px solid #d6c7ae; border-radius:9px; font-size:16px; background:#fffdf9; color:inherit; }
.jp-input:focus { outline:2px solid var(--jp-saffron); outline-offset:1px; border-color:var(--jp-saffron); }
.jp-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:480px) { .jp-row { grid-template-columns:1fr; } .jp-card { padding:14px; } }

.jp-place-box { position:relative; }
.jp-place-list { position:absolute; z-index:50; left:0; right:0; top:calc(100% + 4px); margin:0; padding:4px; list-style:none; background:#fff; border:1px solid var(--jp-line, #EADBC4); border-radius:10px; box-shadow:0 8px 24px rgba(43,45,110,.15); max-height:320px; overflow:auto; }
.jp-place-item { padding:8px 10px; border-radius:7px; cursor:pointer; line-height:1.35; }
.jp-place-item small { display:block; color:#7a6a55; font-size:12.5px; }
.jp-place-item .jp-alt { color:#9A5A10; font-size:13px; }
.jp-place-item:hover, .jp-place-item.is-active { background:#FFF4E0; }
.jp-place-empty { padding:10px; color:#7a6a55; font-size:14px; }
.jp-place-online { padding:6px 8px; border-top:1px dashed #EADBC4; margin-top:4px; }
.jp-btn-link { background:none; border:0; color:var(--jp-indigo, #2B2D6E); font-weight:600; cursor:pointer; padding:4px 2px; font-size:14px; }
.jp-place-picked { margin-top:6px; font-size:13px; color:#1f6b40; background:#E9F7EF; border-radius:8px; padding:6px 10px; }

.jp-geo-result { margin-top:14px; }
.jp-table { width:100%; border-collapse:collapse; font-size:14.5px; }
.jp-table th { text-align:left; width:42%; color:var(--jp-indigo, #2B2D6E); padding:7px 8px; border-bottom:1px solid #F0E6D6; font-weight:600; }
.jp-table td { padding:7px 8px; border-bottom:1px solid #F0E6D6; }
.jp-table small { color:#7a6a55; }
.jp-badge { background:#E8902A; color:#fff; border-radius:10px; padding:1px 8px; font-size:12px; }

/* [jp_planets] */
.jp-btn { margin-top:14px; width:100%; padding:12px; border:0; border-radius:10px; background:var(--jp-indigo,#2B2D6E); color:#fff; font-size:16px; font-weight:700; cursor:pointer; }
.jp-btn:hover { background:#1f2157; }
.jp-btn:disabled { opacity:.6; cursor:wait; }
.jp-error { color:#b32d2e; background:#fdecec; border-radius:8px; padding:8px 10px; margin:10px 0 0; font-size:14px; }
.jp-planets-result { margin-top:16px; }
.jp-summary { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px; }
.jp-summary div { background:#FFF4E0; border-radius:10px; padding:10px 12px; }
.jp-summary span { display:block; font-size:12.5px; color:#7a6a55; }
.jp-summary b { display:block; font-size:18px; color:var(--jp-indigo,#2B2D6E); }
.jp-summary small { color:#7a6a55; }
.jp-table-wrap { overflow-x:auto; }
.jp-ptable { font-size:14px; }
@media (max-width:480px) { .jp-ptable { font-size:12.5px; } .jp-ptable th, .jp-ptable td { padding:6px 4px; } }
.jp-ptable th { width:auto; background:#F7F2FF; }
.jp-ptable .jp-hl td { background:#FFF8EC; }
.jp-r { color:#b32d2e; font-size:12px; }
.jp-meta { font-size:12.5px; color:#7a6a55; margin:8px 0 0; }
.jp-disclaimer { font-size:12px; color:#8a7a65; margin:14px 0 0; border-top:1px dashed #EADBC4; padding-top:8px; }

/* ---------- [jp_kundli] ---------- */
.jp-kundli-app { --jp-indigo:#2B2D6E; --jp-saffron:#E8902A; --jp-line:#EADBC4; font-family:"Noto Sans Oriya","Noto Sans Devanagari",system-ui,-apple-system,"Segoe UI",sans-serif; color:#2a1d10; }
.jp-kundli-app *, .jp-kundli-app *::before, .jp-kundli-app *::after { box-sizing:border-box; }
.jp-kundli-form { max-width:560px; }
.jp-my-k { margin-top:14px; font-size:14px; }
.jp-my-k summary { cursor:pointer; color:var(--jp-indigo); font-weight:600; }
.jp-my-k ul { margin:8px 0 0 18px; padding:0; }
.jp-my-k small { color:#7a6a55; }
.jp-kundli-out { background:#fff; border:1px solid var(--jp-line); border-radius:16px; padding:18px; max-width:1100px; margin:10px 0; }
.jp-k-actions { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-bottom:14px; }
.jp-k-lbl { font-size:13px; color:#7a6a55; }
.jp-k-sp { flex:1; }
.jp-chip { border:1px solid #d6c7ae; background:#fffdf9; color:var(--jp-indigo); border-radius:20px; padding:6px 12px; font-size:13.5px; cursor:pointer; font-family:inherit; }
.jp-chip:hover { border-color:var(--jp-saffron); }
.jp-chip.is-on { background:var(--jp-indigo); color:#fff; border-color:var(--jp-indigo); }
.jp-chip:focus-visible { outline:2px solid var(--jp-saffron); outline-offset:2px; }
.jp-k-head { text-align:center; background:linear-gradient(135deg,#2B2D6E,#14153d); color:#fff; border-radius:12px; padding:16px; margin-bottom:14px; }
.jp-k-om { font-size:26px; color:#FFD27A; line-height:1; }
.jp-k-head h2 { margin:6px 0 4px; font-size:22px; color:#FFD27A; }
.jp-k-name { font-size:18px; font-weight:700; }
.jp-k-name span { font-weight:400; opacity:.8; font-size:15px; }
.jp-k-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.jp-k-box { border:1px solid var(--jp-line); border-radius:12px; padding:12px 14px; background:#FFFCF6; }
.jp-k-box h3, .jp-k-sec { margin:0 0 8px; font-size:16px; color:#7A3E00; }
.jp-k-sec { margin:20px 0 10px; border-left:5px solid var(--jp-saffron); padding-left:8px; }
.jp-kv { width:100%; border-collapse:collapse; font-size:14px; }
.jp-kv th { text-align:left; color:#6b5a45; font-weight:500; padding:4px 6px 4px 0; width:45%; vertical-align:top; }
.jp-kv td { padding:4px 0; }
.jp-k-charts { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; }
.jp-k-charts figure { margin:0; text-align:center; }
.jp-k-charts figcaption { font-size:13.5px; color:#7A3E00; font-weight:600; margin-top:4px; }
.jp-chart { width:100%; height:auto; display:block; }
.jp-k-charts-sm { grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); margin-top:12px; }
.jp-k-legend { font-size:12.5px; color:#7a6a55; margin:6px 0 0; }
.jp-k-more { margin-top:18px; }
.jp-k-more summary { cursor:pointer; color:var(--jp-indigo); font-weight:600; font-size:15px; line-height:1.5; }
.jp-vtable { font-size:13px; }
.jp-vtable th, .jp-vtable td { text-align:center; padding:6px 4px; width:auto; }
.jp-vtable td:first-child, .jp-vtable th:first-child { text-align:left; }
.jp-k-foot { text-align:center; font-size:12px; color:#9a8a75; margin:6px 0 0; }
.jp-kundli-out .jp-table th { width:auto; }
.jp-kundli-out .jp-ptable td:nth-child(3) { white-space:nowrap; }
@media (max-width:600px) {
	.jp-k-grid2 { grid-template-columns:1fr; }
	.jp-kundli-out { padding:12px; border-radius:12px; }
	.jp-vtable { font-size:11.5px; }
}
@media print {
	body:not(.jp-report-page) * { visibility:hidden !important; }
	body:not(.jp-report-page) .jp-kundli-out, body:not(.jp-report-page) .jp-kundli-out * { visibility:visible !important; }
	body:not(.jp-report-page) .jp-kundli-out { position:absolute; left:0; top:0; width:100%; border:0; padding:0; margin:0; }
	.jp-no-print { display:none !important; }
	.jp-k-more { display:block; }
	.jp-k-more > summary { display:none; }
	.jp-k-charts { grid-template-columns:repeat(3,1fr) !important; }
	.jp-k-head { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
	.jp-kundli-out h3 { break-after:avoid; }
	.jp-k-charts figure, .jp-table { break-inside:avoid; }
}

/* ---------- [jp_panchang] ---------- */
.jp-panchang-app { --jp-indigo:#2B2D6E; --jp-saffron:#E8902A; --jp-line:#EADBC4; font-family:"Noto Sans Oriya","Noto Sans Devanagari",system-ui,-apple-system,"Segoe UI",sans-serif; color:#2a1d10; }
.jp-panchang-app *, .jp-panchang-app *::before, .jp-panchang-app *::after { box-sizing:border-box; }
.jp-panchang-form { max-width:none; }
.jp-p-nav { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.jp-panchang-out { margin-top:12px; }
.jp-p-head { text-align:center; background:linear-gradient(135deg,#2B2D6E,#14153d); color:#fff; border-radius:14px; padding:16px; }
.jp-p-date { font-size:15px; opacity:.85; }
.jp-p-vara { font-size:26px; font-weight:800; color:#FFD27A; margin:2px 0; }
.jp-p-sub { font-size:16px; }
.jp-p-place { font-size:13px; opacity:.8; margin-top:6px; }
.jp-p-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:14px; margin-top:14px; }
.jp-p-card { border:1px solid var(--jp-line); border-radius:12px; padding:12px 14px; background:#FFFCF6; }
.jp-p-card h3 { margin:0 0 8px; font-size:16px; color:#7A3E00; }
.jp-p-till { color:#7a6a55; font-size:13px; }
.jp-good th { color:#1f6b40 !important; }
.jp-bad th { color:#b3261e !important; }

/* Dosha */
.jp-dosha .jp-k-box { margin-bottom:14px; }
.jp-badge.jp-b-ok, .jp-badge.jp-b-warn { display:inline-block; font-size:14px; padding:5px 10px; border-radius:8px; line-height:1.5; }
.jp-b-ok { background:#E9F7EF; color:#1f6b40; }
.jp-b-warn { background:#FFF0E6; color:#9a3412; }
.jp-ss-sub td { color:#6b5a45; font-size:13px; }
.jp-ss-sub td:first-child { padding-left:18px; }
.jp-muted-s { font-size:12.5px; color:#7a6a55; }
.jp-k-bp { margin-top:14px; }

/* Dasha */
.jp-dasha { margin-bottom:6px; }
.jp-d-bal { font-size:14.5px; background:#FFF4E0; border-radius:8px; padding:8px 12px; margin:0 0 12px; }
.jp-d-now { border:1px solid #E8C79A; border-radius:12px; padding:10px 12px; margin-bottom:12px; background:#FFFBF2; }
.jp-d-now-t { font-size:13px; color:#7A3E00; font-weight:700; margin-bottom:6px; }
.jp-d-chain { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.jp-d-chain div { background:#fff; border-radius:8px; padding:8px; text-align:center; border:1px solid #F0E6D6; }
.jp-d-chain span { display:block; font-size:12px; color:#7a6a55; }
.jp-d-chain b { display:block; font-size:17px; color:var(--jp-indigo,#2B2D6E); }
.jp-d-chain small { font-size:11.5px; color:#7a6a55; }
.jp-dtable .jp-d-mdrow td { background:#FFFCF6; }
.jp-dtable .is-now .jp-d-mdrow td { background:#FFF0D6; }
.jp-d-adwrap td { padding:0 8px 8px !important; border-bottom:2px solid #F0E6D6 !important; }
.jp-d-adwrap summary { cursor:pointer; font-size:13px; color:var(--jp-indigo,#2B2D6E); padding:4px 0; }
.jp-d-ads { font-size:13px; }
.jp-d-ad { display:flex; justify-content:space-between; gap:8px; padding:3px 6px; border-radius:6px; break-inside:avoid; }
.jp-d-ad:nth-child(odd) { background:#FBF7F0; }
.jp-d-ad.is-now { background:#2B2D6E; color:#fff; font-weight:700; }
.jp-d-pdh { font-size:14px; color:#7A3E00; margin:14px 0 6px; }
.jp-chip-pdf { background:#E8902A; color:#fff; border-color:#E8902A; font-weight:700; }
@media (max-width:480px) { .jp-d-chain { grid-template-columns:1fr; } .jp-d-ad { flex-direction:column; gap:0; } }

/* Timeline */
.jp-tl { --g:#2E9E5B; --m:#E8B92A; --b:#D9534F; --na:#D9D2C5; }
.jp-tl-legend { font-size:13px; display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-bottom:10px; }
.jp-tl-k { width:14px; height:14px; border-radius:4px; display:inline-block; margin-left:8px; }
.jp-tl-k.good, .jp-tl-blk.good { background:var(--g); } .jp-tl-k.mixed, .jp-tl-blk.mixed { background:var(--m); } .jp-tl-k.bad, .jp-tl-blk.bad { background:var(--b); }
.jp-tl-blk.na { background:repeating-linear-gradient(45deg,#eee,#eee 4px,var(--na) 4px,var(--na) 8px); }
.jp-tl-now-card { border-radius:12px; padding:12px 14px; margin-bottom:12px; border:2px solid var(--m); background:#FFFBEA; }
.jp-tl-now-card.good { border-color:var(--g); background:#EEF8F2; } .jp-tl-now-card.bad { border-color:var(--b); background:#FDF0EF; }
.jp-tl-now-h { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px; font-size:15px; }
.jp-tl-now-h span { font-size:13px; color:#6b5a45; }
.jp-tl-chips { display:flex; gap:6px; flex-wrap:wrap; margin:8px 0; }
.jp-tl-chip { display:inline-block; font-size:12.5px; padding:3px 9px; border-radius:20px; color:#fff; background:var(--m); white-space:nowrap; }
.jp-tl-chip.good { background:var(--g); } .jp-tl-chip.bad { background:var(--b); } .jp-tl-chip.mixed { color:#3a2a00; } .jp-tl-chip.na { background:#bbb; }
.jp-tl-why, .jp-tl-info ul { margin:4px 0 0 18px; padding:0; font-size:13.5px; }
.jp-tl-scroll { overflow-x:auto; padding-bottom:4px; }
.jp-tl-grid { position:relative; min-width:640px; --lbl:110px; }
.jp-tl-row { display:flex; align-items:center; margin:5px 0; }
.jp-tl-lbl { width:var(--lbl); flex:0 0 var(--lbl); font-size:12.5px; color:#6b5a45; padding-right:6px; }
.jp-tl-bar { position:relative; flex:1; display:flex; height:26px; border-radius:6px; overflow:hidden; background:#f3eee6; }
.jp-tl-blk { border:0; padding:0; margin:0; height:100%; cursor:pointer; border-right:1px solid rgba(255,255,255,.55); min-width:1px; }
.jp-tl-blk:hover, .jp-tl-blk.is-sel { filter:brightness(1.15); box-shadow:inset 0 0 0 2px #2B2D6E; }
.jp-tl-blk:focus-visible { outline:2px solid #2B2D6E; outline-offset:-2px; }
.jp-tl-axis .jp-tl-bar { background:none; height:16px; overflow:visible; }
.jp-tl-axis span { position:absolute; top:0; transform:translateX(-50%); font-size:11px; color:#7a6a55; }
.jp-tl-today { position:absolute; top:0; bottom:18px; left:calc(var(--lbl) + (100% - var(--lbl)) * var(--nowf, 0)); border-left:2px dashed #2B2D6E; pointer-events:none; }
.jp-tl-today span { position:absolute; top:-2px; left:3px; font-size:11px; background:#2B2D6E; color:#fff; padding:0 5px; border-radius:6px; }
.jp-tl-info { margin-top:10px; border:1px solid #EADBC4; border-radius:10px; padding:10px 12px; background:#fff; }
.jp-tl-info-h { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px; }
.jp-tl-info-h.good b { color:#1f6b40; } .jp-tl-info-h.bad b { color:#b3261e; } .jp-tl-info-h.mixed b { color:#8a6a00; }
.jp-tl-info-a { font-size:13px; color:#6b5a45; margin-top:4px; }
.jp-tl-table td { font-size:13px; vertical-align:top; }
@media print { .jp-tl-scroll { overflow:visible; } .jp-tl-grid { min-width:0; } .jp-tl-blk { -webkit-print-color-adjust:exact; print-color-adjust:exact; } }
.jp-tl-table { table-layout:fixed; }
.jp-tl-table th, .jp-kundli-out .jp-tl-table th { width:auto; }
.jp-tl-table th:nth-child(1) { width:30%; } .jp-tl-table th:nth-child(2) { width:16%; } .jp-tl-table th:nth-child(3) { width:54%; }
.jp-tl-table td { word-break:normal; overflow-wrap:anywhere; }
.jp-tl-info-h b { font-size:15px; } .jp-tl-info-h span { font-size:13px; color:#6b5a45; }
.jp-tl-info-h { font-size:14px; }

/* Milan */
.jp-milan-form { max-width:900px; }
.jp-m-sides { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.jp-m-side { border:1px solid #EADBC4; border-radius:12px; padding:8px 14px 14px; margin:0; min-width:0; }
.jp-m-side legend { font-weight:700; color:#7A3E00; padding:0 6px; }
.jp-m-mode { display:flex; gap:12px; flex-wrap:wrap; margin:10px 0 2px; font-size:13.5px; }
.jp-m-mode label { display:flex; gap:5px; align-items:center; cursor:pointer; }
.jp-m-score { display:grid; grid-template-columns:150px 1fr; gap:16px; align-items:center; margin-bottom:14px; }
.jp-gauge { width:140px; height:140px; }
.jp-m-verdict { font-size:20px; font-weight:800; }
.jp-m-verdict.v-excellent, .jp-m-verdict.v-good { color:#1f6b40; } .jp-m-verdict.v-average { color:#8a6a00; } .jp-m-verdict.v-low { color:#b3261e; }
.jp-mtable td { vertical-align:middle; }
.jp-m-pts { font-weight:700; white-space:nowrap; } .jp-m-pts.hi { color:#1f6b40; } .jp-m-pts.mid { color:#8a6a00; } .jp-m-pts.lo { color:#b3261e; }
.jp-m-bar { display:block; height:5px; background:#F0E6D6; border-radius:3px; margin-top:3px; min-width:60px; }
.jp-m-bar i { display:block; height:100%; border-radius:3px; }
.jp-m-bar i.hi { background:#2E9E5B; } .jp-m-bar i.mid { background:#E8B92A; } .jp-m-bar i.lo { background:#D9534F; }
.jp-m-dosha { margin:6px 0; } .jp-m-dosha small { color:#6b5a45; }
.jp-milan-out .jp-k-charts { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
@media (max-width:640px) { .jp-m-sides { grid-template-columns:1fr; } .jp-m-score { grid-template-columns:1fr; justify-items:center; text-align:center; } }

/* ---------- Lal Kitab ---------- */
.jp-lk-intro { font-size:14px; background:#FFF4E0; border-left:4px solid #B3261E; border-radius:8px; padding:8px 12px; margin:0 0 12px; }
.jp-lk-h { margin:18px 0 8px; font-size:15.5px; color:#8B1E1E; }
.jp-lk-h small { color:#7a6a55; font-weight:400; }
.jp-lk h5 { margin:0 0 6px; font-size:14.5px; color:#7A3E00; }
.jp-lk-table td { vertical-align:top; font-size:13.5px; line-height:1.5; }
.jp-lk-table th { white-space:nowrap; }
.jp-lk-table .jp-c { text-align:center; font-weight:700; }
.jp-lk-n { display:inline-block; font-size:11.5px; font-weight:700; border-radius:6px; padding:1px 7px; margin-right:3px; white-space:nowrap; }
.jp-lk-g { background:#E9F7EF; color:#1f6b40; }
.jp-lk-m { background:#FFF4D6; color:#8a5a00; }
.jp-lk-b { background:#FDECEC; color:#b3261e; }
.jp-lk-st { font-size:12px; font-weight:600; white-space:nowrap; }
.jp-lk-st-pakka { color:#2B2D6E; }
.jp-lk-st-uchcha { color:#1f6b40; }
.jp-lk-st-neecha { color:#b3261e; }
.jp-lk-rem, .jp-lk-vb { list-style:none; margin:0; padding:0; }
.jp-lk-rem li { border:1px solid #EADBC4; border-left:4px solid #E8902A; border-radius:8px; padding:8px 10px; margin:0 0 8px; font-size:14px; line-height:1.55; background:#FFFCF6; }
.jp-lk-rem li.jp-lk-r-b { border-left-color:#B3261E; }
.jp-lk-vb li { font-size:13.5px; line-height:1.5; margin-bottom:8px; }
.jp-lk-rem-t { color:#6b5a45; }
.jp-lk-rin { margin-bottom:10px; border-left:4px solid #B3261E; }
.jp-lk-sl { max-width:520px; }
.jp-lk-rules ol { margin:4px 0 0 18px; padding:0; font-size:13.5px; line-height:1.6; }
.jp-lk .jp-k-grid2 { margin-top:4px; }
@media (max-width:600px) { .jp-lk-table th:nth-child(3), .jp-lk-table td:nth-child(3) { display:none; } }
.jp-sheet .jp-lk-rem li, .jp-sheet .jp-lk-rin, .jp-sheet .jp-lk-rules { break-inside:avoid; }
.jp-lk-table { table-layout:auto; }
.jp-lk-table th:nth-child(1) { width:15%; }
.jp-lk-table th:nth-child(2) { width:8%; }
.jp-lk-table th:nth-child(3) { width:14%; }
.jp-lk-table th:nth-child(4) { width:auto; }
.jp-lk-rin .jp-kv th { width:24%; }
.jp-sheet .jp-lk-table { table-layout:fixed; }

/* ---------- Love & marriage ---------- */
.jp-mr h4 { margin:0 0 8px; font-size:15.5px; color:#8B1E1E; }
.jp-mr-list { margin:6px 0 0 18px; padding:0; font-size:14px; line-height:1.6; }
.jp-mr-l7 { font-size:14px; margin:8px 0 0; color:#4a3a28; }
.jp-mr-type { font-size:15px; border-radius:10px; padding:8px 12px; margin:0 0 6px; background:#FFF4E0; }
.jp-mr-type.jp-mr-love { background:#FDECF2; color:#9b1d4f; }
.jp-mr-type.jp-mr-both { background:#F3ECFF; color:#4b2a8a; }
.jp-mr-win td { font-size:14px; }
.jp-mr-stars { color:#E8902A; font-size:16px; letter-spacing:1px; white-space:nowrap; }
.jp-mr .jp-k-grid2 { margin-top:10px; }

/* ---------- Q&A ---------- */
.jp-qa { margin-top:8px; }
.jp-qa-sub { font-size:14px; color:#6b5a45; margin:0 0 10px; }
.jp-qa-ask { display:flex; gap:8px; margin-bottom:10px; }
.jp-qa-ask .jp-input { flex:1; min-width:0; margin:0; }
.jp-qa-ask .jp-btn { width:auto; margin:0; padding:10px 18px; }
.jp-qa-tabs { display:flex; gap:6px; overflow-x:auto; padding-bottom:6px; scrollbar-width:thin; }
.jp-qa-tabs .jp-chip { white-space:nowrap; flex:0 0 auto; }
.jp-qa-list { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 4px; }
.jp-qa-q { border:1px solid #EADBC4; background:#FFFCF6; color:#2a1d10; border-radius:10px; padding:9px 12px; font:inherit; font-size:14px; cursor:pointer; text-align:left; line-height:1.4; }
.jp-qa-q:hover { border-color:#E8902A; background:#FFF4E0; }
.jp-qa-q:disabled, .jp-qa-q.is-busy { opacity:.6; cursor:wait; }
.jp-qa-q:focus-visible { outline:2px solid #E8902A; outline-offset:2px; }
.jp-qa-ans { margin-top:12px; }
.jp-qa-wait { color:#7a6a55; }
.jp-qa-card { border:1px solid #EADBC4; border-left:5px solid #2B2D6E; border-radius:12px; padding:12px 14px; margin:0 0 12px; background:#fff; }
.jp-qa-card.jp-qa-g { border-left-color:#2E9E5B; }
.jp-qa-card.jp-qa-m { border-left-color:#E8B92A; }
.jp-qa-card.jp-qa-b { border-left-color:#D9534F; }
.jp-qa-card h4 { margin:0 0 6px; font-size:15.5px; color:#2B2D6E; line-height:1.4; }
.jp-qa-card h4 small { color:#7a6a55; font-weight:400; }
.jp-qa-v { font-weight:700; font-size:15px; margin:0 0 8px; }
.jp-qa-lines { margin:0 0 8px 18px; padding:0; font-size:14px; line-height:1.6; }
.jp-qa-win { background:#FFF8EC; border-radius:8px; padding:8px 10px; font-size:14px; margin-bottom:8px; }
.jp-qa-win ul { margin:4px 0 0 18px; padding:0; line-height:1.6; }
.jp-qa-rem { background:#F3F7EC; border-radius:8px; padding:8px 10px; font-size:14px; margin:0 0 8px; }
.jp-qa-note { font-size:13.5px; color:#6b5a45; margin:0 0 6px; }
.jp-qa-card .jp-disclaimer { margin-top:8px; }
.jp-qa-langs { display:flex; gap:6px; margin:0 0 10px; }
.jp-qa-langs .jp-chip { text-decoration:none; }
.jp-qa-birth { margin-top:4px; }
.jp-qa-bh { display:block; color:#7A3E00; margin-bottom:4px; }
.jp-qa-who { background:#FFF4E0; border-radius:8px; padding:8px 12px; font-size:14px; }
.jp-qa-app > .jp-qa { background:#fff; border:1px solid #EADBC4; border-radius:16px; padding:14px; max-width:820px; }
.jp-m-syl { color:#7a6a55; }
.jp-m-mode { flex-wrap:wrap; }
@media (max-width:480px) { .jp-qa-q { width:100%; } }
.jp-qa-list[hidden], .jp-qa [hidden] { display:none !important; }
.jp-lk-rules p { font-size:14px; line-height:1.6; margin:0; }
.jp-mr h4.jp-lk-h { margin-top:18px; }

/* ---------- Rashifal ---------- */
.jp-rf-tabs { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:10px; }
.jp-rf-tabs .jp-chip, .jp-rf-nav .jp-chip { text-decoration:none; }
.jp-rf-nav { display:flex; align-items:center; gap:8px; justify-content:space-between; margin:6px 0 12px; }
.jp-rf-period { margin:0; font-size:18px; color:#2B2D6E; text-align:center; flex:1; }
.jp-rf-find { background:#FFF4E0; border-radius:12px; padding:10px 12px; margin-bottom:14px; font-size:14px; }
.jp-rf-find > div { display:flex; gap:8px; margin-top:6px; }
.jp-rf-find .jp-input { flex:1; min-width:0; margin:0; }
.jp-rf-find .jp-btn { width:auto; margin:0; padding:9px 16px; }
.jp-rf-found { margin:8px 0 0; font-weight:600; color:#2B2D6E; }
.jp-rf-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:12px; align-items:start; }
.jp-rf-card { border:1px solid #EADBC4; border-radius:14px; background:#FFFCF6; overflow:hidden; scroll-margin-top:70px; }
.jp-rf-card.is-hl { box-shadow:0 0 0 3px #E8902A; }
.jp-rf-card > summary { list-style:none; cursor:pointer; padding:12px 14px; display:grid; grid-template-columns:auto 1fr; gap:4px 12px; align-items:center; }
.jp-rf-card > summary::-webkit-details-marker { display:none; }
.jp-rf-sym { grid-row:span 3; font-size:30px; width:52px; height:52px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:linear-gradient(135deg,#2B2D6E,#4a4ca0); color:#FFD27A; }
.jp-rf-nm { display:flex; justify-content:space-between; align-items:center; gap:6px; font-size:16px; color:#2B2D6E; }
.jp-rf-sum { font-size:14px; line-height:1.55; color:#3a2a18; }
.jp-rf-more { font-size:12.5px; color:#B0661A; }
.jp-rf-card[open] .jp-rf-more { display:none; }
.jp-rf-stars { color:#E8902A; letter-spacing:1px; font-size:14px; white-space:nowrap; }
.jp-rf-stars i { color:#e6d9c4; font-style:normal; }
.jp-rf-body { padding:0 14px 12px; border-top:1px dashed #EADBC4; }
.jp-rf-paras { margin:10px 0 8px 18px; padding:0; font-size:14px; line-height:1.6; }
.jp-rf-areas { width:100%; border-collapse:collapse; font-size:13.5px; margin:6px 0; }
.jp-rf-areas th { text-align:left; color:#6b5a45; font-weight:600; padding:5px 6px 5px 0; white-space:nowrap; vertical-align:top; }
.jp-rf-areas td { padding:5px 4px; vertical-align:top; border-top:1px solid #F3EADC; }
.jp-rf-areas tr:first-child td { border-top:0; }
.jp-rf-lucky { display:flex; flex-wrap:wrap; gap:6px 16px; font-size:14px; margin:8px 0 4px; }
.jp-rf-tip { font-size:13.5px; background:#F3F7EC; border-radius:8px; padding:7px 10px; margin:6px 0 0; }
.jp-rf-months { display:grid; grid-template-columns:repeat(12,1fr); gap:3px; margin:8px 0; }
.jp-rf-months span { font-size:11px; text-align:center; border-radius:5px; padding:6px 0; color:#2a1d10; }
.jp-rf-months .s1 { background:#F6C9C6; } .jp-rf-months .s2 { background:#FBE0C8; } .jp-rf-months .s3 { background:#FFF1C9; } .jp-rf-months .s4 { background:#D9F0DF; } .jp-rf-months .s5 { background:#B9E4C6; }
.jp-rf-one { grid-template-columns:1fr; max-width:720px; }
@media (max-width:480px) { .jp-rf-grid { grid-template-columns:1fr; } .jp-rf-period { font-size:15px; } .jp-rf-months { grid-template-columns:repeat(6,1fr); } }

/* ---------- Numerology ---------- */
.jp-nm-form { max-width:560px; }
.jp-nm-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; }
.jp-nm-card { display:flex; gap:12px; align-items:flex-start; }
.jp-nm-card h4 { margin:0 0 4px; font-size:15px; color:#7A3E00; }
.jp-nm-card h4 small { color:#7a6a55; font-weight:400; }
.jp-nm-card p { margin:0; font-size:14px; line-height:1.55; }
.jp-nm-num { flex:0 0 auto; width:48px; height:48px; border-radius:50%; background:linear-gradient(135deg,#E8902A,#c96f10); color:#fff; font-size:24px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.jp-nm-sugg { margin:4px 0 8px 18px; padding:0; font-size:15px; line-height:1.8; }
.jp-nm-lucky { max-width:560px; }
.jp-nm-ls { display:flex; gap:18px; flex-wrap:wrap; align-items:flex-start; font-size:14px; }
.jp-nm-ls > div { flex:1 1 260px; }
.jp-nm-grid { border-collapse:collapse; }
.jp-nm-grid td { width:64px; height:64px; border:2px solid #7A3E00; text-align:center; vertical-align:middle; position:relative; background:#FFFBF2; }
.jp-nm-grid td b { font-size:18px; color:#2B2D6E; letter-spacing:1px; }
.jp-nm-grid td small { position:absolute; right:4px; bottom:2px; font-size:10px; color:#B0661A; }
.jp-nm-grid td.miss { background:#F7F1E7; }
.jp-nm-grid td.miss b { color:#c9b79c; }

/* ---------- Astrologers ---------- */
.jp-as-filters { display:flex; flex-wrap:wrap; gap:8px; align-items:center; background:#FFF4E0; border-radius:12px; padding:10px; margin-bottom:14px; }
.jp-as-filters .jp-input { width:auto; flex:1 1 150px; margin:0; }
.jp-as-filters .jp-btn { width:auto; margin:0; padding:10px 18px; }
.jp-as-onl { font-size:14px; white-space:nowrap; }
.jp-as-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; }
.jp-as-card { border:1px solid #EADBC4; border-radius:16px; background:#fff; padding:14px; display:flex; flex-direction:column; gap:10px; }
.jp-as-top { display:flex; gap:12px; }
.jp-as-phw { position:relative; flex:0 0 auto; }
.jp-as-ph { width:76px; height:76px; border-radius:50%; object-fit:cover; display:block; border:3px solid #FFE3B5; }
.jp-as-ini { display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#2B2D6E,#4a4ca0); color:#FFD27A; font-size:30px; font-weight:800; }
.jp-as-dot { position:absolute; right:4px; bottom:4px; width:16px; height:16px; border-radius:50%; border:2px solid #fff; }
.jp-as-dot.on { background:#2E9E5B; } .jp-as-dot.off { background:#bbb; }
.jp-as-info h3 { margin:0 0 2px; font-size:17px; }
.jp-as-info h3 a { color:#2B2D6E; text-decoration:none; }
.jp-as-info p { margin:0; font-size:13.5px; line-height:1.5; color:#4a3a28; }
.jp-as-exp { color:#7A3E00 !important; font-weight:600; }
.jp-as-new { background:#E8F0FF; color:#2B2D6E; border-radius:8px; padding:1px 8px; font-size:12px; }
.jp-as-bot { display:flex; justify-content:space-between; align-items:center; gap:8px; border-top:1px dashed #EADBC4; padding-top:10px; margin-top:auto; }
.jp-as-price { font-size:14px; color:#6b5a45; } .jp-as-price b { font-size:18px; color:#2B2D6E; }
.jp-as-act { width:auto !important; margin:0 !important; padding:9px 14px !important; font-size:14px !important; }
.jp-as-act small { display:block; font-weight:400; font-size:10.5px; opacity:.85; }
.jp-as-pg { display:flex; gap:6px; flex-wrap:wrap; margin-top:14px; } .jp-as-pg a { text-decoration:none; }
.jp-as-none { background:#FFFCF6; border:1px dashed #EADBC4; border-radius:12px; padding:20px; text-align:center; }
.jp-as-hero { display:flex; gap:18px; flex-wrap:wrap; align-items:flex-start; background:#FFFCF6; border:1px solid #EADBC4; border-radius:16px; padding:16px; }
.jp-as-hero > div { flex:1 1 260px; }
.jp-as-hero h2 { margin:0 0 6px; font-size:22px; color:#2B2D6E; }
.jp-as-hero p { margin:4px 0; font-size:14.5px; }
.jp-as-big { width:130px; height:130px; border-radius:16px; object-fit:cover; border:3px solid #FFE3B5; display:flex; }
.jp-as-big.jp-as-ini { font-size:52px; }
.jp-as-badge { font-size:12px; border-radius:10px; padding:2px 9px; vertical-align:middle; font-weight:600; }
.jp-as-badge.on { background:#E9F7EF; color:#1f6b40; } .jp-as-badge.off { background:#eee; color:#666; }
.jp-as-chips { display:flex; flex-wrap:wrap; gap:6px; margin:6px 0; }
.jp-as-tag { background:#FFF0D6; color:#7A3E00; border-radius:14px; padding:3px 10px; font-size:13px; }
.jp-as-prices { display:flex; gap:16px; } .jp-as-prices b { font-size:17px; color:#2B2D6E; }
.jp-as-acts { margin-top:8px; }
.jp-as-bio { font-size:15px; line-height:1.7; }
.jp-as-revs { list-style:none; padding:0; margin:0; } .jp-as-revs li { border-bottom:1px solid #F0E6D6; padding:8px 0; font-size:14px; }
.jp-ar-form { max-width:760px; }
.jp-ar-fs { border:1px solid #EADBC4; border-radius:12px; padding:10px 14px 14px; margin:12px 0; }
.jp-ar-fs legend { font-weight:700; color:#7A3E00; padding:0 6px; }
.jp-ar-checks { display:flex; flex-wrap:wrap; gap:6px 14px; margin:4px 0 10px; font-size:14px; }
.jp-ar-checks label { display:inline-flex; gap:4px; align-items:center; background:#FFFCF6; border:1px solid #EADBC4; border-radius:18px; padding:4px 10px; cursor:pointer; }
.jp-ar-agree { display:flex; gap:8px; align-items:flex-start; font-size:14px; margin:8px 0; }
.jp-ar-cur { display:flex; align-items:center; gap:8px; margin-bottom:6px; } .jp-ar-cur .jp-as-ph { width:48px; height:48px; }
.jp-hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.jp-ok { background:#E9F7EF; color:#1f6b40; border-radius:8px; padding:9px 12px; font-weight:600; }
.jp-as-dash .jp-as-st { font-weight:700; }
.jp-as-note { background:#FDECEC; border-radius:8px; padding:8px 10px; }
.jp-as-onbox { margin:10px 0; } .jp-as-onbox .jp-btn { width:auto; margin:0 8px 0 0; padding:10px 18px; }
.jp-as-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:10px; margin:14px 0; }
.jp-as-stats div { background:#FFF4E0; border-radius:12px; padding:10px 12px; } .jp-as-stats span { display:block; font-size:12.5px; color:#7a6a55; } .jp-as-stats b { font-size:20px; color:#2B2D6E; }
@media (max-width:480px) { .jp-as-filters .jp-input { flex-basis:100%; } .jp-as-grid { grid-template-columns:1fr; } }

/* ---------- Wallet ---------- */
.jp-wl-bal { display:flex; justify-content:space-between; align-items:center; background:linear-gradient(135deg,#2B2D6E,#14153d); color:#fff; border-radius:16px; padding:16px 20px; margin-bottom:14px; }
.jp-wl-bal span { font-size:14px; opacity:.85; }
.jp-wl-bal b { font-size:28px; color:#FFD27A; }
.jp-wl-add { max-width:560px; }
.jp-wl-presets { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.jp-wl-presets .jp-chip { font-size:15px; padding:8px 16px; }
.jp-wl-hist td { font-size:13.5px; }
.jp-wl-cr { color:#1f6b40; font-weight:700; white-space:nowrap; }
.jp-wl-dr { color:#b32d2e; font-weight:700; white-space:nowrap; }
.jp-lock { border:2px dashed #E8902A; border-radius:14px; padding:16px; background:#FFFAF0; text-align:center; }
.jp-lock-h { font-size:18px; font-weight:700; color:#7A3E00; margin:0 0 6px; }
.jp-lock .jp-btn { width:auto; display:inline-block; padding:11px 22px; text-decoration:none; }
.jp-wd-form { max-width:640px; }
.jp-wd-form h4 { margin:0 0 8px; }

/* ---------- Phase 14: Live chat & bookings ---------- */
.jp-btn-ghost { background:#fff !important; color:var(--jp-indigo,#2B2D6E) !important; border:1.5px solid var(--jp-indigo,#2B2D6E) !important; }
.jp-btn-ghost:hover { background:#F3F1FF !important; }
.jp-btn-sm { width:auto !important; margin:2px 0 !important; padding:7px 12px !important; font-size:13.5px !important; display:inline-block; text-decoration:none; }
.jp-btn-danger { background:#B3261E !important; }
.jp-btn-danger:hover { background:#8C1D18 !important; }
a.jp-btn { display:inline-block; text-align:center; text-decoration:none; box-sizing:border-box; }
.jp-as-bot .jp-as-act + .jp-as-act { margin-left:6px !important; }
.jp-as-acts { display:flex; flex-wrap:wrap; gap:8px; }
.jp-ch-bookbox { margin:14px 0; border:1px solid var(--jp-line); border-radius:12px; padding:10px 14px; background:#FFFCF6; }
.jp-ch-book { display:grid; gap:10px; max-width:460px; margin-top:10px; }
.jp-ch-book label { display:grid; gap:4px; font-weight:600; font-size:14px; }
.jp-ch-book input, .jp-ch-book textarea, .jp-ch-review textarea { font:inherit; padding:9px 10px; border:1px solid #d6c7ae; border-radius:8px; width:100%; box-sizing:border-box; }
.jp-ch-book .jp-btn { width:auto; margin:0; padding:10px 18px; }
.jp-ch-bmsg:empty { display:none; }

.jp-chat { max-width:760px; border:1px solid var(--jp-line); border-radius:16px; background:#fff; overflow:hidden; display:flex; flex-direction:column; }
.jp-ch-head { display:flex; align-items:center; gap:12px; padding:12px 14px; background:linear-gradient(90deg,#2B2D6E,#463A8C); color:#fff; flex-wrap:wrap; }
.jp-ch-av { width:46px; height:46px; border-radius:50%; object-fit:cover; flex:none; border:2px solid rgba(255,255,255,.6); }
.jp-ch-av-l { display:flex; align-items:center; justify-content:center; background:#E8902A; font-weight:700; font-size:20px; }
.jp-ch-who { flex:1; min-width:120px; display:grid; }
.jp-ch-who b { font-size:16.5px; }
.jp-ch-st { font-size:12.5px; opacity:.9; }
.jp-ch-st.st-active::before { content:''; display:inline-block; width:8px; height:8px; border-radius:50%; background:#3DDC84; margin-right:5px; animation:jpPulse 1.4s infinite; }
@keyframes jpPulse { 50% { opacity:.3; } }
.jp-ch-meters { display:flex; gap:14px; }
.jp-ch-meters span { display:grid; text-align:center; }
.jp-ch-meters small { font-size:11px; opacity:.8; }
.jp-ch-meters b { font-size:16px; font-variant-numeric:tabular-nums; }
.jp-ch-low { margin:0; padding:9px 14px; background:#FFF1D6; color:#7A4A00; font-weight:600; font-size:14px; }
.jp-ch-free { margin:0; padding:7px 14px; background:#E9F8EF; color:#145A32; font-size:13.5px; }
.jp-ch-wait { padding:22px 16px; text-align:center; background:#FFFCF6; border-bottom:1px solid var(--jp-line); }
.jp-ch-wait .jp-btn { width:auto; margin:6px 4px 0; padding:10px 20px; display:inline-block; }
.jp-ch-spin { width:36px; height:36px; margin:0 auto 10px; border:4px solid #EADBC4; border-top-color:#E8902A; border-radius:50%; animation:jpSpin 1s linear infinite; }
@keyframes jpSpin { to { transform:rotate(360deg); } }
.jp-ch-kinfo { padding:8px 14px; background:#F3F1FF; font-size:13.5px; border-bottom:1px solid #E1DCF7; }
.jp-ch-kinfo a { font-weight:600; }
.jp-ch-msgs { min-height:260px; max-height:58vh; overflow-y:auto; padding:14px; display:flex; flex-direction:column; gap:8px; background:#FBF7F0; }
.jp-ch-msg { max-width:78%; padding:8px 12px 5px; border-radius:14px; box-shadow:0 1px 1px rgba(0,0,0,.06); }
.jp-ch-msg p { margin:0; white-space:pre-wrap; word-wrap:break-word; line-height:1.5; }
.jp-ch-msg time { display:block; text-align:right; font-size:10.5px; opacity:.6; margin-top:2px; }
.jp-ch-msg.me { align-self:flex-end; background:#DCF3E4; border-bottom-right-radius:4px; }
.jp-ch-msg.them { align-self:flex-start; background:#fff; border-bottom-left-radius:4px; }
.jp-ch-sys { align-self:center; font-size:12.5px; background:#EFE7DA; color:#5b4630; padding:4px 12px; border-radius:12px; text-align:center; }
.jp-ch-share { padding:8px 14px; border-top:1px solid var(--jp-line); font-size:14px; }
.jp-ch-share summary { cursor:pointer; color:var(--jp-indigo); font-weight:600; }
.jp-ch-share div { display:flex; gap:8px; margin-top:8px; flex-wrap:wrap; }
.jp-ch-share select { font:inherit; padding:7px; border-radius:8px; border:1px solid #d6c7ae; max-width:100%; flex:1; }
.jp-ch-form { display:flex; gap:8px; padding:10px; border-top:1px solid var(--jp-line); background:#fff; }
.jp-ch-form textarea { flex:1; font:inherit; font-size:16px; resize:none; padding:10px 12px; border:1px solid #d6c7ae; border-radius:22px; min-height:44px; max-height:120px; box-sizing:border-box; }
.jp-ch-form .jp-btn { width:48px; height:44px; margin:0; padding:0; border-radius:50%; font-size:18px; flex:none; }
.jp-ch-bar { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:8px 12px; border-top:1px solid #F0E6D6; flex-wrap:wrap; }
.jp-ch-bar .jp-btn { width:auto; margin:0; padding:9px 16px; font-size:14px; }
.jp-ch-done { padding:18px 16px; text-align:center; border-top:1px solid var(--jp-line); background:#FFFCF6; }
.jp-ch-done h3 { margin:0 0 6px; color:var(--jp-indigo); }
.jp-ch-done .jp-btn { width:auto; margin:6px 4px 0; padding:10px 18px; }
.jp-ch-review { max-width:420px; margin:10px auto 0; display:grid; gap:8px; }
.jp-ch-stars { display:flex; justify-content:center; flex-direction:row-reverse; gap:4px; }
.jp-ch-stars input { position:absolute; opacity:0; }
.jp-ch-stars span { font-size:32px; color:#D9CDB8; cursor:pointer; }
.jp-ch-stars label:hover span, .jp-ch-stars label:hover ~ label span, .jp-ch-stars input:checked + span, .jp-ch-stars label:has(input:checked) ~ label span { color:#E8902A; }
.jp-ch-stars input:focus-visible + span { outline:2px solid var(--jp-indigo); border-radius:4px; }
.jp-chat [hidden] { display:none !important; }

.jp-ch-inbox { border:2px solid #E8902A; border-radius:14px; padding:4px 14px 12px; margin:16px 0; background:#FFFCF6; }
.jp-ch-req { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; padding:10px 0; border-bottom:1px dashed var(--jp-line); }
.jp-ch-req:last-child { border-bottom:0; }
.jp-ch-req p { margin:0; font-weight:600; }
.jp-ch-req.st-requested p::before { content:'🔔 '; }
.jp-ch-req .jp-btn-sm + .jp-btn-sm { margin-left:6px !important; }
.jp-ch-tbl th { width:auto; }
.jp-ch-tbl td, .jp-ch-tbl th { padding:7px 8px; font-size:14px; vertical-align:middle; }
.jp-ch-bacts { white-space:nowrap; }
.jp-ch-pill { display:inline-block; padding:2px 9px; border-radius:10px; font-size:12px; background:#EEE; }
.jp-ch-pill.st-active, .jp-ch-pill.bs-confirmed { background:#DCF3E4; color:#145A32; }
.jp-ch-pill.st-ended, .jp-ch-pill.bs-done { background:#E8EAF6; color:#2B2D6E; }
.jp-ch-pill.st-requested, .jp-ch-pill.bs-pending { background:#FFF1D6; color:#7A4A00; }
.jp-ch-pill.st-rejected, .jp-ch-pill.st-missed, .jp-ch-pill.bs-declined, .jp-ch-pill.st-cancelled, .jp-ch-pill.bs-cancelled { background:#FDE7E7; color:#8C1D18; }
@media (max-width:600px) {
	.jp-ch-head { padding:10px; gap:8px; }
	.jp-ch-meters { width:100%; justify-content:space-around; background:rgba(255,255,255,.1); border-radius:10px; padding:4px 0; }
	.jp-ch-msgs { max-height:52vh; min-height:220px; }
	.jp-ch-msg { max-width:88%; }
	.jp-ch-tbl { font-size:13px; }
}

/* ---------- Phase 15: My account, AI astrologer ---------- */
.jp-acc { max-width:900px; }
.jp-acc-hero { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; background:linear-gradient(120deg,#2B2D6E,#5B3E96); color:#fff; border-radius:16px; padding:18px 20px; margin:10px 0 14px; }
.jp-acc-hero h2 { margin:0 0 4px; color:#fff; font-size:22px; }
.jp-acc-hero p { margin:0; opacity:.9; }
.jp-acc-hero .jp-btn-ghost { background:transparent !important; color:#fff !important; border-color:#fff !important; }
.jp-acc-stats { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:10px; }
.jp-acc-stats > div { border:1px solid var(--jp-line); background:#FFFCF6; border-radius:12px; padding:10px 14px; display:grid; align-content:start; }
.jp-acc-stats span { font-size:12.5px; color:#7a6650; }
.jp-acc-stats b { font-size:22px; color:var(--jp-indigo); }
.jp-acc-bal { background:#FFF4E2 !important; border-color:#F2C98F !important; }
.jp-acc-bal .jp-btn-sm { justify-self:start; margin-top:6px !important; }
.jp-acc-tiles { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:10px; }
.jp-acc-tile { display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; padding:14px 8px; border:1px solid var(--jp-line); border-radius:12px; background:#fff; color:var(--jp-indigo); font-weight:600; font-size:14px; text-decoration:none; transition:transform .15s, box-shadow .15s; }
.jp-acc-tile span { font-size:26px; }
.jp-acc-tile:hover, .jp-acc-tile:focus-visible { transform:translateY(-2px); box-shadow:0 6px 16px rgba(43,45,110,.12); border-color:var(--jp-saffron); }
.jp-acc-klist, .jp-acc-tx { list-style:none; margin:0; padding:0; }
.jp-acc-klist li { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; padding:10px 0; border-bottom:1px dashed var(--jp-line); }
.jp-acc-klist small { display:block; color:#7a6650; font-size:13px; }
.jp-acc-kact { white-space:nowrap; }
.jp-acc-tx li { display:flex; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid #F3EADB; }
.jp-acc-tx small { display:block; color:#7a6650; font-size:12px; }
.jp-acc-out { margin-top:24px; text-align:right; }
.jp-ai { max-width:760px; }
.jp-ai-form { display:grid; gap:10px; border:1px solid var(--jp-line); border-radius:14px; padding:14px 16px; background:#FFFCF6; }
.jp-ai-form label { display:grid; gap:4px; font-weight:600; font-size:14px; }
.jp-ai-form select, .jp-ai-form textarea { font:inherit; font-size:16px; padding:10px; border:1px solid #d6c7ae; border-radius:10px; width:100%; box-sizing:border-box; background:#fff; }
.jp-ai-form .jp-btn { margin:0; }
.jp-ai-form [hidden], .jp-ai [hidden] { display:none !important; }
.jp-ai-ans { margin:14px 0; border-left:5px solid var(--jp-saffron); background:#fff; border-radius:12px; padding:12px 16px; box-shadow:0 2px 10px rgba(43,45,110,.08); line-height:1.7; }
.jp-ai-q { font-weight:700; color:var(--jp-indigo); }
.jp-ai-note { font-size:13px; color:#7a6650; }
.jp-ai-past .jp-ai-text { padding:8px 4px; line-height:1.7; }
@media (max-width:600px) {
	.jp-acc-stats { grid-template-columns:1fr 1fr; }
	.jp-acc-bal { grid-column:1 / -1; }
	.jp-acc-tiles { grid-template-columns:repeat(3,1fr); }
	.jp-acc-tile { font-size:12.5px; padding:10px 4px; }
}
.jp-ch-earn small { display:block; font-size:12px; color:#7a6a55; }
[data-jp-install][hidden] { display:none !important; }

/* ---------- Share buttons ---------- */
.jp-share { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 4px; }
.jp-share-btn { display:inline-flex; align-items:center; gap:6px; padding:7px 13px; border-radius:20px; font:600 13.5px/1.2 inherit; font-family:inherit; text-decoration:none; cursor:pointer; border:1px solid transparent; }
.jp-share-btn svg { width:17px; height:17px; }
.jp-share-wa { background:#25D366; color:#fff !important; }
.jp-share-wa:hover { background:#1DA851; }
.jp-share-fb { background:#1877F2; color:#fff !important; }
.jp-share-fb:hover { background:#0F5FC7; }
.jp-share-copy { background:#fff; color:var(--jp-indigo,#2B2D6E); border-color:#d6c7ae; }
.jp-share-btn:focus-visible { outline:2px solid var(--jp-saffron,#E8902A); outline-offset:2px; }
.jp-chip-wa { background:#25D366 !important; color:#fff !important; border-color:#25D366 !important; text-decoration:none; }
.jp-rf-wa { margin:10px 0; border:1px dashed #25D366; border-radius:12px; padding:8px 12px; background:#F1FBF4; }
.jp-share-astro { margin-top:6px; }
@media print { .jp-share { display:none !important; } }

/* ---------- Home page [jp_home] ---------- */
.jp-home { max-width:1100px; margin:0 auto; }
.jp-home h2 { font-size:21px; margin:0 0 12px; color:var(--jp-indigo,#2B2D6E); }
.jp-hm-hero { position:relative; overflow:hidden; text-align:center; color:#fff; border-radius:22px; padding:34px 18px 28px; margin:8px 0 18px; background:radial-gradient(ellipse at 50% 0%,#4A3F9E 0%,#2B2D6E 55%,#17183F 100%); }
.jp-hm-stars { position:absolute; inset:0; background-image:radial-gradient(2px 2px at 12% 20%,#fff8,transparent),radial-gradient(1.5px 1.5px at 80% 15%,#fff9,transparent),radial-gradient(2px 2px at 65% 70%,#fff6,transparent),radial-gradient(1.5px 1.5px at 25% 80%,#fff7,transparent),radial-gradient(1.5px 1.5px at 92% 60%,#fff8,transparent),radial-gradient(2px 2px at 45% 35%,#fff5,transparent); pointer-events:none; }
.jp-hm-logo { width:88px; height:88px; border-radius:22px; box-shadow:0 6px 20px rgba(0,0,0,.35); position:relative; }
.jp-hm-hero h1 { color:#fff; font-size:clamp(30px,6vw,46px); margin:12px 0 4px; line-height:1.15; position:relative; }
.jp-hm-tag { font-size:clamp(16px,3.5vw,20px); color:#FFD27A; margin:0 0 6px; position:relative; }
.jp-hm-date { font-size:14px; opacity:.85; margin:0 0 18px; position:relative; }
.jp-hm-ctas { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; position:relative; }
.jp-hm-btn { display:inline-block; padding:14px 22px; border-radius:30px; font-weight:800; font-size:16px; text-decoration:none !important; transition:transform .15s, box-shadow .15s; }
.jp-hm-btn:hover, .jp-hm-btn:focus-visible { transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,.25); }
.jp-hm-btn1 { background:linear-gradient(135deg,#FFC266,#E8902A); color:#2a1606 !important; }
.jp-hm-btn2 { background:#fff; color:var(--jp-indigo,#2B2D6E) !important; }
.jp-hm-live { margin:16px 0 0; font-size:14px; position:relative; }
.jp-hm-live span { display:inline-block; width:9px; height:9px; border-radius:50%; background:#3DDC84; margin-right:6px; animation:jpPulse 1.4s infinite; }
.jp-hm-two { display:grid; grid-template-columns:1fr 2fr; gap:16px; margin-bottom:18px; }
.jp-hm-card { background:#fff; border:1px solid var(--jp-line,#EADBC4); border-radius:16px; padding:16px 18px; }
.jp-hm-pan dl { margin:0; }
.jp-hm-pan dl div { display:flex; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px dashed var(--jp-line,#EADBC4); }
.jp-hm-pan dt { color:#7a5a2e; font-weight:600; font-size:14px; }
.jp-hm-pan dd { margin:0; font-weight:700; text-align:right; font-size:14.5px; }
.jp-hm-more { display:inline-block; margin-top:10px; font-weight:700; }
.jp-hm-rf .jp-muted-s { margin:-6px 0 10px; }
.jp-hm-rgrid { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; }
.jp-hm-rgrid a { display:flex; flex-direction:column; align-items:center; gap:2px; padding:10px 4px; border-radius:12px; background:#FFFCF6; border:1px solid var(--jp-line,#EADBC4); text-decoration:none; color:var(--jp-indigo,#2B2D6E); transition:transform .15s, border-color .15s; }
.jp-hm-rgrid a:hover, .jp-hm-rgrid a:focus-visible { transform:translateY(-2px); border-color:var(--jp-saffron,#E8902A); }
.jp-hm-sym { font-size:26px; line-height:1.1; }
.jp-hm-rgrid b { font-size:14px; }
.jp-hm-rgrid small { color:#E8902A; font-size:11px; letter-spacing:-1px; }
.jp-hm-sec { margin:22px 0; }
.jp-hm-head { display:flex; justify-content:space-between; align-items:baseline; gap:10px; flex-wrap:wrap; }
.jp-hm-head a { font-weight:700; }
.jp-hm-astros { grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); }
.jp-hm-band { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; background:linear-gradient(120deg,#FFF4E2,#FFE7C2); border:1px solid #F2C98F; border-radius:18px; padding:20px 22px; margin:22px 0; }
.jp-hm-band h2 { margin-bottom:4px; }
.jp-hm-band p { margin:0; color:#5b4630; }
.jp-hm-wa { text-align:center; background:#F1FBF4; border:1px dashed #25D366; border-radius:16px; padding:16px; margin:22px 0; }
.jp-hm-wa p { margin:0 0 10px; font-weight:700; }
.jp-hm-wa div { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.jp-hm-why { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.jp-hm-why div { background:#fff; border:1px solid var(--jp-line,#EADBC4); border-radius:14px; padding:16px; }
.jp-hm-why span { font-size:26px; display:block; }
.jp-hm-why b { display:block; margin:6px 0 4px; color:var(--jp-indigo,#2B2D6E); }
.jp-hm-why p { margin:0; font-size:14px; color:#5b4630; }
.jp-hm-join { text-align:center; margin-top:14px; font-weight:700; }
@media (max-width:820px) { .jp-hm-two { grid-template-columns:1fr; } .jp-hm-rgrid { grid-template-columns:repeat(4,1fr); } .jp-hm-why { grid-template-columns:1fr; } }
@media (max-width:420px) { .jp-hm-rgrid { grid-template-columns:repeat(3,1fr); } .jp-hm-btn { width:100%; } .jp-hm-band .jp-hm-btn { width:100%; text-align:center; } }
.jp-kundli-app h1,.jp-kundli-app h2,.jp-kundli-app h3,.jp-kundli-app h4{font-family:inherit}
