/* RF_TEST54_PORTFOLIO1 */
.portfolio-settings-card,.portfolio-manager{min-width:0}.portfolio-manager{overflow:hidden}.portfolio-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.portfolio-manager-head h3{margin:0}.portfolio-manager-head p{margin:4px 0 0;font-size:12px;opacity:.68}.portfolio-manager-head .secondary{width:auto!important;min-height:40px;white-space:nowrap}.portfolio-add{width:100%!important;min-height:48px;margin-top:14px!important;font-weight:800}.portfolio-mode-note{margin:10px 0 0!important;line-height:1.45}.portfolio-manager-message{min-height:17px;margin:8px 0 0!important}.portfolio-manager-message.error,.portfolio-details-message.error{color:#a84343!important}.portfolio-manager-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px;min-width:0}.portfolio-manager-card{position:relative;min-width:0;overflow:hidden;border:1px solid rgba(127,73,102,.15);border-radius:17px;background:Canvas;box-shadow:0 7px 20px rgba(0,0,0,.055)}.portfolio-card-open{display:block;width:100%;min-width:0;padding:0!important;border:0!important;background:transparent!important;color:inherit!important;text-align:left!important;box-shadow:none!important}.portfolio-manager-photo{position:relative;display:block;width:100%;aspect-ratio:1/1;overflow:hidden;background:rgba(127,73,102,.09)}.portfolio-manager-photo img{position:absolute;display:block;max-width:none!important;user-select:none;-webkit-user-drag:none}.portfolio-manager-copy{display:grid;gap:3px;min-width:0;padding:9px 10px 10px}.portfolio-manager-copy strong,.portfolio-manager-copy small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-manager-copy strong{font-size:12px}.portfolio-manager-copy small{font-size:10px;opacity:.66}.portfolio-status{justify-self:start;margin-top:2px;padding:4px 7px;border-radius:999px;font-size:9px;font-style:normal;font-weight:800}.portfolio-status.published{background:#e8f3ec;color:#347a52}.portfolio-status.hidden{background:#f3edf0;color:#7d6872}.portfolio-sort-handle{display:none;position:absolute;z-index:3;top:7px;right:7px;width:42px!important;height:42px!important;min-width:42px!important;padding:0!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:13px!important;background:rgba(35,27,31,.78)!important;color:#fff!important;font-size:20px!important;line-height:1!important;touch-action:none;cursor:grab;box-shadow:0 7px 18px rgba(0,0,0,.18)}.portfolio-manager-grid.sorting .portfolio-sort-handle{display:grid;place-items:center}.portfolio-manager-grid.sorting .portfolio-card-open{pointer-events:none}.portfolio-manager-card.dragging{opacity:.72;transform:scale(.98)}.portfolio-empty{grid-column:1/-1;display:grid;gap:6px;place-items:center;min-height:170px;padding:22px;border:1px dashed rgba(127,73,102,.22);border-radius:18px;background:rgba(127,73,102,.035);text-align:center}.portfolio-empty strong{font-size:15px}.portfolio-empty span{max-width:340px;font-size:12px;line-height:1.45;opacity:.65}.portfolio-empty-note{margin:0;font-size:12px;line-height:1.45;opacity:.65}
.portfolio-dialog{width:min(94vw,640px);max-width:640px;max-height:min(94vh,900px);padding:0;border:0;border-radius:24px;background:transparent;color:CanvasText}.portfolio-dialog::backdrop{background:rgba(20,14,18,.62);backdrop-filter:blur(7px)}.portfolio-dialog-card{display:flex;flex-direction:column;max-height:min(94vh,900px);overflow:hidden;border:1px solid rgba(127,73,102,.20);border-radius:24px;background:Canvas;box-shadow:0 22px 70px rgba(0,0,0,.34)}.portfolio-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:17px 18px 13px;border-bottom:1px solid rgba(127,73,102,.13)}.portfolio-dialog-head h3{margin:0;font-size:19px}.portfolio-dialog-head p{margin:5px 0 0;font-size:12px;line-height:1.4;opacity:.68}.portfolio-dialog-close{width:42px!important;height:42px!important;min-width:42px!important;padding:0!important;border-radius:13px!important;font-size:24px!important}.portfolio-dialog-body{overflow:auto;display:grid;gap:14px;padding:16px 18px;-webkit-overflow-scrolling:touch}.portfolio-dialog-actions{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px;padding:12px 18px calc(15px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(127,73,102,.13);background:Canvas}.portfolio-dialog-actions button{width:100%!important;min-height:44px!important;margin:0!important}.portfolio-crop-stage{position:relative;overflow:hidden;width:min(100%,430px);aspect-ratio:1/1;margin-inline:auto;border:1px solid rgba(127,73,102,.18);border-radius:25px;background:rgba(127,73,102,.08);touch-action:none;cursor:grab;overscroll-behavior:contain}.portfolio-crop-stage.dragging{cursor:grabbing}.portfolio-crop-stage canvas{display:block;width:100%;height:100%}.portfolio-crop-stage>span{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);max-width:92%;padding:6px 9px;border-radius:999px;background:rgba(20,14,18,.68);color:#fff;font-size:10px;font-weight:750;white-space:nowrap;pointer-events:none}.portfolio-zoom{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;margin:0;font-size:12px;font-weight:750}.portfolio-zoom strong{font-size:12px}.portfolio-zoom input{grid-column:1/-1;width:100%;min-height:36px;touch-action:pan-x}.portfolio-help{margin:0;font-size:11px;line-height:1.45;opacity:.66}.portfolio-field{display:grid;gap:7px;margin:0!important;font-size:12px;font-weight:750}.portfolio-field input{width:100%;min-height:46px;padding:10px 12px;border:1px solid rgba(127,73,102,.20);border-radius:13px;background:Canvas;color:CanvasText;font:inherit;outline:none}.portfolio-field input:focus{border-color:#7f4966;box-shadow:0 0 0 3px rgba(127,73,102,.08)}.portfolio-services{min-width:0;margin:0;padding:12px;border:1px solid rgba(127,73,102,.16);border-radius:16px}.portfolio-services legend{padding:0 6px;font-size:12px;font-weight:800}.portfolio-services legend span{font-weight:500;opacity:.6}.portfolio-service-checks{display:grid;grid-template-columns:1fr 1fr;gap:7px}.portfolio-service-checks label{display:flex;align-items:flex-start;gap:8px;min-width:0;margin:0!important;padding:9px;border:1px solid rgba(127,73,102,.13);border-radius:12px;background:rgba(127,73,102,.025);font-size:11px}.portfolio-service-checks input{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;accent-color:#7f4966}.portfolio-service-checks span{min-width:0}.portfolio-service-checks b,.portfolio-service-checks small{display:block;overflow:hidden;text-overflow:ellipsis}.portfolio-service-checks b{font-size:11px}.portfolio-service-checks small{margin-top:2px;font-size:9px;opacity:.62}.portfolio-public-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0!important;padding:12px 13px;border-radius:15px;background:rgba(127,73,102,.06)}.portfolio-public-toggle span{min-width:0}.portfolio-public-toggle b,.portfolio-public-toggle small{display:block}.portfolio-public-toggle b{font-size:12px}.portfolio-public-toggle small{margin-top:3px;font-size:10px;line-height:1.35;opacity:.65}.portfolio-public-toggle input{flex:0 0 auto;width:22px;height:22px;accent-color:#7f4966}.portfolio-details-message{min-height:16px;margin:0;font-size:11px;line-height:1.4}.portfolio-edit-preview{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center}.portfolio-edit-preview .portfolio-manager-photo{width:110px;border-radius:16px}.portfolio-edit-preview button{width:100%!important}.portfolio-details-actions{grid-template-columns:1fr 1fr 1.15fr}.portfolio-details-actions .danger{border:1px solid #e5b9c0!important;background:#fff0f2!important;color:#a83d4b!important}
@media(max-width:360px){.portfolio-manager-grid{gap:6px}.portfolio-manager-card{border-radius:14px}.portfolio-manager-copy{padding:7px 7px 8px}.portfolio-manager-copy strong{font-size:11px}.portfolio-manager-copy small{font-size:9px}.portfolio-status{padding:3px 6px;font-size:8px}.portfolio-manager-head{display:grid}.portfolio-manager-head .secondary{width:100%!important}.portfolio-dialog{width:calc(100vw - 12px);max-height:calc(100vh - 12px)}.portfolio-dialog-card{max-height:calc(100vh - 12px);border-radius:19px}.portfolio-dialog-head,.portfolio-dialog-body{padding-left:13px;padding-right:13px}.portfolio-dialog-actions{padding-left:13px;padding-right:13px;grid-template-columns:1fr 1fr}.portfolio-dialog-actions [data-center]{grid-column:1/-1}.portfolio-details-actions{grid-template-columns:1fr 1fr}.portfolio-details-actions .danger{grid-column:1/-1;grid-row:2}.portfolio-service-checks{grid-template-columns:1fr}.portfolio-crop-stage{border-radius:20px}.portfolio-edit-preview{grid-template-columns:88px 1fr}.portfolio-edit-preview .portfolio-manager-photo{width:88px}}
@media(min-width:680px){.portfolio-manager-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.portfolio-manager-copy strong{font-size:13px}.portfolio-manager-copy small{font-size:10px}}
@media(min-width:1050px){.portfolio-manager-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.portfolio-manager-card{transition:none}}

/* RF_TEST55_PORTFOLIO_FIX1 */
.portfolio-manager-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.portfolio-manager-tools .secondary{width:auto!important;min-height:40px;white-space:nowrap}.portfolio-manager-photo .portfolio-image-error{display:none;position:absolute;inset:0;place-items:center;padding:10px;background:rgba(127,73,102,.08);font-size:10px;font-weight:750;text-align:center;opacity:.72}.portfolio-manager-photo.image-error img{display:none!important}.portfolio-manager-photo.image-error .portfolio-image-error{display:grid}.portfolio-category-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.portfolio-category-field .secondary{width:auto!important;min-height:46px!important;white-space:nowrap}.portfolio-field select{width:100%;min-height:46px;padding:10px 12px;border:1px solid rgba(127,73,102,.20);border-radius:13px;background:Canvas;color:CanvasText;font:inherit;outline:none}.portfolio-field select:focus{border-color:#7f4966;box-shadow:0 0 0 3px rgba(127,73,102,.08)}.portfolio-category-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.portfolio-category-add input{min-width:0;min-height:46px;padding:10px 12px;border:1px solid rgba(127,73,102,.20);border-radius:13px;background:Canvas;color:CanvasText;font:inherit}.portfolio-category-add button{width:auto!important;min-height:46px!important}.portfolio-category-meta{display:flex;justify-content:flex-end;font-size:11px;opacity:.65}.portfolio-category-list{display:grid;gap:8px}.portfolio-category-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid rgba(127,73,102,.14);border-radius:14px;background:rgba(127,73,102,.025)}.portfolio-category-row>span{min-width:0}.portfolio-category-row b,.portfolio-category-row small{display:block;overflow:hidden;text-overflow:ellipsis}.portfolio-category-row b{font-size:12px}.portfolio-category-row small{margin-top:3px;font-size:10px;opacity:.62}.portfolio-category-row>div{display:flex;flex:0 0 auto;gap:6px}.portfolio-category-row button{width:auto!important;min-height:36px!important;padding:7px 9px!important;font-size:10px!important}.portfolio-category-actions{grid-template-columns:1fr}.portfolio-sort-handle{user-select:none;-webkit-user-select:none}.portfolio-manager-card.dragging{z-index:4;box-shadow:0 14px 32px rgba(0,0,0,.18)}
@media(max-width:430px){.portfolio-manager-head{align-items:stretch}.portfolio-manager-tools{display:grid;grid-template-columns:1fr 1fr;width:100%;justify-content:stretch}.portfolio-manager-tools .secondary{width:100%!important}.portfolio-category-field{grid-template-columns:1fr}.portfolio-category-field .secondary{width:100%!important}.portfolio-category-row{align-items:flex-start;flex-direction:column}.portfolio-category-row>div{width:100%}.portfolio-category-row button{flex:1}.portfolio-category-add{grid-template-columns:1fr}.portfolio-category-add button{width:100%!important}}
@media(max-width:360px){.portfolio-manager-tools{grid-template-columns:1fr}}
.portfolio-manager-card.dragging-source{opacity:.28}.portfolio-drag-ghost{position:fixed!important;z-index:2147483000!important;margin:0!important;pointer-events:none!important;opacity:.92;box-shadow:0 18px 45px rgba(0,0,0,.24)!important;transform-origin:center;will-change:transform}.portfolio-drop-before{box-shadow:0 -4px 0 rgba(127,73,102,.78),0 7px 20px rgba(0,0,0,.055)!important}

/* RF_TEST56_PORTFOLIO_FIX2 */
.portfolio-fit-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.portfolio-fit-modes .secondary{width:100%!important;min-height:42px!important}.portfolio-fit-modes .secondary.active{border-color:#7f4966!important;background:rgba(127,73,102,.13)!important;font-weight:850!important}.portfolio-details-actions.is-new{grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr)}.portfolio-details-actions.is-new [data-save]{white-space:nowrap}.portfolio-details-actions.is-editing{grid-template-columns:1fr 1fr 1.15fr}.portfolio-manager-photo{background:rgba(127,73,102,.07)}
@media(max-width:520px){.portfolio-manager-head{display:grid;grid-template-columns:1fr;align-items:stretch}.portfolio-manager-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);width:100%;gap:8px}.portfolio-manager-tools .secondary{width:100%!important;min-width:0!important;padding-left:9px!important;padding-right:9px!important;white-space:normal;line-height:1.15}.portfolio-details-actions.is-new{grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr)}.portfolio-details-actions.is-new button{min-width:0!important}.portfolio-details-actions.is-new [data-save]{font-size:13px!important}}
@media(max-width:350px){.portfolio-manager-tools{grid-template-columns:1fr}.portfolio-fit-modes{grid-template-columns:1fr}.portfolio-details-actions.is-new{grid-template-columns:1fr 1fr}}


/* RF_TEST57_FIT_CONTROLS_ADAPTIVE1
   Isolated from global .secondary styles so theme/platform rules cannot hide or recolor these controls. */
.rf57-portfolio-fit-controls{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  width:100%;
  min-width:0;
  min-height:44px;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  overflow:visible!important;
}
.rf57-portfolio-fit-button{
  appearance:none;
  -webkit-appearance:none;
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  margin:0!important;
  padding:9px 10px!important;
  border:1px solid rgba(127,73,102,.24)!important;
  border-radius:13px!important;
  background:var(--surface2,#f7f3f6)!important;
  color:var(--text,CanvasText)!important;
  font:800 12px/1.18 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
  visibility:visible!important;
  opacity:1!important;
  position:static!important;
  box-shadow:none!important;
  cursor:pointer;
  touch-action:manipulation;
}
.rf57-portfolio-fit-button.active,
.rf57-portfolio-fit-button[aria-pressed="true"]{
  border-color:var(--accent,#a74476)!important;
  background:var(--accent,#a74476)!important;
  color:var(--accent-contrast,#fff)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent,#a74476) 18%,transparent)!important;
}
.rf57-portfolio-fit-button:focus-visible{
  outline:2px solid var(--accent,#a74476)!important;
  outline-offset:2px;
}
.portfolio-crop-dialog .portfolio-dialog-head>div,
.portfolio-crop-dialog .portfolio-dialog-body,
.portfolio-crop-dialog .portfolio-dialog-actions,
.portfolio-crop-dialog .portfolio-zoom{min-width:0}
.portfolio-crop-dialog .portfolio-dialog-head h3,
.portfolio-crop-dialog .portfolio-dialog-head p,
.portfolio-crop-dialog .portfolio-help,
.portfolio-crop-dialog .portfolio-dialog-actions button{overflow-wrap:anywhere}
.portfolio-crop-dialog .portfolio-crop-stage>span{
  max-width:calc(100% - 20px);
  white-space:normal;
  text-align:center;
  line-height:1.15;
}
.portfolio-crop-dialog .portfolio-dialog-actions button{min-width:0!important;white-space:normal!important;line-height:1.15!important}
@media(max-width:420px){
  .rf57-portfolio-fit-controls{gap:7px}
  .rf57-portfolio-fit-button{min-height:46px!important;padding:8px 7px!important;font-size:12px!important}
  .portfolio-crop-dialog .portfolio-dialog-body{gap:12px}
}
@media(max-width:300px){
  .rf57-portfolio-fit-controls{grid-template-columns:1fr}
}
/* RF_TEST74_PORTFOLIO_UPLOAD_UX1 */
.portfolio-details-actions [data-save][aria-busy="true"]:disabled{opacity:1!important;filter:none!important;cursor:wait!important}.portfolio-details-actions [data-save][aria-busy="true"]{white-space:nowrap}

/* RF_TEST75_PORTFOLIO_AUTO_RETRY1 */
.portfolio-details-actions [data-save].portfolio-uploading{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}
.portfolio-details-actions [data-save].portfolio-uploading::before{
  content:"";
  display:inline-block;
  width:14px;
  height:14px;
  flex:0 0 14px;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  animation:rf75PortfolioSpin .72s linear infinite;
}
@keyframes rf75PortfolioSpin{
  to{transform:rotate(360deg)}
}


/* RF_TEST89_PORTFOLIO_RESTRICTION1 */
.portfolio-restriction-card{display:grid;gap:5px;margin:0 0 12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface2)}
.portfolio-restriction-card strong{font-size:14px}
.portfolio-restriction-card span{font-size:12px;line-height:1.45;color:var(--muted)}
.portfolio-restriction-card.warning{border-color:color-mix(in srgb,#b8842e 42%,var(--line));background:color-mix(in srgb,#b8842e 8%,var(--surface2))}
.portfolio-restriction-card.active{border-color:color-mix(in srgb,#b34f4f 48%,var(--line));background:color-mix(in srgb,#b34f4f 9%,var(--surface2))}


/* RF_TEST92_PORTFOLIO_TEXT_CONTRAST1 — light card copy must never inherit pale theme text */
.portfolio-manager-card{background:#fff;color:#2b2428}
.portfolio-card-open{color:#2b2428!important}
.portfolio-manager-copy strong{color:#2b2428!important;opacity:1}
.portfolio-manager-copy small{color:#6f646a!important;opacity:1}
