/* Portfolio v2 page fix5 */
.pfv2,
.pfv2 *{
  box-sizing:border-box;
}

.pfv2{
  --pfv2-text:var(--sg-text,#0f172a);
  --pfv2-muted:var(--sg-muted,#64748b);
  --pfv2-border:var(--sg-border,rgba(15,23,42,.08));
  --pfv2-border-strong:rgba(15,23,42,.13);
  --pfv2-surface:#fff;
  --pfv2-soft:#f8fafc;
  --pfv2-blue:var(--sg-blue,#2563eb);
  --pfv2-green:var(--sg-green,#047857);
  --pfv2-red:var(--sg-red,#b91c1c);
  --pfv2-amber:var(--sg-amber,#b45309);
  --pfv2-radius:22px;
  --pfv2-shadow:0 8px 28px rgba(15,23,42,.045);
  color:var(--pfv2-text);
  font-family:inherit;
  padding-bottom:34px;
}

.pfv2 .muted,
.pfv2 .meta{
  color:var(--pfv2-muted);
}




.pfv2-page-titlebox{
  min-width:0;
}




.pfv2-help:hover{
  background:#f8fafc;
  text-decoration:none;
}

.pfv2-top{
  display:grid;
  gap:12px;
  margin-bottom:14px;
}

.pfv2-settings,
.pfv2-kpi,
.pfv2-holdings,
.pfv2-trades{
  border:1px solid var(--pfv2-border);
  border-radius:var(--pfv2-radius);
  background:var(--pfv2-surface);
  box-shadow:var(--pfv2-shadow);
}

.pfv2-settings{
  overflow:hidden;
}

.pfv2-settings-summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:13px 44px 13px 16px;
  position:relative;
}



.pfv2-settings-summary::-webkit-details-marker{
  display:none;
}


.pfv2-settings-summary::after{
  content:"";
  position:absolute;
  right:18px;
  top:18px;
  width:8px;
  height:8px;
  border-right:2px solid var(--pfv2-muted);
  border-bottom:2px solid var(--pfv2-muted);
  transform:rotate(45deg);
  transition:transform .14s ease;
}


.pfv2-settings[open] .pfv2-settings-summary::after{
  transform:rotate(225deg);
}


.pfv2-settings-summary span{
  font-weight:850;
  font-size:15px;
  line-height:1.15;
}



.pfv2-settings-summary small{
  display:block;
  color:var(--pfv2-muted);
  font-size:13px;
  line-height:1.25;
  align-self:center;
  min-width:0;
}



.pfv2-settings-body{
  padding:0 12px 12px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:start;
  gap:10px;
}



.pfv2-settings-panel{
  min-width:0;
  border:1px solid var(--pfv2-border);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(248,250,252,.72),#fff);
  padding:13px;
  display:grid;
  grid-template-rows:auto auto 1fr auto;
  align-content:start;
  align-items:start;
  justify-content:stretch;
  align-self:start;
  gap:9px;
  min-height:0;
}



.pfv2-settings-panel h2{
  margin:0;
  font-size:14px;
  line-height:1.18;
  font-weight:850;
}



.pfv2-settings-panel p{
  margin:0;
  color:var(--pfv2-muted);
  font-size:12.5px;
  line-height:1.28;
}



.pfv2-settings-panel label{
  display:grid;
  gap:5px;
  color:var(--pfv2-muted);
  font-size:12px;
  line-height:1.2;
  font-weight:700;
}



.pfv2-check,
.pfv2-checkgrid label{
  display:flex !important;
  align-items:center;
  gap:8px;
  color:var(--pfv2-text) !important;
  font-size:13px !important;
  font-weight:500 !important;
}

.pfv2-checkgrid{
  display:grid;
  gap:8px;
}

.pfv2-inline,
.pfv2-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.pfv2 .input,
.pfv2 input[type="text"],
.pfv2 input[type="email"],
.pfv2 input[type="number"],
.pfv2 select{
  width:100%;
  min-height:40px;
  border:1px solid var(--pfv2-border-strong);
  border-radius:14px;
  background:#fff;
  color:var(--pfv2-text);
  font:inherit;
  font-size:15px;
  line-height:1.2;
  font-weight:400;
  padding:0 12px;
  box-shadow:none;
}

.pfv2 .input:focus,
.pfv2 input:focus,
.pfv2 select:focus{
  outline:none;
  border-color:rgba(37,99,235,.42);
  box-shadow:0 0 0 3px rgba(37,99,235,.10);
}

.pfv2 .btn,
.pfv2 button.btn,
.pfv2 a.btn{
  min-height:36px;
  border-radius:14px;
  padding:0 13px;
  border:1px solid rgba(37,99,235,.28);
  background:#eff6ff;
  color:var(--pfv2-blue);
  font:inherit;
  font-size:13px;
  line-height:1;
  font-weight:650;
  text-decoration:none;
  box-shadow:none;
  cursor:pointer;
  white-space:nowrap;
}

.pfv2 .btn:hover{
  background:#dbeafe;
  text-decoration:none;
}

.pfv2 .btn.btn-ghost{
  border-color:var(--pfv2-border-strong);
  background:#fff;
  color:var(--pfv2-text);
}

.pfv2 .btn.btn-danger{
  border-color:rgba(185,28,28,.24);
  background:rgba(254,242,242,.9);
  color:var(--pfv2-red);
}

.pfv2 .btn:disabled{
  opacity:.55;
  cursor:wait;
}

.pfv2-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}

.pfv2-kpi{
  min-width:0;
  min-height:96px;
  padding:13px;
  display:grid;
  gap:7px;
  align-content:start;
  box-shadow:none;
  border-radius:18px;
}

.pfv2-kpi span{
  color:var(--pfv2-muted);
  font-size:12px;
  line-height:1.12;
  font-weight:600;
}

.pfv2-kpi strong{
  color:var(--pfv2-text);
  font-size:22px;
  line-height:1.04;
  font-weight:700;
  letter-spacing:-.035em;
}

.pfv2-kpi strong.ok{
  color:var(--pfv2-green);
}

.pfv2-kpi strong.bad{
  color:var(--pfv2-red);
}

.pfv2-kpi small{
  color:var(--pfv2-muted);
  font-size:12.2px;
  line-height:1.28;
  font-weight:400;
}

.pfv2-mode-card small{
  display:grid;
  gap:4px;
}

.pfv2-holdings{
  padding:14px;
  margin-top:12px;
}

.pfv2-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
}

.pfv2-section-head h2{
  margin:0;
  color:var(--pfv2-text);
  font-size:21px;
  line-height:1.15;
  font-weight:650;
  letter-spacing:-.025em;
}

.pfv2-section-head p{
  margin:4px 0 0;
  font-size:13px;
}

.pfv2-filterbar{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  align-items:end;
  margin-bottom:12px;
}



.pfv2-filterbar label{
  display:grid;
  gap:6px;
  color:var(--pfv2-muted);
  font-size:12px;
  font-weight:600;
}

#pf2-sort-info{
  grid-column:1 / -1;
  justify-self:start;
  align-self:center;
  color:var(--pfv2-muted);
  font-size:13px;
  white-space:nowrap;
  padding:0;
  margin-top:0;
}



.pfv2-list{
  display:grid;
  gap:8px;
}

.pfv2-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--pfv2-border);
  border-left-width:5px;
  border-radius:18px;
  background:#fff;
  box-shadow:0 4px 16px rgba(15,23,42,.035);
  touch-action:pan-y;
}


.pfv2-card.tone-up{
  border-color:rgba(22,163,74,.24);
  border-left-color:rgba(5,150,105,.88);
}

.pfv2-card.tone-down{
  border-color:rgba(239,68,68,.24);
  border-left-color:rgba(220,38,38,.82);
}

.pfv2-card.tone-flat{
  border-color:rgba(148,163,184,.24);
  border-left-color:rgba(100,116,139,.58);
}


.pfv2-card-inner{
  position:relative;
  z-index:2;
  background:#fff;
  padding:10px 11px;
  transition:transform .16s ease;
}

.pfv2-card.is-open{
  border-color:rgba(37,99,235,.20);
}

.pfv2-card.is-delete-open .pfv2-card-inner{
  transform:translateX(-176px);
}


.pfv2-swipe-actions{
  position:absolute;
  z-index:1;
  inset:0 0 0 auto;
  width:176px;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:60px 1fr;
  border-left:1px solid rgba(15,23,42,.08);
  background:#f8fafc;
}



.pfv2-swipe-qty{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:9px 10px;
  color:var(--pfv2-muted);
  font-size:13px;
  font-weight:800;
  border-bottom:1px solid rgba(15,23,42,.08);
  background:#fff;
}


.pfv2-swipe-qty input{
  width:100%;
  min-width:76px;
  min-height:42px !important;
  padding:0 10px !important;
  font-size:16px !important;
  line-height:1.2 !important;
  text-align:center;
  -webkit-text-size-adjust:100%;
  touch-action:manipulation;
}


.pfv2-swipe-action{
  border:0;
  border-left:1px solid rgba(15,23,42,.08);
  background:#fff;
  color:var(--pfv2-blue);
  font:inherit;
  font-size:11.5px;
  font-weight:700;
  cursor:pointer;
}

.pfv2-swipe-action.pf-remove{
  background:rgba(254,242,242,.96);
  color:var(--pfv2-red);
}

.pfv2-card-main{
  display:grid;
  grid-template-columns:minmax(240px,.9fr) minmax(420px,1.45fr) minmax(360px,.95fr);
  gap:14px;
  align-items:center;
}


.pfv2-company{
  min-width:0;
}

.pfv2-company-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}

.pfv2-company a{
  color:var(--pfv2-text);
  font-size:15px;
  line-height:1.15;
  font-weight:700;
  text-decoration:none;
  display:inline-flex;
  align-items:baseline;
  gap:8px;
  min-width:0;
  max-width:100%;
}

.pfv2-company a span:first-child{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfv2-company a:hover{
  color:var(--pfv2-blue);
}

.pfv2-symbol{
  color:var(--pfv2-muted);
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  flex:0 0 auto;
}

.pfv2-signal-icons{
  display:none;
  align-items:center;
  gap:5px;
  flex:0 0 auto;
}



.pfv2-mini-icon{
  width:22px;
  height:22px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--pfv2-border-strong);
  background:#fff;
  color:var(--pfv2-muted);
  font-size:12px;
  font-weight:800;
  line-height:1;
}

.pfv2-mini-icon.tone-good,
.pfv2-mini-icon.reco-buy{
  border-color:rgba(4,120,87,.22);
  background:rgba(236,253,245,.8);
  color:var(--pfv2-green);
}

.pfv2-mini-icon.tone-warn,
.pfv2-mini-icon.reco-hold{
  border-color:rgba(245,158,11,.28);
  background:rgba(255,251,235,.86);
  color:var(--pfv2-amber);
}

.pfv2-mini-icon.tone-danger,
.pfv2-mini-icon.reco-sell{
  border-color:rgba(185,28,28,.20);
  background:rgba(254,242,242,.8);
  color:var(--pfv2-red);
}

.pfv2-mini-icon.reco-neutral{
  border-color:rgba(148,163,184,.22);
  background:#fff;
  color:var(--pfv2-muted);
}

.pfv2-ai-icon{
  min-width:30px;
  padding:0 6px;
  border-radius:999px;
  font-size:11px;
  letter-spacing:.01em;
}

.pfv2-company-meta{
  margin-top:6px;
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}

.pfv2-pill,
.pfv2-reco,
.pfv2-signal{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  border-radius:999px;
  border:1px solid var(--pfv2-border-strong);
  background:#f8fafc;
  color:var(--pfv2-text);
  padding:4px 8px;
  font-size:12px;
  line-height:1.1;
  font-weight:650;
  white-space:nowrap;
}

.pfv2-reco.reco-buy,
.pfv2-signal.is-good{
  border-color:rgba(4,120,87,.22);
  background:rgba(236,253,245,.8);
  color:var(--pfv2-green);
}

.pfv2-reco.reco-sell,
.pfv2-signal.is-bad{
  border-color:rgba(185,28,28,.20);
  background:rgba(254,242,242,.8);
  color:var(--pfv2-red);
}

.pfv2-signal.is-warn{
  border-color:rgba(245,158,11,.28);
  background:rgba(255,251,235,.86);
  color:var(--pfv2-amber);
}

.pfv2-card-numbers{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}

.pfv2-number{
  min-width:0;
  display:grid;
  gap:2px;
  padding:7px 8px;
  border:1px solid rgba(148,163,184,.16);
  border-radius:13px;
  background:#fbfdff;
}

.pfv2-number span{
  color:var(--pfv2-muted);
  font-size:10.8px;
  line-height:1.1;
  font-weight:600;
  white-space:nowrap;
}

.pfv2-number b{
  color:var(--pfv2-text);
  font-size:13px;
  line-height:1.12;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.pfv2-number b.ok,
.pfv2 .ok{
  color:var(--pfv2-green);
}

.pfv2-number b.bad,
.pfv2 .bad{
  color:var(--pfv2-red);
}

.pfv2-card-actions{
  display:grid;
  grid-template-columns:auto minmax(86px,104px) auto;
  align-items:center;
  justify-content:end;
  gap:8px;
  min-width:0;
}


.pfv2-qty{
  display:contents;
  color:var(--pfv2-muted);
  font-size:12.5px;
  font-weight:650;
}


.pfv2-qty input{
  width:64px !important;
  min-height:34px !important;
  text-align:center;
  padding:0 8px !important;
}

.pfv2-actionset{
  display:flex;
  align-items:center;
  gap:6px;
}

.pfv2-actionset .btn{
  min-height:34px;
  padding:0 10px;
}

.pfv2-chart{
  display:none;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(148,163,184,.18);
}

.pfv2-card.is-open .pfv2-chart{
  display:block;
}

.pfv2-chart canvas{
  width:100%;
  height:auto;
  display:block;
}

.pfv2-trades{
  margin-top:14px;
  overflow:hidden;
}

.pfv2-trades summary{
  cursor:pointer;
  list-style:none;
  position:relative;
  padding:15px 52px 15px 17px;
}

.pfv2-trades summary::-webkit-details-marker{
  display:none;
}

.pfv2-trades summary::after{
  content:"";
  position:absolute;
  right:22px;
  top:21px;
  width:9px;
  height:9px;
  border-right:2px solid var(--pfv2-muted);
  border-bottom:2px solid var(--pfv2-muted);
  transform:rotate(45deg);
  transition:transform .14s ease;
}

.pfv2-trades[open] summary::after{
  transform:rotate(225deg);
}

.pfv2-trades h2{
  margin:0;
  color:var(--pfv2-text);
  font-size:20px;
  line-height:1.15;
  font-weight:650;
  letter-spacing:-.02em;
}

.pfv2-trades .pf-trades-controls{
  display:grid;
  grid-template-columns:180px 220px 150px;
  align-items:end;
  gap:10px;
  padding:0 17px 13px;
}

.pfv2-trades .pf-trades-controls label{
  display:grid;
  gap:6px;
  color:var(--pfv2-muted);
  font-size:12px;
  font-weight:600;
}

.pfv2-trades #pf-trades-refresh{
  width:auto;
}

#pf-trades-status{
  padding:0 17px 12px;
  font-size:13.5px;
}

.pf-tablewrap{
  overflow:auto;
  border-top:1px solid rgba(148,163,184,.18);
}

.pf-table{
  min-width:780px;
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:13px;
}

.pf-table th{
  background:#f8fafc;
  color:var(--pfv2-muted);
  font-size:12px;
  font-weight:650;
  padding:11px 13px;
  border-bottom:1px solid rgba(148,163,184,.18);
}

.pf-table td{
  padding:11px 13px;
  border-bottom:1px solid rgba(148,163,184,.14);
  color:var(--pfv2-text);
}

.pf-table th:nth-child(2),
.pf-table td:nth-child(2){
  position:sticky;
  left:0;
  z-index:3;
  background:#fff;
  box-shadow:1px 0 0 rgba(148,163,184,.18);
}

.pf-table th:nth-child(2){
  z-index:4;
  background:#f8fafc;
}

.ta-l{
  text-align:left;
}

.ta-r{
  text-align:right;
}

@media (max-width:1200px){
  .pfv2-settings-body{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .pfv2-kpis{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .pfv2-card-main{
    grid-template-columns:1fr;
    gap:9px;
  }

  .pfv2-card-actions{
    justify-content:space-between;
  }
}

@media (max-width:900px){
  .pfv2-filterbar{
    grid-template-columns:1fr 1fr;
  }

  #pf2-sort-info{
    justify-self:end;
  }
}

@media (max-width:720px){




  .pfv2-settings-summary{
    display:block;
    padding:12px 40px 12px 14px;
  }

  .pfv2-settings-summary span{
    font-size:16px;
  }

  .pfv2-settings-summary small{
    display:none;
  }

  .pfv2-settings-summary::after{
    top:17px;
  }

  .pfv2-settings-body{
    grid-template-columns:1fr;
    padding:0 10px 10px;
  }

  .pfv2-settings-panel{
    padding:12px;
  }

  .pfv2-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }

  .pfv2-kpi{
    min-height:78px;
    padding:10px;
    border-radius:17px;
  }

  .pfv2-kpi span{
    font-size:10.8px;
  }

  .pfv2-kpi strong{
    font-size:15px;
    line-height:1.08;
    letter-spacing:-.025em;
  }

  .pfv2-kpi small{
    font-size:10.8px;
  }

  .pfv2-holdings{
    padding:10px;
    border-radius:20px;
  }

  .pfv2-section-head{
    align-items:center;
    margin-bottom:9px;
  }

  .pfv2-section-head h2{
    font-size:20px;
  }

  .pfv2-filterbar{
    grid-template-columns:1fr;
    gap:8px;
  }

  #pf2-sort-info{
    justify-self:start;
    padding-bottom:0;
    white-space:normal;
  }

  .pfv2-list{
    gap:7px;
  }

  .pfv2-card{
    border-radius:16px;
  }

  .pfv2-card::before{
    content:"";
    position:absolute;
    z-index:5;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    border-radius:16px 0 0 16px;
    background:transparent;
  }

  .pfv2-card.tone-buy::before{
    background:var(--pfv2-green);
  }

  .pfv2-card.tone-hold::before{
    background:var(--pfv2-amber);
  }

  .pfv2-card.tone-sell::before{
    background:var(--pfv2-red);
  }

  .pfv2-card.tone-neutral::before{
    background:rgba(100,116,139,.45);
  }

  .pfv2-card-inner{
    padding:9px 10px 9px 13px;
  }

  .pfv2-card-main{
    gap:7px;
  }

  .pfv2-company a{
    font-size:14.5px;
  }

  .pfv2-company-meta{
    display:none;
  }

  .pfv2-signal-icons{
    display:flex;
  }

  .pfv2-card-numbers{
    grid-template-columns:.72fr 1.14fr 1.14fr;
    gap:5px;
  }

  .pfv2-number{
    padding:5px 6px;
    border-radius:11px;
    min-width:0;
  }

  .pfv2-number span{
    font-size:9.8px;
  }

  .pfv2-number b{
    font-size:11.2px;
  }

  .pfv2-number-last b{
    font-size:10.8px;
  }

  .pfv2-card-actions{
    display:none;
  }

  .pfv2-trades .pf-trades-controls{
    grid-template-columns:1fr;
    padding:0 14px 12px;
  }

  .pfv2-trades summary{
    padding:14px 46px 14px 14px;
  }

  .pfv2-trades summary::after{
    top:19px;
    right:18px;
  }

  #pf-trades-status{
    padding:0 14px 11px;
  }
}

@media (max-width:430px){
  .pfv2-kpis{
    grid-template-columns:1fr 1fr;
  }

  .pfv2-kpi strong{
    font-size:14.5px;
  }

  .pfv2-card-numbers{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .pfv2-number b{
    font-size:10.8px;
  }
}


/* === Portfolio v2 polish AI / qty / feedback START === */
.pfv2-reco{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  white-space:nowrap;
}

.pfv2-reco-ai{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  border:1px solid currentColor;
  background:rgba(255,255,255,.72);
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.02em;
  box-sizing:border-box;
}

.pfv2-ai-icon{
  font-size:10px;
  letter-spacing:.02em;
  text-transform:uppercase;
}

/* Normal swipe: card shifts left; actions stay behind on the right. */
.pfv2-swipe-actions{
  position:absolute !important;
  z-index:1 !important;
  inset:0 0 0 auto !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  grid-template-rows:52px 1fr !important;
  width:176px !important;
  min-width:176px !important;
  max-width:176px !important;
  overflow:hidden !important;
  background:#fff !important;
  border-left:1px solid rgba(15,23,42,.10) !important;
  border-radius:0 20px 20px 0 !important;
}

.pfv2-card.is-delete-open .pfv2-card-inner{
  transform:translateX(-176px) !important;
}

.pfv2-card-inner{
  will-change:transform;
}

/* Qty row: centered and compact, without raw offset. */
.pfv2-swipe-qty{
  grid-column:1 / -1 !important;
  display:grid !important;
  grid-template-columns:auto 64px !important;
  align-items:center !important;
  justify-content:center !important;
  column-gap:10px !important;
  height:52px !important;
  min-height:52px !important;
  padding:6px 10px !important;
  margin:0 !important;
  background:#fff !important;
  border-bottom:1px solid rgba(15,23,42,.08) !important;
  box-sizing:border-box !important;
}

.pfv2-swipe-qty span{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  height:36px !important;
  margin:0 !important;
  color:var(--pfv2-muted) !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:850 !important;
}

.pfv2-swipe-qty input.pf-qty-swipe,
.pfv2-swipe-qty input.input{
  width:64px !important;
  max-width:64px !important;
  min-width:64px !important;
  height:36px !important;
  min-height:36px !important;
  padding:0 6px !important;
  margin:0 !important;
  font-size:16px !important;
  line-height:1 !important;
  text-align:center !important;
  border-radius:15px !important;
  box-sizing:border-box !important;
}

/* Finished buttons. */
.pfv2-swipe-action{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:68px !important;
  height:100% !important;
  padding:0 6px !important;
  margin:0 !important;
  border:0 !important;
  border-top:1px solid rgba(15,23,42,.08) !important;
  background:#fff !important;
  font-size:13.5px !important;
  line-height:1.05 !important;
  font-weight:850 !important;
  text-align:center !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
}

.pfv2-swipe-action.pf-save{
  color:#2563eb !important;
  border-right:1px solid rgba(15,23,42,.08) !important;
}

.pfv2-swipe-action.pf-remove{
  color:#b91c1c !important;
  background:rgba(254,242,242,.96) !important;
}

.pfv2-swipe-action:active{
  transform:translateY(1px);
}

.pfv2-qty input.pf-qty-main,
.pfv2-qty input.input{
  width:58px !important;
  max-width:58px !important;
  min-width:58px !important;
  height:36px !important;
  min-height:36px !important;
  padding:0 6px !important;
  font-size:16px !important;
  line-height:1 !important;
  text-align:center !important;
  border-radius:14px !important;
}

/* Portfolio mobile metric widths 1: Today is percent-only, Total gets more room. */
@media (max-width:720px){
  .pfv2-card-numbers{
    grid-template-columns:minmax(0,.70fr) minmax(0,.72fr) minmax(0,1.58fr) !important;
  }
}

.pfv2-card-numbers .pfv2-number-last{
  min-width:0;
}

.pfv2-card.is-saving .pfv2-card-inner{
  opacity:.68;
}

.pfv2-card.is-saved{
  position:relative;
}

.pfv2-card.is-saved .pfv2-card-inner{
  border-color:rgba(34,197,94,.68);
  box-shadow:0 0 0 4px rgba(34,197,94,.22), 0 18px 42px rgba(15,23,42,.10);
}

.pfv2-card.is-saved .pfv2-swipe-actions::after{
  content:"✓";
  position:absolute;
  top:6px;
  right:6px;
  width:28px;
  height:28px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#16a34a;
  color:#fff;
  font-size:17px;
  line-height:1;
  font-weight:900;
  box-shadow:0 10px 22px rgba(22,163,74,.32);
  z-index:10;
}

.pfv2-card.is-saved .pf-save{
  border-color:rgba(34,197,94,.55) !important;
  background:rgba(22,163,74,.12) !important;
  color:#166534 !important;
}
/* === Portfolio v2 polish AI / qty / feedback END === */

/* === Portfolio v2 swipe buttons final fit START === */
.pfv2-swipe-actions{
  grid-template-rows:44px minmax(0,1fr) !important;
}

.pfv2-swipe-qty{
  height:44px !important;
  min-height:44px !important;
  padding:4px 10px !important;
  display:grid !important;
  grid-template-columns:auto 58px !important;
  align-items:center !important;
  justify-content:center !important;
  column-gap:9px !important;
}

.pfv2-swipe-qty span{
  height:auto !important;
  min-height:0 !important;
  line-height:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  margin:0 !important;
  padding:0 !important;
}

.pfv2-swipe-qty input.pf-qty-swipe,
.pfv2-swipe-qty input.input{
  width:58px !important;
  max-width:58px !important;
  min-width:58px !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 6px !important;
  margin:0 !important;
  font-size:16px !important;
  line-height:1 !important;
  text-align:center !important;
  border-radius:15px !important;
}

.pfv2-swipe-action{
  min-height:0 !important;
  height:100% !important;
  max-height:none !important;
  padding:0 6px !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  font-size:13.5px !important;
  line-height:1 !important;
  font-weight:850 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
}

.pfv2-swipe-action.pf-save{
  border-right:1px solid rgba(15,23,42,.08) !important;
}
/* === Portfolio v2 swipe buttons final fit END === */

/* pfv2-mobile-today-pct-only-3 */
@media (max-width:720px){
  .pfv2-card .pfv2-day-abs{
    display:none;
  }
}
