.pf-error { color: #c53030; margin: 0 0 12px; }
.pf-error:empty, .pf-notice:empty { display: none; }
.pf-notice { padding: 8px 16px; color: #246b3c; font-size: 14px; }
.pf-scope { margin: 12px 0; }
.pf-fields { width: 100%; border-collapse: collapse; margin: 16px 0; }
.pf-fields th, .pf-fields td { padding: 12px; text-align: left; border-bottom: 1px solid #e5e7eb; vertical-align: middle; }
.pf-fields th { background: #f8fafc; font-weight: 500; }
.pf-fields input { width: 16px; height: 16px; }
.pf-field-choice { display: flex; gap: 8px; align-items: center; white-space: nowrap; }
.pf-fields td:last-child { width: 150px; }
.pf-position-actions { width: 116px !important; min-width: 116px !important; max-width: 116px !important; }
.position-table-wrap th:last-child, .position-table-wrap td:last-child { position: sticky; right: 0; background: #fff; width: 116px !important; min-width: 116px !important; max-width: 116px !important; }
.position-table-wrap table { table-layout: fixed; width: 100%; min-width: 800px; }
.position-table-wrap td { vertical-align: middle; }
.position-table-wrap td:first-child strong, .position-table-wrap td:first-child span { display: block; }
.position-table-wrap td:first-child span { margin-top: 3px; font-size: 12px; color: #64748b; }
.role-list-table .pf-role-table { table-layout: fixed; width: 100%; min-width: 1120px; }
.pf-role-actions, .pf-role-table th:last-child, .pf-role-table td:last-child { width: 152px !important; min-width: 152px !important; max-width: 152px !important; }
.pf-role-table th:last-child, .pf-role-table td:last-child { position: sticky; right: 0; background: #fff; z-index: 2; }
.pf-role-table td { vertical-align: middle; }
.pf-role-table .table-action { white-space: nowrap; flex-wrap: nowrap; justify-content: flex-start; gap: 8px; }
.position-drawer form .modal-body { display: block; }
.position-drawer [data-position-panel] { padding-top: 16px; }
.position-drawer [hidden] { display: none !important; }
@media (max-width: 600px) {
  .position-drawer { width: 100vw !important; max-width: 100vw !important; }
  .position-drawer .form-grid { grid-template-columns: 1fr; }
  .pf-fields th, .pf-fields td { padding: 10px 4px; }
}
