/* Portfolio management: drift bands, goal meters, proposal comparison. */
.pm-band { position: relative; height: 10px; border-radius: 6px; background: #edf2f7; margin: 4px 0 2px; }
.pm-band .rng { position: absolute; top: 0; bottom: 0; background: #cfe3f6; border-radius: 6px; }
.pm-band .tgt { position: absolute; top: -3px; width: 2px; height: 16px; background: #0b3a6b; margin-left: -1px; }
.pm-band .now { position: absolute; top: -2px; width: 14px; height: 14px; border-radius: 50%; margin-left: -7px; background: #12a079; border: 2px solid #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.12); }
.pm-band .now.over { background: #d63b4a; }
.pm-band .now.under { background: #e09a17; }
.pm-cmp td.bar { width: 38%; }
.pm-cmp .pair { display: grid; gap: 3px; }
.pm-cmp .pair i { display: block; height: 7px; border-radius: 4px; background: #b8cde3; }
.pm-cmp .pair i.after { background: #1a7fe0; }
.pm-delta.up { color: #0a7a52; } .pm-delta.down { color: #b42335; }
.pm-goal { display: grid; gap: 6px; }
.pm-goal .prob { font-size: 22px; font-weight: 700; }
.pm-steps { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.pm-steps span { padding: 4px 10px; border-radius: 14px; background: #eef3f8; color: #5f7184; font-size: 12px; font-weight: 600; }
.pm-steps span.on { background: #0a6fd2; color: #fff; }
.pm-steps span.done { background: #e3f6ee; color: #0a7a52; }
.pm-steps span.bad { background: #fde8ea; color: #b42335; }
.pm-lines input.ct-input { min-width: 90px; }
@media (max-width: 720px) { .pm-cmp td.bar { width: 30%; } }
dialog.ct-dialog.wide { width: min(860px, calc(100vw - 32px)); }
dialog.ct-dialog.wide .ct-pbody { max-height: 70vh; overflow: auto; }
