.pf-workspace { margin-top:24px; margin-bottom:48px; color:#202724; letter-spacing:0; }
.pf-workspace *, .pf-public *, .pf-review * { box-sizing:border-box; min-width:0; }
.pf-header, .pf-actions, .pf-pages { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.pf-header { justify-content:space-between; padding:20px 0; border-bottom:1px solid #dde4e0; margin-bottom:20px; }
.pf-header h1 { font-size:26px; line-height:1.25; margin:0 0 6px; }
.pf-header p { margin:0; color:#65716a; }
.pf-workspace h2, .pf-review h2 { font-size:20px; line-height:1.4; margin:16px 0; overflow-wrap:anywhere; }
.pf-workspace h3 { font-size:18px; margin:0 0 14px; }
.pf-workspace label, .pf-review label { display:block; font-size:14px; margin:14px 0 6px; }
.pf-workspace .form-control, .pf-review .form-control { width:100%; min-height:44px; border:1px solid #bdc9c1; border-radius:6px; color:#202724; background:#fff; font-size:16px; padding:9px 11px; }
.pf-workspace textarea.form-control { min-height:128px; resize:vertical; }
.pf-workspace input, .pf-workspace select, .pf-workspace textarea, .pf-review input, .pf-review select, .pf-review textarea { font-family:inherit; }
.pf-workspace input[type=file] { max-width:100%; padding:12px 0; }
.pf-workspace .btn-custom, .pf-review .btn-custom { display:inline-flex; justify-content:center; align-items:center; gap:6px; min-height:44px; padding:10px 15px; border:1px solid #246c50; border-radius:6px; background:#246c50; color:#fff; line-height:1.4; white-space:normal; overflow-wrap:anywhere; }
.pf-workspace button:disabled { opacity:.6; cursor:wait; }
.pf-workspace :focus-visible, .pf-review :focus-visible, .pf-public :focus-visible { outline:3px solid #367fb5; outline-offset:3px; }
.pf-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 16px; padding-bottom:20px; border-bottom:1px solid #dde4e0; }
.pf-filters .pf-actions { margin-top:16px; grid-column:1/-1; }
.pf-case-row { display:grid; grid-template-columns:minmax(220px,2fr) minmax(100px,1fr) minmax(140px,1fr) minmax(90px,.7fr); align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid #dde4e0; }
.pf-case-row h2 { margin:0 0 7px; font-size:18px; }
.pf-case-row span { overflow-wrap:anywhere; }
.pf-status { display:inline-block; padding:3px 7px; border-radius:4px; font-size:12px; color:#445349; background:#eef2f0; margin-right:4px; }
.pf-status[data-status=review] { color:#745519; background:#fff2ce; }
.pf-status[data-status=approved] { color:#185535; background:#e5f5eb; }
.pf-status[data-status=rejected] { color:#863732; background:#fce9e6; }
.pf-editor-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; padding:16px 0 24px; }
.pf-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.pf-workspace fieldset { border:0; margin:0; padding:0; }
.pf-check { display:flex!important; align-items:flex-start; gap:9px; min-height:44px; padding:10px 0; }
.pf-check input { flex:0 0 18px; width:18px; height:18px; margin:2px 0 0; }
.pf-photos { list-style:none; padding:0; margin:18px 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.pf-photo > a { display:block; aspect-ratio:4/3; background:#edf2ef; border-radius:8px; overflow:hidden; }
.pf-photo img { width:100%; height:100%; object-fit:cover; }
.pf-photo input, .pf-photo label { font-size:14px; }
.pf-photo-actions { display:flex; justify-content:flex-end; gap:6px; margin-top:10px; }
.pf-photo-actions button { width:44px; height:44px; border:1px solid #c8d1cb; border-radius:6px; color:#304238; background:#fff; }
.pf-photo-actions button[name=revoke_id] { color:#a13e38; margin-left:auto; }
.pf-photo-missing { display:grid; place-items:center; min-height:100px; color:#785f53; background:#f5efec; border-radius:6px; }
.pf-notice, .pf-feedback { padding:12px 14px; background:#eef5f1; border-left:3px solid #4b8667; color:#284e3d; overflow-wrap:anywhere; }
.pf-notice[hidden] { display:none; }
.pf-notice[data-error=true] { background:#fff0ec; border-color:#b65042; color:#8b342a; }
.pf-history { margin-top:28px; padding-top:18px; border-top:1px solid #dde4e0; }
.pf-history article { padding:14px 0; border-bottom:1px solid #e4e9e6; }
.pf-history p { white-space:pre-wrap; overflow-wrap:anywhere; margin:7px 0; }
.pf-pages { margin-top:20px; }
.pf-pages a, .pf-actions > a { padding:10px 4px; min-height:44px; display:inline-flex; align-items:center; }
.pf-dialog { width:min(1100px,96vw); height:min(840px,94dvh); max-width:96vw; max-height:94dvh; border:0; border-radius:8px; padding:44px 56px 18px; background:#232b2b; color:#fff; }
.pf-dialog[open] { display:grid; grid-template-columns:1fr; }
.pf-dialog::backdrop { background:rgba(22,29,29,.86); }
.pf-dialog figure { display:grid; grid-template-rows:minmax(0,1fr) auto; gap:12px; min-height:0; margin:0; }
.pf-dialog figure img { width:100%; height:100%; object-fit:contain; min-height:0; }
.pf-dialog figcaption { text-align:center; white-space:pre-wrap; overflow-wrap:anywhere; max-height:100px; overflow:auto; }
.pf-dialog button { position:absolute; width:44px; height:44px; background:#3d4848; border:1px solid #687474; border-radius:6px; color:#fff; }
.pf-dialog [data-pf-close] { top:8px; right:8px; }
.pf-dialog [data-pf-prev] { left:6px; top:calc(50% - 22px); }
.pf-dialog [data-pf-next] { right:6px; top:calc(50% - 22px); }
.pf-public { margin:32px 0; padding:24px 0; border-top:1px solid #dde4e0; }
.pf-public-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.pf-work { border:1px solid #dce3df; border-radius:8px; padding:14px; }
.pf-work img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:6px; }
.pf-work h3 { font-size:18px; overflow-wrap:anywhere; margin:14px 0 8px; }
.pf-work p, .pf-review p { white-space:pre-wrap; overflow-wrap:anywhere; }
.pf-work dl { margin:0; }.pf-work dt { font-weight:600; margin-top:12px; }.pf-work dd { margin:5px 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.pf-review { color:#202724; letter-spacing:0; }
.pf-review h1 { font-size:26px; }
@media(max-width:1024px) {
    body:has(.pf-review):not(.mobile-sidebar-open) .sidebar { transform:translateX(-100%) !important; }
    body:has(.pf-review).mobile-sidebar-open .sidebar { transform:translateX(0) !important; }
}
.pf-review .pf-actions { margin:16px 0; }
.pf-review-filters { grid-column:1/-1; margin-top:14px; }
.pf-review-filters summary { min-height:44px; padding:12px 0; cursor:pointer; }
.pf-review-filters > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 16px; }
@media(max-width:640px) { .pf-review-filters > div { grid-template-columns:1fr; } }
.pf-review-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.pf-review-columns dt { font-weight:600; margin-top:14px; }
.pf-review-columns dd { white-space:pre-wrap; overflow-wrap:anywhere; margin:6px 0; }
.pf-review .pf-photos img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:6px; }
@media(max-width:900px) { .pf-review-columns { grid-template-columns:1fr; } }
@media(max-width:900px) { .pf-case-row { grid-template-columns:2fr 1fr; }.pf-editor-grid { grid-template-columns:1fr; }.pf-public-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .pf-workspace { margin-top:16px; }.pf-header h1 { font-size:24px; }.pf-filters,.pf-two { grid-template-columns:1fr; }.pf-case-row { grid-template-columns:1fr; gap:7px; }.pf-public-grid { grid-template-columns:1fr; }.pf-photos { gap:12px; }.pf-photo input { font-size:16px; }.pf-actions > .btn-custom { flex:1 1 180px; }.pf-dialog { padding:56px 8px 56px; }.pf-dialog [data-pf-prev],.pf-dialog [data-pf-next] { top:auto; bottom:6px; }.pf-editor-grid { gap:24px; } }
