/* ============ 5Sight Pulse module ============ */
.pulse-app{margin-top:40px; background:var(--glass); -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur); border:1px solid var(--glass-line); border-radius:var(--radius-lg); box-shadow:var(--sh-1), var(--glass-inset); overflow:hidden}
.pulse-bar{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 24px; border-bottom:1px solid var(--glass-line); background:rgba(255,255,255,.4); flex-wrap:wrap}
.pulse-brand{display:flex; align-items:center; gap:13px}
.pulse-mark{width:38px;height:38px;border-radius:11px; flex-shrink:0; background:linear-gradient(150deg,#6f6ae8,#4f46d0); position:relative; box-shadow:var(--sh-1)}
.pulse-mark::after{content:""; position:absolute; inset:0; background:no-repeat center/20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h4l2-6 4 12 2-6h6'/%3E%3C/svg%3E")}
.pulse-name{font-size:18px; font-weight:800; letter-spacing:-.02em}
.pulse-sub{font-size:12.5px; color:var(--ink-3); margin-top:2px}
.pulse-range{display:inline-flex; gap:2px; background:rgba(255,255,255,.6); border:1px solid var(--glass-line); border-radius:100px; padding:3px}
.pulse-range span{font-size:12px; font-weight:600; color:var(--ink-3); padding:6px 13px; border-radius:100px; cursor:pointer}
.pulse-range span.on{background:#fff; color:var(--ink); box-shadow:var(--sh-1)}

.pulse-tabs{display:flex; gap:4px; padding:0 24px; border-bottom:1px solid var(--glass-line)}
.pulse-tab{border:0; background:none; padding:14px 6px; margin-right:18px; font-size:14px; font-weight:600; color:var(--ink-3); cursor:pointer; border-bottom:2px solid transparent; transition:.15s}
.pulse-tab:hover{color:var(--ink-2)}
.pulse-tab.on{color:#4f46d0; border-bottom-color:#4f46d0}
.pulse-body{padding:24px}
@media(max-width:760px){ .pulse-body{padding:16px} }

/* overview */
.po-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:center}
@media(max-width:880px){ .po-grid{grid-template-columns:1fr; gap:8px} }
.po-idxlab{font-family:var(--mono); font-size:10.5px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-3)}
.po-idx{display:flex; align-items:baseline; gap:9px; margin-top:6px; flex-wrap:wrap}
.po-big{font-size:58px; font-weight:800; letter-spacing:-.03em; line-height:1}
.po-of{font-size:18px; font-weight:600; color:var(--ink-3)}
.po-delta.up{font-size:13px; font-weight:700; color:var(--success)}
.po-status{font-size:14px; font-weight:600; margin-top:4px}
.po-drag-h{font-size:12.5px; color:var(--ink-3); margin:20px 0 11px}
.po-drag{display:flex; flex-direction:column; gap:8px}
.po-bar{display:flex; align-items:center; gap:12px; background:none; border:0; padding:2px 0; cursor:pointer; text-align:left}
.po-bar-l{width:74px; font-size:13px; color:var(--ink-2); flex-shrink:0}
.po-bar.on .po-bar-l{font-weight:700; color:var(--ink)}
.po-bar-track{flex:1; height:9px; border-radius:5px; background:var(--surface-3); overflow:hidden}
.po-bar-track i{display:block; height:100%; border-radius:5px; opacity:.85; transition:width .5s cubic-bezier(.2,.8,.2,1)}
.po-bar-v{width:26px; text-align:right; font-size:13px; font-weight:700; font-variant-numeric:tabular-nums}
.po-legend{display:flex; gap:16px; margin-top:14px; font-size:11.5px; color:var(--ink-3)}
.po-legend span{display:inline-flex; align-items:center; gap:6px}
.po-legend i{width:9px;height:9px;border-radius:50%}
.po-note{font-size:12px; color:var(--ink-4); line-height:1.5; margin-top:13px; max-width:46ch}

.po-right{display:flex; flex-direction:column; align-items:center}
.pr-svg{width:100%; max-width:420px; height:auto}
.pr-label{font-size:13px; font-weight:600; fill:var(--ink-2)}
.pr-val{font-size:12.5px; font-weight:800; font-variant-numeric:tabular-nums}
.pr-ring{fill:none; stroke:var(--border); stroke-width:1}
.pr-spoke{stroke:var(--border); stroke-width:1}
.pr-goal{fill:color-mix(in srgb,var(--success) 9%,transparent); stroke:color-mix(in srgb,var(--success) 40%,transparent); stroke-width:1; stroke-dasharray:3 3}
.pr-now{fill:color-mix(in srgb,#6f6ae8 26%,transparent); stroke:#6f6ae8; stroke-width:2; transition:all .5s cubic-bezier(.2,.8,.2,1)}
.pr-dot{stroke:#fff; stroke-width:2; transition:r .2s}
.pr-label{font-size:13px; font-weight:600; fill:var(--ink-2)}
.pr-axis.on .pr-label{fill:var(--ink)}
.pr-axis:hover .pr-label{fill:var(--ink)}

.po-potential{display:flex; align-items:center; gap:18px; margin-top:14px; padding:18px 22px; border-radius:18px; background:rgba(255,255,255,.6); border:1px solid var(--glass-line); box-shadow:var(--sh-1), var(--glass-inset); width:100%}
.pg-wrap{position:relative; width:96px; height:96px; flex-shrink:0}
.pg-svg{width:96px; height:96px; transform:rotate(0)}
.pg-track{fill:none; stroke:var(--surface-3); stroke-width:11; stroke-linecap:round}
.pg-arc{fill:none; stroke-width:11; stroke-linecap:round; cursor:pointer; transition:stroke-width .15s, opacity .15s}
.pg-arc.goal{stroke:#7bd6a6}
.pg-arc.now{stroke:#6f6ae8}
.pg-arc.hl{stroke-width:13}
.pg-arc.goal.hl{stroke:var(--success)}
.pg-center{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; pointer-events:none}
.pg-gain{font-size:21px; font-weight:800; letter-spacing:-.02em; color:var(--success); line-height:1}
.pg-gain-l{font-size:9.5px; color:var(--ink-3); font-weight:600; margin-top:2px}
.pg-pop{position:absolute; left:50%; bottom:104%; transform:translateX(-50%); width:210px; z-index:20; background:#1b2440; color:#fff; border-radius:12px; padding:11px 13px; box-shadow:var(--sh-pop); animation:donotIn .15s ease; pointer-events:none}
.pg-pop::after{content:""; position:absolute; left:50%; top:100%; transform:translateX(-50%); border:6px solid transparent; border-top-color:#1b2440}
.pg-pop b{display:block; font-size:13.5px; font-weight:700; margin-bottom:4px}
.pg-pop b i{font-style:normal; color:#7bd6a6}
.pg-pop.now b{color:#aeb8ff}
.pg-pop span{font-size:11.5px; line-height:1.45; color:rgba(255,255,255,.78)}
.pg-info{flex:1; min-width:0}
.pg-legend{display:flex; gap:8px; margin-top:11px; flex-wrap:wrap}
.pg-leg{display:inline-flex; align-items:center; gap:7px; font-size:12.5px; font-weight:600; color:var(--ink-2); background:rgba(255,255,255,.6); border:1px solid var(--glass-line); border-radius:100px; padding:6px 12px; cursor:pointer; transition:.15s}
.pg-leg.on{border-color:var(--border-strong); box-shadow:var(--sh-1)}
.po-pot-t{font-size:16px; font-weight:700}
.po-pot-s{font-size:12.5px; color:var(--ink-3); margin-top:3px}
.dotc{width:8px;height:8px;border-radius:50%; display:inline-block}
.po-pot-gain{background:var(--success-soft); color:var(--success); font-weight:700; padding:2px 8px; border-radius:100px; font-size:12px}

/* dimension cards */
.po-dims{display:grid; grid-template-columns:repeat(5,1fr); gap:11px; margin-top:24px}
@media(max-width:880px){ .po-dims{grid-template-columns:repeat(2,1fr)} }
.po-dim{text-align:left; background:rgba(255,255,255,.5); border:1px solid var(--glass-line); border-radius:14px; padding:14px 15px; cursor:pointer; transition:.18s; box-shadow:var(--sh-1)}
.po-dim:hover{transform:translateY(-2px); box-shadow:var(--sh-2)}
.po-dim.on{border-color:#bcb8f0; box-shadow:0 0 0 1.5px #6f6ae8, var(--sh-1)}
.po-dim-l{font-size:13px; color:var(--ink-3); font-weight:500}
.po-dim-v{display:flex; align-items:baseline; gap:7px; margin:7px 0 9px}
.po-dim-v>span:first-child{font-size:27px; font-weight:800; letter-spacing:-.02em; line-height:1}
.po-dim-d{font-size:12px; font-weight:700; font-variant-numeric:tabular-nums}
.po-dim-d.up{color:var(--success)} .po-dim-d.dn{color:var(--risk)}
.po-dim-bar{height:5px; border-radius:3px; background:var(--surface-3); overflow:hidden}
.po-dim-bar i{display:block; height:100%; border-radius:3px}

/* drill panel */
.po-drill{margin-top:20px; background:rgba(255,255,255,.45); border:1px solid var(--glass-line); border-radius:18px; padding:22px; animation:wijIn .4s cubic-bezier(.2,.7,.2,1)}
.po-drill-h{display:flex; align-items:flex-start; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:16px}
.po-drill-t{font-size:18px; font-weight:700; letter-spacing:-.01em}
.po-drill-s{font-size:12px; color:var(--ink-3); margin-top:3px}
.po-drill-blurb{font-size:13.5px; line-height:1.5; color:var(--ink-2); max-width:48ch}
.po-drill-metrics{display:grid; grid-template-columns:repeat(6,1fr); gap:9px; margin-bottom:20px}
@media(max-width:880px){ .po-drill-metrics{grid-template-columns:repeat(3,1fr)} }
@media(max-width:560px){ .po-drill-metrics{grid-template-columns:repeat(2,1fr)} }
.po-m{background:rgba(255,255,255,.6); border:1px solid var(--glass-line); border-radius:12px; padding:12px 13px}
.po-m-v{font-size:15px; font-weight:800; letter-spacing:-.01em; font-variant-numeric:tabular-nums}
.po-m-k{font-size:11px; color:var(--ink-3); margin-top:4px; line-height:1.3}

/* case cards */
.po-cases{display:flex; flex-direction:column; gap:12px}
.pc{background:#fff; border:1px solid var(--glass-line); border-radius:14px; padding:18px 20px; box-shadow:var(--sh-1)}
.pc-top{display:flex; align-items:center; gap:11px; margin-bottom:11px}
.pc-sev{font-size:10.5px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; padding:4px 10px; border-radius:100px; flex-shrink:0}
.pc-sev.hi{background:var(--risk-soft); color:var(--risk)}
.pc-sev.mid{background:var(--warn-soft); color:var(--warn)}
.pc-t{font-size:16px; font-weight:700; letter-spacing:-.01em}
.pc-tags{display:flex; flex-wrap:wrap; gap:7px; margin-bottom:14px}
.pc-tag{font-size:11.5px; font-weight:600; padding:5px 11px; border-radius:100px}
.pc-tag.money{background:#efe8fb; color:#6a3fd0}
.pc-tag.sum{background:#e7eefb; color:#3a5bb0}
.pc-tag.soft{background:var(--surface-3); color:var(--ink-2)}
.pc-row{display:flex; gap:12px; font-size:13px; line-height:1.5; color:var(--ink-2); padding:5px 0}
.pc-k{flex-shrink:0; width:78px; font-weight:700; color:var(--ink); font-size:12.5px; padding-top:1px}
.pc-eff{display:flex; gap:12px; font-size:13px; line-height:1.5; color:var(--success); background:var(--success-soft); border:1px solid var(--success-line); border-radius:11px; padding:11px 13px; margin-top:8px}
.pc-eff .pc-k{color:var(--success)}
.pc-foot{display:flex; align-items:center; gap:10px; margin-top:14px; flex-wrap:wrap}
.pc-proof{display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600; color:var(--ink-2); background:none; border:0; cursor:pointer}
.pc-proof .cx{font-size:16px; color:var(--ink-4)}
.pc-plan{display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:#fff; background:var(--accent); border:0; border-radius:10px; padding:9px 15px; cursor:pointer; transition:.15s}
.pc-plan:hover{background:var(--accent-700); transform:translateY(-1px)}
.pc-data{font-size:13px; font-weight:600; color:var(--ink-2); background:#fff; border:1px solid var(--border-2); border-radius:10px; padding:9px 15px; cursor:pointer}
.pc-data:hover{border-color:var(--border-strong)}
.pc-evid{margin-top:12px; border-top:1px solid var(--border); padding-top:12px; display:flex; flex-direction:column; gap:7px; animation:donotIn .2s ease}
.pc-ev{display:flex; align-items:center; gap:9px; font-family:var(--mono); font-size:11.5px; color:var(--ink-2)}
.pc-ev-dot{width:7px;height:7px;border-radius:50%; background:#6f6ae8; flex-shrink:0}

/* priorities */
.pp-top{background:rgba(255,255,255,.5); border:1px solid var(--glass-line); border-radius:16px; padding:18px 20px; margin-bottom:16px}
.pp-top-h{font-size:15px; font-weight:700; margin-bottom:12px}
.pp-top-row{display:flex; align-items:center; gap:11px; padding:11px 0; border-top:1px solid var(--glass-line); cursor:pointer}
.pp-top-row:hover .pp-top-t{color:var(--accent-700)}
.pp-n{width:22px;height:22px;border-radius:7px; background:var(--accent); color:#fff; font-size:11px; font-weight:700; display:grid; place-items:center; flex-shrink:0}
.pp-top-t{font-size:14px; font-weight:600}
.pp-top-ax{font-size:13px; color:var(--ink-3)}
.pp-top-idx{margin-left:auto; font-size:13px; font-weight:700; color:var(--success)}
.pp-list{background:rgba(255,255,255,.5); border:1px solid var(--glass-line); border-radius:16px; padding:6px 20px 14px}
.pp-list-h{display:flex; align-items:baseline; gap:10px; font-size:15px; font-weight:700; padding:16px 0 8px}
.pp-list-h span{font-size:12px; font-weight:500; color:var(--ink-3)}
.pp-rec{display:flex; align-items:center; gap:14px; padding:14px 0; border-top:1px solid var(--glass-line)}
.pp-rec-main{flex:1; min-width:0}
.pp-rec-t{font-size:14px; font-weight:600}
.pp-rec-ax{font-size:13px; color:var(--ink-3); font-weight:500}
.pp-rec-a{font-size:12.5px; color:var(--ink-3); margin-top:2px}
.pp-rec-gain{font-size:12.5px; font-weight:700; color:var(--success); background:var(--success-soft); padding:6px 12px; border-radius:100px; white-space:nowrap; flex-shrink:0}
@media(max-width:760px){ .pp-rec-gain{display:none} }

/* signals */
.ps-sig{display:flex; flex-direction:column}
.ps-row{display:flex; align-items:center; gap:13px; padding:14px 4px; border-bottom:1px solid var(--glass-line); cursor:pointer; transition:.15s}
.ps-row:hover{background:rgba(255,255,255,.4)}
.ps-row:last-child{border-bottom:0}
.ps-dot{width:10px;height:10px;border-radius:50%; flex-shrink:0}
.ps-main{flex:1; min-width:0}
.ps-t{font-size:14px; font-weight:600}
.ps-s{font-size:12.5px; color:var(--ink-3); margin-top:2px}
.ps-ax{font-size:11.5px; font-weight:600; color:var(--ink-2); background:var(--surface-3); padding:5px 11px; border-radius:100px; flex-shrink:0}
.ps-time{font-family:var(--mono); font-size:11px; color:var(--ink-4); flex-shrink:0; width:48px; text-align:right}

/* how it works */
.pulse-how{display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-top:24px}
@media(max-width:880px){ .pulse-how{grid-template-columns:repeat(2,1fr)} }
@media(max-width:560px){ .pulse-how{grid-template-columns:1fr} }
.ph-step{background:var(--glass); -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur); border:1px solid var(--glass-line); border-radius:14px; padding:18px 16px; box-shadow:var(--sh-1), var(--glass-inset)}
.ph-n{width:30px;height:30px;border-radius:9px; background:var(--accent-soft); color:var(--accent); font-size:14px; font-weight:800; display:grid; place-items:center; margin-bottom:11px}
.ph-t{font-size:14px; font-weight:700; letter-spacing:-.01em}
.ph-s{font-size:12px; color:var(--ink-3); line-height:1.45; margin-top:6px}
