.portfolio-category { margin-block: 10px 26px; min-width: 0; }
.portfolio-scope { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 12px 0 20px; }
.portfolio-scope label { font-size: 12px; font-weight: 800; color: #745190; }
.portfolio-scope select { flex: 1; min-width: 160px; min-height: 44px; border-radius: 13px; padding: 8px 12px; font: 700 12px Cairo,sans-serif; border: 1px solid #dfd0ed; background: #fcfaff; color: #342742; }
.portfolio-more { display: block; margin: 16px auto; min-height: 46px; padding: 10px 24px; border: 1px solid #dfd0ed; border-radius: 14px; background: #f7f1ff; color: #7444bd; font: 800 13px Cairo,sans-serif; cursor: pointer; }
.portfolio-more:disabled { opacity: .6; cursor: wait; }
.portfolio-category-head { display: flex; align-items: center; gap: 14px; margin-bottom: 17px; padding: 18px; border: 1px solid #e9dff5; border-radius: 20px; background: linear-gradient(125deg,#f5effd,#fffbf6); }
.portfolio-category-mark { width: 44px; height: 44px; flex-shrink: 0; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg,#7444bd,#a16acb); border-radius: 14px; font-size: 20px; }
.portfolio-category-copy { flex: 1; min-width: 0; }
.portfolio-category-copy small { color: #765d8e; font-size: 10px; font-weight: 700; }
.portfolio-category-copy h3 { margin: 4px 0 0; color: var(--text-primary,#281c38); font-family: Cairo,sans-serif; font-size: clamp(15px,2vw,19px); font-weight: 900; overflow-wrap: anywhere; }
.portfolio-category-count { display: inline-flex; padding: 6px 12px; border-radius: 20px; background: #ffffffb5; color: #684294; font-size: 11px; font-weight: 800; white-space: nowrap; }
.portfolio-subcategories { display: grid; gap: 18px; padding-inline-start: 15px; border-inline-start: 2px solid #e9dff5; }
.portfolio-subcategories .pd-portfolio-section { margin-bottom: 0; }
.portfolio-subcategories .pf-content-card { margin: 0; }
body.page-provider-portfolio .portfolio-subcategories .pf-content-items-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
body.page-provider-detail .portfolio-subcategories .pd-portfolio-photo-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
.portfolio-legacy-note { color: #89642c; font-size: 11px; line-height: 1.8; margin: 8px 0 0; }
.portfolio-category a:focus-visible,.portfolio-category button:focus-visible,.portfolio-category select:focus-visible { outline: 3px solid #ba8b3d; outline-offset: 3px; }
@media(max-width:480px) { .portfolio-category-head { gap: 9px; padding: 13px; border-radius: 16px; } .portfolio-category-count { padding: 5px 8px; font-size: 10px; } .portfolio-category-mark { width: 36px; height: 36px; border-radius: 11px; } .portfolio-subcategories { padding-inline-start: 9px; } }
body.nw-dark .portfolio-category-head { background: linear-gradient(125deg,#322440,#2a2333); border-color: #5c426e; }
body.nw-dark .portfolio-category-count { background: #ffffff14; color: #d6b8f4; }
body.nw-dark .portfolio-category-copy small { color: #c2a4dc; }
.pf-work-dialog {
  margin: auto;
  width: min(440px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  padding: clamp(18px, 5vw, 28px);
  border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
  border-radius: 22px;
  background: var(--pf-surface, Canvas);
  color: var(--pf-ink, CanvasText);
  box-shadow: 0 24px 72px #10182844;
}
.pf-work-dialog::backdrop { background: #10182899; }
.pf-work-dialog form, .pf-work-dialog label { display: grid; gap: 8px; }
.pf-work-dialog form { gap: 16px; }
.pf-work-dialog h2, .pf-work-dialog p { margin: 0; }
.pf-work-dialog label { font-weight: 700; }
.pf-work-dialog .form-input { width: 100%; }
.pf-section-actions:not([hidden]) { display: flex; flex-wrap: wrap; gap: 8px; margin-block-end: 14px; }
.pf-section-actions .btn { padding: 8px 12px; font-size: .85rem; }
.pf-delete-section { color: #a32435; }
body.nw-dark .pf-delete-section { color: #ffb4bc; }
#pf-section-error:empty, #pf-work-error:empty { display: none; }
#pf-section-error, #pf-work-error { color: #a32435; }
body.nw-dark #pf-section-error, body.nw-dark #pf-work-error { color: #ffb4bc; }
.pf-work-files, .pf-work-file-fields { display: grid; gap: 12px; }
.pf-work-file { border: 1px solid var(--pf-border, #dfd0ed); border-radius: 12px; padding: 12px; }
.pf-work-file summary { cursor: pointer; overflow-wrap: anywhere; font-weight: 700; }
.pf-work-file-fields { padding-block-start: 12px; }
body.page-provider-portfolio .pf-item-details { display: grid; gap: 4px; color: var(--pf-ink); }
body.page-provider-portfolio .pf-item-details .pf-item-desc {
  margin: 0; padding: 0; min-height: 0; border: 0; background: transparent;
}
body.page-provider-portfolio .pf-item-details > * { overflow-wrap: anywhere; }
body.page-provider-portfolio .pf-icon-btn { min-width: 44px; min-height: 44px; }
body.page-provider-portfolio .pf-icon-btn.is-danger { color: var(--pf-rose); }
body.page-provider-portfolio .pf-item-actions { flex-wrap: wrap; }
html[data-theme="dark"] body.page-provider-portfolio {
  --pf-ink: #ececec;
  --pf-ink-soft: #c4bdd2;
  --pf-ink-muted: #aaa2bb;
  --pf-accent: #bb86fc;
  --pf-accent-strong: #cda9ff;
  --pf-accent-pale: #352642;
  --pf-rose: #ff8fa4;
  --pf-surface: #1e1e24;
  --pf-surface-soft: #25222e;
  --pf-border: #ffffff18;
  --pf-border-strong: #bb86fc55;
  background: linear-gradient(180deg, #19151f, #121212);
}
html[data-theme="dark"] body.page-provider-portfolio :is(.pf-hero, .pf-item-doc) {
  background: linear-gradient(145deg, var(--pf-surface-soft), var(--pf-surface));
}
html[data-theme="dark"] body.page-provider-portfolio .portfolio-category-head {
  background: linear-gradient(125deg, #322440, #2a2333);
  border-color: var(--pf-border-strong);
}
html[data-theme="dark"] body.page-provider-portfolio .portfolio-category-copy h3 { color: var(--pf-ink); }
html[data-theme="dark"] body.page-provider-portfolio .portfolio-category-copy small { color: var(--pf-ink-soft); }
html[data-theme="dark"] body.page-provider-portfolio .portfolio-category-count { background: #ffffff14; color: var(--pf-ink); }
html[data-theme="dark"] body.page-provider-portfolio .pf-work-dialog .form-input {
  color: var(--pf-ink);
  background: var(--pf-surface-soft);
  border-color: var(--pf-border-strong);
}
html[data-theme="dark"] body.page-provider-portfolio .pf-status.is-success { color: #7de0a1; }
html[data-theme="dark"] body.page-provider-portfolio .pf-status.is-error { color: var(--pf-rose); }
html[data-theme="dark"] body.page-provider-portfolio .pf-status.is-warning { color: #f6cb83; }
html[data-theme="dark"] body.page-provider-portfolio .pf-toolbar { background: var(--pf-surface); border-color: var(--pf-border); }
.pf-work-dialog label[hidden] { display: none; }
.pf-work-filename { overflow-wrap: anywhere; opacity: .72; }
.pf-work-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.pf-upload-btn { position: relative; }
.pf-upload-btn input[type=file] {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
}
.pf-upload-btn:focus-within { outline: 2px solid currentColor; outline-offset: 3px; }
.pf-allowance { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; padding: 16px 20px; border: 1px solid var(--pf-border-strong); border-radius: 20px; background: var(--pf-surface, Canvas); color: var(--pf-ink, CanvasText); font-size: 14px; }
.pf-allowance[hidden] { display: none; }
.pf-allowance b { margin-inline-start: 6px; color: var(--pf-accent-strong); }
.pf-allowance a { margin-inline-start: auto; color: var(--pf-accent-strong); font-weight: 800; }
.pf-allowance-note { font-size: 13px; color: var(--pf-ink-soft); }
body.page-provider-portfolio .pf-stat-body small { display: none; }
.pf-upload-btn:has(input:disabled) { opacity: .45; cursor: default; }
.pd-work-preview { position: relative; aspect-ratio: 1; overflow: hidden; }
.pd-work-details { padding: 10px; background: var(--pdp-surface-soft, Canvas); color: var(--pdp-ink, CanvasText); }
.pd-work-details strong, .pd-work-details p {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: anywhere;
}
.pd-work-details strong { font-size: .85rem; }
.pd-work-details p { margin: 4px 0 0; font-size: .75rem; opacity: .76; }
